diff --git a/.gitignore b/.gitignore index 5f3981183cc..3a7853e8e4e 100644 --- a/.gitignore +++ b/.gitignore @@ -2138,3 +2138,5 @@ config/config.log compiler/include/geninc.cfg bin/Sources/.freetype-2.10.0-fetched aros.rom +ApolloOS.code-workspace +arch/m68k-amiga/boot/romlog.txt diff --git a/.gitmodules b/.gitmodules index 88c51920ea3..e69de29bb2d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,204 +0,0 @@ -[submodule "workbench/libs/muimaster/catalogs"] - path = workbench/libs/muimaster/catalogs - url = https://github.com/aros-translation-team/muimaster.library.git -[submodule "arch/all-pc/acpitool/catalogs"] - path = arch/all-pc/acpitool/catalogs - url = https://github.com/aros-translation-team/acpitool.git -[submodule "rom/dos/catalogs"] - path = rom/dos/catalogs - url = https://github.com/aros-translation-team/dos.library.git -[submodule "rom/filesys/SFS/SFSdefrag/Catalogs"] - path = rom/filesys/SFS/SFSdefrag/Catalogs - url = https://github.com/aros-translation-team/sfsdefrag.git -[submodule "rom/hidds/pci/pcitool/catalogs"] - path = rom/hidds/pci/pcitool/catalogs - url = https://github.com/aros-translation-team/pcitool.git -[submodule "rom/security/catalogs"] - path = rom/security/catalogs - url = https://github.com/aros-translation-team/security.library.git -[submodule "rom/usb/trident/catalogs"] - path = rom/usb/trident/catalogs - url = https://github.com/aros-translation-team/trident.git -[submodule "workbench/c/LoadResource/catalogs"] - path = workbench/c/LoadResource/catalogs - url = https://github.com/aros-translation-team/loadresource.git -[submodule "workbench/c/R/catalogs"] - path = workbench/c/R/catalogs - url = https://github.com/aros-translation-team/r.git -[submodule "workbench/classes/zune/aboutwindow/catalogs"] - path = workbench/classes/zune/aboutwindow/catalogs - url = https://github.com/aros-translation-team/aboutwindow.git -[submodule "workbench/classes/zune/prefswindow/catalogs"] - path = workbench/classes/zune/prefswindow/catalogs - url = https://github.com/aros-translation-team/prefswindow.git -[submodule "workbench/classes/zune/systemprefswindow/catalogs"] - path = workbench/classes/zune/systemprefswindow/catalogs - url = https://github.com/aros-translation-team/systemprefswindow.git -[submodule "workbench/devs/diskimage/device/catalogs"] - path = workbench/devs/diskimage/device/catalogs - url = https://github.com/aros-translation-team/diskimage.device.git -[submodule "workbench/devs/diskimage/zune_gui/catalogs"] - path = workbench/devs/diskimage/zune_gui/catalogs - url = https://github.com/aros-translation-team/diskimage-zune.git -[submodule "workbench/libs/asl/catalogs"] - path = workbench/libs/asl/catalogs - url = https://github.com/aros-translation-team/asl.library.git -[submodule "workbench/libs/identify/catalogs"] - path = workbench/libs/identify/catalogs - url = https://github.com/aros-translation-team/identify.library.git -[submodule "workbench/libs/identify/tools/catalogs"] - path = workbench/libs/identify/tools/catalogs - url = https://github.com/aros-translation-team/identify.git -[submodule "workbench/libs/reqtools/catalogs"] - path = workbench/libs/reqtools/catalogs - url = https://github.com/aros-translation-team/reqtools.library.git -[submodule "workbench/devs/AHI/AHI/translations"] - path = workbench/devs/AHI/AHI/translations - url = https://github.com/aros-translation-team/ahi-prefs.git -[submodule "workbench/devs/AHI/Device/translations"] - path = workbench/devs/AHI/Device/translations - url = https://github.com/aros-translation-team/ahi.device.git -[submodule "workbench/utilities/MultiView/catalogs"] - path = workbench/utilities/MultiView/catalogs - url = https://github.com/aros-translation-team/multiview.git -[submodule "workbench/utilities/More/catalogs"] - path = workbench/utilities/More/catalogs - url = https://github.com/aros-translation-team/more.git -[submodule "workbench/utilities/Installer/catalogs"] - path = workbench/utilities/Installer/catalogs - url = https://github.com/aros-translation-team/installer.git -[submodule "workbench/utilities/Clock/catalogs"] - path = workbench/utilities/Clock/catalogs - url = https://github.com/aros-translation-team/clock.git -[submodule "workbench/system/Wanderer/Catalogs"] - path = workbench/system/Wanderer/Catalogs - url = https://github.com/aros-translation-team/wanderer.git -[submodule "workbench/tools/SysExplorer/catalogs"] - path = workbench/tools/SysExplorer/catalogs - url = https://github.com/aros-translation-team/sysexplorer.git -[submodule "workbench/system/AboutAROS/catalogs"] - path = workbench/system/AboutAROS/catalogs - url = https://github.com/aros-translation-team/aboutaros.git -[submodule "workbench/tools/InstallAROS/catalogs"] - path = workbench/tools/InstallAROS/catalogs - url = https://github.com/aros-translation-team/installaros.git -[submodule "workbench/tools/HDToolBox/catalogs"] - path = workbench/tools/HDToolBox/catalogs - url = https://github.com/aros-translation-team/hdtoolbox.git -[submodule "workbench/tools/BoingIconBar/catalogs"] - path = workbench/tools/BoingIconBar/catalogs - url = https://github.com/aros-translation-team/boingiconbar.git -[submodule "workbench/system/SysMon/catalogs"] - path = workbench/system/SysMon/catalogs - url = https://github.com/aros-translation-team/sysmon.git -[submodule "workbench/tools/commodities/catalogs"] - path = workbench/tools/commodities/catalogs - url = https://github.com/aros-translation-team/commodities.git -[submodule "workbench/prefs/palette/catalogs"] - path = workbench/prefs/palette/catalogs - url = https://github.com/aros-translation-team/palette-prefs.git -[submodule "developer/debug/test/crt/posixc/posix.1"] - path = developer/debug/test/crt/posixc/posix.1 - url = https://github.com/agordon/posix-libc-examples.git -[submodule "workbench/prefs/appearance/catalogs"] - path = workbench/prefs/appearance/catalogs - url = https://github.com/aros-translation-team/appearance-prefs.git -[submodule "workbench/prefs/boingiconbar/catalogs"] - path = workbench/prefs/boingiconbar/catalogs - url = https://github.com/aros-translation-team/boingiconbar-prefs.git -[submodule "workbench/prefs/font/catalogs"] - path = workbench/prefs/font/catalogs - url = https://github.com/aros-translation-team/font-prefs.git -[submodule "workbench/prefs/input/catalogs"] - path = workbench/prefs/input/catalogs - url = https://github.com/aros-translation-team/input-prefs.git -[submodule "workbench/prefs/locale/catalogs"] - path = workbench/prefs/locale/catalogs - url = https://github.com/aros-translation-team/locale-prefs.git -[submodule "workbench/prefs/reqtools/catalogs"] - path = workbench/prefs/reqtools/catalogs - url = https://github.com/aros-translation-team/reqtools-prefs.git -[submodule "workbench/prefs/boot/catalogs"] - path = workbench/prefs/boot/catalogs - url = https://github.com/aros-translation-team/boot-prefs.git -[submodule "workbench/prefs/icontrol/catalogs"] - path = workbench/prefs/icontrol/catalogs - url = https://github.com/aros-translation-team/icontrol-prefs.git -[submodule "workbench/prefs/network/catalogs"] - path = workbench/prefs/network/catalogs - url = https://github.com/aros-translation-team/network-prefs.git -[submodule "workbench/prefs/pointer/catalogs"] - path = workbench/prefs/pointer/catalogs - url = https://github.com/aros-translation-team/pointer-prefs.git -[submodule "workbench/prefs/printer/catalogs"] - path = workbench/prefs/printer/catalogs - url = https://github.com/aros-translation-team/printer-prefs.git -[submodule "workbench/prefs/Editor/catalogs"] - path = workbench/prefs/Editor/catalogs - url = https://github.com/aros-translation-team/editor-prefs.git -[submodule "workbench/prefs/PSI/catalogs"] - path = workbench/prefs/PSI/catalogs - url = https://github.com/aros-translation-team/psi-prefs.git -[submodule "workbench/prefs/screenmode/catalogs"] - path = workbench/prefs/screenmode/catalogs - url = https://github.com/aros-translation-team/screenmode-prefs.git -[submodule "workbench/prefs/serial/catalogs"] - path = workbench/prefs/serial/catalogs - url = https://github.com/aros-translation-team/serial-prefs.git -[submodule "workbench/prefs/time/catalogs"] - path = workbench/prefs/time/catalogs - url = https://github.com/aros-translation-team/time-prefs.git -[submodule "workbench/prefs/trackdisk/catalogs"] - path = workbench/prefs/trackdisk/catalogs - url = https://github.com/aros-translation-team/trackdisk-prefs.git -[submodule "workbench/prefs/wanderer/catalogs"] - path = workbench/prefs/wanderer/catalogs - url = https://github.com/aros-translation-team/wanderer-prefs.git -[submodule "workbench/prefs/Zune/catalogs"] - path = workbench/prefs/Zune/catalogs - url = https://github.com/aros-translation-team/zune-prefs.git -[submodule "workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs"] - path = workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs - url = https://github.com/aros-translation-team/miamipanel.git -[submodule "workbench/system/BHFormat/catalogs"] - path = workbench/system/BHFormat/catalogs - url = https://github.com/aros-translation-team/format.git -[submodule "workbench/system/find/catalogs"] - path = workbench/system/find/catalogs - url = https://github.com/aros-translation-team/find.git -[submodule "workbench/system/ftmanager/catalogs"] - path = workbench/system/ftmanager/catalogs - url = https://github.com/aros-translation-team/ftmanager.git -[submodule "workbench/system/Snoopy/catalogs"] - path = workbench/system/Snoopy/catalogs - url = https://github.com/aros-translation-team/snoopy.git -[submodule "workbench/system/Wanderer/Tools/DiskInfo/catalogs"] - path = workbench/system/Wanderer/Tools/DiskInfo/catalogs - url = https://github.com/aros-translation-team/diskinfo.git -[submodule "workbench/system/Wanderer/Tools/ExecuteCommand/catalogs"] - path = workbench/system/Wanderer/Tools/ExecuteCommand/catalogs - url = https://github.com/aros-translation-team/executecommand.git -[submodule "workbench/system/Wanderer/Tools/ExecuteStartup/catalogs"] - path = workbench/system/Wanderer/Tools/ExecuteStartup/catalogs - url = https://github.com/aros-translation-team/executestartup.git -[submodule "workbench/system/Wanderer/Tools/WBNewDrawer/catalogs"] - path = workbench/system/Wanderer/Tools/WBNewDrawer/catalogs - url = https://github.com/aros-translation-team/wbnewdrawer.git -[submodule "workbench/system/Wanderer/Tools/WBRename/catalogs"] - path = workbench/system/Wanderer/Tools/WBRename/catalogs - url = https://github.com/aros-translation-team/wbrename.git -[submodule "workbench/tools/Edit/catalogs"] - path = workbench/tools/Edit/catalogs - url = https://github.com/aros-translation-team/editor.git -[submodule "workbench/tools/KeyShow/catalogs"] - path = workbench/tools/KeyShow/catalogs - url = https://github.com/aros-translation-team/keyshow.git -[submodule "workbench/tools/ScreenGrabber/catalogs"] - path = workbench/tools/ScreenGrabber/catalogs - url = https://github.com/aros-translation-team/screengrabber.git -[submodule "workbench/tools/WiMP/catalogs"] - path = workbench/tools/WiMP/catalogs - url = https://github.com/aros-translation-team/wimp.git -[submodule "developer/debug/test/datatypes"] - path = developer/debug/test/datatypes - url = https://github.com/aros-development-team/datatype-test-binaries.git diff --git a/arch/m68k-all/dosboot/bootcode.c b/arch/m68k-all/dosboot/bootcode.c index a484887fcff..ee58eea27e3 100644 --- a/arch/m68k-all/dosboot/bootcode.c +++ b/arch/m68k-all/dosboot/bootcode.c @@ -65,6 +65,8 @@ void dosboot_BootPoint(struct BootNode *bn) struct DosEnvec *de; IPTR bootblocks; + D(Bug("dosboot_BootPoint\n")); + dn = bn->bn_DeviceNode; if (dn == NULL || dn->dn_Name == BNULL) return; diff --git a/arch/m68k-amiga/boot/debug.c b/arch/m68k-amiga/boot/debug.c index 9500bd20a89..32fa8f7ebd5 100644 --- a/arch/m68k-amiga/boot/debug.c +++ b/arch/m68k-amiga/boot/debug.c @@ -51,7 +51,7 @@ int DebugMayGetChar(void) return c; } -#if AROS_SERIAL_DEBUG +#if APOLLO_DEBUG2 void DebugPutStr(register const char *buff) { diff --git a/arch/m68k-amiga/boot/debug.h b/arch/m68k-amiga/boot/debug.h index e690717c4eb..76cac70a522 100644 --- a/arch/m68k-amiga/boot/debug.h +++ b/arch/m68k-amiga/boot/debug.h @@ -18,7 +18,7 @@ void DebugInit(void); int DebugPutChar(register int chr); int DebugMayGetChar(void); -#if AROS_SERIAL_DEBUG +#if APOLLO_DEBUG2 void DebugPutStr(register const char *buff); void DebugPutHex(const char *what, ULONG val); void DebugPutDec(const char *what, ULONG val); @@ -28,7 +28,7 @@ void DebugPutHexVal(ULONG val); #define DEBUGPUTD(x) do { DebugPutDec x; } while(0) #define DEBUGPUTHEX(x) do { DebugPutHex x; } while(0) #endif -#endif /* !AROS_SERIAL_DEBUG */ +#endif /* !APOLLO_DEBUG */ #ifndef DEBUGPUTS #define DEBUGPUTS(x) do { } while (0) diff --git a/arch/m68k-amiga/boot/mmakefile.src b/arch/m68k-amiga/boot/mmakefile.src index c251635be0e..a245bcf9f84 100644 --- a/arch/m68k-amiga/boot/mmakefile.src +++ b/arch/m68k-amiga/boot/mmakefile.src @@ -37,6 +37,7 @@ include $(SRCDIR)/config/aros.cfg #MM kernel-filesystem-kobj \ #MM kernel-freeanim-kobj \ #MM kernel-fs-core-kobj \ +#MM kernel-fs-fat-kobj \ #MM kernel-fs-con-kobj \ #MM kernel-fs-ram-kobj \ #MM kernel-gameport-kobj \ @@ -93,7 +94,7 @@ include $(SRCDIR)/config/aros.cfg #MM- kernel-workbench-devs-amiga-m68k : workbench-devs-amiga-m68k # Make sure we optimize this code for size .. -OPTIMIZATION_CFLAGS := -O2 +OPTIMIZATION_CFLAGS := -Os USELIBS := amiga arossupport autoinit libinit stdc.static LIBS := -L$(GENDIR)/lib -lloadseg $(addprefix -l,$(USELIBS)) @@ -122,17 +123,18 @@ ROMLOC_ss := 0x003f800 # Main ROM (0xf80000 - 0xffffff) ROMLOC_rom := 0x0f80000 -FILES=start early debug mmu +FILES=start early debug +# debug mmu AFILES=rom_entry rom_init cpu_detect superstack_swap # APOLLOROM = V4 -> Native V4 ifeq ($(APOLLOROM),V4) - KLIBS := exec aros dos utility oop expansion partition debug + KLIBS := exec aros dos utility oop expansion partition KDEVS := timer input keyboard console gameport audio - KHNDLRS := con afs ram + KHNDLRS := afs fat ram KHIDDS := amigakbd amigamouse amigavideo ata_gayle gfx hiddclass keyboard mouse - KRSRCS := battclock kernel processor task lddemon dosboot cia potgo disk FileSystem misc shell card bootloader vampire - KHOOKS := diag romboot + KRSRCS := battclock kernel processor task lddemon dosboot cia potgo disk FileSystem vampire + KHOOKS := endif # APOLLOROM = UAE -> UAE with P96 @@ -141,8 +143,8 @@ ifeq ($(APOLLOROM),UAE) KDEVS := timer input keyboard console gameport audio KHNDLRS := con afs ram KHIDDS := amigakbd amigamouse amigavideo ata_gayle gfx hiddclass keyboard mouse p96gfx - KRSRCS := battclock kernel processor task lddemon dosboot cia potgo disk FileSystem - KHOOKS := + KRSRCS := kernel processor task lddemon dosboot cia potgo disk FileSystem + KHOOKS := diag romboot endif KOBJS_rom := $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS))) \ @@ -165,23 +167,25 @@ AFILES := ext_entry # APOLLOROM = V4 -> Native V4 ifeq ($(APOLLOROM),V4) KLIBS := keymap graphics layers intuition gadtools workbench mathffp mathieeesingbas freeanim lowlevel setpatch - KDEVS := cd ata trackdisk - KHNDLRS := cdrom - KHIDDS := bus storage system - KRSRCS := shellcommands wbtag - KHOOKS := alert + KDEVS := sagasd ata trackdisk + KHNDLRS := con + KHIDDS := bus storage system + KRSRCS := shellcommands wbtag misc shell card bootloader + KHOOKS := alert diag romboot endif # APOLLOROM = UAE -> UAE with P96 ifeq ($(APOLLOROM),UAE) KLIBS := keymap graphics layers intuition gadtools workbench mathffp mathieeesingbas freeanim lowlevel setpatch - KDEVS := cd ata trackdisk - KHNDLRS := cdrom + KDEVS := ata trackdisk + KHNDLRS := KHIDDS := bus storage system KRSRCS := shellcommands wbtag misc shell card bootloader - KHOOKS := alert diag romboot + KHOOKS := alert endif +# diag romboot + ROMLOC_ext := 0xe00000 KOBJS_ext := \ $(addprefix $(KOBJSDIR)/,$(addsuffix _library.ko ,$(KLIBS) )) \ @@ -236,7 +240,7 @@ $(GENDIR)/boot/aros-amiga-m68k.elf: $(GENDIR)/boot/aros-amiga-m68k-reloc.elf --section-start .ext=$(ROMLOC_ext) \ --section-start .ss=$(ROMLOC_ss) \ $< - $(Q)$(TARGET_OBJDUMP) -h $@ | grep '[rea][oxm][mte] ' + $(Q)$(TARGET_OBJDUMP) -h $@ | grep '[rea][oxm][mte] ' > romlog.txt $(GENDIR)/boot/aros-amiga-m68k-%.bin : $(GENDIR)/boot/aros-amiga-m68k.elf $(HOSTGENDIR)/tools/romcheck $(Q)$(TARGET_OBJCOPY) \ diff --git a/arch/m68k-amiga/boot/rom_init.S b/arch/m68k-amiga/boot/rom_init.S index fc77319be3f..8d20b5b7855 100644 --- a/arch/m68k-amiga/boot/rom_init.S +++ b/arch/m68k-amiga/boot/rom_init.S @@ -99,8 +99,8 @@ arosbootstrap_init: #if VAMPIRECARDSERIES==4 //V4 version - move.l #0x01800000,%a0 //Reserve 8MB for ApolloFloppy - move.l #0x40000000,%a1 + move.l #0x01800000,%a0 // Reserve 8MB for ApolloFloppy + move.l #0x80000000,%a1 // UniCorn 2Gb move.l #0x00100000,%d0 jsr __MemoryTest #else diff --git a/arch/m68k-amiga/boot/romlog.txt b/arch/m68k-amiga/boot/romlog.txt new file mode 100644 index 00000000000..d986569399f --- /dev/null +++ b/arch/m68k-amiga/boot/romlog.txt @@ -0,0 +1,3 @@ +Idx Name Size VMA LMA File off Algn + 0 .rom 00077adc 00f80000 00f80000 0007c000 2**2 + 1 .ext 000783ea 00e00000 00e00000 00002000 2**2 diff --git a/arch/m68k-amiga/boot/start.c b/arch/m68k-amiga/boot/start.c index 890e7772088..9a25720bb6d 100644 --- a/arch/m68k-amiga/boot/start.c +++ b/arch/m68k-amiga/boot/start.c @@ -566,7 +566,7 @@ void doColdCapture(void) static void RomInfo(IPTR rom) { -#if AROS_SERIAL_DEBUG && (DEBUG > 0) +#if DEBUG > 0 APTR ptr = (APTR)rom; CONST_STRPTR str; @@ -612,7 +612,7 @@ static UWORD GetAttnFlags(ULONG *cpupcr) attnflags |= AFF_68881 | AFF_68882; } -#if AROS_SERIAL_DEBUG && (DEBUG > 0) +#if DEBUG > 0 DEBUGPUTS(("CPU: ")); if (attnflags & AFF_68080) DEBUGPUTS(("Apollo Core 68080")); @@ -765,7 +765,7 @@ void exec_boot(ULONG *membanks, ULONG *cpupcr) membanks[i + 1] -= membanks[i + 0]; -#if AROS_SERIAL_DEBUG && (DEBUG > 0) +#if DEBUG > 0 for (i = 0; membanks[i + 1]; i += 2) { ULONG addr = membanks[i + 0]; ULONG size = membanks[i + 1]; @@ -827,7 +827,7 @@ void exec_boot(ULONG *membanks, ULONG *cpupcr) Early_Alert(AT_DeadEnd | AG_NoMemory); } -#if AROS_SERIAL_DEBUG && (DEBUG > 0) +#if DEBUG > 0 for (i = 0; kickrom [i] != (UWORD*)~0; i += 2) { DEBUGPUTHEX(("Resident start", (ULONG)kickrom[i])); DEBUGPUTHEX(("Resident end ", (ULONG)kickrom[i + 1])); diff --git a/arch/m68k-amiga/devs/ata/ata_amiga.c b/arch/m68k-amiga/devs/ata/ata_amiga.c deleted file mode 100644 index 208b3147d15..00000000000 --- a/arch/m68k-amiga/devs/ata/ata_amiga.c +++ /dev/null @@ -1,728 +0,0 @@ -/* - Copyright © 1995-2014, The AROS Development Team. All rights reserved. - $Id$ -*/ - -#define DEBUG 1 -#define IDE_DEBUG 0 -#define PCMCIA_DEBUG 0 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ata.h" -#include "timer.h" - -#define GAYLE_BASE_4000 0xdd2022 /* 0xdd2020.W, 0xdd2026.B, 0xdd202a.B ... */ -#define GAYLE_IRQ_4000 0xdd3020 - -#define GAYLE_BASE_1200 0xdd0000 /* 0xdd0000.W, 0xdd0004.B, 0xdd0008.B ... */ -#define GAYLE_IRQ_1200 0xdd9000 -#define GAYLE_INT_1200 0xdda000 - -#define GAYLE_IRQ_IDE 0x80 -#define GAYLE_INT_IDE 0x80 - -struct amiga_driverdata -{ - struct amiga_busdata *bus[2]; - struct Interrupt ideint; - BOOL ideintdone; - UBYTE *gaylebase; - UBYTE *gayleirqbase; - BOOL a4000; - UBYTE doubler; -}; - -struct amiga_pcmcia_driverdata -{ - struct amiga_busdata *bus[1]; - struct CardHandle cardhandle; - struct Interrupt statusint; - struct Interrupt insertint; - struct Interrupt removalint; - struct CardResource *CardResource; - BOOL intena; - ULONG configbase, configmask; - struct DeviceTData dtd; - struct CardMemoryMap *cmm; -}; - - -struct amiga_busdata -{ - void *ddata; - struct ata_Bus *bus; - UBYTE *port; - BOOL reset; -}; - -static void ata_insw(APTR address, UWORD port, ULONG count, void *data) -{ -// struct amiga_busdata *bdata = data; -// volatile ULONG *addr = (ULONG*)(bdata->port + (port & ~3)); -// ULONG *dst = address; -// -// count /= 4; -// while (count-- != 0) -// *dst++ = *addr; -} - -static void ata_outsw(APTR address, UWORD port, ULONG count, APTR data) -{ -// struct amiga_busdata *bdata = data; -// volatile ULONG *addr = (ULONG*)(bdata->port + (port & ~3)); -// ULONG *dst = address; -// -// count /= 4; -// while (count-- != 0) -// *addr = *dst++; -} - -static void ata_pcmcia_insw(APTR address, UWORD port, ULONG count, void *data) -{ -// struct amiga_busdata *bdata = data; -// volatile UWORD *addr = (UWORD*)(bdata->port + port); -// UWORD *dst = address; -// -// count /= 2; -// while (count-- != 0) -// *dst++ = *addr; -} - -static void ata_pcmcia_outsw(APTR address, UWORD port, ULONG count, APTR data) -{ -// struct amiga_busdata *bdata = data; -// volatile UWORD *addr = (UWORD*)(bdata->port + port); -// UWORD *dst = address; -// -// count /= 2; -// while (count-- != 0) -// *addr = *dst++; -} - - -static void ata_outl(ULONG val, UWORD offset, IPTR port, APTR data) -{ -} - -static void ata_out(UBYTE val, UWORD offset, IPTR port, APTR data) -{ -// struct amiga_busdata *bdata = data; -// volatile UBYTE *addr; -// -// #if IDE_DEBUG -// bug("ata_out(%x,%x)=%x:%x\n", offset, port, (UBYTE*)(bdata->port + port) + offset * 4, val); -// #endif -// /* IDE doubler hides Alternate Status/Device Control register */ -// if (port == -1) { -// if (bdata->reset == 0 && (val & 4)) { -// ata_out(0x40, ata_DevHead, 0, bdata); -// D(bug("[ATA] Emulating reset\n")); -// ata_out(ATA_EXECUTE_DIAG, ata_Command, 0, bdata); -// } -// bdata->reset = (val & 4) != 0; -// return; -// } -// addr = (UBYTE*)(bdata->port + port); -// addr[offset * 4] = val; -} - -static UBYTE ata_in(UWORD offset, IPTR port, APTR data) -{ -// struct amiga_busdata *bdata = data; -// volatile UBYTE *addr; -// UBYTE v; -// -// #if IDE_DEBUG -// bug("ata_in(%x,%x)=%x\n", offset, port, (UBYTE*)(bdata->port + port) + offset * 4); -// #endif -// if (port == -1) { -// port = 0; -// offset = ata_Status; -// } -// addr = (UBYTE*)(bdata->port + port); -// v = addr[offset * 4]; -// #if IDE_DEBUG -// bug("=%x\n", v); -// #endif - return v; -} - -static void gayledebug(void) -{ -#if 0 - volatile UBYTE *g = (UBYTE*)0xa00200; - volatile UBYTE *gstatus = (UBYTE*)0xda8000; - volatile UBYTE *gintreq = (UBYTE*)0xda9000; - volatile UBYTE *gintena = (UBYTE*)0xdaa000; - volatile UBYTE *gconfig = (UBYTE*)0xdab000; - bug ("%02x %02x %02x %02x %02x\n", - *g, *gstatus, *gintreq, *gintena, *gconfig); -#endif -} - -static void ata_pcmcia_out(UBYTE val, UWORD offset, IPTR port, APTR data) -{ -// volatile UBYTE *addr; -// -// addr = (UBYTE*)port; -// if (offset == 1) { -// /* Error / Feature not available when using Amiga PCMCIA */ -// return; -// } else if (offset & 1) { -// addr += 0x10000; -// } -// addr[offset] = val; -// -// #if PCMCIA_DEBUG -// bug("pcmcia_ata_out(%x,%x)=%p=%x\n", offset, port, &addr[offset], val); -// #endif -} - -static UBYTE ata_pcmcia_in(UWORD offset, IPTR port, APTR data) -{ -// volatile UBYTE *addr; -// UBYTE v; -// -// gayledebug(); -// -// addr = (UBYTE*)port; -// if (offset == 1) { -// /* Error / Feature not available when using Amiga PCMCIA */ -// return 1; -// } else if (offset & 1) { -// addr += 0x10000; -// } -// v = addr[offset]; -// -// #if PCMCIA_DEBUG -// bug("pcmcia_ata_in(%x,%x)=%p=%x (%02X)\n", offset, port, &addr[offset], v); -// #endif -// -// gayledebug(); -// - return v; -} - - -static BOOL custom_check(APTR addr) -{ - volatile struct Custom *custom = (struct Custom*)0xdff000; - volatile struct Custom *maybe_custom = (struct Custom*)addr; - UWORD intena; - BOOL iscustom = TRUE; - -// intena = custom->intenar; -// custom->intena = 0x7fff; -// custom->intena = 0xc000; -// maybe_custom->intena = 0x7fff; -// if (custom->intenar == 0x4000) { -// maybe_custom->intena = 0x7fff; -// if (custom->intenar == 0x4000) -// iscustom = FALSE; -// } -// custom->intena = 0x7fff; -// custom->intena = intena | 0x8000; - return iscustom; -} - -static UBYTE *getport(struct amiga_driverdata *ddata) -{ -// UBYTE id, status1, status2; -// volatile UBYTE *port, *altport; -// struct GfxBase *gfx; -// -// port = NULL; -// gfx = (struct GfxBase*)TaggedOpenLibrary(TAGGEDOPEN_GRAPHICS); -// Disable(); -// id = ReadGayle(); -// if (id) { -// port = (UBYTE*)GAYLE_BASE_1200; -// ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_1200; -// } else { -// // in AGA this area is never custom mirror but lets make sure.. -// if (!custom_check((APTR)0xdd4000) && (gfx->ChipRevBits0 & GFXF_AA_ALICE)) { -// port = (UBYTE*)GAYLE_BASE_4000; -// ddata->a4000 = TRUE; -// ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_4000; -// } -// } -// Enable(); -// CloseLibrary((struct Library*)gfx); -// -// D(bug("[ATA] Gayle ID=%02x. Possible IDE port=%08x.\n", id, (ULONG)port & ~3)); -// if (port == NULL) -// return NULL; -// -// altport = port + 0x1010; -// Disable(); -// port[ata_DevHead * 4] = ATAF_ERROR; -// /* If nothing connected, we get back what we wrote, ATAF_ERROR set */ -// status1 = port[ata_Status * 4]; -// port[ata_DevHead * 4] = ATAF_DATAREQ; -// status2 = port[ata_Status * 4]; -// port[ata_DevHead * 4] = 0; -// Enable(); -// D(bug("[ATA] Status=%02x,%02x\n", status1, status2)); -// // BUSY and DRDY both active or ERROR/DATAREQ = no drive(s) = do not install driver -// if ( (((status1 | status2) & (ATAF_BUSY | ATAF_DRDY)) == (ATAF_BUSY | ATAF_DRDY)) -// || ((status1 | status2) & (ATAF_ERROR | ATAF_DATAREQ))) -// { -// D(bug("[ATA] Drives not detected\n")); -// return NULL; -// } -// if (ddata->doubler) { -// UBYTE v1, v2; -// /* check if AltControl is both readable and writable -// * It is either floating or DevHead if IDE doubler is connected. -// * AltControl = DevHead (R) -// * Device Control = DevHead (W) -// */ -// Disable(); -// altport[ata_AltControl * 4] = 0; -// port[ata_DevHead * 4] = 1; -// v1 = altport[ata_AltControl * 4]; -// altport[ata_AltControl * 4] = 2; -// port[ata_DevHead * 4] = 4; -// v2 = altport[ata_AltControl * 4]; -// altport[ata_AltControl * 4] = 0; -// port[ata_DevHead * 4] = 0; -// Enable(); -// if ((v1 == 0 && v2 == 2) || (v1 == 1 && v2 == 4) || (v1 == 0xff && v2 == 0xff)) { -// ddata->doubler = 2; -// } else { -// ddata->doubler = 0; -// } -// D(bug("[ATA] IDE doubler check (%02X, %02X) = %d\n", v1, v2, ddata->doubler)); -// } - /* we may have connected drives */ - return (UBYTE*)port; -} -static void ackint(struct amiga_driverdata *ddata) -{ -// if (ddata->a4000) -// return; -// /* Clear A600/A1200 IDE interrupt. (Stupid Gayle hardware) */ -// *ddata->gayleirqbase = 0x7c | (*ddata->gayleirqbase & 3); -} -static void ata_AckInterrupt(struct ata_Bus *bus) -{ -// struct amiga_busdata *bdata = bus->ab_DriverData; -// struct amiga_driverdata *ddata = bdata->ddata; -// ackint(ddata); -} - -static void callbusirq(struct amiga_driverdata *ddata) -{ -// volatile UBYTE *port; -// UBYTE status1, status2; -// BOOL handled = FALSE; -// -// if (ddata->bus[0]) -// handled |= ata_HandleIRQ(ddata->bus[0]->bus); -// if (ddata->bus[1]) -// handled |= ata_HandleIRQ(ddata->bus[1]->bus); -// if (handled) -// return; -// -// /* Handle spurious interrupt */ -// port = ddata->gaylebase; -// status1 = port[ata_Status * 4]; -// status2 = 0; -// if (ddata->doubler == 2) -// status2 = port[0x1000 + ata_Status * 4]; -// ackint(ddata); -// bug("[ATA] Spurious interrupt: %02X %02X\n", status1, status2); -} - -AROS_INTH1(IDE_Handler_A1200, struct amiga_driverdata *, ddata) -{ - AROS_INTFUNC_INIT - - UBYTE irqmask = *ddata->gayleirqbase; - if (irqmask & GAYLE_IRQ_IDE) { - callbusirq(ddata); - } - return FALSE; - - AROS_INTFUNC_EXIT -} - -AROS_INTH1(IDE_Handler_A4000, struct amiga_driverdata *, ddata) -{ - AROS_INTFUNC_INIT - - /* A4000 interrupt clears when register is read */ - UWORD irqmask = *((UWORD*)ddata->gayleirqbase); - if (irqmask & (GAYLE_IRQ_IDE << 8)) { - callbusirq(ddata); - } - return FALSE; - - AROS_INTFUNC_EXIT -} - -static AROS_CARDH(IDE_PCMCIA_Handler, void *, data, status) -{ - AROS_CARDFUNC_INIT - - struct amiga_pcmcia_driverdata *ddata = data; - if (!status) { - if (ddata->intena) - ata_HandleIRQ(ddata->bus[0]->bus); - } - return status; - - AROS_CARDFUNC_EXIT -} - -static BOOL ata_CreateInterrupt(struct ata_Bus *bus, UBYTE num) -{ - struct amiga_busdata *bdata = bus->ab_DriverData; - struct amiga_driverdata *ddata = bdata->ddata; - struct Interrupt *irq = &ddata->ideint; - volatile UBYTE *gayleintbase = NULL; - - bdata->bus = bus; - ddata->bus[num] = bdata; - - if (ddata->ideintdone) - return TRUE; - ddata->ideintdone = TRUE; - - if (ddata->a4000) { - irq->is_Code = (APTR)IDE_Handler_A4000; - } else { - gayleintbase = (UBYTE*)GAYLE_INT_1200; - irq->is_Code = (APTR)IDE_Handler_A1200; - } - - irq->is_Node.ln_Pri = 20; - irq->is_Node.ln_Type = NT_INTERRUPT; - irq->is_Node.ln_Name = "AT-IDE"; - irq->is_Data = ddata; - AddIntServer(INTB_PORTS, irq); - - if (gayleintbase) - *gayleintbase |= GAYLE_INT_IDE; - - return TRUE; -} -static BOOL ata_CreateInterrupt0(struct ata_Bus *bus) -{ - return ata_CreateInterrupt(bus, 0); -} -static BOOL ata_CreateInterrupt1(struct ata_Bus *bus) -{ - return ata_CreateInterrupt(bus, 1); -} -static BOOL ata_CreateInterrupt_pcmcia(struct ata_Bus *bus) -{ - struct amiga_busdata *bdata = bus->ab_DriverData; - struct amiga_pcmcia_driverdata *ddata = bdata->ddata; - - bdata->bus = bus; - ddata->bus[0] = bdata; - - ddata->intena = 1; - return TRUE; -} - -static const struct ata_BusDriver amiga_driver0 = -{ - ata_out, - ata_in, - ata_outl, - ata_insw, - ata_outsw, - ata_insw, /* These are intentionally the same as 16-bit routines */ - ata_outsw, - ata_CreateInterrupt0, - ata_AckInterrupt -}; -static const struct ata_BusDriver amiga_driver1 = -{ - ata_out, - ata_in, - ata_outl, - ata_insw, - ata_outsw, - ata_insw, /* These are intentionally the same as 16-bit routines */ - ata_outsw, - ata_CreateInterrupt1, - ata_AckInterrupt -}; -static const struct ata_BusDriver amiga_driver_pcmcia = -{ - ata_pcmcia_out, - ata_pcmcia_in, - ata_outl, - ata_pcmcia_insw, - ata_pcmcia_outsw, - ata_pcmcia_insw, - ata_pcmcia_outsw, - ata_CreateInterrupt_pcmcia, - NULL -}; - -static BOOL ata_amiga_ide_init(struct ataBase *LIBBASE) -{ - struct amiga_driverdata *ddata; - struct amiga_busdata *bdata; - - ddata = AllocVec(sizeof(struct amiga_driverdata), MEMF_CLEAR | MEMF_PUBLIC); - if (!ddata) - return FALSE; - ddata->doubler = 1; - - ddata->gaylebase = getport(ddata); - bdata = AllocVec(sizeof(struct amiga_busdata) * (ddata->doubler == 2 ? 2 : 1), MEMF_CLEAR | MEMF_PUBLIC); - if (bdata && ddata->gaylebase) { - LIBBASE->ata_NoDMA = TRUE; - bdata->ddata = ddata; - bdata->port = ddata->gaylebase; - ata_RegisterBus(0, ddata->doubler ? -1 : 0x1010, 2, 0, ARBF_EarlyInterrupt, &amiga_driver0, bdata, LIBBASE); - if (ddata->doubler == 2) { - D(bug("[ATA] Adding secondary bus\n")); - bdata++; - bdata->ddata = ddata; - bdata->port = ddata->gaylebase + 0x1000; - ata_RegisterBus(0, -1, 2, 0, ARBF_EarlyInterrupt, &amiga_driver1, bdata, LIBBASE); - } - return TRUE; - } - FreeVec(bdata); - FreeVec(ddata); - return FALSE; -} - -static BOOL detectcard(struct amiga_pcmcia_driverdata *ddata) -{ - APTR CardResource; - struct CardHandle *ch; - UBYTE tuple[256 + 2]; - WORD cnt1, cnt2; - UBYTE *tp; - BOOL got; - - ch = &ddata->cardhandle; - CardResource = ddata->CardResource; - - CardResetCard(ch); - /* Some cards refuse to work if CARD_ENABLEF_DIGAUDIO is enabled at this point */ - CardMiscControl(ch, CARD_DISABLEF_WP); - - got = FALSE; - for (;;) { - if (!CopyTuple(ch, tuple, PCCARD_TPL_DEVICE, sizeof(tuple) - 2)) - break; - if (!DeviceTuple(tuple, &ddata->dtd)) - break; - if (ddata->dtd.dtd_DTtype != PCCARD_DTYPE_FUNCSPEC) - break; - tuple[2] = 0; - if (!CopyTuple(ch, tuple, PCCARD_TPL_FUNCID, sizeof(tuple) - 2)) - break; - if (tuple[2] != PCCARD_FUNC_FIXED) - break; - got = FALSE; - for (cnt1 = 0; TRUE; cnt1++) { - if (!CopyTuple(ch, tuple, PCCARD_TPL_FUNCE | (cnt1 << 16), sizeof(tuple) - 2)) - break; - if (tuple[2] != 1 || tuple[3] != 1) - break; - got = TRUE; - break; - } - if (!got) - break; - got = FALSE; - if (!CopyTuple(ch, tuple, PCCARD_TPL_CONFIG, sizeof(tuple) - 2)) - break; - if (tuple[1] < 5) - break; - //lastindex = tuple[3] & 0x3f; - tp = &tuple[4]; - cnt2 = (tuple[2] & 3) + 1; - for (cnt1 = 0; cnt1 < cnt2; cnt1++) { - ddata->configbase |= (*tp) << (cnt1 * 8); - tp++; - } - cnt2 = ((tuple[2] >> 3) & 15) + 1; - for (cnt1 = 0; cnt1 < cnt2 && cnt1 < 4; cnt1++) { - ddata->configmask |= (*tp) << (cnt1 * 8); - tp++; - } - return TRUE; - } - return FALSE; -} - -static void pcmcia_config_write(struct amiga_pcmcia_driverdata *ddata, UBYTE reg, UBYTE data) -{ - volatile UBYTE *attrbase = ddata->cmm->cmm_AttributeMemory; - volatile UBYTE *gstatus = (UBYTE*)0xda8000; - APTR CardResource; - struct CardHandle *ch; - - CardResource = ddata->CardResource; - ch = &ddata->cardhandle; - if (!(ddata->configmask & (1 << reg))) - return; - bug("%02x -> %p\n", data, &attrbase[ddata->configbase + 2 * reg]); - gayledebug(); - gayledebug(); - gayledebug(); - for(;;) { - UBYTE status = *gstatus; - if (!(status & CARD_STATUSF_BSY) || !(status & CARD_STATUSF_CCDET)) - break; - } - CardMiscControl(ch, CARD_DISABLEF_WP); - attrbase[ddata->configbase + 2 * reg] = data; - CardMiscControl(ch, 0); - for(;;) { - UBYTE status = *gstatus; - if (!(status & CARD_STATUSF_BSY) || !(status & CARD_STATUSF_CCDET)) - break; - } - data = attrbase[ddata->configbase + 2 * reg]; - bug("=%02X\n", data); - gayledebug(); - gayledebug(); - gayledebug(); -} - -static void initializecard(struct ataBase *LIBBASE, struct amiga_pcmcia_driverdata *ddata) -{ - struct CardHandle *ch; - UBYTE tuple[256 + 2]; - UBYTE *tp; - APTR CardResource; - struct IORequest *req; - - ch = &ddata->cardhandle; - CardResource = ddata->CardResource; - - D(bug("Detected PCMCIA IDE. ConfigBase=%08x RMask=%08x\n", ddata->configbase, ddata->configmask); - memset(tuple, 0, sizeof tuple); - if (CopyTuple(ch, tuple, PCCARD_TPL_VERS1, sizeof(tuple) - 2)) { - if (tuple[2] == 4) { - tp = &tuple[4]; - while (*tp != 0xff) { - bug("%s ", tp); - tp += strlen(tp) + 1; - } - D(bug("\n")); - } - }); - req = ata_OpenTimer(LIBBASE); - CardAccessSpeed(ch, ddata->dtd.dtd_DTspeed); -#if 0 - pcmcia_config_write(ddata, 3, 0); /* Socket and copy. Must be written first. */ - pcmcia_config_write(ddata, 0, 0x80); - if (req) - ata_WaitTO(req, 0, 20000, 0); - pcmcia_config_write(ddata, 0, 0x00); - if (req) - ata_WaitTO(req, 0, 20000, 0); - for(;;) { - UBYTE status = ReadCardStatus(); - if (!(status & CARD_STATUSF_BSY) || !(status & CARD_STATUSF_CCDET)) - break; - } -#endif - Disable(); - pcmcia_config_write(ddata, 3, 0); /* Socket and copy. Must be written first. */ - pcmcia_config_write(ddata, 2, 0); /* Pin replacement. */ - pcmcia_config_write(ddata, 1, 0); /* Configuration and Status. */ - /* NOTE: We must use index #2 because some buggy cards won't work properly if using config index #1 */ - pcmcia_config_write(ddata, 0, 0x42); /* Configure option. Level interrupt (0x40) + config index (2). */ - Enable(); - if (req) - ata_WaitTO(req, 0, 50000, 0); - pcmcia_config_write(ddata, 1, 0); /* Configuration and Status. */ - CardMiscControl(ch, CARD_ENABLEF_DIGAUDIO | CARD_DISABLEF_WP); - ata_CloseTimer(req); - /* Now we have IDE registers at iobase + 0x1f0 to 0x1f7 and 0x3f6 to 0x3f7 */ - /* CARD_ENABLEF_DIGAUDIO must be enabled now */ -} - -static BOOL ata_amiga_pcmcia_init(struct ataBase *LIBBASE) -{ - struct CardResource *CardResource; - struct amiga_pcmcia_driverdata *ddata; - struct amiga_busdata *bdata; - struct CardHandle *ch; - - CardResource = OpenResource("card.resource"); - if (!CardResource) - return FALSE; - if (CardInterface() != CARD_INTERFACE_AMIGA_0) - return FALSE; - - ddata = AllocVec(sizeof(struct amiga_pcmcia_driverdata) + sizeof(struct amiga_busdata), MEMF_CLEAR | MEMF_PUBLIC); - if (!ddata) - return FALSE; - bdata = (struct amiga_busdata*)(ddata + 1); - - ch = &ddata->cardhandle; - ddata->CardResource = CardResource; - ddata->cmm = GetCardMap(); - - ch->cah_CardFlags = CARDF_IFAVAILABLE | CARDF_POSTSTATUS; - ch->cah_CardNode.ln_Name = LIBBASE->ata_Device.dd_Library.lib_Node.ln_Name; - ch->cah_CardStatus = &ddata->statusint; - ch->cah_CardRemoved = &ddata->removalint; - ch->cah_CardInserted = &ddata->insertint; - ch->cah_CardStatus->is_Data = ddata; - ch->cah_CardStatus->is_Code = (VOID_FUNC)IDE_PCMCIA_Handler; -#if 0 - ch->cah_CardRemoved->is_Data = ddata; - ch->cah_CardRemoved->is_Code = (void*)IDE_PCMCIA_Removed; - ch->cah_CardInserted->is_Data = ddata; - ch->cah_CardInserted->is_Code = (void*)IDE_PCMCIA_Inserted -#endif - - if (!OwnCard(ch)) { - BeginCardAccess(ch); - - if (detectcard(ddata)) { - initializecard(LIBBASE, ddata); - bdata->ddata = ddata; - bdata->port = (UBYTE*)ddata->cmm->cmm_IOMemory; - - LIBBASE->ata_NoDMA = TRUE; - ata_RegisterBus((IPTR)ddata->cmm->cmm_IOMemory + 0x1f0, (IPTR)(ddata->cmm->cmm_IOMemory + 0x3f6 - ata_AltControl), 2, 0, ARBF_EarlyInterrupt, &amiga_driver_pcmcia, bdata, LIBBASE); - return TRUE; - } - - EndCardAccess(ch); - ReleaseCard(ch, CARDF_REMOVEHANDLE); - } - - FreeVec(ddata); - - return FALSE; -} - -static int ata_amiga_init(struct ataBase *LIBBASE) -{ - BOOL r_ide, r_pcmcia; - - r_ide = ata_amiga_ide_init(LIBBASE); - r_pcmcia = ata_amiga_pcmcia_init(LIBBASE); - return (r_ide || r_pcmcia) ? 1 : 0; -} - -ADD2INITLIB(ata_amiga_init, 20) diff --git a/arch/m68k-amiga/devs/ata/bus_pci.c b/arch/m68k-amiga/devs/ata/bus_pci.c deleted file mode 100644 index c3580fb7c6b..00000000000 --- a/arch/m68k-amiga/devs/ata/bus_pci.c +++ /dev/null @@ -1 +0,0 @@ -/* Dummy file */ diff --git a/arch/m68k-amiga/devs/ata/dma_generic.c b/arch/m68k-amiga/devs/ata/dma_generic.c deleted file mode 100644 index 29bca54194f..00000000000 --- a/arch/m68k-amiga/devs/ata/dma_generic.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright 1995-2014, The AROS Development Team. All rights reserved. - $Id$ -*/ - -#include - -#include "ata.h" - -/* We don't need DMA support (but there has to be more optimal solution..) */ - -LONG dma_Setup(APTR addr, ULONG len, BOOL read, struct PRDEntry* array) -{ - return 0; -} - -BOOL dma_SetupPRD(struct ata_Unit *unit, APTR buffer, ULONG sectors, BOOL io) -{ - return FALSE; -} - -BOOL dma_SetupPRDSize(struct ata_Unit *unit, APTR buffer, ULONG size, BOOL read) -{ - return FALSE; -} - -VOID dma_Cleanup(APTR addr, ULONG len, BOOL read) -{ -} - -VOID dma_StartDMA(struct ata_Unit *unit) -{ -} - -VOID dma_StopDMA(struct ata_Unit *unit) -{ -} diff --git a/arch/m68k-amiga/devs/ata/mmakefile.src b/arch/m68k-amiga/devs/ata/mmakefile.src deleted file mode 100644 index 72acd380605..00000000000 --- a/arch/m68k-amiga/devs/ata/mmakefile.src +++ /dev/null @@ -1,12 +0,0 @@ -# $Id: mmakefile.src$ - -include $(SRCDIR)/config/aros.cfg - -USER_INCLUDES := -I.. -I$(SRCDIR)/rom/devs/ata - -%build_archspecific \ - mainmmake=kernel-ata modname=ata maindir=rom/devs/ata \ - arch=amiga-m68k \ - files="waitnano" - -%common diff --git a/arch/m68k-amiga/devs/ata/waitnano.c b/arch/m68k-amiga/devs/ata/waitnano.c deleted file mode 100644 index 7353b8d359b..00000000000 --- a/arch/m68k-amiga/devs/ata/waitnano.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright 2013, The AROS Development Team. All rights reserved - $Id$ -*/ - -#include -#include -#include -#include - -#include "timer.h" -#include "ata.h" - -BOOL ata_Calibrate(struct IORequest* tmr, struct ataBase *base) -{ - base->ata_ItersPer100ns = 1; - return TRUE; -} - -static void busywait(UWORD cnt) -{ -} - -/* Single CIA access = 1 E-clock */ -void ata_WaitNano(ULONG ns, struct ataBase *base) -{ -} diff --git a/arch/m68k-amiga/devs/sagasd/sagasd.conf b/arch/m68k-amiga/devs/sagasd/sagasd.conf index 61737ea49ce..ac25a16eb0e 100644 --- a/arch/m68k-amiga/devs/sagasd/sagasd.conf +++ b/arch/m68k-amiga/devs/sagasd/sagasd.conf @@ -1,6 +1,6 @@ ##begin config basename SAGASD -version 2.5 +version 2.60 libbasetype struct SAGASDBase sysbase_field sd_ExecBase seglist_field sd_SegList diff --git a/arch/m68k-amiga/devs/sagasd/sagasd_device.c b/arch/m68k-amiga/devs/sagasd/sagasd_device.c index b4c422d2b14..ad337fd4bea 100644 --- a/arch/m68k-amiga/devs/sagasd/sagasd_device.c +++ b/arch/m68k-amiga/devs/sagasd/sagasd_device.c @@ -48,25 +48,15 @@ #include #include #include +#include #include "common.h" -#include +#include "sd.h" +#include "sagasd_intern.h" #include LC_LIBDEFS_FILE -#define SAGASD_HEADS 16 -#define SAGASD_SECTORS 64 -#define SAGASD_RETRY 6 /* By default, retry up to N times */ - -#if DEBUG -#define bug(x,args...) kprintf(x ,##args) -#define debug(x,args...) bug("%s:%ld " x "\n", __func__, (unsigned long)__LINE__ ,##args) -#else -#define bug(x,args...) asm("nop\r\n") -#define debug(x,args...) asm("nop\r\n") -#endif - static VOID SAGASD_log(struct sdcmd *sd, int level, const char *format, ...) { va_list args; @@ -82,9 +72,39 @@ static VOID SAGASD_log(struct sdcmd *sd, int level, const char *format, ...) va_end(args); } -/* Execute the SD read or write command, return IOERR_* or TDERR_* - */ -static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) +static void SAGASD_AddChangeInt(struct IORequest *io) +{ + struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; + struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; + struct Library *SysBase = sd->sd_ExecBase; + struct IORequest *msg; + + struct IOStdReq *io_std = (struct IOStdReq*)io; + struct Interrupt *io_int = (struct Interrupt*)io_std->io_Data; + + if (strncmp((char*)io_int->is_Node.ln_Name,"FATFS",5) != 0) + { + debug("Changed to MULTIPLE FS support mode"); + sdu->sdu_AddChangeList[0] = 1; // Change to "Multiple FS support" when non-FAT File handler is inserting change IRQ + } + + if (sdu->sdu_AddChangeListItems < 10) + { + sdu->sdu_AddChangeList[sdu->sdu_AddChangeListItems] = (APTR)((struct IOStdReq *)io)->io_Data; + sdu->sdu_AddChangeListItems++; + } + + for (int i=sdu->sdu_AddChangeListItems-1; i>0; i--) + { + debug("Listing sdu->sdu_AddChangeList[%d] (%x) for %s", i, sdu->sdu_AddChangeList[i], sdu->sdu_Name); + debug("Caller = %s", (char*)io_int->is_Node.ln_Name); + } + + io->io_Flags &= ~IOF_QUICK; +} + +// Execute the SD read or write command, return IOERR_* or TDERR_* + static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) { struct IOStdReq *iostd = (struct IOStdReq *)io; struct IOExtTD *iotd = (struct IOExtTD *)io; @@ -94,10 +114,7 @@ static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) ULONG block, block_size, bmask; UBYTE sderr; - //debug("%s: Flags: $%lx, Command: $%04lx, Offset: $%lx%08lx Length: %5ld, Data: $%08lx", - //is_write ? "write" : "read", - //io->io_Flags, io->io_Command, - //(ULONG)(off64 >> 32), (ULONG)off64, len, data); + //debug("%s: Flags: $%lx, Command: $%04lx, Offset: $%lx%08lx Length: %5ld, Data: $%08lx", is_write ? "write" : "read", io->io_Flags, io->io_Command, (ULONG)(off64 >> 32), (ULONG)off64, len, data); block_size = sdu->sdu_SDCmd.info.block_size; bmask = block_size - 1; @@ -164,7 +181,7 @@ static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) static LONG SAGASD_PerformSCSI(struct IORequest *io) { struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - //struct Library *SysBase = sd->sd_ExecBase; + struct Library *SysBase = sd->sd_ExecBase; struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; struct IOStdReq *iostd = (struct IOStdReq *)io; struct SCSICmd *scsi = iostd->io_Data; @@ -174,13 +191,12 @@ static LONG SAGASD_PerformSCSI(struct IORequest *io) LONG err; UBYTE r1; - //debug("len=%ld, cmd = %02lx %02lx %02lx ... (%ld)", - //iostd->io_Length, scsi->scsi_Command[0], - //scsi->scsi_Command[1], scsi->scsi_Command[2], - //scsi->scsi_CmdLength); - if (iostd->io_Length < sizeof(*scsi)) { + //debug("len=%ld, cmd = %02lx %02lx %02lx ... (%ld)", iostd->io_Length, scsi->scsi_Command[0], scsi->scsi_Command[1], scsi->scsi_Command[2], scsi->scsi_CmdLength); + + if (iostd->io_Length < sizeof(*scsi)) + { // RDPrep sends a bad io_Length sometimes - debug("====== BAD PROGRAM: iostd->io_Length < sizeof(struct SCSICmd)"); + debug("WARNING: Application sent wrong IO size | iostd->io_Length < sizeof(struct SCSICmd)"); //return IOERR_BADLENGTH; } @@ -197,7 +213,8 @@ static LONG SAGASD_PerformSCSI(struct IORequest *io) err = 0; break; case 0x12: // INQUIRY - for (i = 0; i < scsi->scsi_Length; i++) { + for (i = 0; i < scsi->scsi_Length; i++) + { UBYTE val; switch (i) { @@ -217,19 +234,21 @@ static LONG SAGASD_PerformSCSI(struct IORequest *io) val = 44 - 4; break; default: - if (i >= 8 && i < 16) - val = "Vampire "[i - 8]; - else if (i >= 16 && i < 32) - val = "SAGA-SD "[i - 16]; - else if (i >= 32 && i < 36) - val = ((UBYTE *)(((struct Library *)sd)->lib_IdString))[i-32]; - else if (i >= 36 && i < 44) { - val = sdc->info.cid[7 + (i-36)/2]; - if ((i & 1) == 0) - val >>= 4; - val = "0123456789ABCDEF"[val & 0xf]; - } else - val = 0; + if (i >= 8 && i < 36) + { + if (sdu->sdu_SDCmd.unitnumber == 1) val = "Apollo SD-Card Slot #1 "[i - 8]; + if (sdu->sdu_SDCmd.unitnumber == 2) val = "Apollo SD-Card Slot #2 "[i - 8]; + if (sdu->sdu_SDCmd.unitnumber == 3) val = "Apollo SD-Card Slot #3 "[i - 8]; + } else { + if (i >= 36 && i < 44) + { + val = sdc->info.cid[7 + (i-36)/2]; + if ((i & 1) == 0) val >>= 4; + val = "0123456789ABCDEF"[val & 0xf]; + } else { + val = 0; + } + } break; } @@ -251,7 +270,7 @@ static LONG SAGASD_PerformSCSI(struct IORequest *io) break; } if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); + debug("ERROR: Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); err = IOERR_BADLENGTH; break; } @@ -503,9 +522,10 @@ static LONG SAGASD_PerformIO(struct IORequest *io) HD_SCSICMD, 0 }; + struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; + struct Library *SysBase = sd->sd_ExecBase; struct IOStdReq *iostd = (struct IOStdReq *)io; struct IOExtTD *iotd = (struct IOExtTD *)io; APTR data = iotd->iotd_Req.io_Data; @@ -514,11 +534,9 @@ static LONG SAGASD_PerformIO(struct IORequest *io) struct DriveGeometry *geom; struct NSDeviceQueryResult *nsqr; LONG err = IOERR_NOCMD; + struct IORequest *msg; - //debug(""); - - if (io->io_Error == IOERR_ABORTED) - return io->io_Error; + if (io->io_Error == IOERR_ABORTED) return io->io_Error; //debug("IO %p Start, io_Flags = %d, io_Command = %d (%s)", io, io->io_Flags, io->io_Command, cmd_name(io->io_Command)); @@ -529,7 +547,7 @@ static LONG SAGASD_PerformIO(struct IORequest *io) err = 0; break; case CMD_UPDATE: /* Flush write buffer */ - bug( "%s CMD_UPDATE\n", __FUNCTION__ ); + //bug( "%s CMD_UPDATE\n", __FUNCTION__ ); iostd->io_Actual = 0; err = 0; break; @@ -539,7 +557,6 @@ static LONG SAGASD_PerformIO(struct IORequest *io) err = IOERR_BADLENGTH; break; } - nsqr = data; nsqr->DevQueryFormat = 0; nsqr->SizeAvailable = sizeof(struct NSDeviceQueryResult); @@ -560,21 +577,75 @@ static LONG SAGASD_PerformIO(struct IORequest *io) err = 0; break; case TD_CHANGESTATE: - bug( "%s TD_CHANGESTATE\n", __FUNCTION__ ); - Forbid(); + bug( "%s TD_CHANGESTATE - SD-Card = %s\n", __FUNCTION__, sdu->sdu_Present ? "PRESENT" : "ABSENT"); iostd->io_Actual = sdu->sdu_Present ? 0 : 1; - Permit(); err = 0; break; + + case 0xffff: + bug( "%s TD_LASTCOMM = RDB Disk inserted\n", __FUNCTION__ ); + if (sdu->sdu_AddChangeList[0] == 0 && sdu->sdu_ChangeNum > 1) + { + char message[250]; + char *choices; + int result; + + sprintf(message,"Inserted SD-Card in Slot#%d contains a RDB Boot Record\n" + "Only FAT File System is supported for hot-swap Disks\n" + "For RDB Disks with OFS, FFS, SFS or PFS File Systems\n" + "Please Reboot ApolloOS with Disk inserted to Mount", sdu->sdu_SDCmd.unitnumber); + choices = "Reboot|Continue"; + + struct IntuitionBase *IntuitionBase; + IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library", 36); + if( IntuitionBase != NULL ) + { + struct EasyStruct requestmessage = + { + sizeof(struct EasyStruct), 0, "ApolloOS Warning", message, choices + }; + + result = EasyRequestArgs(NULL, &requestmessage, NULL, NULL); + + CloseLibrary(&IntuitionBase->LibNode); + + if (result == 1) ColdReboot(); + } + } + err = 0; + break; + case TD_EJECT: - // Eject removable media - // We mark is as invalid, then wait for Present to toggle. - bug( "%s TD_EJECT\n", __FUNCTION__ ); - Forbid(); - sdu->sdu_Valid = FALSE; - Permit(); + bug( "%s TD_EJECT = MDB FAT Disk not readable/initialized\n", __FUNCTION__ ); + if (sdu->sdu_AddChangeList[0] == 0 && sdu->sdu_ChangeNum > 1) + { + char message[250]; + char *choices; + + sprintf(message,"Inserted SD-Card in Slot#%d contains a MBR Boot Record\n" + "But the FAT File System is not readable/initialised\n" + "Please use HDToolBox to create one fullsize FAT partition\n" + "After that use Format to initialize the FAT Partition", sdu->sdu_SDCmd.unitnumber); + choices = "Continue"; + + struct IntuitionBase *IntuitionBase; + IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library", 36); + if( IntuitionBase != NULL ) + { + struct EasyStruct requestmessage = + { + sizeof(struct EasyStruct), 0, "ApolloOS Warning", message, choices + }; + + EasyRequestArgs(NULL, &requestmessage, NULL, NULL); + + CloseLibrary(&IntuitionBase->LibNode); + } + + } err = 0; break; + case TD_GETDRIVETYPE: bug( "%s TD_GETDRIVETYPE\n", __FUNCTION__ ); iostd->io_Actual = DRIVE_NEWSTYLE; @@ -582,11 +653,11 @@ static LONG SAGASD_PerformIO(struct IORequest *io) break; case TD_GETGEOMETRY: bug( "%s TD_GETGEOMETRY\n", __FUNCTION__ ); - if (len < sizeof(*geom)) { + if (len < sizeof(*geom)) + { err = IOERR_BADLENGTH; break; } - geom = data; memset(geom, 0, len); geom->dg_SectorSize = sdu->sdu_SDCmd.info.block_size; @@ -600,6 +671,15 @@ static LONG SAGASD_PerformIO(struct IORequest *io) geom->dg_Flags = DGF_REMOVABLE; iostd->io_Actual = sizeof(*geom); err = 0; + debug("\t[%s] geom->dg_SectorSize = %10ld", __FUNCTION__ , geom->dg_SectorSize); + debug("\t[%s] geom->dg_TotalSectors = %10ld", __FUNCTION__ , geom->dg_TotalSectors); + debug("\t[%s] geom->dg_Cylinders = %10ld", __FUNCTION__ , geom->dg_Cylinders); + debug("\t[%s] geom->dg_CylSectors = %10ld", __FUNCTION__ , geom->dg_CylSectors); + debug("\t[%s] geom->dg_Heads = %10ld", __FUNCTION__ , geom->dg_Heads); + debug("\t[%s] geom->dg_TrackSectors = %10ld", __FUNCTION__ , geom->dg_TrackSectors); + debug("\t[%s] geom->dg_BufMemType = %10ld", __FUNCTION__ , geom->dg_BufMemType); + debug("\t[%s] geom->dg_DeviceType = %10ld", __FUNCTION__ , geom->dg_DeviceType); + debug("\t[%s] geom->dg_Flags = %10ld", __FUNCTION__ , geom->dg_Flags); break; case TD_FORMAT: bug( "%s TD_FORMAT\n", __FUNCTION__ ); @@ -607,8 +687,7 @@ static LONG SAGASD_PerformIO(struct IORequest *io) err = SAGASD_ReadWrite(io, off64, TRUE); break; case TD_MOTOR: - // FIXME: Tie in with power management - //bug( "%s TD_MOTOR\n", __FUNCTION__ ); + //bug( "%s TD_MOTOR\n", __FUNCTION__ ); iostd->io_Actual = sdu->sdu_Motor; sdu->sdu_Motor = iostd->io_Length ? 1 : 0; err = 0; @@ -634,10 +713,16 @@ static LONG SAGASD_PerformIO(struct IORequest *io) err = SAGASD_ReadWrite(io, off64, FALSE); break; case HD_SCSICMD: + debug( "%s HD_SCSICMD: %u\n", __FUNCTION__ , io->io_Command); err = SAGASD_PerformSCSI(io); break; + case TD_ADDCHANGEINT: + debug( "%s TD_ADDCHANGEINT - [NEW !!!]: %u\n", __FUNCTION__ , io->io_Command); + SAGASD_AddChangeInt(io); + break; + default: - debug("Unknown IO command: %d", io->io_Command); + debug("ERROR = Unknown IO command: %d\n", io->io_Command); err = IOERR_NOCMD; break; } @@ -647,56 +732,34 @@ static LONG SAGASD_PerformIO(struct IORequest *io) return err; } -static void SAGASD_Detect(struct Library *SysBase, struct SAGASDUnit *sdu) -{ - BOOL present; - - /* Update sdu_Present, regardless */ - asm ( "tst.b 0xbfe001\r\n" ); - present = sdcmd_present(&sdu->sdu_SDCmd); - if (present != sdu->sdu_Present) { - if (present) { - UBYTE sderr; - - /* Re-run the identify */ - sderr = sdcmd_detect(&sdu->sdu_SDCmd); - - Forbid(); - /* Make the drive present. */ - sdu->sdu_Present = TRUE; - sdu->sdu_ChangeNum++; - sdu->sdu_Valid = (sderr == 0) ? TRUE : FALSE; - debug("========= sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); - debug("========= Blocks: %ld", sdu->sdu_SDCmd.info.blocks); - Permit(); - } else { - Forbid(); - sdu->sdu_Present = FALSE; - sdu->sdu_Valid = FALSE; - Permit(); - } - } -} - -/* This low-priority task handles all the non-quick IO - */ +// This low-priority task handles all the non-quick IO + static void SAGASD_IOTask(struct Library *SysBase) { struct Task *this = FindTask(NULL); - struct SAGASDUnit *sdu = this->tc_UserData; + struct SAGASDUnit *sdu = (struct SAGASDUnit*)this->tc_UserData; struct MsgPort *mport = sdu->sdu_MsgPort; struct MsgPort *tport = NULL; struct timerequest *treq = NULL; + struct IORequest *msg; + ULONG sigset; struct Message status; + BOOL present; + BOOL sdpin = FALSE; + ULONG detectcounter = 0; - //debug(""); + debug("Starting SAGASD_IOTask"); status.mn_Length = 1; // Failed? - if ((status.mn_ReplyPort = CreateMsgPort())) { - if ((tport = CreateMsgPort())) { - if ((treq = (struct timerequest *)CreateIORequest(tport, sizeof(*treq)))) { - if (0 == OpenDevice(TIMERNAME, UNIT_VBLANK, (struct IORequest *)treq, 0)) { + if ((status.mn_ReplyPort = CreateMsgPort())) + { + if ((tport = CreateMsgPort())) + { + if ((treq = (struct timerequest *)CreateIORequest(tport, sizeof(*treq)))) + { + if (0 == OpenDevice(TIMERNAME, UNIT_VBLANK, (struct IORequest *)treq, 0)) + { status.mn_Length = 0; // Success! } else { DeleteIORequest(treq); @@ -712,21 +775,40 @@ static void SAGASD_IOTask(struct Library *SysBase) //debug("mport=%p", mport); sdu->sdu_MsgPort = status.mn_ReplyPort; - /* Update status, for the boot node */ - SAGASD_Detect(SysBase, sdu); - + /* Update status for the boot node */ + + present = sdcmd_sw_detect_full(&sdu->sdu_SDCmd); + sdu->sdu_ChangeNum++; + if (present) + { + //Forbid(); + sdu->sdu_Present = TRUE; + + sdu->sdu_Valid = present; + debug("\t sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); + debug("\t Blocks: %ld", sdu->sdu_SDCmd.info.blocks); + //Permit(); + } else { + //Forbid(); + sdu->sdu_Present = FALSE; + sdu->sdu_Valid = FALSE; + //Permit(); + } + /* Send the 'I'm Ready' message */ //debug("sdu_MsgPort=%p", sdu->sdu_MsgPort); PutMsg(mport, &status); //debug("ReplyPort=%p%s empty", status.mn_ReplyPort, IsListEmpty(&status.mn_ReplyPort->mp_MsgList) ? "" : " not"); - if (status.mn_ReplyPort) { + if (status.mn_ReplyPort) + { WaitPort(status.mn_ReplyPort); GetMsg(status.mn_ReplyPort); } //debug(""); - if (status.mn_Length) { + if (status.mn_Length) + { /* There was an error... */ DeleteMsgPort(mport); //debug(""); @@ -738,18 +820,18 @@ static void SAGASD_IOTask(struct Library *SysBase) sigset = (1 << tport->mp_SigBit) | (1 << mport->mp_SigBit); - for (;;) { + for (;;) + { struct IORequest *io; - - SAGASD_Detect(SysBase, sdu); - + io = (struct IORequest *)GetMsg(mport); - if (!io) { + + if (!io) + { ULONG sigs; + struct Interrupt *io_int; - /* Wait up to IO_TIMINGLOOP_MICROSEC for a IO message. If none, then - * recheck the SD DETECT pin. - */ + /* Wait up to IO_TIMINGLOOP_MICROSEC for a IO message. If none, then re-check SD if counter is reached */ treq->tr_node.io_Command = TR_ADDREQUEST; treq->tr_time.tv_secs = 0; treq->tr_time.tv_micro = IO_TIMINGLOOP_MSEC; @@ -757,7 +839,8 @@ static void SAGASD_IOTask(struct Library *SysBase) /* Wait on either the MsgPort, or the timer */ sigs = Wait(sigset); - if (sigs & (1 << mport->mp_SigBit)) { + if (sigs & (1 << mport->mp_SigBit)) + { /* Message port was signalled */ io = (struct IORequest *)GetMsg(mport); /* Cancel the timer */ @@ -765,44 +848,122 @@ static void SAGASD_IOTask(struct Library *SysBase) } else { /* Timeout was signalled */ io = NULL; - } - /* Clean up the timer IO */ + if(detectcounter++ == 10) + { + if (!sdu->sdu_Present) + { + present = sdcmd_hw_detect(&sdu->sdu_SDCmd); // First we try hw detect + if(present) + { + sdpin = TRUE; // If hw detect reports TRUE, so we know now that SD pin works + if (sdu->sdu_SDCmd.unitnumber == 2) debug("SD-Card Quick HW Detection: unit = %d | sdu_Present = %s | detect = %s", + sdu->sdu_SDCmd.unitnumber, sdu->sdu_Present ? "TRUE":"FALSE", present ? "TRUE":"FALSE"); + present = sdcmd_sw_detect_full(&sdu->sdu_SDCmd); + } else { + if (!sdpin) + { + present = sdcmd_sw_detect_full(&sdu->sdu_SDCmd); // If hw detect reports FALSE we have to do a second sw detect for V4 without SD pin + if (sdu->sdu_SDCmd.unitnumber == 2) debug("SD-Card Full SW Detection: unit = %d | sdu_Present = %s | detect = %s", + sdu->sdu_SDCmd.unitnumber, sdu->sdu_Present ? "TRUE":"FALSE", present ? "TRUE":"FALSE"); + } + } + + if (present) // SD-Card is Inserted + { + //Forbid(); + sdu->sdu_Present = TRUE; + sdu->sdu_ChangeNum++; + sdu->sdu_Valid = TRUE; + //debug("\t sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); + //debug("\t Blocks: %ld", sdu->sdu_SDCmd.info.blocks); + + for (int i=sdu->sdu_AddChangeListItems; i>0; i--) + { + if (sdu->sdu_AddChangeList[i]) + { + io_int = (struct Interrupt*)sdu->sdu_AddChangeList[i]; + + debug("SD-Card INSERT = Calling sdu->sdu_AddChangeList[%d] (%x) from %s for %s", i, + sdu->sdu_AddChangeList[i], (char*)io_int->is_Node.ln_Name, sdu->sdu_Name); + + Cause((struct Interrupt *)(sdu->sdu_AddChangeList[i])); + + } + } + //Permit(); + } + } else { + if (sdpin) + { + present = sdcmd_hw_detect(&sdu->sdu_SDCmd); + if (sdu->sdu_SDCmd.unitnumber == 2) debug("SD-Card Quick HW Detection: unit = %d | sdu_Present = %s | detect = %s", + sdu->sdu_SDCmd.unitnumber, sdu->sdu_Present ? "TRUE":"FALSE", present ? "TRUE":"FALSE"); + } else { + present = sdcmd_sw_detect_quick(&sdu->sdu_SDCmd); // We can do a "light" detect when in sdu_Present mode + if (sdu->sdu_SDCmd.unitnumber == 2) debug("SD-Card Quick SW Detection: unit = %d | sdu_Present = %s | detect = %s", + sdu->sdu_SDCmd.unitnumber, sdu->sdu_Present ? "TRUE":"FALSE", present ? "TRUE":"FALSE"); + } + + + + if (!present) // SD-Card is Removed + { + //Forbid(); + sdu->sdu_Present = FALSE; + sdu->sdu_Valid = FALSE; + + for (int i=sdu->sdu_AddChangeListItems; i>0; i--) + { + if (sdu->sdu_AddChangeList[i]) + { + io_int = (struct Interrupt*)sdu->sdu_AddChangeList[i]; + + debug("SD-Card EJECT = Calling sdu->sdu_AddChangeList[%d] (%x) from %s for %s", i, + sdu->sdu_AddChangeList[i], (char*)io_int->is_Node.ln_Name, sdu->sdu_Name); + + Cause((struct Interrupt *)(sdu->sdu_AddChangeList[i])); + + if (strncmp((char*)io_int->is_Node.ln_Name,"FATFS",5) != 0) + { + sdu->sdu_AddChangeList[i] = 0; + sdu->sdu_AddChangeList[0] = 0; // reset FLAG to signal we are now in "only FAT" mode + debug("Changed to FAT ONLY support mode because only FAT is supported as removable HDD"); + } + } + } + //Permit(); + } + } + + detectcounter = 0; + } + } WaitIO((struct IORequest *)treq); } - /* If there was no io, continue on... - */ - if (!io) - continue; - - /* If io_Command == ~0, this indicates that we are killing - * this task. - */ - if (io->io_Command == ~0) { - io->io_Error = 0; + if (io) + { + //debug("io_Command received: %d", io->io_Command); + + io->io_Error = SAGASD_PerformIO(io); io->io_Message.mn_Node.ln_Type=NT_MESSAGE; + ReplyMsg(&io->io_Message); - break; - } - - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - /* Need a reply now? */ - ReplyMsg(&io->io_Message); + if ((io->io_Error != 0) && (io->io_Error != -3)) debug("ERROR in SAGASD_PerformIO = %d", io->io_Error); + } } - /* Clean up */ + debug ("Starting clean up"); CloseDevice((struct IORequest *)treq); DeleteIORequest((struct IORequest *)treq); DeleteMsgPort(tport); DeleteMsgPort(mport); + debug ("Finished clean up"); } -AROS_LH1(void, BeginIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 5, SAGASD) +AROS_LH1(void, BeginIO, AROS_LHA(struct IORequest *, io, A1), struct SAGASDBase *, SAGASDBase, 5, SAGASD) { AROS_LIBFUNC_INIT @@ -811,22 +972,27 @@ AROS_LH1(void, BeginIO, struct Library *SysBase = SAGASDBase->sd_ExecBase; struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - if (io->io_Flags & IOF_QUICK) { + if (io->io_Flags & IOF_QUICK) + { /* Commands that don't require any IO */ - switch(io->io_Command) - { - case NSCMD_DEVICEQUERY: - case TD_GETNUMTRACKS: - case TD_GETDRIVETYPE: - case TD_GETGEOMETRY: - case TD_REMCHANGEINT: - case TD_ADDCHANGEINT: - case TD_PROTSTATUS: - case TD_CHANGENUM: - io->io_Error = SAGASD_PerformIO(io); + switch(io->io_Command) + { + case NSCMD_DEVICEQUERY: + case TD_GETNUMTRACKS: + case TD_GETDRIVETYPE: + case TD_GETGEOMETRY: + case TD_REMCHANGEINT: + case TD_ADDCHANGEINT: + case TD_PROTSTATUS: + case TD_CHANGENUM: + + io->io_Error = SAGASD_PerformIO(io); io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - return; - } + return; + + default: + break; + } } /* Not done quick */ @@ -859,22 +1025,14 @@ AROS_LH1(LONG, AbortIO, } -static void SAGASD_BootNode( - struct SAGASDBase *SAGASDBase, - struct Library *ExpansionBase, - ULONG unit) +static void SAGASD_BootNode(struct SAGASDBase *SAGASDBase, struct Library *ExpansionBase, ULONG unit) { struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[unit]; - TEXT dosdevname[4] = "SD0"; + TEXT dosdevname[7] = "SDROM0"; IPTR pp[4 + DE_BOOTBLOCKS + 1] = {}; struct DeviceNode *devnode; - if (1) - return; - - debug(""); - - dosdevname[2] += unit; + dosdevname[5] += unit; debug("Adding bootnode %s %d x %d", dosdevname,sdu->sdu_SDCmd.info.blocks, sdu->sdu_SDCmd.info.block_size); pp[0] = (IPTR)dosdevname; @@ -893,8 +1051,8 @@ static void SAGASD_BootNode( pp[DE_BUFMEMTYPE + 4] = MEMF_PUBLIC; pp[DE_MAXTRANSFER + 4] = 0x00200000; pp[DE_MASK + 4] = 0xFFFFFFFE; - pp[DE_BOOTPRI + 4] = 5 - (unit * 10); - pp[DE_DOSTYPE + 4] = 0x444f5303; + pp[DE_BOOTPRI + 4] = -5; //Default Prio (-5) is lower than primary HDD (0) + pp[DE_DOSTYPE + 4] = 0x46415402; //FAT2 (FAT32) Default DosType for file-transfer pp[DE_BOOTBLOCKS + 4] = 2; devnode = MakeDosNode(pp); @@ -911,30 +1069,56 @@ static void SAGASD_BootNode( static void SAGASD_InitUnit(struct SAGASDBase * SAGASDBase, int id) { + debug("SAGASD_InitUnit()"); + struct Library *SysBase = SAGASDBase->sd_ExecBase; struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[id]; - //debug(""); - switch (id) { - case 0: - sdu->sdu_SDCmd.iobase = SAGA_SD_BASE; + switch (id) + { + case 0: // SPI#1 | CS=0 | Micro-SD-Card slot (backside) + sdu->sdu_SDCmd.iobase = SAGA_SD_BASE_SPI1; + sdu->sdu_SDCmd.cs = SAGA_SD_CTL_NCS; + sdu->sdu_SDCmd.unitnumber = id+1; + sdu->sdu_Enabled = TRUE; + break; + + case 1: // SPI#2 | CS=0 | SD-Card slot 1 (Expansion Port) + sdu->sdu_SDCmd.iobase = SAGA_SD_BASE_SPI2; + sdu->sdu_SDCmd.cs = SAGA_CS_DRIVE0; + sdu->sdu_SDCmd.unitnumber = id+1; sdu->sdu_Enabled = TRUE; break; + + //case 2: // SPI#2 | CS=1 | SD-Card slot 1 (Expansion Port) + //sdu->sdu_SDCmd.iobase = SAGA_SD_BASE_SPI2; + //sdu->sdu_SDCmd.cs = SAGA_CS_DRIVE1; + //sdu->sdu_SDCmd.unitnumber = id+1; + //sdu->sdu_Enabled = TRUE; + //break; + default: sdu->sdu_Enabled = FALSE; } + sdu->sdu_Present = FALSE; + sdu->sdu_Valid = FALSE; + + sdu->sdu_AddChangeListItems = 1; // sdu->sdu_AddChangeListItems[0] serves as a FLAG + sdu->sdu_AddChangeList[0] = 0; // FLAG == 1 means that we start in "multiple FS support" mode (FLAG == 0 means "FAT only" mode + sdu->sdu_SDCmd.func.log = SAGASD_log; sdu->sdu_SDCmd.retry.read = SAGASD_RETRY; sdu->sdu_SDCmd.retry.write = SAGASD_RETRY; - - /* If the unit is present, create an IO task for it - */ - if (sdu->sdu_Enabled) { + + /* If the unit is present, create an IO task for it */ + if (sdu->sdu_Enabled) + { struct Task *utask = &sdu->sdu_Task; struct MsgPort *initport; - if ((initport = CreateMsgPort())) { + if ((initport = CreateMsgPort())) + { struct Message *msg; strncpy(sdu->sdu_Name, "SDIO0", sizeof(sdu->sdu_Name)); @@ -972,28 +1156,28 @@ static void SAGASD_InitUnit(struct SAGASDBase * SAGASDBase, int id) debug("unit=%d enabled=%d", id, SAGASDBase->sd_Unit[id].sdu_Enabled ? 1 : 0); } -// Direct init routine static int GM_UNIQUENAME(init)(struct SAGASDBase * SAGASDBase) { + debug("Starting Init()"); struct Library *SysBase = SAGASDBase->sd_ExecBase; struct Library *ExpansionBase; + ULONG i; asm ( "tst.b 0xbfe001\r\n" ); // Wait a moment, then... ExpansionBase = TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); - if (!ExpansionBase) - Alert(AT_DeadEnd | AO_TrackDiskDev | AG_OpenLib); + if (!ExpansionBase) Alert(AT_DeadEnd | AO_TrackDiskDev | AG_OpenLib); for (i = 0; i < SAGASD_UNITS; i++) - SAGASD_InitUnit(SAGASDBase, i); + { + SAGASD_InitUnit(SAGASDBase, i); + } - /* Only add bootnode if recalibration succeeded */ for (i = 0; i < SAGASD_UNITS; i++) { - if (SAGASDBase->sd_Unit[i].sdu_Valid) - SAGASD_BootNode(SAGASDBase, ExpansionBase, i); + SAGASD_BootNode(SAGASDBase, ExpansionBase, i); } CloseLibrary((struct Library *)ExpansionBase); @@ -1007,9 +1191,8 @@ static int GM_UNIQUENAME(expunge)(struct SAGASDBase * SAGASDBase) struct IORequest io = {}; int i; - //debug(""); - - for (i = 0; i < SAGASD_UNITS; i++) { + for (i = 0; i < SAGASD_UNITS; i++) + { io.io_Device = &SAGASDBase->sd_Device; io.io_Unit = &SAGASDBase->sd_Unit[i].sdu_Unit; io.io_Flags = 0; @@ -1029,18 +1212,20 @@ static int GM_UNIQUENAME(open)(struct SAGASDBase * SAGASDBase, iotd->iotd_Req.io_Error = IOERR_OPENFAIL; /* Is the requested unitNumber valid? */ - if (unitnum < SAGASD_UNITS) { + if (unitnum < SAGASD_UNITS) + { struct SAGASDUnit *sdu; iotd->iotd_Req.io_Device = (struct Device *)SAGASDBase; /* Get SDU structure */ sdu = &SAGASDBase->sd_Unit[unitnum]; - if (sdu->sdu_Enabled) { + if (sdu->sdu_Enabled) + { iotd->iotd_Req.io_Unit = &sdu->sdu_Unit; sdu->sdu_Unit.unit_OpenCnt++; iotd->iotd_Req.io_Error = 0; - } + } debug("Open=%d", unitnum, iotd->iotd_Req.io_Error); } diff --git a/arch/m68k-amiga/devs/sagasd/sagasd_device_raw.c b/arch/m68k-amiga/devs/sagasd/sagasd_device_raw.c deleted file mode 100644 index 7766a36bc1c..00000000000 --- a/arch/m68k-amiga/devs/sagasd/sagasd_device_raw.c +++ /dev/null @@ -1,1143 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include // memset -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -#include - -//#include -#include -#include -//#include - -#include "common.h" - -#include "sd.h" - -#include LC_LIBDEFS_FILE - -#define SAGASD_HEADS 16 -#define SAGASD_SECTORS 64 -#define SAGASD_RETRY 5 /* By default, retry up to N times */ - -#define VERSION 2 -#define REVISION 2 -#define LIBNAME "sagasd.device" -#define VSTRING "sagasd.device v#VERSION##.#REVISION" - -#if DEBUG -#define debug(x,args...) bug("%s:%ld " x "\n", __func__, (unsigned long)__LINE__ ,##args) -#else -#define bug(x,args...) asm ("nop\r\n"); -#define debug(x,args...) asm ("nop\r\n"); -#endif - -static VOID SAGASD_log(struct sdcmd *sd, int level, const char *format, ...) -{ - va_list args; - - if (level > DEBUG) - return; - - va_start(args, format); - vkprintf(format, args); - kprintf("\n"); - va_end(args); -} - -/* Execute the SD read or write command, return IOERR_* or TDERR_* - */ -static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) -{ - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - ULONG block, block_size, bmask; - UBYTE sderr; - - debug("%s: Flags: $%lx, Command: $%04lx, Offset: $%lx%08lx Length: %5ld, Data: $%08lx", - is_write ? "write" : "read", - io->io_Flags, io->io_Command, - (ULONG)(off64 >> 32), (ULONG)off64, len, data); - - block_size = sdu->sdu_SDCmd.info.block_size; - bmask = block_size - 1; - - /* Read/Write is not permitted if the unit is not Valid */ - if (!sdu->sdu_Valid) - return TDERR_BadDriveType; - - if (sdu->sdu_ReadOnly) - return TDERR_WriteProt; - - if ((off64 & bmask) || bmask == 0 || data == NULL) - return IOERR_BADADDRESS; - - if ((len & bmask) || len == 0) { - debug("IO %p Fault, io_Flags = %d, io_Command = %d, IOERR_BADLENGTH (len=0x%x, bmask=0x%x)", io, io->io_Flags, io->io_Command, len, bmask); - return IOERR_BADLENGTH; - } - - /* Make in units of sector size */ - len /= block_size; - block = off64 / block_size; - - /* Nothing to do... */ - if (len == 0) { - iostd->io_Actual = 0; - return 0; - } - - debug("%s: block=%ld, blocks=%ld", is_write ? "Write" : "Read", block, len); - - /* Do the IO */ - if (is_write) { - sderr = sdcmd_write_blocks(&sdu->sdu_SDCmd, block, data, len); - } else { - sderr = sdcmd_read_blocks(&sdu->sdu_SDCmd, block, data, len); - } - - debug("sderr=$%02x", sderr); - - if (sderr) { - iostd->io_Actual = 0; - - /* Decode sderr into IORequest io_Errors */ - if (sderr & SDERRF_TIMEOUT) - return TDERR_DiskChanged; - if (sderr & SDERRF_PARAM) - return TDERR_SeekError; - if (sderr & SDERRF_ADDRESS) - return TDERR_SeekError; - if (sderr & (SDERRF_ERASESEQ | SDERRF_ERASERES)) - return TDERR_BadSecPreamble; - if (sderr & SDERRF_CRC) - return TDERR_BadSecSum; - if (sderr & SDERRF_ILLEGAL) - return TDERR_TooFewSecs; - if (sderr & SDERRF_IDLE) - return TDERR_PostReset; - } - - iostd->io_Actual = block_size * len; - return 0; -} - -static LONG SAGASD_PerformSCSI(struct IORequest *io) -{ - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct SCSICmd *scsi = iostd->io_Data; - struct sdcmd *sdc = &sdu->sdu_SDCmd; - UBYTE *data = (UBYTE *)scsi->scsi_Data; - ULONG i, block, blocks; - LONG err; - UBYTE r1; - - debug("len=%ld, cmd = %02lx %02lx %02lx ... (%ld)", - iostd->io_Length, scsi->scsi_Command[0], - scsi->scsi_Command[1], scsi->scsi_Command[2], - scsi->scsi_CmdLength); - if (iostd->io_Length < sizeof(*scsi)) { - // RDPrep sends a bad io_Length sometimes - debug("====== BAD PROGRAM: iostd->io_Length < sizeof(struct SCSICmd)"); - //return IOERR_BADLENGTH; - } - - if (scsi->scsi_CmdLength < 6) - return IOERR_BADLENGTH; - - if (scsi->scsi_Command == NULL) - return IOERR_BADADDRESS; - - scsi->scsi_Actual = 0; - - switch (scsi->scsi_Command[0]) { - case 0x00: // TEST_UNIT_READY - err = 0; - break; - case 0x12: // INQUIRY - for (i = 0; i < scsi->scsi_Length; i++) { - UBYTE val; - - switch (i) { - case 0: // direct-access device - val = ((sdu->sdu_Enabled ? 0 : 1) << 5) | 0; - break; - case 1: // RMB = 1 - val = (1 << 7); - break; - case 2: // VERSION = 0 - val = 0; - break; - case 3: // NORMACA=0, HISUP = 0, RESPONSE_DATA_FORMAT = 2 - val = (0 << 5) | (0 << 4) | 2; - break; - case 4: // ADDITIONAL_LENGTH = 44 - 4 - val = 44 - 4; - break; - default: - if (i >= 8 && i < 16) - val = "Vampire "[i - 8]; - else if (i >= 16 && i < 32) - val = "SAGA-SD "[i - 16]; - else if (i >= 32 && i < 36) - val = ((UBYTE *)(((struct Library *)sd)->lib_IdString))[i-32]; - else if (i >= 36 && i < 44) { - val = sdc->info.cid[7 + (i-36)/2]; - if ((i & 1) == 0) - val >>= 4; - val = "0123456789ABCDEF"[val & 0xf]; - } else - val = 0; - break; - } - - data[i] = val; - } - - scsi->scsi_Actual = i; - err = 0; - break; - case 0x08: // READ (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("READ (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_read_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x0a: // WRITE (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("WRITE (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_write_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x25: // READ CAPACITY (10) - if (scsi->scsi_CmdLength < 10) { - err = HFERR_BadStatus; - break; - } - - block = scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - block = (block << 8) | scsi->scsi_Command[4]; - block = (block << 8) | scsi->scsi_Command[5]; - - if ((scsi->scsi_Command[8] & 1) || block != 0) { - // PMI Not supported - err = HFERR_BadStatus; - break; - } - - if (scsi->scsi_Length < 8) { - err = IOERR_BADLENGTH; - break; - } - - for (i = 0; i < 4; i++) - data[0 + i] = ((sdc->info.blocks - 1) >> (24 - i*8)) & 0xff; - for (i = 0; i < 4; i++) - data[4 + i] = (sdc->info.block_size >> (24 - i*8)) & 0xff; - - scsi->scsi_Actual = 8; - err = 0; - break; - case 0x1a: // MODE SENSE (6) - data[0] = 3 + 8 + 0x16; - data[1] = 0; // MEDIUM TYPE - data[2] = 0; - data[3] = 8; - if (sdc->info.blocks > (1 << 24)) - blocks = 0xffffff; - else - blocks = sdc->info.blocks; - data[4] = (blocks >> 16) & 0xff; - data[5] = (blocks >> 8) & 0xff; - data[6] = (blocks >> 0) & 0xff; - data[7] = 0; - data[8] = 0; - data[9] = 0; - data[10] = (sdc->info.block_size >> 8) & 0xff; - data[11] = (sdc->info.block_size >> 0) & 0xff; - switch (((UWORD)scsi->scsi_Command[2] << 8) | scsi->scsi_Command[3]) { - case 0x0300: // Format Device Mode - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x03; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // TRACKS PER ZONE 15..8 - val = (SAGASD_HEADS >> 8) & 0xff; - break; - case 3: // TRACKS PER ZONE 7..0 - val = (SAGASD_HEADS >> 0) & 0xff; - break; - case 10: // SECTORS PER TRACK 15..8 - val = (SAGASD_SECTORS >> 8) & 0xff; - break; - case 11: // SECTORS PER TRACK 7..0 - val = (SAGASD_SECTORS >> 0) & 0xff; - break; - case 12: // DATA BYTES PER PHYSICAL SECTOR 15..8 - val = (sdc->info.block_size >> 8) & 0xff; - break; - case 13: // DATA BYTES PER PHYSICAL SECTOR 7..0 - val = (sdc->info.block_size >> 0) & 0xff; - break; - case 20: // HSEC = 1, RMB = 1 - val = (1 << 6) | (1 << 5); - break; - default: - val = 0; - break; - } - - debug("data[%2ld] = $%02lx", 12 + i, val); - data[12 + i] = val; - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - case 0x0400: // Rigid Drive Geometry - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x04; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // CYLINDERS 23..16 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 16) & 0xff; - break; - case 3: // CYLINDERS 15..8 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 8) & 0xff; - break; - case 4: // CYLINDERS 7..0 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 0) & 0xff; - break; - case 5: // HEADS - val = SAGASD_HEADS; - break; - default: - val = 0; - break; - } - - data[12 + i] = val; - debug("data[%2ld] = $%02lx", 12 + i, val); - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - default: - debug("MODE SENSE: Unknown Page $%02lx.$%02lx", - scsi->scsi_Command[2], scsi->scsi_Command[3]); - err = HFERR_BadStatus; - break; - } - break; - default: - debug("Unknown SCSI command %d (%d)\n", scsi->scsi_Command[0], scsi->scsi_CmdLength); - err = IOERR_NOCMD; - break; - } - - if (err == 0) - iostd->io_Actual = sizeof(*scsi); - else - iostd->io_Actual = 0; - - return err; -} - -#define CMD_NAME(x) if (cmd == x) return #x - -static inline const char *cmd_name(int cmd) -{ - CMD_NAME(CMD_READ); - CMD_NAME(CMD_WRITE); - CMD_NAME(CMD_UPDATE); - CMD_NAME(CMD_CLEAR); - CMD_NAME(TD_ADDCHANGEINT); - CMD_NAME(TD_CHANGENUM); - CMD_NAME(TD_CHANGESTATE); - CMD_NAME(TD_EJECT); - CMD_NAME(TD_FORMAT); - CMD_NAME(TD_GETDRIVETYPE); - CMD_NAME(TD_GETGEOMETRY); - CMD_NAME(TD_MOTOR); - CMD_NAME(TD_PROTSTATUS); - CMD_NAME(TD_READ64); - CMD_NAME(TD_REMCHANGEINT); - CMD_NAME(TD_WRITE64); - CMD_NAME(NSCMD_DEVICEQUERY); - CMD_NAME(NSCMD_TD_READ64); - CMD_NAME(NSCMD_TD_WRITE64); - CMD_NAME(HD_SCSICMD); - - return "Unknown"; -} - -/* - * Try to do IO commands. All commands which require talking with ahci devices - * will be handled slow, that is they will be passed to bus task which will - * execute them as soon as hardware will be free. - */ -static LONG SAGASD_PerformIO(struct IORequest *io) -{ - const UWORD NSDSupported[] = { - CMD_READ, - CMD_WRITE, - CMD_UPDATE, - CMD_CLEAR, - TD_ADDCHANGEINT, - TD_CHANGENUM, - TD_CHANGESTATE, - TD_EJECT, - TD_FORMAT, - TD_GETDRIVETYPE, - TD_GETGEOMETRY, - TD_MOTOR, - TD_PROTSTATUS, - TD_READ64, - TD_REMCHANGEINT, - TD_WRITE64, - NSCMD_DEVICEQUERY, - NSCMD_TD_READ64, - NSCMD_TD_WRITE64, - HD_SCSICMD, - 0 - }; - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - UQUAD off64; - struct DriveGeometry *geom; - struct NSDeviceQueryResult *nsqr; - LONG err = IOERR_NOCMD; - - //debug(""); - - if (io->io_Error == IOERR_ABORTED) - return io->io_Error; - - //debug("IO %p Start, io_Flags = %d, io_Command = %d (%s)", io, io->io_Flags, io->io_Command, cmd_name(io->io_Command)); - - switch (io->io_Command) { - case CMD_CLEAR: /* Invalidate read buffer */ - iostd->io_Actual = 0; - err = 0; - break; - case CMD_UPDATE: /* Flush write buffer */ - iostd->io_Actual = 0; - err = 0; - break; - case NSCMD_DEVICEQUERY: - if (len < sizeof(*nsqr)) { - err = IOERR_BADLENGTH; - break; - } - - nsqr = data; - nsqr->DevQueryFormat = 0; - nsqr->SizeAvailable = sizeof(struct NSDeviceQueryResult); - nsqr->DeviceType = NSDEVTYPE_TRACKDISK; - nsqr->DeviceSubType = 0; - nsqr->SupportedCommands = (UWORD *)NSDSupported; - iostd->io_Actual = sizeof(*nsqr); - err = 0; - break; - case TD_PROTSTATUS: - iostd->io_Actual = sdu->sdu_ReadOnly ? 1 : 0; - err = 0; - break; - case TD_CHANGENUM: - iostd->io_Actual = sdu->sdu_ChangeNum; - err = 0; - break; - case TD_CHANGESTATE: - Forbid(); - iostd->io_Actual = sdu->sdu_Present ? 0 : 1; - Permit(); - err = 0; - break; - case TD_EJECT: - // Eject removable media - // We mark is as invalid, then wait for Present to toggle. - Forbid(); - sdu->sdu_Valid = FALSE; - Permit(); - err = 0; - break; - case TD_GETDRIVETYPE: - iostd->io_Actual = DRIVE_NEWSTYLE; - err = 0; - break; - case TD_GETGEOMETRY: - if (len < sizeof(*geom)) { - err = IOERR_BADLENGTH; - break; - } - - geom = data; - memset(geom, 0, len); - geom->dg_SectorSize = sdu->sdu_SDCmd.info.block_size; - geom->dg_TotalSectors = sdu->sdu_SDCmd.info.blocks; - geom->dg_Cylinders = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - geom->dg_CylSectors = SAGASD_HEADS * SAGASD_SECTORS; - geom->dg_Heads = SAGASD_HEADS; - geom->dg_TrackSectors = SAGASD_SECTORS; - geom->dg_BufMemType = MEMF_PUBLIC; - geom->dg_DeviceType = DG_DIRECT_ACCESS; - geom->dg_Flags = DGF_REMOVABLE; - iostd->io_Actual = sizeof(*geom); - err = 0; - break; - case TD_FORMAT: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_MOTOR: - // FIXME: Tie in with power management - iostd->io_Actual = sdu->sdu_Motor; - sdu->sdu_Motor = iostd->io_Length ? 1 : 0; - err = 0; - break; - case CMD_WRITE: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_WRITE64: - case NSCMD_TD_WRITE64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case CMD_READ: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case TD_READ64: - case NSCMD_TD_READ64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case HD_SCSICMD: - err = SAGASD_PerformSCSI(io); - break; - default: - debug("Unknown IO command: %d", io->io_Command); - err = IOERR_NOCMD; - break; - } - - //debug("io_Actual = %d", iostd->io_Actual); - //debug("io_Error = %d", err); - return err; -} - -static void SAGASD_Detect(struct Library *SysBase, struct SAGASDUnit *sdu) -{ - BOOL present; - - /* Update sdu_Present, regardless */ - - asm ( "tst.b 0xbfe001\r\n" ); - present = sdcmd_present(&sdu->sdu_SDCmd); - if (present != sdu->sdu_Present) { - if (present) { - UBYTE sderr; - - /* Re-run the identify */ - sderr = sdcmd_detect(&sdu->sdu_SDCmd); - - Forbid(); - /* Make the drive present. */ - sdu->sdu_Present = TRUE; - sdu->sdu_ChangeNum++; - sdu->sdu_Valid = (sderr == 0) ? TRUE : FALSE; - debug("========= sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); - debug("========= Blocks: %ld", sdu->sdu_SDCmd.info.blocks); - Permit(); - } else { - Forbid(); - sdu->sdu_Present = FALSE; - sdu->sdu_Valid = FALSE; - Permit(); - } - } -} - -/* This low-priority task handles all the non-quick IO - */ -static void SAGASD_IOTask(struct Library *SysBase) -{ - struct Task *this = FindTask(NULL); - struct SAGASDUnit *sdu = this->tc_UserData; - struct MsgPort *mport = sdu->sdu_MsgPort; - struct MsgPort *tport = NULL; - struct timerequest *treq = NULL; - ULONG sigset; - struct Message status; - - debug(""); - - status.mn_Length = 1; // Failed? - if ((status.mn_ReplyPort = CreateMsgPort())) { - if ((tport = CreateMsgPort())) { - if ((treq = (struct timerequest *)CreateIORequest(tport, sizeof(*treq)))) { - if (0 == OpenDevice(TIMERNAME, UNIT_VBLANK, (struct IORequest *)treq, 0)) { - status.mn_Length = 0; // Success! - } else { - DeleteIORequest(treq); - } - } else { - DeleteMsgPort(tport); - } - } else { - DeleteMsgPort(status.mn_ReplyPort); - } - } - - debug("mport=%p", mport); - sdu->sdu_MsgPort = status.mn_ReplyPort; - - /* Update status, for the boot node */ - SAGASD_Detect(SysBase, sdu); - - /* Send the 'I'm Ready' message */ - debug("sdu_MsgPort=%p", sdu->sdu_MsgPort); - PutMsg(mport, &status); - - debug("ReplyPort=%p%s empty", status.mn_ReplyPort, IsListEmpty(&status.mn_ReplyPort->mp_MsgList) ? "" : " not"); - if (status.mn_ReplyPort) { - WaitPort(status.mn_ReplyPort); - GetMsg(status.mn_ReplyPort); - } - debug(""); - - if (status.mn_Length) { - /* There was an error... */ - DeleteMsgPort(mport); - debug(""); - return; - } - - debug(""); - mport = sdu->sdu_MsgPort; - - sigset = (1 << tport->mp_SigBit) | (1 << mport->mp_SigBit); - - for (;;) { - struct IORequest *io; - - SAGASD_Detect(SysBase, sdu); - - io = (struct IORequest *)GetMsg(mport); - if (!io) { - ULONG sigs; - - /* Wait up to 100ms for a IO message. If none, then - * recheck the SD DETECT pin. - */ - treq->tr_node.io_Command = TR_ADDREQUEST; - treq->tr_time.tv_secs = 0; - treq->tr_time.tv_micro = 100000; - SendIO((struct IORequest *)treq); - - /* Wait on either the MsgPort, or the timer */ - sigs = Wait(sigset); - if (sigs & (1 << mport->mp_SigBit)) { - /* Message port was signalled */ - io = (struct IORequest *)GetMsg(mport); - /* Cancel the timer */ - AbortIO((struct IORequest *)treq); - } else { - /* Timeout was signalled */ - io = NULL; - } - - /* Clean up the timer IO */ - WaitIO((struct IORequest *)treq); - } - - /* If there was no io, continue on... - */ - if (!io) - continue; - - /* If io_Command == ~0, this indicates that we are killing - * this task. - */ - if (io->io_Command == ~0) { - io->io_Error = 0; - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - ReplyMsg(&io->io_Message); - break; - } - - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - - /* Need a reply now? */ - ReplyMsg(&io->io_Message); - } - - /* Clean up */ - CloseDevice((struct IORequest *)treq); - DeleteIORequest((struct IORequest *)treq); - DeleteMsgPort(tport); - DeleteMsgPort(mport); -} - -AROS_LH1(void, BeginIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 5, SAGASD) -{ - AROS_LIBFUNC_INIT - - debug("io_Command = %d, io_Flags = 0x%x", io->io_Command, io->io_Flags); - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - - if (io->io_Flags & IOF_QUICK) { - /* Commands that don't require any IO */ - switch(io->io_Command) - { - case NSCMD_DEVICEQUERY: - case TD_GETNUMTRACKS: - case TD_GETDRIVETYPE: - case TD_GETGEOMETRY: - case TD_REMCHANGEINT: - case TD_ADDCHANGEINT: - case TD_PROTSTATUS: - case TD_CHANGENUM: - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - return; - } - } - - /* Not done quick */ - io->io_Flags &= ~IOF_QUICK; - - /* Forward to the unit's IO task */ - debug("Msg %p (reply %p) => MsgPort %p", &io->io_Message, io->io_Message.mn_ReplyPort, sdu->sdu_MsgPort); - PutMsg(sdu->sdu_MsgPort, &io->io_Message); - - AROS_LIBFUNC_EXIT -} - -AROS_LH1(LONG, AbortIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 6, SAGASD) -{ - AROS_LIBFUNC_INIT - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - - debug(""); - - Forbid(); - io->io_Error = IOERR_ABORTED; - Permit(); - - return 0; - - AROS_LIBFUNC_EXIT -} - - -static void SAGASD_BootNode( - struct SAGASDBase *SAGASDBase, - struct Library *ExpansionBase, - ULONG unit) -{ - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[unit]; - struct Library *SysBase = SAGASDBase->sd_ExecBase; - TEXT dosdevname[4] = "SD0"; - IPTR pp[4 + DE_BOOTBLOCKS + 1] = {}; - struct DeviceNode *devnode; - - debug(""); - - dosdevname[2] += unit; - debug("Adding bootnode %s %d x %d", dosdevname,sdu->sdu_SDCmd.info.blocks, sdu->sdu_SDCmd.info.block_size); - - pp[0] = (IPTR)dosdevname; - pp[1] = (IPTR)"sagasd.device"; - pp[2] = unit; - pp[3] = 0; - pp[DE_TABLESIZE + 4] = DE_BOOTBLOCKS; - pp[DE_SIZEBLOCK + 4] = sdu->sdu_SDCmd.info.block_size >> 2; - pp[DE_NUMHEADS + 4] = SAGASD_HEADS; - pp[DE_SECSPERBLOCK + 4] = 1; - pp[DE_BLKSPERTRACK + 4] = SAGASD_SECTORS; - pp[DE_RESERVEDBLKS + 4] = 2; - pp[DE_LOWCYL + 4] = 0; - pp[DE_HIGHCYL + 4] = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - pp[DE_NUMBUFFERS + 4] = 1; - pp[DE_BUFMEMTYPE + 4] = MEMF_PUBLIC; - pp[DE_MAXTRANSFER + 4] = 0x00200000; - pp[DE_MASK + 4] = 0xFFFFFFFE; - pp[DE_BOOTPRI + 4] = 5 - (unit * 10); - pp[DE_DOSTYPE + 4] = 0x444f5303; - pp[DE_BOOTBLOCKS + 4] = 2; - devnode = MakeDosNode(pp); - - if (devnode) - AddBootNode(pp[DE_BOOTPRI + 4], 0 & ADNF_STARTPROC, devnode, NULL); -} - -#define PUSH(task, type, value) do {\ - struct Task *_task = task; \ - type _val = value; \ - _task->tc_SPReg -= sizeof(_val); \ - CopyMem(&_val, (APTR)_task->tc_SPReg, sizeof(_val)); \ -} while (0) - -static void SAGASD_InitUnit(struct SAGASDBase * SAGASDBase, int id) -{ - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[id]; - - debug(""); - switch (id) { - case 0: - sdu->sdu_SDCmd.iobase = SAGA_SD_BASE; - sdu->sdu_Enabled = TRUE; - break; - default: - sdu->sdu_Enabled = FALSE; - } - - sdu->sdu_SDCmd.func.log = SAGASD_log; - sdu->sdu_SDCmd.retry.read = SAGASD_RETRY; - sdu->sdu_SDCmd.retry.write = SAGASD_RETRY; - - /* If the unit is present, create an IO task for it - */ - if (sdu->sdu_Enabled) { - struct Task *utask = &sdu->sdu_Task; - struct MsgPort *initport; - - if ((initport = CreateMsgPort())) { - struct Message *msg; - - strncpy(sdu->sdu_Name, "SDIO0", sizeof(sdu->sdu_Name)); - sdu->sdu_Name[4] += id; - sdu->sdu_MsgPort = initport; - - /* Initialize the task */ - memset(utask, 0, sizeof(*utask)); - utask->tc_Node.ln_Pri = 1; - utask->tc_Node.ln_Name = &sdu->sdu_Name[0]; - utask->tc_SPReg = utask->tc_SPUpper = &sdu->sdu_Stack[SDU_STACK_SIZE]; - utask->tc_SPLower = &sdu->sdu_Stack[0]; - - /* Push arguments onto the stack */ - PUSH(utask, struct Library *, SysBase); - - NEWLIST(&utask->tc_MemEntry); - utask->tc_UserData = sdu; - - AddTask(utask, SAGASD_IOTask, NULL); - - WaitPort(initport); - msg = GetMsg(initport); - debug("StartMsg=%p (%ld)", msg, msg->mn_Length); - sdu->sdu_Enabled = (msg->mn_Length == 0) ? TRUE : FALSE; - debug(" ReplyPort=%p", msg->mn_ReplyPort); - ReplyMsg(msg); - - DeleteMsgPort(initport); - } else { - sdu->sdu_Enabled = FALSE; - } - } - - debug("unit=%d enabled=%d", id, SAGASDBase->sd_Unit[id].sdu_Enabled ? 1 : 0); -} - -// Alynna: The entire IO structure has been reworked to be -// binary compatible with AmigaOS and AROS. - -static AROS_UFH3(struct SAGASDBase *, SAGASD_Init, - AROS_UFHA(struct SAGASDBase *, SAGASDBase, D0), - AROS_UFHA(BPTR, seglist, A0), - AROS_UFHA(struct Library *, exec_base, A6) -) -{ - AROS_USERFUNC_INIT - debug("Init has officially started, SAGASDBase: %08x",SAGASDBase); - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct Library *ExpansionBase; - ULONG i; - - // Device lib setup - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Type = NT_DEVICE; - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Pri = 1; - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Name = LIBNAME; - SAGASDBase->sd_Device.dd_Library.lib_Flags = LIBF_SUMUSED|LIBF_CHANGED; - SAGASDBase->sd_Device.dd_Library.lib_Version = VERSION; - SAGASDBase->sd_Device.dd_Library.lib_Revision = REVISION; - SAGASDBase->sd_Device.dd_Library.lib_IdString = VSTRING; - SAGASDBase->sd_ExecBase = exec_base; - SAGASDBase->sd_SegList = seglist; - debug("Library set up, Device is: %08x",SAGASDBase->sd_Device); - - /* Save pointer to our loaded code (the SegList) */ - asm ( "tst.b 0xbfe001\r\n" ); // Wait a moment, then... - - ExpansionBase = TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); - if (!ExpansionBase) - Alert(AT_DeadEnd | AO_TrackDiskDev | AG_OpenLib); - - for (i = 0; i < SAGASD_UNITS; i++) - SAGASD_InitUnit(SAGASDBase, i); - - /* Only add bootnode if recalibration succeeded */ - for (i = 0; i < SAGASD_UNITS; i++) { - if (SAGASDBase->sd_Unit[i].sdu_Valid) { - SAGASD_BootNode(SAGASDBase, ExpansionBase, i); - debug("ACTIVE %s unit %d as %08x",VSTRING,i,SAGASDBase->sd_Unit[i]); - } - } - - debug("Init finished with SAGASDBase as %08x",SAGASDBase); - CloseLibrary((struct Library *)ExpansionBase); - - return SAGASDBase; - - AROS_USERFUNC_EXIT -} - -static AROS_LH3(LONG, SAGASD_Open, - AROS_LHA(struct IOExtTD *, iotd, A1), - AROS_LHA(ULONG, unitnum, D0), - AROS_LHA(ULONG, flags, D1), - struct SAGASDBase *, SAGASDBase, 1, SAGASD -) -{ - AROS_LIBFUNC_INIT - struct Library *SysBase = SAGASDBase->sd_ExecBase; - - iotd->iotd_Req.io_Error = IOERR_OPENFAIL; - - /* Is the requested unitNumber valid? */ - if (unitnum < SAGASD_UNITS) { - struct SAGASDUnit *sdu; - - iotd->iotd_Req.io_Device = (struct Device *)SAGASDBase; - - /* Get SDU structure */ - sdu = &SAGASDBase->sd_Unit[unitnum]; - if (sdu->sdu_Enabled) { - iotd->iotd_Req.io_Unit = &sdu->sdu_Unit; - sdu->sdu_Unit.unit_OpenCnt++; - iotd->iotd_Req.io_Error = 0; - } - - debug("Open=%d", unitnum, iotd->iotd_Req.io_Error); - } - - return iotd->iotd_Req.io_Error == 0; - - AROS_LIBFUNC_EXIT -} - -static AROS_LH1(BPTR, SAGASD_Close, - AROS_LHA(struct IOExtTD *, iotd, A1), - struct SAGASDBase *, SAGASDBase, 2, SAGASD -) -{ - AROS_LIBFUNC_INIT - struct Library *SysBase = SAGASDBase->sd_ExecBase; - iotd->iotd_Req.io_Unit->unit_OpenCnt --; - - return TRUE; - AROS_LIBFUNC_EXIT -} - - -static AROS_LH0(BPTR, SAGASD_Expunge, - struct SAGASDBase *, SAGASDBase, 3, SAGASD -) -{ - AROS_LIBFUNC_INIT - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct IORequest io = {}; - int i; - - debug(""); - - for (i = 0; i < SAGASD_UNITS; i++) { - io.io_Device = &SAGASDBase->sd_Device; - io.io_Unit = &SAGASDBase->sd_Unit[i].sdu_Unit; - io.io_Flags = 0; - io.io_Command = ~0; - - /* Signal the unit task to die */ - DoIO(&io); - } - - BPTR result = 0; - - /* see if anyone has us open */ - if (SAGASDBase->sd_Device.dd_Library.lib_OpenCnt > 0) { - /* it is still open. set the delayed expunge flag */ - SAGASDBase->sd_Device.dd_Library.lib_Flags |= LIBF_DELEXP; - } else { - /* go ahead and get rid of us. */ - result = SAGASDBase->sd_SegList; - - /* unlink from device list */ - Remove((struct Node *)SAGASDBase); /* Remove first (before FreeMem) */ - } - - return result; - AROS_LIBFUNC_EXIT -} - -static AROS_LH0(APTR, SAGASD_Null, - struct SAGASD *, libBase, 4, SAGASD -) -{ - AROS_LIBFUNC_INIT - return NULL; - AROS_LIBFUNC_EXIT -} - -const CONST_APTR SAGASD_Vec[] = { - (APTR)AROS_SLIB_ENTRY(SAGASD_Open, SAGASD, 1), - (APTR)AROS_SLIB_ENTRY(SAGASD_Close, SAGASD, 2), - (APTR)AROS_SLIB_ENTRY(SAGASD_Expunge, SAGASD, 3), - (APTR)AROS_SLIB_ENTRY(SAGASD_Null, SAGASD, 4), - (APTR)-1 -}; - -const IPTR SAGASD_Tab[] = { - sizeof(struct SAGASDBase), - (IPTR)SAGASD_Vec, - (IPTR)NULL, - (IPTR)SAGASD_Init -}; - -const struct Resident ROMTag = { - RTC_MATCHWORD, - (struct Resident *)&ROMTag, - (APTR)(&terminator + 1), - RTF_COLDSTART & RTF_AUTOINIT, /* Add RTF_COLDSTART if you want to be resident */ - VERSION, - NT_DEVICE, /* Make this NT_DEVICE if needed */ - 1, /* PRI, usually not needed unless you're resident */ - (STRPTR)LIBNAME, - (STRPTR)VSTRING, - (APTR)SAGASD_Tab -}; diff --git a/arch/m68k-amiga/devs/sagasd/sagasd_intern.h b/arch/m68k-amiga/devs/sagasd/sagasd_intern.h index e148ec04309..e2b4d99f678 100644 --- a/arch/m68k-amiga/devs/sagasd/sagasd_intern.h +++ b/arch/m68k-amiga/devs/sagasd/sagasd_intern.h @@ -1,9 +1,3 @@ -/* - * Copyright (C) 2016, Netronome Systems, Inc. - * All rights reserved. - * - */ - #ifndef SAGASD_INTERN_H #define SAGASD_INTERN_H @@ -13,20 +7,22 @@ #include "sdcmd.h" -#define SAGASD_UNITS 1 /* Only one chip select for now */ -#define IO_TIMINGLOOP_MSEC 20000 +#define SAGASD_UNITS 2 +#define IO_TIMINGLOOP_MSEC 100000 -#define SDU_STACK_SIZE (4096 / sizeof(ULONG)) +#define SDU_STACK_SIZE (4096 / sizeof(ULONG)) -struct SAGASDBase { +struct SAGASDBase +{ struct Device sd_Device; struct Library * sd_ExecBase; IPTR sd_SegList; - struct SAGASDUnit { + struct SAGASDUnit + { struct Unit sdu_Unit; struct Task sdu_Task; - TEXT sdu_Name[6]; /* "SDIOx" */ - ULONG sdu_Stack[1024]; /* 4K stack */ + TEXT sdu_Name[6]; /* "SDIOx" */ + ULONG sdu_Stack[1024]; /* 4K stack */ BOOL sdu_Enabled; struct sdcmd sdu_SDCmd; @@ -38,9 +34,11 @@ struct SAGASDBase { BOOL sdu_Motor; /* TD_MOTOR state */ ULONG sdu_ChangeNum; + APTR sdu_AddChangeList[10]; /* Storage for TD_ADDCHANGEINT Pointers from Filesystems */ + int sdu_AddChangeListItems; + struct Library *sdu_ExecBase; } sd_Unit[SAGASD_UNITS]; }; -#endif /* SAGASD_INTERN_H */ -/* vim: set shiftwidth=4 expandtab: */ +#endif diff --git a/arch/m68k-amiga/devs/sagasd/sd.h b/arch/m68k-amiga/devs/sagasd/sd.h index 6893a48910b..ccf5a241db2 100644 --- a/arch/m68k-amiga/devs/sagasd/sd.h +++ b/arch/m68k-amiga/devs/sagasd/sd.h @@ -25,14 +25,53 @@ #ifndef SAGA_SD_H #define SAGA_SD_H -#define SAGA_SD_BASE 0xde0000 /* Base address */ +#define SAGA_SD_BASE_SPI1 0xDE0000 /* Base address for SPI#1*/ +#define SAGA_SD_BASE_SPI2 0xDE0010 /* Base address for SPI#2*/ + #define SAGA_SD_DATA 0x0000 /* Read as UBYTE/Write as UBYTE */ #define SAGA_SD_CTL 0x0004 /* UWORD, Write only */ -#define SAGA_SD_CTL_NCS (1 << 0) /* nChipSelect */ +#define SAGA_SD_CTL_NCS (1 << 0) /* nChipSelect */ #define SAGA_SD_STAT 0x0006 /* UWORD, Read only */ -#define SAGA_SD_STAT_NCD (1 << 0) /* nCardDetect */ +#define SAGA_SD_STAT_NCD (1 << 0) /* nCardDetect */ #define SAGA_SD_CLK 0x000c -#define SAGA_SD_CLK_DIV(x) ((x) & 0xff) +#define SAGA_SD_CLK_DIV(x) ((x) & 0xff) + +#define SAGA_CS_DRIVE0 0xFE +#define SAGA_CS_DRIVE1 0xFD +#define SAGA_CS_NODRIVE 0xFF + +#define SAGASD_HEADS 16 +#define SAGASD_SECTORS 64 +#define SAGASD_RETRY 6 /* By default, retry up to N times */ + +#define SDCMD_CLKDIV_SLOW 0xFF +#define SDCMD_CLKDIV_FAST 0x01 +#define SDCMD_CLKDIV_FASTER 0x00 + +#define IOStdReq(io) ((struct IOStdReq *)io) + +#if APOLLO_DEBUG +#define DEBUG 1 +#else +#define DEBUG 0 +#endif + +#if DEBUG +#define bug(x,args...) kprintf(x ,##args) +#define debug(x,args...) bug("[SAGASD] %s:%ld " x "\n", __func__, (unsigned long)__LINE__ ,##args) +//#define debug(x,args...) sdcmd_log(sd, SDLOG_DEBUG, x ,##args) +#define diag(x,args...) sdcmd_log(sd, SDLOG_DIAG, x ,##args) +#define info(x,args...) sdcmd_log(sd, SDLOG_INFO, x ,##args) +#define warn(x,args...) sdcmd_log(sd, SDLOG_WARN, x ,##args) +#define error(x,args...) sdcmd_log(sd, SDLOG_ERROR, x ,##args) +#else +#define bug(x,args...) asm("nop\r\n") +#define debug(x,args...) asm("nop\r\n") +#define diag(x,args...) asm("nop\r\n") +#define info(x,args...) asm("nop\r\n") +#define warn(x,args...) asm("nop\r\n") +#define error(x,args...) asm("nop\r\n") +#endif #endif /* SAGA_SD_H */ /* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd/sdcmd.c b/arch/m68k-amiga/devs/sagasd/sdcmd.c index 9d3135d0bd9..456ba170bd8 100644 --- a/arch/m68k-amiga/devs/sagasd/sdcmd.c +++ b/arch/m68k-amiga/devs/sagasd/sdcmd.c @@ -28,7 +28,7 @@ #include -#include +#include "sd.h" #include "sdcmd.h" @@ -40,16 +40,6 @@ // sd->func.log(sd, level, "%s:%ld " fmt, __func__, (ULONG)__LINE__ ,##args); \ // } while (0) -#define diag(fmt,args...) sdcmd_log(sd, SDLOG_DIAG, fmt ,##args) -#define debug(fmt,args...) sdcmd_log(sd, SDLOG_DEBUG, fmt ,##args) -#define info(fmt,args...) sdcmd_log(sd, SDLOG_INFO, fmt ,##args) -#define warn(fmt,args...) sdcmd_log(sd, SDLOG_WARN, fmt ,##args) -#define error(fmt,args...) sdcmd_log(sd, SDLOG_ERROR, fmt ,##args) - -#define SDCMD_CLKDIV_SLOW 0xFF -#define SDCMD_CLKDIV_FAST 0x01 -#define SDCMD_CLKDIV_FASTER 0x00 - static UBYTE crc7(UBYTE crc, UBYTE byte) { int i; @@ -141,8 +131,7 @@ static UBYTE sdcmd_in(struct sdcmd *sd) return val; } - -static void sdcmd_ins(struct sdcmd *sd, UBYTE *buff, size_t len) +static void sdcmd_ins_spi1(struct sdcmd *sd, UBYTE *buff, size_t len) { if (len == 0) return; @@ -162,42 +151,61 @@ static void sdcmd_ins(struct sdcmd *sd, UBYTE *buff, size_t len) return; } - -BOOL sdcmd_present(struct sdcmd *sd) + +static void sdcmd_ins_spi2(struct sdcmd *sd, UBYTE *buff, size_t len) { - return TRUE; + if (len == 0) + return; + + /* Since the read of the SAGA_SD_DATA will stall until + * filled by the SPI, we amortize that cost by computing + * the CRC16 while waiting for the next fill. + */ + asm volatile( + " move.b #0xff,(0xDE0010) \n" + " subq.l #1,%[count] \n" + " bra 2f \n" + "1: move.b (0xDE0012),(%[buff])+ \n" + "2: dbra %[count],1b \n" + " move.b (0xDE0010),(%[buff])+ \n" + :[count]"+d"(len),[buff]"+a"(buff)::"cc"); + + return; +} + +static VOID sdcmd_clkdiv(struct sdcmd *sd, UBYTE val) +{ + //debug("SD_CLK => $%04lx", val); + + Write16(sd->iobase + SAGA_SD_CLK, val); } VOID sdcmd_select(struct sdcmd *sd, BOOL cs) { UWORD val; - val = cs ? 0 : SAGA_SD_CTL_NCS; - - //diag("SD_CTL => $%04lx", val); + val = cs ? sd->cs : SAGA_CS_NODRIVE; + //debug("SD_CTL => $%04lx", val); Write16(sd->iobase + SAGA_SD_CTL, val); sdcmd_out(sd, 0xff); /* Wait for card ready */ - if (cs) { + if (cs) + { int i; - for (i = 0; i < SDCMD_TIMEOUT; i++) { + for (i = 0; i < SDCMD_TIMEOUT; i++) + { UBYTE r1 = sdcmd_in(sd); - if (r1 == 0xff) - break; + if (r1 == 0xff) break; + } + if (i == SDCMD_TIMEOUT) + { + debug("sdcmd_select ERROR (SDCMD_TIMEOUT)"); } } } -static VOID sdcmd_clkdiv(struct sdcmd *sd, UBYTE val) -{ - diag("SD_CLK => $%04lx", val); - - Write16(sd->iobase + SAGA_SD_CLK, val); -} - - void sdcmd_send(struct sdcmd *sd, UBYTE cmd, ULONG arg) { int i; @@ -211,7 +219,8 @@ void sdcmd_send(struct sdcmd *sd, UBYTE cmd, ULONG arg) sdcmd_out(sd, (cmd & 0x3f) | 0x40); - for (i = 0; i < 4; i++, arg <<= 8) { + for (i = 0; i < 4; i++, arg <<= 8) + { UBYTE byte = (arg >> 24) & 0xff; crc = crc7(crc, byte); @@ -226,10 +235,10 @@ static UBYTE sdcmd_r1a(struct sdcmd *sd) UBYTE r1; int i; - for (i = 0; i < SDCMD_TIMEOUT; i++) { + for (i = 0; i < SDCMD_TIMEOUT; i++) + { r1 = sdcmd_in(sd); - if (!(r1 & SDERRF_TIMEOUT)) - return r1; + if (!(r1 & SDERRF_TIMEOUT)) return r1; } return SDERRF_TIMEOUT; @@ -330,19 +339,21 @@ UBYTE sdcmd_read_packet(struct sdcmd *sd, UBYTE *buff, int len) int i; /* Wait for the Data Token */ - for (i = 0; i < SDCMD_TIMEOUT; i++) { + for (i = 0; i < SDCMD_TIMEOUT; i++) + { byte = sdcmd_in(sd); - if (byte == token) - break; + if (byte == token) break; } - if (i == SDCMD_TIMEOUT) { + if (i == SDCMD_TIMEOUT) + { sdcmd_select(sd, FALSE); return SDERRF_TIMEOUT; } - sdcmd_ins(sd, buff, len); - + if (sd->iobase == SAGA_SD_BASE_SPI1) sdcmd_ins_spi1(sd, buff, len); + if (sd->iobase == SAGA_SD_BASE_SPI2) sdcmd_ins_spi2(sd, buff, len); + /* Read the CRC16 */ tmp = (UWORD)sdcmd_in(sd) << 8; tmp |= sdcmd_in(sd); @@ -461,216 +472,6 @@ static ULONG bits(UBYTE *mask, int start, int len) return ret; } -/* If non-zero, filled in the total size in blocks of the device - */ -UBYTE sdcmd_detect(struct sdcmd *sd) -{ - struct sdcmd_info *info = &sd->info; - UBYTE r1; - UBYTE speed; - ULONG r7; - int i; - - memset(info, 0, sizeof(*info)); - - /* First, check the DETECT bit */ - if (!sdcmd_present(sd)) - return ~0; - - /* Switch to slow speed mode */ - sdcmd_clkdiv(sd, SDCMD_CLKDIV_SLOW); - - /* Emit at least 74 clocks of idle */ - sdcmd_select(sd, TRUE); - for (i = 0; i < 16; i++) { - sdcmd_out(sd, 0xff); - } - sdcmd_select(sd, FALSE); - - /* Stuff two idle bytes while deasserted */ - sdcmd_out(sd, 0xff); - sdcmd_out(sd, 0xff); - - /* Put into idle state */ - sdcmd_send(sd, SDCMD_GO_IDLE_STATE, 0); - r1 = sdcmd_r1(sd); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (r1) - return r1; - - /* Do SHDC detection during idle */ - sdcmd_send(sd, SDCMD_SEND_IF_COND, 0x000001aa); - r1 = sdcmd_r7(sd, &r7); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (!r1) { - /* Looks like a SDHC card? */ - if ((r7 & 0x000001ff) == 0x000001aa) { - /* Set HCS (SDHC) mode */ - sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, SDOCRF_HCS); - r1 = sdcmd_r1(sd); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (r1) - return r1; - } - } - - /* Wait for card to complete idle */ - for (i = 0; i < SDCMD_IDLE_RETRY; i++) { - UBYTE err; - - /* Initiate SDC init process */ - err = sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, 0); - if (err) - return err; - - r1 = sdcmd_r1(sd); - if (!(r1 & SDERRF_IDLE)) - break; - } - - //debug("r1=0x%lx", r1); - if (r1) - return r1; - - /* Enable CRC check mode */ - sdcmd_send(sd, SDCMD_CRC_ON_OFF, 1); - r1 = sdcmd_r1(sd); - if (r1) { - /* Non-fatal if this failed */ - //debug("r1=0x%lx", r1); - } - - /* Check for voltage levels */ - sdcmd_send(sd, SDCMD_READ_OCR, 0); - r1 = sdcmd_r3(sd, &info->ocr); - //debug("r1=0x%lx", r1); - if (r1) - return r1; - - /* Not in our voltage range */ - //info("ocr=0x%08lx (vs 0x%08lx)", info->ocr, SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V); - if (!(info->ocr & (SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V))) - return SDERRF_IDLE; - - if (info) { - ULONG c_size_mult, read_bl_len, c_size; - UBYTE *csd = &info->csd[0]; - UBYTE *cid = &info->cid[0]; - - /* Get the CSD data */ - sdcmd_send(sd, SDCMD_SEND_CSD, 0); - r1 = sdcmd_r1a(sd); - //debug("r1=0x%lx", r1); - if (r1) - goto exit; - - r1 = sdcmd_read_packet(sd, csd, 16); - //debug("r1=0x%lx", r1); - if (r1) - goto exit; - - //info("csd=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", - // csd[0], csd[1], csd[2], csd[3], - // csd[4], csd[5], csd[6], csd[7], - // csd[8], csd[9], csd[10], csd[11], - // csd[12], csd[13], csd[14], csd[15]); - - /* Get the CID data */ - sdcmd_send(sd, SDCMD_SEND_CID, 0); - r1 = sdcmd_r1a(sd); - //debug("r1=%d", r1); - if (r1) - goto exit; - - r1 = sdcmd_read_packet(sd, cid, 16); - sdcmd_select(sd, FALSE); - - //debug("r1=0x%lx", r1); - if (r1) - return r1; - //info("cid=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", - // cid[0], cid[1], cid[2], cid[3], - // cid[4], cid[5], cid[6], cid[7], - // cid[8], cid[9], cid[10], cid[11], - // cid[12], cid[13], cid[14], cid[15]); - - info->block_size = SDSIZ_BLOCK; - - if (info->ocr & SDOCRF_HCS) { - /* SDHC calculation */ - - /* Bits 68:48 of the CSD */ - c_size = bits(&csd[15], 48, 20); - - info("SDHC: c_size=%ld", c_size); - - info->blocks = (c_size + 1) * 1024; - - info->addr_shift = 0; - } else { - /* SD calculation */ - /* Bits 49:47 of the CSD */ - c_size_mult = bits(&csd[15], 47, 3); - /* Bits 83:80 of the CSD */ - read_bl_len = bits(&csd[15], 80, 4); - /* Bits 73:62 of the CSD */ - c_size = bits(&csd[15], 62, 12); - - info("SD: c_size_mult=%ld, read_bl_len=%ld, c_size=%ld", c_size_mult, read_bl_len, c_size); - - info->blocks = (1UL << (c_size_mult + read_bl_len + 2 - 9)) * (c_size + 1); - - /* Set block size */ - sdcmd_send(sd, SDCMD_SET_BLOCKLEN, info->block_size); - r1 = sdcmd_r1(sd); - if (r1) - return r1; - - info->addr_shift = 9; - } - //info("blocks=%ld", info->blocks); - } - - /* Default speed mode */ - speed = SDCMD_CLKDIV_FAST; - - /* Try setting the card into high speed mode. It's possible - * to check first, but just trying to set is enough? - * - * First nibble is Function Group 1 - Access mode / Bus Speed mode; - * the only thing that applies to us in SPI mode. - */ - sdcmd_send(sd, SDCMD_SWITCH_FUNCTION, 0x80fffff1); - r1 = sdcmd_r1a(sd); - //debug("r1=0x%lx", r1); - if (!r1) { - UBYTE cmd6[512/8]; - ULONG f1_sel; - - r1 = sdcmd_read_packet(sd, cmd6, sizeof(cmd6)); - sdcmd_select(sd, FALSE); - - f1_sel = bits(&cmd6[63], 376, 4); - - /* Out of all of the above, just check f1_sel to see - * if it is what we set it to. - */ - if (f1_sel == 1) - speed = SDCMD_CLKDIV_FASTER; - } - - /* Switch to high speed mode */ - sdcmd_clkdiv(sd, speed); - r1 = 0; - -exit: - sdcmd_select(sd, FALSE); - return r1; -} - UBYTE sdcmd_read_block(struct sdcmd *sd, ULONG addr, UBYTE *buff) { UBYTE r1; @@ -683,7 +484,12 @@ UBYTE sdcmd_read_block(struct sdcmd *sd, ULONG addr, UBYTE *buff) sdcmd_send(sd, SDCMD_READ_SINGLE_BLOCK, addr << sd->info.addr_shift); r1 = sdcmd_r1a(sd); if (!r1) + { r1 = sdcmd_read_packet(sd, buff, SDSIZ_BLOCK); + //debug("sdcmd_read_packet = %x", r1); + } else { + //debug("sdcmd_r1a = %x", r1); + } sdcmd_select(sd, FALSE); @@ -692,7 +498,6 @@ UBYTE sdcmd_read_block(struct sdcmd *sd, ULONG addr, UBYTE *buff) return r1; } - UBYTE sdcmd_read_blocks(struct sdcmd *sd, ULONG addr, UBYTE *buff, int blocks) { UBYTE r1; @@ -815,4 +620,269 @@ UBYTE sdcmd_write_blocks(struct sdcmd *sd, ULONG addr, CONST UBYTE *buff, int bl return r1; } -/* vim: set shiftwidth=4 expandtab: */ + +BOOL sdcmd_hw_detect(struct sdcmd *sd) +{ + UWORD val; + + val = Read16(sd->iobase + SAGA_SD_STAT); + + //debug("SD_STAT => $%04lx", val); + + return (val & SAGA_SD_STAT_NCD) ? FALSE : TRUE; +} + + +BOOL sdcmd_sw_detect_quick(struct sdcmd *sd) +{ + UBYTE r1; + int i; + + sdcmd_send(sd, SDCMD_READ_SINGLE_BLOCK, 0); + + for (i = 0; i < 50; i++) + { + r1 = sdcmd_in(sd); + if (!(r1 & SDERRF_TIMEOUT)) break; + } + + if (i == 50) + { + //debug("starting sdcmd_sw_detect_quick routine: FALSE"); + return FALSE; + } else { + sdcmd_stop_transmission(sd); + //debug("starting sdcmd_sw_detect_quick routine: TRUE"); + return TRUE; + } +} + +BOOL sdcmd_sw_detect_full(struct sdcmd *sd) +{ + struct sdcmd_info *info = &sd->info; + UBYTE r1; + UBYTE speed; + ULONG r7; + int i; + + //debug("sdcmd_sw_detect_full for SD-Card unit: %d", sd->unitnumber); + + memset(info, 0, sizeof(*info)); + + //debug("Switch to slow speed mode"); + sdcmd_clkdiv(sd, SDCMD_CLKDIV_SLOW); + + //debug("Emit at least 74 clocks of idle"); + sdcmd_select(sd, TRUE); + for (i = 0; i < 16; i++) + { + sdcmd_out(sd, 0xff); + } + sdcmd_select(sd, FALSE); + + //debug("Stuff two idle bytes while deasserted"); + sdcmd_out(sd, 0xff); + sdcmd_out(sd, 0xff); + + //debug("Put into idle state"); + sdcmd_send(sd, SDCMD_GO_IDLE_STATE, 0); + + // Quick IDLE test to shorten Detect if no media is present + + for (i = 0; i < 100; i++) + { + r1 = sdcmd_in(sd); + if (!(r1 & SDERRF_TIMEOUT)) break; + } + if (i==100) + { + //debug("Quick IDLE Test failed (100)"); + return FALSE; + } + r1 &= ~SDERRF_IDLE; + if (r1) return FALSE; + debug("Quick IDLE Test succeeded"); + + debug("Do SHDC detection during idle"); + sdcmd_send(sd, SDCMD_SEND_IF_COND, 0x000001aa); + r1 = sdcmd_r7(sd, &r7); + r1 &= ~SDERRF_IDLE; + if (!r1) + { + debug("Looks like a SDHC card?"); + if ((r7 & 0x000001ff) == 0x000001aa) + { + debug(" HCS (SDHC) mode"); + sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, SDOCRF_HCS); + r1 = sdcmd_r1(sd); + r1 &= ~SDERRF_IDLE; + if (r1) return FALSE; + } + } + + debug("Wait for card to complete idle"); + for (i = 0; i < SDCMD_IDLE_RETRY; i++) + { + UBYTE err; + + /* Initiate SDC init process */ + err = sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, 0); + if (err) return FALSE; + + r1 = sdcmd_r1(sd); + if (!(r1 & SDERRF_IDLE)) + { + debug("SD-Card SUCCESS on SDCMD_SD_SEND_OP_COND"); + break; + } + if (i==SDCMD_IDLE_RETRY-1) + { + debug("SD-Card TIMEOUT on SDCMD_SD_SEND_OP_COND"); + return FALSE; + } + } + + debug("Enable CRC check mode"); + sdcmd_send(sd, SDCMD_CRC_ON_OFF, 1); + r1 = sdcmd_r1(sd); + if (r1) + { + /* Non-fatal if this failed */ + debug("r1=0x%lx", r1); + debug("SD-Card CRC-Check Mode FAIL (non-fatal)"); + } else { + debug("SD-Card CRC-Check Mode enabled"); + } + + debug("Check for voltage levels"); + sdcmd_send(sd, SDCMD_READ_OCR, 0); + r1 = sdcmd_r3(sd, &info->ocr); + debug("r1=0x%lx", r1); + if (r1) + { + debug("FAIL = SD-Card Voltage Info could NOT be read"); + return FALSE; + } + + debug("ocr=0x%08lx (vs 0x%08lx)", info->ocr, SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V); + if (!(info->ocr & (SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V))) + { + debug("FAIL on Voltage Check = ocr=0x%08lx (vs 0x%08lx)", info->ocr, SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V); + r1 = SDERRF_IDLE; + return FALSE; + } else { + debug("SUCCES on Voltage Check = ocr=0x%08lx (vs 0x%08lx)", info->ocr, SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V); + } + + if (info) + { + ULONG c_size_mult, read_bl_len, c_size; + UBYTE *csd = &info->csd[0]; + UBYTE *cid = &info->cid[0]; + + /* Get the CSD data */ + sdcmd_send(sd, SDCMD_SEND_CSD, 0); + r1 = sdcmd_r1a(sd); + debug("r1=0x%lx", r1); + if (r1) return FALSE; + + r1 = sdcmd_read_packet(sd, csd, 16); + //debug("r1=0x%lx", r1); + if (r1) return FALSE; + + debug("csd=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", + csd[0], csd[1], csd[2], csd[3], + csd[4], csd[5], csd[6], csd[7], + csd[8], csd[9], csd[10], csd[11], + csd[12], csd[13], csd[14], csd[15]); + + /* Get the CID data */ + sdcmd_send(sd, SDCMD_SEND_CID, 0); + r1 = sdcmd_r1a(sd); + debug("r1=%d", r1); + if (r1) return FALSE; + + r1 = sdcmd_read_packet(sd, cid, 16); + sdcmd_select(sd, FALSE); + + debug("r1=0x%lx", r1); + if (r1) return FALSE; + + debug("cid=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", + cid[0], cid[1], cid[2], cid[3], + cid[4], cid[5], cid[6], cid[7], + cid[8], cid[9], cid[10], cid[11], + cid[12], cid[13], cid[14], cid[15]); + + info->block_size = SDSIZ_BLOCK; + + if (info->ocr & SDOCRF_HCS) { + /* SDHC calculation */ + + /* Bits 68:48 of the CSD */ + c_size = bits(&csd[15], 48, 20); + + debug("SDHC-Card info: c_size=%ld | blocks=%ld", c_size, info->blocks); + + info->blocks = (c_size + 1) * 1024; + + info->addr_shift = 0; + } else { + /* SD calculation */ + /* Bits 49:47 of the CSD */ + c_size_mult = bits(&csd[15], 47, 3); + /* Bits 83:80 of the CSD */ + read_bl_len = bits(&csd[15], 80, 4); + /* Bits 73:62 of the CSD */ + c_size = bits(&csd[15], 62, 12); + + debug("SD: c_size_mult=%ld, read_bl_len=%ld, c_size=%ld", c_size_mult, read_bl_len, c_size); + + info->blocks = (1UL << (c_size_mult + read_bl_len + 2 - 9)) * (c_size + 1); + + /* Set block size */ + sdcmd_send(sd, SDCMD_SET_BLOCKLEN, info->block_size); + r1 = sdcmd_r1(sd); + if (r1) return FALSE; + + info->addr_shift = 9; + } + //info("blocks=%ld", info->blocks); + } else { + info->block_size = SDSIZ_BLOCK; + info->blocks = 0; // virtual value as stub if no SD is present (dynamically set by FAT filesystem on DoDiskInsert()) + } + +exit: + + speed = SDCMD_CLKDIV_FAST; + + // Try setting the card into high speed mode. It's possible to check first, but just trying to set is enough? + // First nibble is Function Group 1 - Access mode / Bus Speed mode; the only thing that applies to us in SPI mode. + + sdcmd_send(sd, SDCMD_SWITCH_FUNCTION, 0x80fffff1); + r1 = sdcmd_r1a(sd); + debug("r1=0x%lx", r1); + if (!r1) + { + UBYTE cmd6[512/8]; + ULONG f1_sel; + + r1 = sdcmd_read_packet(sd, cmd6, sizeof(cmd6)); + sdcmd_select(sd, FALSE); + + f1_sel = bits(&cmd6[63], 376, 4); + + /* Out of all of the above, just check f1_sel to see if it is what we set it to.*/ + if (f1_sel == 1) speed = SDCMD_CLKDIV_FASTER; + } + + /* Switch to high speed mode */ + sdcmd_clkdiv(sd, speed); + + sdcmd_select(sd, FALSE); + + debug("finishing sdcmd_sw_detect_full routine"); + + return TRUE; +} \ No newline at end of file diff --git a/arch/m68k-amiga/devs/sagasd/sdcmd.h b/arch/m68k-amiga/devs/sagasd/sdcmd.h index c4d831aaab6..1f514aefbfa 100644 --- a/arch/m68k-amiga/devs/sagasd/sdcmd.h +++ b/arch/m68k-amiga/devs/sagasd/sdcmd.h @@ -31,8 +31,8 @@ #define SDSIZ_BLOCK 512 /* Block size in bytes */ -#define SDCMD_TIMEOUT 51200 /* Times to read for new status */ -#define SDCMD_IDLE_RETRY 5000 +#define SDCMD_TIMEOUT 100000 /* Times to read for new status */ +#define SDCMD_IDLE_RETRY 100000 #define SDERRF_TIMEOUT (1 << 7) #define SDERRF_PARAM (1 << 6) @@ -62,6 +62,7 @@ #define SDCMD_SEND_CSD 9 #define SDCMD_SEND_CID 10 #define SDCMD_STOP_TRANSMISSION 12 +#define SDCMD_SEND_STATUS 13 #define SDCMD_SET_BLOCKLEN 16 #define SDCMD_READ_SINGLE_BLOCK 17 #define SDCMD_READ_MULTIPLE_BLOCK 18 @@ -93,12 +94,16 @@ #define SDLOG_DIAG 4 /* All I/O transactions */ /* Raw SD card interface */ -struct sdcmd { +struct sdcmd +{ struct Node *owner; /* Owner of this structure */ ULONG iobase; + UWORD cs; + ULONG unitnumber; - struct sdcmd_retry { + struct sdcmd_retry + { LONG read; /* Number of retries to read a block */ LONG write; /* Number of retries to write a block */ } retry; @@ -119,9 +124,9 @@ struct sdcmd { } info; /** Functions to be provided by the caller **/ - struct sdcmd_func { - /* Add to the debug log. - */ + struct sdcmd_func + { + /* Add to the debug log.*/ VOID (*log)(struct sdcmd *sd, int level, const char *format, ...); } func; }; @@ -138,15 +143,9 @@ UBYTE sdcmd_read_packet(struct sdcmd *sd, UBYTE *buff, int len); UBYTE sdcmd_write_packet(struct sdcmd *sd, UBYTE token, CONST UBYTE *buff, int len); UBYTE sdcmd_stop_transmission(struct sdcmd *sd); -/* Is there something in the SD slot? - */ -BOOL sdcmd_present(struct sdcmd *sd); - -/* Detect and initialize the SD device - * - * Fills in the sd->info fields - */ -UBYTE sdcmd_detect(struct sdcmd *sd); +BOOL sdcmd_hw_detect(struct sdcmd *sd); +BOOL sdcmd_sw_detect_quick(struct sdcmd *sd); +BOOL sdcmd_sw_detect_full(struct sdcmd *sd); /* NOTE: Depending on SDOCRF_HCS, you will need to use either * SDOCRF_HCS == 0 => addr is in bytes diff --git a/arch/m68k-amiga/devs/sagasd/sddiag.c b/arch/m68k-amiga/devs/sagasd/sddiag.c index cb25ca0d802..ec76ecc6ddb 100644 --- a/arch/m68k-amiga/devs/sagasd/sddiag.c +++ b/arch/m68k-amiga/devs/sagasd/sddiag.c @@ -36,7 +36,7 @@ #include "sdcmd.h" #include "common.h" -#include +#include "sd.h" #ifndef ARRAY_SIZE #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) @@ -78,14 +78,14 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") { AROS_SHCOMMAND_INIT - ULONG iobase = SHArg(IOBASE) ? *SHArg(IOBASE) : SAGA_SD_BASE; + ULONG iobase = SHArg(IOBASE) ? *SHArg(IOBASE) : SAGA_SD_BASE_SPI1; ULONG pattern = SHArg(PATTERN) ? *SHArg(PATTERN) : 0x5af00000; BOOL readTest = SHArg(READ); BOOL writeTest = SHArg(WRITE); ULONG retry = SHArg(RETRY) ? *SHArg(RETRY) : 5; int i; ULONG test_block; - UBYTE err; + BOOL present; struct sdcmd sd = {}; setBases(SysBase, DOSBase); @@ -98,9 +98,9 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") sd.retry.write = retry; sd.func.log = sdcmd_log; - err = sdcmd_detect(&sd); + present = sdcmd_sw_detect_full(&sd); - if (!err) { + if (present) { Printf("SD Card Detected on $0x%lx:\n", iobase); Printf("Block Size: %ld\n", sd.info.block_size); Printf("Blocks: %ld\n", sd.info.blocks); @@ -123,7 +123,7 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") Printf(" %02lx", sd.info.csd[i]); Printf("\n"); } else { - Printf("SD Card Detection Error: %lx\n", err); + Printf("SD Card Detection presentor: %lx\n", present); return RETURN_FAIL; } @@ -136,61 +136,61 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") Printf("WRITE Test: %ld bytes, at block %ld: ", 512, test_block); - err = sdcmd_write_block(&sd, test_block, (UBYTE *)&write_buffer[0]); - if (err) { - Printf("FAILED WRITE, err=0x%02lx\n", err); + present = sdcmd_write_block(&sd, test_block, (UBYTE *)&write_buffer[0]); + if (present) { + Printf("FAILED WRITE, present=0x%02lx\n", present); return RETURN_FAIL; } - err = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); - if (err) { - Printf("FAILED READBACK, err=0x%02lx\n", err); + present = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); + if (present) { + Printf("FAILED READBACK, present=0x%02lx\n", present); return RETURN_FAIL; } - err = 0; + present = 0; for (i = 0; i < 512/sizeof(ULONG); i++) { if (read_buffer[i] != write_buffer[i]) { - if (!err) { + if (!present) { Printf("FAILED DATA:\n"); } - err++; + present++; Printf("$%04lx: $%08lx [expected $%08lx]\n", i*sizeof(ULONG), read_buffer[i], write_buffer[i]); } } - if (err) + if (present) return RETURN_FAIL; Printf("PASSED\n"); Printf("WRITE Test: %ld bytes, at block %ld: ", 512*15, test_block); - err = sdcmd_write_blocks(&sd, test_block+1, (UBYTE *)&write_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED WRITE, err=0x%02lx\n", err); + present = sdcmd_write_blocks(&sd, test_block+1, (UBYTE *)&write_buffer[512/sizeof(ULONG)], 15); + if (present) { + Printf("FAILED WRITE, present=0x%02lx\n", present); return RETURN_FAIL; } - err = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED READBACK, err=0x%02lx\n", err); + present = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); + if (present) { + Printf("FAILED READBACK, present=0x%02lx\n", present); return RETURN_FAIL; } - err = 0; + present = 0; for (i = 0; i < 15 * 512/sizeof(ULONG); i++) { if (read_buffer[512/sizeof(ULONG) + i] != write_buffer[512/sizeof(ULONG) + i]) { - if (!err) { + if (!present) { Printf("FAILED DATA:\n"); } - err++; + present++; Printf("$%04lx: $%08lx [expected $%08lx]\n", i*sizeof(ULONG), read_buffer[512/sizeof(ULONG) + i], write_buffer[512/sizeof(ULONG) + i]); } } - if (err) + if (present) return RETURN_FAIL; Printf("PASSED\n"); @@ -200,9 +200,9 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") Printf("READ Test: %ld bytes, at block %ld: ", 512, test_block); - err = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); - if (err) { - Printf("FAILED READ, err=0x%02lx\n", err); + present = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); + if (present) { + Printf("FAILED READ, present=0x%02lx\n", present); return RETURN_FAIL; } @@ -211,9 +211,9 @@ AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") Printf("READ Test: %ld bytes, at block %ld: ", 512*15, test_block); - err = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED READ, err=0x%02lx\n", err); + present = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); + if (present) { + Printf("FAILED READ, present=0x%02lx\n", present); return RETURN_FAIL; } diff --git a/arch/m68k-amiga/devs/sagasd2nd/common.h b/arch/m68k-amiga/devs/sagasd2nd/common.h deleted file mode 100644 index 258d68b0fdc..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/common.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef COMMON_H -#define COMMON_H - -#include - -static inline UBYTE Read8(IPTR addr) -{ - return *(volatile UBYTE *)addr; -} - -static inline VOID Write8(IPTR addr, UBYTE value) -{ - if (!SIMULATE) { - *(volatile UBYTE *)addr = value; - } -} - -static inline UWORD Read16(IPTR addr) -{ - return *(volatile UWORD *)addr; -} - -static inline VOID Write16(IPTR addr, UWORD value) -{ - if (!SIMULATE) { - *(volatile UWORD *)addr = value; - } -} - -static inline ULONG Read32(IPTR addr) -{ - return *(volatile ULONG *)addr; -} - -static inline VOID Write32(IPTR addr, ULONG value) -{ - if (!SIMULATE) { - *(volatile ULONG *)addr = value; - } -} - -#endif /* COMMON_H */ -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/mmakefile.src b/arch/m68k-amiga/devs/sagasd2nd/mmakefile.src deleted file mode 100644 index 8832136ae66..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/mmakefile.src +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (C) 2016, Jason S. McMullan -# All rights reserved. -# -# Licensed under the MIT License: -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE. -# -include $(SRCDIR)/config/aros.cfg - -USER_INCLUDES := -I$(SRCDIR)/$(CURDIR)/\ - -I$(SRCDIR)/$(CURDIR)/../include - -USER_CFLAGS := -D__NOLIBBASE__ -O2 -DSIMULATE=0 \ - -DADATE="\"$(shell date "+%d.%m.%Y")\"" -fdata-sections -ffunction-sections -fno-zero-initialized-in-bss -fno-common - -USER_LDFLAGS := -static - -DEVICE_FILES := sagasd_device sdcmd - -SDDIAG_FILES := sddiag sdcmd - -#MM- kernel-sagasd2nd-device: sagasd2nd-c kernel-sagasd2nd-device -#MM- kernel-sagasd2nd-device-kobj: kernel-sagasd2nd-device -#MM- kernel-sagasd2nd-device-quick: sagasd2nd-c-quick kernel-sagasd2nd-device-quick - -%build_prog mmake=sagasd2nd-c progname=SDDiag \ - files="$(SDDIAG_FILES)" targetdir="$(AROS_C)" \ - usestartup=no - -%build_module mmake=kernel-sagasd2nd-device \ - modname=sagasd2nd modtype=device \ - files="$(DEVICE_FILES)" uselibs="romhack" - -%common -# vim: set shiftwidth=8 noexpandtab: # diff --git a/arch/m68k-amiga/devs/sagasd2nd/sagasd2nd.conf b/arch/m68k-amiga/devs/sagasd2nd/sagasd2nd.conf deleted file mode 100644 index 61737ea49ce..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sagasd2nd.conf +++ /dev/null @@ -1,22 +0,0 @@ -##begin config -basename SAGASD -version 2.5 -libbasetype struct SAGASDBase -sysbase_field sd_ExecBase -seglist_field sd_SegList -residentpri 5 -beginio_func BeginIO -abortio_func AbortIO -options noincludes,nostubs -##end config - -##begin cdefprivate -#include "sagasd_intern.h" -##end cdefprivate - -##begin cdef -##end cdef - -##begin functionlist -##end functionlist - diff --git a/arch/m68k-amiga/devs/sagasd2nd/sagasd_device.c b/arch/m68k-amiga/devs/sagasd2nd/sagasd_device.c deleted file mode 100644 index 9ad1663ea3b..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sagasd_device.c +++ /dev/null @@ -1,1067 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include // memset -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include - -#include "common.h" - -#include - -#include LC_LIBDEFS_FILE - -#define SAGASD_HEADS 16 -#define SAGASD_SECTORS 64 - -#define SAGASD_RETRY 300 /* By default, retry up to N times */ - -#if 0 -#define bug(x,args...) kprintf(x ,##args) -#define debug(x,args...) bug("%s:%ld " x "\n", __func__, (unsigned long)__LINE__ ,##args) -#else -#define bug(x,args...) asm("nop\r\n") -#define debug(x,args...) asm("nop\r\n") -#endif - -static VOID SAGASD_log(struct sdcmd *sd, int level, const char *format, ...) -{ - va_list args; - - va_start(args, format); - vkprintf(format, args); - kprintf("\n"); - va_end(args); -} - -/* Execute the SD read or write command, return IOERR_* or TDERR_* - */ -static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) -{ - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - ULONG block, block_size, bmask; - UBYTE sderr; - - debug("%s: Flags: $%lx, Command: $%04lx, Offset: $%lx%08lx Length: %5ld, Data: $%08lx", - is_write ? "write" : "read", - io->io_Flags, io->io_Command, - (ULONG)(off64 >> 32), (ULONG)off64, len, data); - - block_size = sdu->sdu_SDCmd.info.block_size; - bmask = block_size - 1; - - /* Read/Write is not permitted if the unit is not Valid */ - if (!sdu->sdu_Valid) - return TDERR_BadDriveType; - - if (sdu->sdu_ReadOnly) - return TDERR_WriteProt; - - if ((off64 & bmask) || bmask == 0 || data == NULL) - return IOERR_BADADDRESS; - - if ((len & bmask) || len == 0) { - debug("IO %p Fault, io_Flags = %d, io_Command = %d, IOERR_BADLENGTH (len=0x%x, bmask=0x%x)", io, io->io_Flags, io->io_Command, len, bmask); - return IOERR_BADLENGTH; - } - - /* Make in units of sector size */ - len /= block_size; - block = off64 / block_size; - - /* Nothing to do... */ - if (len == 0) { - iostd->io_Actual = 0; - return 0; - } - - debug("%s: block=%ld, blocks=%ld", is_write ? "Write" : "Read", block, len); - - /* Do the IO */ - if (is_write) { - sderr = sdcmd_write_blocks(&sdu->sdu_SDCmd, block, data, len); - } else { - sderr = sdcmd_read_blocks(&sdu->sdu_SDCmd, block, data, len); - } - - if (sderr) { - debug("sderr=$%02x", sderr); - iostd->io_Actual = 0; - - /* Decode sderr into IORequest io_Errors */ - if (sderr & SDERRF_TIMEOUT) - return TDERR_DiskChanged; - if (sderr & SDERRF_PARAM) - return TDERR_SeekError; - if (sderr & SDERRF_ADDRESS) - return TDERR_SeekError; - if (sderr & (SDERRF_ERASESEQ | SDERRF_ERASERES)) - return TDERR_BadSecPreamble; - if (sderr & SDERRF_CRC) - return TDERR_BadSecSum; - if (sderr & SDERRF_ILLEGAL) - return TDERR_TooFewSecs; - if (sderr & SDERRF_IDLE) - return TDERR_PostReset; - } - - iostd->io_Actual = block_size * len; - return 0; -} - -static LONG SAGASD_PerformSCSI(struct IORequest *io) -{ - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - //struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct SCSICmd *scsi = iostd->io_Data; - struct sdcmd *sdc = &sdu->sdu_SDCmd; - UBYTE *data = (UBYTE *)scsi->scsi_Data; - ULONG i, block, blocks; - LONG err; - UBYTE r1; - - debug("len=%ld, cmd = %02lx %02lx %02lx ... (%ld)", - iostd->io_Length, scsi->scsi_Command[0], - scsi->scsi_Command[1], scsi->scsi_Command[2], - scsi->scsi_CmdLength); - if (iostd->io_Length < sizeof(*scsi)) { - // RDPrep sends a bad io_Length sometimes - debug("====== BAD PROGRAM: iostd->io_Length < sizeof(struct SCSICmd)"); - //return IOERR_BADLENGTH; - } - - if (scsi->scsi_CmdLength < 6) - return IOERR_BADLENGTH; - - if (scsi->scsi_Command == NULL) - return IOERR_BADADDRESS; - - scsi->scsi_Actual = 0; - - switch (scsi->scsi_Command[0]) { - case 0x00: // TEST_UNIT_READY - err = 0; - break; - case 0x12: // INQUIRY - for (i = 0; i < scsi->scsi_Length; i++) { - UBYTE val; - - switch (i) { - case 0: // direct-access device - val = ((sdu->sdu_Enabled ? 0 : 1) << 5) | 0; - break; - case 1: // RMB = 1 - val = (1 << 7); - break; - case 2: // VERSION = 0 - val = 0; - break; - case 3: // NORMACA=0, HISUP = 0, RESPONSE_DATA_FORMAT = 2 - val = (0 << 5) | (0 << 4) | 2; - break; - case 4: // ADDITIONAL_LENGTH = 44 - 4 - val = 44 - 4; - break; - default: - if (i >= 8 && i < 16) - val = "Vampire "[i - 8]; - else if (i >= 16 && i < 32) - val = "SAGA-SD "[i - 16]; - else if (i >= 32 && i < 36) - val = ((UBYTE *)(((struct Library *)sd)->lib_IdString))[i-32]; - else if (i >= 36 && i < 44) { - val = sdc->info.cid[7 + (i-36)/2]; - if ((i & 1) == 0) - val >>= 4; - val = "0123456789ABCDEF"[val & 0xf]; - } else - val = 0; - break; - } - - data[i] = val; - } - - scsi->scsi_Actual = i; - err = 0; - break; - case 0x08: // READ (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("READ (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_read_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x0a: // WRITE (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("WRITE (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_write_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x25: // READ CAPACITY (10) - if (scsi->scsi_CmdLength < 10) { - err = HFERR_BadStatus; - break; - } - - block = scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - block = (block << 8) | scsi->scsi_Command[4]; - block = (block << 8) | scsi->scsi_Command[5]; - - if ((scsi->scsi_Command[8] & 1) || block != 0) { - // PMI Not supported - err = HFERR_BadStatus; - break; - } - - if (scsi->scsi_Length < 8) { - err = IOERR_BADLENGTH; - break; - } - - for (i = 0; i < 4; i++) - data[0 + i] = ((sdc->info.blocks - 1) >> (24 - i*8)) & 0xff; - for (i = 0; i < 4; i++) - data[4 + i] = (sdc->info.block_size >> (24 - i*8)) & 0xff; - - scsi->scsi_Actual = 8; - err = 0; - break; - case 0x1a: // MODE SENSE (6) - data[0] = 3 + 8 + 0x16; - data[1] = 0; // MEDIUM TYPE - data[2] = 0; - data[3] = 8; - if (sdc->info.blocks > (1 << 24)) - blocks = 0xffffff; - else - blocks = sdc->info.blocks; - data[4] = (blocks >> 16) & 0xff; - data[5] = (blocks >> 8) & 0xff; - data[6] = (blocks >> 0) & 0xff; - data[7] = 0; - data[8] = 0; - data[9] = 0; - data[10] = (sdc->info.block_size >> 8) & 0xff; - data[11] = (sdc->info.block_size >> 0) & 0xff; - switch (((UWORD)scsi->scsi_Command[2] << 8) | scsi->scsi_Command[3]) { - case 0x0300: // Format Device Mode - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x03; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // TRACKS PER ZONE 15..8 - val = (SAGASD_HEADS >> 8) & 0xff; - break; - case 3: // TRACKS PER ZONE 7..0 - val = (SAGASD_HEADS >> 0) & 0xff; - break; - case 10: // SECTORS PER TRACK 15..8 - val = (SAGASD_SECTORS >> 8) & 0xff; - break; - case 11: // SECTORS PER TRACK 7..0 - val = (SAGASD_SECTORS >> 0) & 0xff; - break; - case 12: // DATA BYTES PER PHYSICAL SECTOR 15..8 - val = (sdc->info.block_size >> 8) & 0xff; - break; - case 13: // DATA BYTES PER PHYSICAL SECTOR 7..0 - val = (sdc->info.block_size >> 0) & 0xff; - break; - case 20: // HSEC = 1, RMB = 1 - val = (1 << 6) | (1 << 5); - break; - default: - val = 0; - break; - } - - debug("data[%2ld] = $%02lx", 12 + i, val); - data[12 + i] = val; - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - case 0x0400: // Rigid Drive Geometry - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x04; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // CYLINDERS 23..16 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 16) & 0xff; - break; - case 3: // CYLINDERS 15..8 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 8) & 0xff; - break; - case 4: // CYLINDERS 7..0 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 0) & 0xff; - break; - case 5: // HEADS - val = SAGASD_HEADS; - break; - default: - val = 0; - break; - } - - data[12 + i] = val; - debug("data[%2ld] = $%02lx", 12 + i, val); - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - default: - debug("MODE SENSE: Unknown Page $%02lx.$%02lx", - scsi->scsi_Command[2], scsi->scsi_Command[3]); - err = HFERR_BadStatus; - break; - } - break; - default: - debug("Unknown SCSI command %d (%d)\n", scsi->scsi_Command[0], scsi->scsi_CmdLength); - err = IOERR_NOCMD; - break; - } - - if (err == 0) - iostd->io_Actual = sizeof(*scsi); - else - iostd->io_Actual = 0; - - return err; -} - -#define CMD_NAME(x) if (cmd == x) return #x - -static inline const char *cmd_name(int cmd) -{ - CMD_NAME(CMD_READ); - CMD_NAME(CMD_WRITE); - CMD_NAME(CMD_UPDATE); - CMD_NAME(CMD_CLEAR); - CMD_NAME(TD_ADDCHANGEINT); - CMD_NAME(TD_CHANGENUM); - CMD_NAME(TD_CHANGESTATE); - CMD_NAME(TD_EJECT); - CMD_NAME(TD_FORMAT); - CMD_NAME(TD_GETDRIVETYPE); - CMD_NAME(TD_GETGEOMETRY); - CMD_NAME(TD_MOTOR); - CMD_NAME(TD_PROTSTATUS); - CMD_NAME(TD_READ64); - CMD_NAME(TD_REMCHANGEINT); - CMD_NAME(TD_WRITE64); - CMD_NAME(NSCMD_DEVICEQUERY); - CMD_NAME(NSCMD_TD_READ64); - CMD_NAME(NSCMD_TD_WRITE64); - CMD_NAME(HD_SCSICMD); - - return "Unknown"; -} - -/* - * Try to do IO commands. All commands which require talking with ahci devices - * will be handled slow, that is they will be passed to bus task which will - * execute them as soon as hardware will be free. - */ -static LONG SAGASD_PerformIO(struct IORequest *io) -{ - const UWORD NSDSupported[] = { - CMD_READ, - CMD_WRITE, - CMD_UPDATE, - CMD_CLEAR, - TD_ADDCHANGEINT, - TD_CHANGENUM, - TD_CHANGESTATE, - TD_EJECT, - TD_FORMAT, - TD_GETDRIVETYPE, - TD_GETGEOMETRY, - TD_MOTOR, - TD_PROTSTATUS, - TD_READ64, - TD_REMCHANGEINT, - TD_WRITE64, - NSCMD_DEVICEQUERY, - NSCMD_TD_READ64, - NSCMD_TD_WRITE64, - HD_SCSICMD, - 0 - }; - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - UQUAD off64; - struct DriveGeometry *geom; - struct NSDeviceQueryResult *nsqr; - LONG err = IOERR_NOCMD; - - debug(""); - - if (io->io_Error == IOERR_ABORTED) - return io->io_Error; - - debug("IO %p Start, io_Flags = %d, io_Command = %d (%s)", io, io->io_Flags, io->io_Command, cmd_name(io->io_Command)); - - switch (io->io_Command) { - case CMD_CLEAR: /* Invalidate read buffer */ - bug( "%s CMD_CLEAR\n", __FUNCTION__ ); - iostd->io_Actual = 0; - err = 0; - break; - case CMD_UPDATE: /* Flush write buffer */ - bug( "%s CMD_UPDATE\n", __FUNCTION__ ); - iostd->io_Actual = 0; - err = 0; - break; - case NSCMD_DEVICEQUERY: - bug( "%s NSCMD_DEVICEQUERY\n", __FUNCTION__ ); - if (len < sizeof(*nsqr)) { - err = IOERR_BADLENGTH; - break; - } - - nsqr = data; - nsqr->DevQueryFormat = 0; - nsqr->SizeAvailable = sizeof(struct NSDeviceQueryResult); - nsqr->DeviceType = NSDEVTYPE_TRACKDISK; - nsqr->DeviceSubType = 0; - nsqr->SupportedCommands = (UWORD *)NSDSupported; - iostd->io_Actual = sizeof(*nsqr); - err = 0; - break; - case TD_PROTSTATUS: - bug( "%s TD_PROTSTATUS\n", __FUNCTION__ ); - iostd->io_Actual = sdu->sdu_ReadOnly ? 1 : 0; - err = 0; - break; - case TD_CHANGENUM: - bug( "%s TD_CHANGENUM\n", __FUNCTION__ ); - iostd->io_Actual = sdu->sdu_ChangeNum; - err = 0; - break; - case TD_CHANGESTATE: - bug( "%s TD_CHANGESTATE\n", __FUNCTION__ ); - Forbid(); - iostd->io_Actual = sdu->sdu_Present ? 0 : 1; - Permit(); - err = 0; - break; - case TD_EJECT: - // Eject removable media - // We mark is as invalid, then wait for Present to toggle. - bug( "%s TD_EJECT\n", __FUNCTION__ ); - Forbid(); - sdu->sdu_Valid = FALSE; - Permit(); - err = 0; - break; - case TD_GETDRIVETYPE: - bug( "%s TD_GETDRIVETYPE\n", __FUNCTION__ ); - iostd->io_Actual = DRIVE_NEWSTYLE; - err = 0; - break; - case TD_GETGEOMETRY: - bug( "%s TD_GETGEOMETRY\n", __FUNCTION__ ); - if (len < sizeof(*geom)) { - err = IOERR_BADLENGTH; - break; - } - - geom = data; - memset(geom, 0, len); - geom->dg_SectorSize = sdu->sdu_SDCmd.info.block_size; - geom->dg_TotalSectors = sdu->sdu_SDCmd.info.blocks; - geom->dg_Cylinders = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - geom->dg_CylSectors = SAGASD_HEADS * SAGASD_SECTORS; - geom->dg_Heads = SAGASD_HEADS; - geom->dg_TrackSectors = SAGASD_SECTORS; - geom->dg_BufMemType = MEMF_PUBLIC; - geom->dg_DeviceType = DG_DIRECT_ACCESS; - geom->dg_Flags = DGF_REMOVABLE; - iostd->io_Actual = sizeof(*geom); - err = 0; - break; - case TD_FORMAT: - bug( "%s TD_FORMAT\n", __FUNCTION__ ); - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_MOTOR: - // FIXME: Tie in with power management - //bug( "%s TD_MOTOR\n", __FUNCTION__ ); - iostd->io_Actual = sdu->sdu_Motor; - sdu->sdu_Motor = iostd->io_Length ? 1 : 0; - err = 0; - break; - case CMD_WRITE: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_WRITE64: - case NSCMD_TD_WRITE64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case CMD_READ: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case TD_READ64: - case NSCMD_TD_READ64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case HD_SCSICMD: - err = SAGASD_PerformSCSI(io); - break; - default: - debug("Unknown IO command: %d", io->io_Command); - err = IOERR_NOCMD; - break; - } - - debug("io_Actual = %d", iostd->io_Actual); - debug("io_Error = %d", err); - return err; -} - -static void SAGASD_Detect(struct Library *SysBase, struct SAGASDUnit *sdu) -{ - BOOL present; - - /* Update sdu_Present, regardless */ - asm ( "tst.b 0xbfe001\r\n" ); - present = sdcmd_present(&sdu->sdu_SDCmd); - if (present != sdu->sdu_Present) { - if (present) { - UBYTE sderr; - - /* Re-run the identify */ - sderr = sdcmd_detect(&sdu->sdu_SDCmd); - - Forbid(); - /* Make the drive present. */ - sdu->sdu_Present = TRUE; - sdu->sdu_ChangeNum++; - sdu->sdu_Valid = (sderr == 0) ? TRUE : FALSE; - debug("========= sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); - debug("========= Blocks: %ld", sdu->sdu_SDCmd.info.blocks); - Permit(); - } else { - Forbid(); - sdu->sdu_Present = FALSE; - sdu->sdu_Valid = FALSE; - Permit(); - } - } -} - -/* This low-priority task handles all the non-quick IO - */ -static void SAGASD_IOTask(struct Library *SysBase) -{ - struct Task *this = FindTask(NULL); - struct SAGASDUnit *sdu = this->tc_UserData; - struct MsgPort *mport = sdu->sdu_MsgPort; - struct MsgPort *tport = NULL; - struct timerequest *treq = NULL; - ULONG sigset; - struct Message status; - - debug(""); - - status.mn_Length = 1; // Failed? - if ((status.mn_ReplyPort = CreateMsgPort())) { - if ((tport = CreateMsgPort())) { - if ((treq = (struct timerequest *)CreateIORequest(tport, sizeof(*treq)))) { - if (0 == OpenDevice(TIMERNAME, UNIT_VBLANK, (struct IORequest *)treq, 0)) { - status.mn_Length = 0; // Success! - } else { - DeleteIORequest(treq); - } - } else { - DeleteMsgPort(tport); - } - } else { - DeleteMsgPort(status.mn_ReplyPort); - } - } - - debug("mport=%p", mport); - sdu->sdu_MsgPort = status.mn_ReplyPort; - - /* Update status, for the boot node */ - SAGASD_Detect(SysBase, sdu); - - /* Send the 'I'm Ready' message */ - debug("sdu_MsgPort=%p", sdu->sdu_MsgPort); - PutMsg(mport, &status); - - debug("ReplyPort=%p%s empty", status.mn_ReplyPort, IsListEmpty(&status.mn_ReplyPort->mp_MsgList) ? "" : " not"); - if (status.mn_ReplyPort) { - WaitPort(status.mn_ReplyPort); - GetMsg(status.mn_ReplyPort); - } - debug(""); - - if (status.mn_Length) { - /* There was an error... */ - DeleteMsgPort(mport); - debug(""); - return; - } - - debug(""); - mport = sdu->sdu_MsgPort; - - sigset = (1 << tport->mp_SigBit) | (1 << mport->mp_SigBit); - - for (;;) { - struct IORequest *io; - - SAGASD_Detect(SysBase, sdu); - - io = (struct IORequest *)GetMsg(mport); - if (!io) { - ULONG sigs; - - /* Wait up to 100ms for a IO message. If none, then - * recheck the SD DETECT pin. - */ - treq->tr_node.io_Command = TR_ADDREQUEST; - treq->tr_time.tv_secs = 0; - treq->tr_time.tv_micro = 100 * 1000; - SendIO((struct IORequest *)treq); - - /* Wait on either the MsgPort, or the timer */ - sigs = Wait(sigset); - if (sigs & (1 << mport->mp_SigBit)) { - /* Message port was signalled */ - io = (struct IORequest *)GetMsg(mport); - /* Cancel the timer */ - AbortIO((struct IORequest *)treq); - } else { - /* Timeout was signalled */ - io = NULL; - } - - /* Clean up the timer IO */ - WaitIO((struct IORequest *)treq); - } - - /* If there was no io, continue on... - */ - if (!io) - continue; - - /* If io_Command == ~0, this indicates that we are killing - * this task. - */ - if (io->io_Command == ~0) { - io->io_Error = 0; - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - ReplyMsg(&io->io_Message); - break; - } - - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - - /* Need a reply now? */ - ReplyMsg(&io->io_Message); - } - - /* Clean up */ - CloseDevice((struct IORequest *)treq); - DeleteIORequest((struct IORequest *)treq); - DeleteMsgPort(tport); - DeleteMsgPort(mport); -} - -AROS_LH1(void, BeginIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 5, SAGASD) -{ - AROS_LIBFUNC_INIT - - debug("io_Command = %d, io_Flags = 0x%x", io->io_Command, io->io_Flags); - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - - if (io->io_Flags & IOF_QUICK) { - /* Commands that don't require any IO */ - switch(io->io_Command) - { - case NSCMD_DEVICEQUERY: - case TD_GETNUMTRACKS: - case TD_GETDRIVETYPE: - case TD_GETGEOMETRY: - case TD_REMCHANGEINT: - case TD_ADDCHANGEINT: - case TD_PROTSTATUS: - case TD_CHANGENUM: - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - return; - } - } - - /* Not done quick */ - io->io_Flags &= ~IOF_QUICK; - - /* Forward to the unit's IO task */ - debug("Msg %p (reply %p) => MsgPort %p", &io->io_Message, io->io_Message.mn_ReplyPort, sdu->sdu_MsgPort); - PutMsg(sdu->sdu_MsgPort, &io->io_Message); - - AROS_LIBFUNC_EXIT -} - -AROS_LH1(LONG, AbortIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 6, SAGASD) -{ - AROS_LIBFUNC_INIT - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - - debug(""); - - Forbid(); - io->io_Error = IOERR_ABORTED; - Permit(); - - return 0; - - AROS_LIBFUNC_EXIT -} - - -static void SAGASD_BootNode( - struct SAGASDBase *SAGASDBase, - struct Library *ExpansionBase, - ULONG unit) -{ - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[unit]; - TEXT dosdevname[4] = "SD0"; - IPTR pp[4 + DE_BOOTBLOCKS + 1] = {}; - struct DeviceNode *devnode; - - if (1) - return; - - debug(""); - - dosdevname[2] += unit; - debug("Adding bootnode %s %d x %d", dosdevname,sdu->sdu_SDCmd.info.blocks, sdu->sdu_SDCmd.info.block_size); - - pp[0] = (IPTR)dosdevname; - pp[1] = (IPTR)"sagasd.device"; - pp[2] = unit; - pp[3] = 0; - pp[DE_TABLESIZE + 4] = DE_BOOTBLOCKS; - pp[DE_SIZEBLOCK + 4] = sdu->sdu_SDCmd.info.block_size >> 2; - pp[DE_NUMHEADS + 4] = SAGASD_HEADS; - pp[DE_SECSPERBLOCK + 4] = 1; - pp[DE_BLKSPERTRACK + 4] = SAGASD_SECTORS; - pp[DE_RESERVEDBLKS + 4] = 2; - pp[DE_LOWCYL + 4] = 0; - pp[DE_HIGHCYL + 4] = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - pp[DE_NUMBUFFERS + 4] = 1; - pp[DE_BUFMEMTYPE + 4] = MEMF_PUBLIC; - pp[DE_MAXTRANSFER + 4] = 0x00200000; - pp[DE_MASK + 4] = 0xFFFFFFFE; - pp[DE_BOOTPRI + 4] = 5 - (unit * 10); - pp[DE_DOSTYPE + 4] = 0x444f5303; - pp[DE_BOOTBLOCKS + 4] = 2; - devnode = MakeDosNode(pp); - - if (devnode) - AddBootNode(pp[DE_BOOTPRI + 4], 0 & ADNF_STARTPROC, devnode, NULL); -} - -#define PUSH(task, type, value) do {\ - struct Task *_task = task; \ - type _val = value; \ - _task->tc_SPReg -= sizeof(_val); \ - CopyMem(&_val, (APTR)_task->tc_SPReg, sizeof(_val)); \ -} while (0) - -static void SAGASD_InitUnit(struct SAGASDBase * SAGASDBase, int id) -{ - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[id]; - - debug("Initialising sagasd2nd unit: %i", id); - - switch (id) { - case 0: - sdu->sdu_SDCmd.iobase = SAGA_SD_BASE; - sdu->sdu_Enabled = TRUE; - break; - default: - sdu->sdu_Enabled = FALSE; - } - - sdu->sdu_SDCmd.func.log = SAGASD_log; - sdu->sdu_SDCmd.retry.read = SAGASD_RETRY; - sdu->sdu_SDCmd.retry.write = SAGASD_RETRY; - - /* If the unit is present, create an IO task for it - */ - if (sdu->sdu_Enabled) { - struct Task *utask = &sdu->sdu_Task; - struct MsgPort *initport; - - if ((initport = CreateMsgPort())) { - struct Message *msg; - - strncpy(sdu->sdu_Name, "SDIO0", sizeof(sdu->sdu_Name)); - sdu->sdu_Name[4] += id; - sdu->sdu_MsgPort = initport; - - /* Initialize the task */ - memset(utask, 0, sizeof(*utask)); - utask->tc_Node.ln_Pri = -21; - utask->tc_Node.ln_Name = &sdu->sdu_Name[0]; - utask->tc_SPReg = utask->tc_SPUpper = &sdu->sdu_Stack[SDU_STACK_SIZE]; - utask->tc_SPLower = &sdu->sdu_Stack[0]; - - /* Push arguments onto the stack */ - PUSH(utask, struct Library *, SysBase); - - NEWLIST(&utask->tc_MemEntry); - utask->tc_UserData = sdu; - - AddTask(utask, SAGASD_IOTask, NULL); - - WaitPort(initport); - msg = GetMsg(initport); - debug("StartMsg=%p (%ld)", msg, msg->mn_Length); - sdu->sdu_Enabled = (msg->mn_Length == 0) ? TRUE : FALSE; - debug(" ReplyPort=%p", msg->mn_ReplyPort); - ReplyMsg(msg); - - DeleteMsgPort(initport); - } else { - sdu->sdu_Enabled = FALSE; - } - } - - debug("unit=%d enabled=%d", id, SAGASDBase->sd_Unit[id].sdu_Enabled ? 1 : 0); -} - -static int GM_UNIQUENAME(init)(struct SAGASDBase * SAGASDBase) -{ - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct Library *ExpansionBase; - ULONG i; - - debug("Initialising sagasd2nd"); - - //Temporary hack: Remove this if you find it - //Hard coding the first device for now - debug("Hard setting chipselect 0 for now....."); - volatile unsigned char *chipselectRegister = (unsigned char*)(SAGA_SD_BASE + SAGA_SD_CTL); - *chipselectRegister = SAGA_CS_DRIVE0; - - ExpansionBase = TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); - if (!ExpansionBase) - Alert(AT_DeadEnd | AO_TrackDiskDev | AG_OpenLib); - - for (i = 0; i < SAGASD_UNITS; i++) - SAGASD_InitUnit(SAGASDBase, i); - - /* Only add bootnode if recalibration succeeded */ - for (i = 0; i < SAGASD_UNITS; i++) { - if (SAGASDBase->sd_Unit[i].sdu_Valid) - SAGASD_BootNode(SAGASDBase, ExpansionBase, i); - } - - CloseLibrary((struct Library *)ExpansionBase); - - return TRUE; -} - -static int GM_UNIQUENAME(expunge)(struct SAGASDBase * SAGASDBase) -{ - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct IORequest io = {}; - int i; - - debug("Expunging sagasd2nd"); - - for (i = 0; i < SAGASD_UNITS; i++) { - io.io_Device = &SAGASDBase->sd_Device; - io.io_Unit = &SAGASDBase->sd_Unit[i].sdu_Unit; - io.io_Flags = 0; - io.io_Command = ~0; - - /* Signal the unit task to die */ - DoIO(&io); - } - - return TRUE; -} - -static int GM_UNIQUENAME(open)(struct SAGASDBase * SAGASDBase, - struct IOExtTD *iotd, ULONG unitnum, - ULONG flags) -{ - debug("Opening sagasd2nd"); - - iotd->iotd_Req.io_Error = IOERR_OPENFAIL; - - /* Is the requested unitNumber valid? */ - if (unitnum < SAGASD_UNITS) { - struct SAGASDUnit *sdu; - - iotd->iotd_Req.io_Device = (struct Device *)SAGASDBase; - - /* Get SDU structure */ - sdu = &SAGASDBase->sd_Unit[unitnum]; - if (sdu->sdu_Enabled) { - iotd->iotd_Req.io_Unit = &sdu->sdu_Unit; - sdu->sdu_Unit.unit_OpenCnt++; - iotd->iotd_Req.io_Error = 0; - } - - debug("Open=%d", unitnum, iotd->iotd_Req.io_Error); - } - - return iotd->iotd_Req.io_Error == 0; - -} - -static int GM_UNIQUENAME(close)(struct SAGASDBase *SAGASDBase, - struct IOExtTD *iotd) -{ - debug("Closing sagasd2nd"); - iotd->iotd_Req.io_Unit->unit_OpenCnt --; - - return TRUE; -} - -ADD2INITLIB(GM_UNIQUENAME(init), 0) -ADD2EXPUNGELIB(GM_UNIQUENAME(expunge), 0) -ADD2OPENDEV(GM_UNIQUENAME(open), 0) -ADD2CLOSEDEV(GM_UNIQUENAME(close), 0) -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/sagasd_device_raw.c b/arch/m68k-amiga/devs/sagasd2nd/sagasd_device_raw.c deleted file mode 100644 index dc5b59ec287..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sagasd_device_raw.c +++ /dev/null @@ -1,1143 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include // memset -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -#include - -//#include -#include -#include -//#include - -#include "common.h" - -#include "sd.h" - -#include LC_LIBDEFS_FILE - -#define SAGASD_HEADS 16 -#define SAGASD_SECTORS 64 -#define SAGASD_RETRY 5 /* By default, retry up to N times */ - -#define VERSION 2 -#define REVISION 2 -#define LIBNAME "sagasd2nd.device" -#define VSTRING "sagasd2nd.device v#VERSION##.#REVISION" - -#if DEBUG -#define debug(x,args...) bug("%s:%ld " x "\n", __func__, (unsigned long)__LINE__ ,##args) -#else -#define bug(x,args...) asm ("nop\r\n"); -#define debug(x,args...) asm ("nop\r\n"); -#endif - -static VOID SAGASD_log(struct sdcmd *sd, int level, const char *format, ...) -{ - va_list args; - - if (level > DEBUG) - return; - - va_start(args, format); - vkprintf(format, args); - kprintf("\n"); - va_end(args); -} - -/* Execute the SD read or write command, return IOERR_* or TDERR_* - */ -static LONG SAGASD_ReadWrite(struct IORequest *io, UQUAD off64, BOOL is_write) -{ - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - ULONG block, block_size, bmask; - UBYTE sderr; - - debug("%s: Flags: $%lx, Command: $%04lx, Offset: $%lx%08lx Length: %5ld, Data: $%08lx", - is_write ? "write" : "read", - io->io_Flags, io->io_Command, - (ULONG)(off64 >> 32), (ULONG)off64, len, data); - - block_size = sdu->sdu_SDCmd.info.block_size; - bmask = block_size - 1; - - /* Read/Write is not permitted if the unit is not Valid */ - if (!sdu->sdu_Valid) - return TDERR_BadDriveType; - - if (sdu->sdu_ReadOnly) - return TDERR_WriteProt; - - if ((off64 & bmask) || bmask == 0 || data == NULL) - return IOERR_BADADDRESS; - - if ((len & bmask) || len == 0) { - debug("IO %p Fault, io_Flags = %d, io_Command = %d, IOERR_BADLENGTH (len=0x%x, bmask=0x%x)", io, io->io_Flags, io->io_Command, len, bmask); - return IOERR_BADLENGTH; - } - - /* Make in units of sector size */ - len /= block_size; - block = off64 / block_size; - - /* Nothing to do... */ - if (len == 0) { - iostd->io_Actual = 0; - return 0; - } - - debug("%s: block=%ld, blocks=%ld", is_write ? "Write" : "Read", block, len); - - /* Do the IO */ - if (is_write) { - sderr = sdcmd_write_blocks(&sdu->sdu_SDCmd, block, data, len); - } else { - sderr = sdcmd_read_blocks(&sdu->sdu_SDCmd, block, data, len); - } - - debug("sderr=$%02x", sderr); - - if (sderr) { - iostd->io_Actual = 0; - - /* Decode sderr into IORequest io_Errors */ - if (sderr & SDERRF_TIMEOUT) - return TDERR_DiskChanged; - if (sderr & SDERRF_PARAM) - return TDERR_SeekError; - if (sderr & SDERRF_ADDRESS) - return TDERR_SeekError; - if (sderr & (SDERRF_ERASESEQ | SDERRF_ERASERES)) - return TDERR_BadSecPreamble; - if (sderr & SDERRF_CRC) - return TDERR_BadSecSum; - if (sderr & SDERRF_ILLEGAL) - return TDERR_TooFewSecs; - if (sderr & SDERRF_IDLE) - return TDERR_PostReset; - } - - iostd->io_Actual = block_size * len; - return 0; -} - -static LONG SAGASD_PerformSCSI(struct IORequest *io) -{ - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct SCSICmd *scsi = iostd->io_Data; - struct sdcmd *sdc = &sdu->sdu_SDCmd; - UBYTE *data = (UBYTE *)scsi->scsi_Data; - ULONG i, block, blocks; - LONG err; - UBYTE r1; - - debug("len=%ld, cmd = %02lx %02lx %02lx ... (%ld)", - iostd->io_Length, scsi->scsi_Command[0], - scsi->scsi_Command[1], scsi->scsi_Command[2], - scsi->scsi_CmdLength); - if (iostd->io_Length < sizeof(*scsi)) { - // RDPrep sends a bad io_Length sometimes - debug("====== BAD PROGRAM: iostd->io_Length < sizeof(struct SCSICmd)"); - //return IOERR_BADLENGTH; - } - - if (scsi->scsi_CmdLength < 6) - return IOERR_BADLENGTH; - - if (scsi->scsi_Command == NULL) - return IOERR_BADADDRESS; - - scsi->scsi_Actual = 0; - - switch (scsi->scsi_Command[0]) { - case 0x00: // TEST_UNIT_READY - err = 0; - break; - case 0x12: // INQUIRY - for (i = 0; i < scsi->scsi_Length; i++) { - UBYTE val; - - switch (i) { - case 0: // direct-access device - val = ((sdu->sdu_Enabled ? 0 : 1) << 5) | 0; - break; - case 1: // RMB = 1 - val = (1 << 7); - break; - case 2: // VERSION = 0 - val = 0; - break; - case 3: // NORMACA=0, HISUP = 0, RESPONSE_DATA_FORMAT = 2 - val = (0 << 5) | (0 << 4) | 2; - break; - case 4: // ADDITIONAL_LENGTH = 44 - 4 - val = 44 - 4; - break; - default: - if (i >= 8 && i < 16) - val = "Vampire "[i - 8]; - else if (i >= 16 && i < 32) - val = "SAGA-SD "[i - 16]; - else if (i >= 32 && i < 36) - val = ((UBYTE *)(((struct Library *)sd)->lib_IdString))[i-32]; - else if (i >= 36 && i < 44) { - val = sdc->info.cid[7 + (i-36)/2]; - if ((i & 1) == 0) - val >>= 4; - val = "0123456789ABCDEF"[val & 0xf]; - } else - val = 0; - break; - } - - data[i] = val; - } - - scsi->scsi_Actual = i; - err = 0; - break; - case 0x08: // READ (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("READ (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_read_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x0a: // WRITE (6) - block = scsi->scsi_Command[1] & 0x1f; - block = (block << 8) | scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - blocks = scsi->scsi_Command[4]; - debug("WRITE (6) %ld @%ld => $%lx (%ld)", - blocks, block, data, scsi->scsi_Length); - if (block + blocks > sdc->info.blocks) { - err = IOERR_BADADDRESS; - break; - } - if (scsi->scsi_Length < blocks * sdc->info.block_size) { - debug("Len (%ld) too small (%ld)", scsi->scsi_Length, blocks * sdc->info.block_size); - err = IOERR_BADLENGTH; - break; - } - if (data == NULL) { - err = IOERR_BADADDRESS; - break; - } - r1 = sdcmd_write_blocks(sdc, block, data, blocks); - if (r1) { - err = HFERR_BadStatus; - break; - } - - scsi->scsi_Actual = scsi->scsi_Length; - err = 0; - break; - case 0x25: // READ CAPACITY (10) - if (scsi->scsi_CmdLength < 10) { - err = HFERR_BadStatus; - break; - } - - block = scsi->scsi_Command[2]; - block = (block << 8) | scsi->scsi_Command[3]; - block = (block << 8) | scsi->scsi_Command[4]; - block = (block << 8) | scsi->scsi_Command[5]; - - if ((scsi->scsi_Command[8] & 1) || block != 0) { - // PMI Not supported - err = HFERR_BadStatus; - break; - } - - if (scsi->scsi_Length < 8) { - err = IOERR_BADLENGTH; - break; - } - - for (i = 0; i < 4; i++) - data[0 + i] = ((sdc->info.blocks - 1) >> (24 - i*8)) & 0xff; - for (i = 0; i < 4; i++) - data[4 + i] = (sdc->info.block_size >> (24 - i*8)) & 0xff; - - scsi->scsi_Actual = 8; - err = 0; - break; - case 0x1a: // MODE SENSE (6) - data[0] = 3 + 8 + 0x16; - data[1] = 0; // MEDIUM TYPE - data[2] = 0; - data[3] = 8; - if (sdc->info.blocks > (1 << 24)) - blocks = 0xffffff; - else - blocks = sdc->info.blocks; - data[4] = (blocks >> 16) & 0xff; - data[5] = (blocks >> 8) & 0xff; - data[6] = (blocks >> 0) & 0xff; - data[7] = 0; - data[8] = 0; - data[9] = 0; - data[10] = (sdc->info.block_size >> 8) & 0xff; - data[11] = (sdc->info.block_size >> 0) & 0xff; - switch (((UWORD)scsi->scsi_Command[2] << 8) | scsi->scsi_Command[3]) { - case 0x0300: // Format Device Mode - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x03; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // TRACKS PER ZONE 15..8 - val = (SAGASD_HEADS >> 8) & 0xff; - break; - case 3: // TRACKS PER ZONE 7..0 - val = (SAGASD_HEADS >> 0) & 0xff; - break; - case 10: // SECTORS PER TRACK 15..8 - val = (SAGASD_SECTORS >> 8) & 0xff; - break; - case 11: // SECTORS PER TRACK 7..0 - val = (SAGASD_SECTORS >> 0) & 0xff; - break; - case 12: // DATA BYTES PER PHYSICAL SECTOR 15..8 - val = (sdc->info.block_size >> 8) & 0xff; - break; - case 13: // DATA BYTES PER PHYSICAL SECTOR 7..0 - val = (sdc->info.block_size >> 0) & 0xff; - break; - case 20: // HSEC = 1, RMB = 1 - val = (1 << 6) | (1 << 5); - break; - default: - val = 0; - break; - } - - debug("data[%2ld] = $%02lx", 12 + i, val); - data[12 + i] = val; - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - case 0x0400: // Rigid Drive Geometry - for (i = 0; i < scsi->scsi_Length - 12; i++) { - UBYTE val; - - switch (i) { - case 0: // PAGE CODE - val = 0x04; - break; - case 1: // PAGE LENGTH - val = 0x16; - break; - case 2: // CYLINDERS 23..16 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 16) & 0xff; - break; - case 3: // CYLINDERS 15..8 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 8) & 0xff; - break; - case 4: // CYLINDERS 7..0 - val = ((sdc->info.blocks / SAGASD_HEADS / SAGASD_SECTORS) >> 0) & 0xff; - break; - case 5: // HEADS - val = SAGASD_HEADS; - break; - default: - val = 0; - break; - } - - data[12 + i] = val; - debug("data[%2ld] = $%02lx", 12 + i, val); - } - - scsi->scsi_Actual = data[0] + 1; - err = 0; - break; - default: - debug("MODE SENSE: Unknown Page $%02lx.$%02lx", - scsi->scsi_Command[2], scsi->scsi_Command[3]); - err = HFERR_BadStatus; - break; - } - break; - default: - debug("Unknown SCSI command %d (%d)\n", scsi->scsi_Command[0], scsi->scsi_CmdLength); - err = IOERR_NOCMD; - break; - } - - if (err == 0) - iostd->io_Actual = sizeof(*scsi); - else - iostd->io_Actual = 0; - - return err; -} - -#define CMD_NAME(x) if (cmd == x) return #x - -static inline const char *cmd_name(int cmd) -{ - CMD_NAME(CMD_READ); - CMD_NAME(CMD_WRITE); - CMD_NAME(CMD_UPDATE); - CMD_NAME(CMD_CLEAR); - CMD_NAME(TD_ADDCHANGEINT); - CMD_NAME(TD_CHANGENUM); - CMD_NAME(TD_CHANGESTATE); - CMD_NAME(TD_EJECT); - CMD_NAME(TD_FORMAT); - CMD_NAME(TD_GETDRIVETYPE); - CMD_NAME(TD_GETGEOMETRY); - CMD_NAME(TD_MOTOR); - CMD_NAME(TD_PROTSTATUS); - CMD_NAME(TD_READ64); - CMD_NAME(TD_REMCHANGEINT); - CMD_NAME(TD_WRITE64); - CMD_NAME(NSCMD_DEVICEQUERY); - CMD_NAME(NSCMD_TD_READ64); - CMD_NAME(NSCMD_TD_WRITE64); - CMD_NAME(HD_SCSICMD); - - return "Unknown"; -} - -/* - * Try to do IO commands. All commands which require talking with ahci devices - * will be handled slow, that is they will be passed to bus task which will - * execute them as soon as hardware will be free. - */ -static LONG SAGASD_PerformIO(struct IORequest *io) -{ - const UWORD NSDSupported[] = { - CMD_READ, - CMD_WRITE, - CMD_UPDATE, - CMD_CLEAR, - TD_ADDCHANGEINT, - TD_CHANGENUM, - TD_CHANGESTATE, - TD_EJECT, - TD_FORMAT, - TD_GETDRIVETYPE, - TD_GETGEOMETRY, - TD_MOTOR, - TD_PROTSTATUS, - TD_READ64, - TD_REMCHANGEINT, - TD_WRITE64, - NSCMD_DEVICEQUERY, - NSCMD_TD_READ64, - NSCMD_TD_WRITE64, - HD_SCSICMD, - 0 - }; - struct SAGASDBase *sd = (struct SAGASDBase *)io->io_Device; - struct Library *SysBase = sd->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - struct IOStdReq *iostd = (struct IOStdReq *)io; - struct IOExtTD *iotd = (struct IOExtTD *)io; - APTR data = iotd->iotd_Req.io_Data; - ULONG len = iotd->iotd_Req.io_Length; - UQUAD off64; - struct DriveGeometry *geom; - struct NSDeviceQueryResult *nsqr; - LONG err = IOERR_NOCMD; - - //debug(""); - - if (io->io_Error == IOERR_ABORTED) - return io->io_Error; - - //debug("IO %p Start, io_Flags = %d, io_Command = %d (%s)", io, io->io_Flags, io->io_Command, cmd_name(io->io_Command)); - - switch (io->io_Command) { - case CMD_CLEAR: /* Invalidate read buffer */ - iostd->io_Actual = 0; - err = 0; - break; - case CMD_UPDATE: /* Flush write buffer */ - iostd->io_Actual = 0; - err = 0; - break; - case NSCMD_DEVICEQUERY: - if (len < sizeof(*nsqr)) { - err = IOERR_BADLENGTH; - break; - } - - nsqr = data; - nsqr->DevQueryFormat = 0; - nsqr->SizeAvailable = sizeof(struct NSDeviceQueryResult); - nsqr->DeviceType = NSDEVTYPE_TRACKDISK; - nsqr->DeviceSubType = 0; - nsqr->SupportedCommands = (UWORD *)NSDSupported; - iostd->io_Actual = sizeof(*nsqr); - err = 0; - break; - case TD_PROTSTATUS: - iostd->io_Actual = sdu->sdu_ReadOnly ? 1 : 0; - err = 0; - break; - case TD_CHANGENUM: - iostd->io_Actual = sdu->sdu_ChangeNum; - err = 0; - break; - case TD_CHANGESTATE: - Forbid(); - iostd->io_Actual = sdu->sdu_Present ? 0 : 1; - Permit(); - err = 0; - break; - case TD_EJECT: - // Eject removable media - // We mark is as invalid, then wait for Present to toggle. - Forbid(); - sdu->sdu_Valid = FALSE; - Permit(); - err = 0; - break; - case TD_GETDRIVETYPE: - iostd->io_Actual = DRIVE_NEWSTYLE; - err = 0; - break; - case TD_GETGEOMETRY: - if (len < sizeof(*geom)) { - err = IOERR_BADLENGTH; - break; - } - - geom = data; - memset(geom, 0, len); - geom->dg_SectorSize = sdu->sdu_SDCmd.info.block_size; - geom->dg_TotalSectors = sdu->sdu_SDCmd.info.blocks; - geom->dg_Cylinders = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - geom->dg_CylSectors = SAGASD_HEADS * SAGASD_SECTORS; - geom->dg_Heads = SAGASD_HEADS; - geom->dg_TrackSectors = SAGASD_SECTORS; - geom->dg_BufMemType = MEMF_PUBLIC; - geom->dg_DeviceType = DG_DIRECT_ACCESS; - geom->dg_Flags = DGF_REMOVABLE; - iostd->io_Actual = sizeof(*geom); - err = 0; - break; - case TD_FORMAT: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_MOTOR: - // FIXME: Tie in with power management - iostd->io_Actual = sdu->sdu_Motor; - sdu->sdu_Motor = iostd->io_Length ? 1 : 0; - err = 0; - break; - case CMD_WRITE: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case TD_WRITE64: - case NSCMD_TD_WRITE64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, TRUE); - break; - case CMD_READ: - off64 = iotd->iotd_Req.io_Offset; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case TD_READ64: - case NSCMD_TD_READ64: - off64 = iotd->iotd_Req.io_Offset; - off64 |= ((UQUAD)iotd->iotd_Req.io_Actual)<<32; - err = SAGASD_ReadWrite(io, off64, FALSE); - break; - case HD_SCSICMD: - err = SAGASD_PerformSCSI(io); - break; - default: - debug("Unknown IO command: %d", io->io_Command); - err = IOERR_NOCMD; - break; - } - - //debug("io_Actual = %d", iostd->io_Actual); - //debug("io_Error = %d", err); - return err; -} - -static void SAGASD_Detect(struct Library *SysBase, struct SAGASDUnit *sdu) -{ - BOOL present; - - /* Update sdu_Present, regardless */ - - asm ( "tst.b 0xbfe001\r\n" ); - present = sdcmd_present(&sdu->sdu_SDCmd); - if (present != sdu->sdu_Present) { - if (present) { - UBYTE sderr; - - /* Re-run the identify */ - sderr = sdcmd_detect(&sdu->sdu_SDCmd); - - Forbid(); - /* Make the drive present. */ - sdu->sdu_Present = TRUE; - sdu->sdu_ChangeNum++; - sdu->sdu_Valid = (sderr == 0) ? TRUE : FALSE; - debug("========= sdu_Valid: %s", sdu->sdu_Valid ? "TRUE" : "FALSE"); - debug("========= Blocks: %ld", sdu->sdu_SDCmd.info.blocks); - Permit(); - } else { - Forbid(); - sdu->sdu_Present = FALSE; - sdu->sdu_Valid = FALSE; - Permit(); - } - } -} - -/* This low-priority task handles all the non-quick IO - */ -static void SAGASD_IOTask(struct Library *SysBase) -{ - struct Task *this = FindTask(NULL); - struct SAGASDUnit *sdu = this->tc_UserData; - struct MsgPort *mport = sdu->sdu_MsgPort; - struct MsgPort *tport = NULL; - struct timerequest *treq = NULL; - ULONG sigset; - struct Message status; - - debug(""); - - status.mn_Length = 1; // Failed? - if ((status.mn_ReplyPort = CreateMsgPort())) { - if ((tport = CreateMsgPort())) { - if ((treq = (struct timerequest *)CreateIORequest(tport, sizeof(*treq)))) { - if (0 == OpenDevice(TIMERNAME, UNIT_VBLANK, (struct IORequest *)treq, 0)) { - status.mn_Length = 0; // Success! - } else { - DeleteIORequest(treq); - } - } else { - DeleteMsgPort(tport); - } - } else { - DeleteMsgPort(status.mn_ReplyPort); - } - } - - debug("mport=%p", mport); - sdu->sdu_MsgPort = status.mn_ReplyPort; - - /* Update status, for the boot node */ - SAGASD_Detect(SysBase, sdu); - - /* Send the 'I'm Ready' message */ - debug("sdu_MsgPort=%p", sdu->sdu_MsgPort); - PutMsg(mport, &status); - - debug("ReplyPort=%p%s empty", status.mn_ReplyPort, IsListEmpty(&status.mn_ReplyPort->mp_MsgList) ? "" : " not"); - if (status.mn_ReplyPort) { - WaitPort(status.mn_ReplyPort); - GetMsg(status.mn_ReplyPort); - } - debug(""); - - if (status.mn_Length) { - /* There was an error... */ - DeleteMsgPort(mport); - debug(""); - return; - } - - debug(""); - mport = sdu->sdu_MsgPort; - - sigset = (1 << tport->mp_SigBit) | (1 << mport->mp_SigBit); - - for (;;) { - struct IORequest *io; - - SAGASD_Detect(SysBase, sdu); - - io = (struct IORequest *)GetMsg(mport); - if (!io) { - ULONG sigs; - - /* Wait up to 100ms for a IO message. If none, then - * recheck the SD DETECT pin. - */ - treq->tr_node.io_Command = TR_ADDREQUEST; - treq->tr_time.tv_secs = 0; - treq->tr_time.tv_micro = 100000; - SendIO((struct IORequest *)treq); - - /* Wait on either the MsgPort, or the timer */ - sigs = Wait(sigset); - if (sigs & (1 << mport->mp_SigBit)) { - /* Message port was signalled */ - io = (struct IORequest *)GetMsg(mport); - /* Cancel the timer */ - AbortIO((struct IORequest *)treq); - } else { - /* Timeout was signalled */ - io = NULL; - } - - /* Clean up the timer IO */ - WaitIO((struct IORequest *)treq); - } - - /* If there was no io, continue on... - */ - if (!io) - continue; - - /* If io_Command == ~0, this indicates that we are killing - * this task. - */ - if (io->io_Command == ~0) { - io->io_Error = 0; - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - ReplyMsg(&io->io_Message); - break; - } - - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - - /* Need a reply now? */ - ReplyMsg(&io->io_Message); - } - - /* Clean up */ - CloseDevice((struct IORequest *)treq); - DeleteIORequest((struct IORequest *)treq); - DeleteMsgPort(tport); - DeleteMsgPort(mport); -} - -AROS_LH1(void, BeginIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 5, SAGASD) -{ - AROS_LIBFUNC_INIT - - debug("io_Command = %d, io_Flags = 0x%x", io->io_Command, io->io_Flags); - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = (struct SAGASDUnit *)io->io_Unit; - - if (io->io_Flags & IOF_QUICK) { - /* Commands that don't require any IO */ - switch(io->io_Command) - { - case NSCMD_DEVICEQUERY: - case TD_GETNUMTRACKS: - case TD_GETDRIVETYPE: - case TD_GETGEOMETRY: - case TD_REMCHANGEINT: - case TD_ADDCHANGEINT: - case TD_PROTSTATUS: - case TD_CHANGENUM: - io->io_Error = SAGASD_PerformIO(io); - io->io_Message.mn_Node.ln_Type=NT_MESSAGE; - return; - } - } - - /* Not done quick */ - io->io_Flags &= ~IOF_QUICK; - - /* Forward to the unit's IO task */ - debug("Msg %p (reply %p) => MsgPort %p", &io->io_Message, io->io_Message.mn_ReplyPort, sdu->sdu_MsgPort); - PutMsg(sdu->sdu_MsgPort, &io->io_Message); - - AROS_LIBFUNC_EXIT -} - -AROS_LH1(LONG, AbortIO, - AROS_LHA(struct IORequest *, io, A1), - struct SAGASDBase *, SAGASDBase, 6, SAGASD) -{ - AROS_LIBFUNC_INIT - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - - debug(""); - - Forbid(); - io->io_Error = IOERR_ABORTED; - Permit(); - - return 0; - - AROS_LIBFUNC_EXIT -} - - -static void SAGASD_BootNode( - struct SAGASDBase *SAGASDBase, - struct Library *ExpansionBase, - ULONG unit) -{ - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[unit]; - struct Library *SysBase = SAGASDBase->sd_ExecBase; - TEXT dosdevname[4] = "SD0"; - IPTR pp[4 + DE_BOOTBLOCKS + 1] = {}; - struct DeviceNode *devnode; - - debug(""); - - dosdevname[2] += unit; - debug("Adding bootnode %s %d x %d", dosdevname,sdu->sdu_SDCmd.info.blocks, sdu->sdu_SDCmd.info.block_size); - - pp[0] = (IPTR)dosdevname; - pp[1] = (IPTR)"sagasd.device"; - pp[2] = unit; - pp[3] = 0; - pp[DE_TABLESIZE + 4] = DE_BOOTBLOCKS; - pp[DE_SIZEBLOCK + 4] = sdu->sdu_SDCmd.info.block_size >> 2; - pp[DE_NUMHEADS + 4] = SAGASD_HEADS; - pp[DE_SECSPERBLOCK + 4] = 1; - pp[DE_BLKSPERTRACK + 4] = SAGASD_SECTORS; - pp[DE_RESERVEDBLKS + 4] = 2; - pp[DE_LOWCYL + 4] = 0; - pp[DE_HIGHCYL + 4] = sdu->sdu_SDCmd.info.blocks / (SAGASD_HEADS * SAGASD_SECTORS); - pp[DE_NUMBUFFERS + 4] = 1; - pp[DE_BUFMEMTYPE + 4] = MEMF_PUBLIC; - pp[DE_MAXTRANSFER + 4] = 0x00200000; - pp[DE_MASK + 4] = 0xFFFFFFFE; - pp[DE_BOOTPRI + 4] = 5 - (unit * 10); - pp[DE_DOSTYPE + 4] = 0x444f5303; - pp[DE_BOOTBLOCKS + 4] = 2; - devnode = MakeDosNode(pp); - - if (devnode) - AddBootNode(pp[DE_BOOTPRI + 4], 0 & ADNF_STARTPROC, devnode, NULL); -} - -#define PUSH(task, type, value) do {\ - struct Task *_task = task; \ - type _val = value; \ - _task->tc_SPReg -= sizeof(_val); \ - CopyMem(&_val, (APTR)_task->tc_SPReg, sizeof(_val)); \ -} while (0) - -static void SAGASD_InitUnit(struct SAGASDBase * SAGASDBase, int id) -{ - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct SAGASDUnit *sdu = &SAGASDBase->sd_Unit[id]; - - debug(""); - switch (id) { - case 0: - sdu->sdu_SDCmd.iobase = SAGA_SD_BASE; - sdu->sdu_Enabled = TRUE; - break; - default: - sdu->sdu_Enabled = FALSE; - } - - sdu->sdu_SDCmd.func.log = SAGASD_log; - sdu->sdu_SDCmd.retry.read = SAGASD_RETRY; - sdu->sdu_SDCmd.retry.write = SAGASD_RETRY; - - /* If the unit is present, create an IO task for it - */ - if (sdu->sdu_Enabled) { - struct Task *utask = &sdu->sdu_Task; - struct MsgPort *initport; - - if ((initport = CreateMsgPort())) { - struct Message *msg; - - strncpy(sdu->sdu_Name, "SDIO0", sizeof(sdu->sdu_Name)); - sdu->sdu_Name[4] += id; - sdu->sdu_MsgPort = initport; - - /* Initialize the task */ - memset(utask, 0, sizeof(*utask)); - utask->tc_Node.ln_Pri = 1; - utask->tc_Node.ln_Name = &sdu->sdu_Name[0]; - utask->tc_SPReg = utask->tc_SPUpper = &sdu->sdu_Stack[SDU_STACK_SIZE]; - utask->tc_SPLower = &sdu->sdu_Stack[0]; - - /* Push arguments onto the stack */ - PUSH(utask, struct Library *, SysBase); - - NEWLIST(&utask->tc_MemEntry); - utask->tc_UserData = sdu; - - AddTask(utask, SAGASD_IOTask, NULL); - - WaitPort(initport); - msg = GetMsg(initport); - debug("StartMsg=%p (%ld)", msg, msg->mn_Length); - sdu->sdu_Enabled = (msg->mn_Length == 0) ? TRUE : FALSE; - debug(" ReplyPort=%p", msg->mn_ReplyPort); - ReplyMsg(msg); - - DeleteMsgPort(initport); - } else { - sdu->sdu_Enabled = FALSE; - } - } - - debug("unit=%d enabled=%d", id, SAGASDBase->sd_Unit[id].sdu_Enabled ? 1 : 0); -} - -// Alynna: The entire IO structure has been reworked to be -// binary compatible with AmigaOS and AROS. - -static AROS_UFH3(struct SAGASDBase *, SAGASD_Init, - AROS_UFHA(struct SAGASDBase *, SAGASDBase, D0), - AROS_UFHA(BPTR, seglist, A0), - AROS_UFHA(struct Library *, exec_base, A6) -) -{ - AROS_USERFUNC_INIT - debug("Init has officially started, SAGASDBase: %08x",SAGASDBase); - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct Library *ExpansionBase; - ULONG i; - - // Device lib setup - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Type = NT_DEVICE; - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Pri = 1; - SAGASDBase->sd_Device.dd_Library.lib_Node.ln_Name = LIBNAME; - SAGASDBase->sd_Device.dd_Library.lib_Flags = LIBF_SUMUSED|LIBF_CHANGED; - SAGASDBase->sd_Device.dd_Library.lib_Version = VERSION; - SAGASDBase->sd_Device.dd_Library.lib_Revision = REVISION; - SAGASDBase->sd_Device.dd_Library.lib_IdString = VSTRING; - SAGASDBase->sd_ExecBase = exec_base; - SAGASDBase->sd_SegList = seglist; - debug("Library set up, Device is: %08x",SAGASDBase->sd_Device); - - /* Save pointer to our loaded code (the SegList) */ - asm ( "tst.b 0xbfe001\r\n" ); // Wait a moment, then... - - ExpansionBase = TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); - if (!ExpansionBase) - Alert(AT_DeadEnd | AO_TrackDiskDev | AG_OpenLib); - - for (i = 0; i < SAGASD_UNITS; i++) - SAGASD_InitUnit(SAGASDBase, i); - - /* Only add bootnode if recalibration succeeded */ - for (i = 0; i < SAGASD_UNITS; i++) { - if (SAGASDBase->sd_Unit[i].sdu_Valid) { - SAGASD_BootNode(SAGASDBase, ExpansionBase, i); - debug("ACTIVE %s unit %d as %08x",VSTRING,i,SAGASDBase->sd_Unit[i]); - } - } - - debug("Init finished with SAGASDBase as %08x",SAGASDBase); - CloseLibrary((struct Library *)ExpansionBase); - - return SAGASDBase; - - AROS_USERFUNC_EXIT -} - -static AROS_LH3(LONG, SAGASD_Open, - AROS_LHA(struct IOExtTD *, iotd, A1), - AROS_LHA(ULONG, unitnum, D0), - AROS_LHA(ULONG, flags, D1), - struct SAGASDBase *, SAGASDBase, 1, SAGASD -) -{ - AROS_LIBFUNC_INIT - struct Library *SysBase = SAGASDBase->sd_ExecBase; - - iotd->iotd_Req.io_Error = IOERR_OPENFAIL; - - /* Is the requested unitNumber valid? */ - if (unitnum < SAGASD_UNITS) { - struct SAGASDUnit *sdu; - - iotd->iotd_Req.io_Device = (struct Device *)SAGASDBase; - - /* Get SDU structure */ - sdu = &SAGASDBase->sd_Unit[unitnum]; - if (sdu->sdu_Enabled) { - iotd->iotd_Req.io_Unit = &sdu->sdu_Unit; - sdu->sdu_Unit.unit_OpenCnt++; - iotd->iotd_Req.io_Error = 0; - } - - debug("Open=%d", unitnum, iotd->iotd_Req.io_Error); - } - - return iotd->iotd_Req.io_Error == 0; - - AROS_LIBFUNC_EXIT -} - -static AROS_LH1(BPTR, SAGASD_Close, - AROS_LHA(struct IOExtTD *, iotd, A1), - struct SAGASDBase *, SAGASDBase, 2, SAGASD -) -{ - AROS_LIBFUNC_INIT - struct Library *SysBase = SAGASDBase->sd_ExecBase; - iotd->iotd_Req.io_Unit->unit_OpenCnt --; - - return TRUE; - AROS_LIBFUNC_EXIT -} - - -static AROS_LH0(BPTR, SAGASD_Expunge, - struct SAGASDBase *, SAGASDBase, 3, SAGASD -) -{ - AROS_LIBFUNC_INIT - - struct Library *SysBase = SAGASDBase->sd_ExecBase; - struct IORequest io = {}; - int i; - - debug(""); - - for (i = 0; i < SAGASD_UNITS; i++) { - io.io_Device = &SAGASDBase->sd_Device; - io.io_Unit = &SAGASDBase->sd_Unit[i].sdu_Unit; - io.io_Flags = 0; - io.io_Command = ~0; - - /* Signal the unit task to die */ - DoIO(&io); - } - - BPTR result = 0; - - /* see if anyone has us open */ - if (SAGASDBase->sd_Device.dd_Library.lib_OpenCnt > 0) { - /* it is still open. set the delayed expunge flag */ - SAGASDBase->sd_Device.dd_Library.lib_Flags |= LIBF_DELEXP; - } else { - /* go ahead and get rid of us. */ - result = SAGASDBase->sd_SegList; - - /* unlink from device list */ - Remove((struct Node *)SAGASDBase); /* Remove first (before FreeMem) */ - } - - return result; - AROS_LIBFUNC_EXIT -} - -static AROS_LH0(APTR, SAGASD_Null, - struct SAGASD *, libBase, 4, SAGASD -) -{ - AROS_LIBFUNC_INIT - return NULL; - AROS_LIBFUNC_EXIT -} - -const CONST_APTR SAGASD_Vec[] = { - (APTR)AROS_SLIB_ENTRY(SAGASD_Open, SAGASD, 1), - (APTR)AROS_SLIB_ENTRY(SAGASD_Close, SAGASD, 2), - (APTR)AROS_SLIB_ENTRY(SAGASD_Expunge, SAGASD, 3), - (APTR)AROS_SLIB_ENTRY(SAGASD_Null, SAGASD, 4), - (APTR)-1 -}; - -const IPTR SAGASD_Tab[] = { - sizeof(struct SAGASDBase), - (IPTR)SAGASD_Vec, - (IPTR)NULL, - (IPTR)SAGASD_Init -}; - -const struct Resident ROMTag = { - RTC_MATCHWORD, - (struct Resident *)&ROMTag, - (APTR)(&terminator + 1), - RTF_COLDSTART & RTF_AUTOINIT, /* Add RTF_COLDSTART if you want to be resident */ - VERSION, - NT_DEVICE, /* Make this NT_DEVICE if needed */ - 1, /* PRI, usually not needed unless you're resident */ - (STRPTR)LIBNAME, - (STRPTR)VSTRING, - (APTR)SAGASD_Tab -}; diff --git a/arch/m68k-amiga/devs/sagasd2nd/sagasd_intern.h b/arch/m68k-amiga/devs/sagasd2nd/sagasd_intern.h deleted file mode 100644 index 75a615869f9..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sagasd_intern.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2016, Netronome Systems, Inc. - * All rights reserved. - * - */ - -#ifndef SAGASD_INTERN_H -#define SAGASD_INTERN_H - -#include -#include -#include - -#include "sdcmd.h" - -#define SAGASD_UNITS 2 /* Only one chip select for now */ - -#define SDU_STACK_SIZE (4096 / sizeof(ULONG)) - -struct SAGASDBase { - struct Device sd_Device; - struct Library * sd_ExecBase; - IPTR sd_SegList; - struct SAGASDUnit { - struct Unit sdu_Unit; - struct Task sdu_Task; - TEXT sdu_Name[6]; /* "SDIOx" */ - ULONG sdu_Stack[1024]; /* 4K stack */ - BOOL sdu_Enabled; - - struct sdcmd sdu_SDCmd; - struct MsgPort *sdu_MsgPort; - - BOOL sdu_Present; /* Is a device detected? */ - BOOL sdu_Valid; /* Is the device ready for IO? */ - BOOL sdu_ReadOnly; /* Is the device read-only? */ - BOOL sdu_Motor; /* TD_MOTOR state */ - ULONG sdu_ChangeNum; - - struct Library *sdu_ExecBase; - } sd_Unit[SAGASD_UNITS]; -}; - -#endif /* SAGASD_INTERN_H */ -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/sd.h b/arch/m68k-amiga/devs/sagasd2nd/sd.h deleted file mode 100644 index 3c45f4e2163..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sd.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef SAGA_SD_H -#define SAGA_SD_H -#define SAGA_SD_BASE 0xde0010 /* Base address */ -#define SAGA_SD_DATA 0x0000 /* Read as UBYTE/Write as UBYTE */ -#define SAGA_SD_CTL 0x0004 /* UWORD, Write only */ -#define SAGA_SD_CTL_NCS (1 << 0) /* nChipSelect */ -#define SAGA_SD_STAT 0x0006 /* UWORD, Read only */ -#define SAGA_SD_STAT_NCD (1 << 0) /* nCardDetect */ -#define SAGA_SD_CLK 0x000c -#define SAGA_SD_CLK_DIV(x) ((x) & 0xff) - -#define SAGA_CS_DRIVE0 0xFE -#define SAGA_CS_DRIVE1 0xFD -#define SAGA_CS_NODRIVE 0xFF - -#endif /* SAGA_SD_H */ -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/sdcmd.c b/arch/m68k-amiga/devs/sagasd2nd/sdcmd.c deleted file mode 100644 index 045f8bdf95a..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sdcmd.c +++ /dev/null @@ -1,852 +0,0 @@ -/* Raw SD interface - * - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include // For memset - -#include - -#include - -#include "sdcmd.h" - -#include "common.h" - -#include "aros/debug.h" - -#if 0 -#define sdcmd_log(sd,level,fmt,args...) \ - do { \ - if (sd->func.log) \ - sd->func.log(sd, level, "%s:%ld " fmt, __func__, (ULONG)__LINE__ ,##args); \ - } while (0) -#else -#define sdcmd_log(sd,level,fmt,args...) asm ("nop\r\n") -#endif - -#define diag(fmt,args...) sdcmd_log(sd, SDLOG_DIAG, fmt ,##args) -#define debug(fmt,args...) sdcmd_log(sd, SDLOG_DEBUG, fmt ,##args) -#define info(fmt,args...) sdcmd_log(sd, SDLOG_INFO, fmt ,##args) -#define warn(fmt,args...) sdcmd_log(sd, SDLOG_WARN, fmt ,##args) -#define error(fmt,args...) sdcmd_log(sd, SDLOG_ERROR, fmt ,##args) - -#define SDCMD_CLKDIV_SLOW 0xff -#define SDCMD_CLKDIV_FAST 0x01 -#define SDCMD_CLKDIV_FASTER 0x00 - -static UBYTE crc7(UBYTE crc, UBYTE byte) -{ - int i; - - for (i = 0; i < 8; i++, byte <<= 1) { - crc <<= 1; - if ((byte ^ crc) & 0x80) - crc ^= 0x09; - } - - crc &= 0x7f; - - return crc; -} - -#if 0 -/* Compact CRC16 */ -static UWORD crc16(UWORD crc, UBYTE byte) -{ - crc = ((UBYTE)(crc >> 8)) | ((UBYTE)crc << 8); - crc ^= byte; - crc ^= (UBYTE)(crc & 0xff) >> 4; - crc ^= crc << 12; - crc ^= (crc & 0xff) << 5; - - return crc; -} -#else -/* Table based CRC16 */ -static const UWORD crc16_ccitt_table[256] = { - 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, - 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, - 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, - 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, - 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, - 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, - 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, - 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, - 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, - 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, - 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, - 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, - 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, - 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, - 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, - 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, - 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, - 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, - 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, - 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, - 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, - 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, - 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, - 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, - 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, - 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, - 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, - 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, - 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, - 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, - 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, - 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 -}; - -static UWORD crc16(UWORD crc, UBYTE byte) -{ - return crc16_ccitt_table[(crc >> 8) ^ byte] ^ (crc << 8); -} -#endif - -static VOID sdcmd_out(struct sdcmd *sd, UBYTE data) -{ - //diag("SD_DATA <= $%02lx", data); - - Write8(sd->iobase + SAGA_SD_DATA, data); - - (void)Read8(sd->iobase + SAGA_SD_DATA); -} - -static UBYTE sdcmd_in(struct sdcmd *sd) -{ - UBYTE val; - - Write8(sd->iobase + SAGA_SD_DATA, 0xff); - val = Read8(sd->iobase + SAGA_SD_DATA); - - //diag("SD_DATA => $%02lx", val); - - return val; -} -#if 1 -static void sdcmd_ins(struct sdcmd *sd, UBYTE *buff, size_t len) -{ - if (len == 0) - return; - - /* Since the read of the SAGA_SD_DATA will stall until - * filled by the SPI, we amortize that cost by computing - * the CRC16 while waiting for the next fill. - */ - asm volatile( - " move.b #0xff,(0xDE0010) \n" - " subq.l #1,%[count] \n" - " bra 2f \n" - "1: move.b (0xDE0012),(%[buff])+ \n" - "2: dbra %[count],1b \n" - " move.b (0xDE0010),(%[buff])+ \n" - :[count]"+d"(len),[buff]"+a"(buff)::"cc"); - - return; -} -#else -static void sdcmd_ins(struct sdcmd *sd, UBYTE *buff, size_t len) -{ - UBYTE val; - ULONG dataio = sd->iobase + SAGA_SD_DATA; - - if (len == 0) - return; - - /* Since the read of the SAGA_SD_DATA will stall until - * filled by the SPI, we amortize that cost by computing - * the CRC16 while waiting for the next fill. - */ - Write8(dataio, 0xff); - for (len--; len > 0; len--, buff++) { - val = *((UBYTE*)0xde0012); - // Write8(dataio + SAGA_SD_DATA, 0xff); - *buff = val; - } - val = Read8(dataio + SAGA_SD_DATA); - *buff = val; - - return; -} -#endif - -BOOL sdcmd_present(struct sdcmd *sd) -{ - return TRUE; -} - -VOID sdcmd_select(struct sdcmd *sd, BOOL cs) -{ - UWORD val; - - //val = cs ? 0 : SAGA_SD_CTL_NCS; - val = cs ? 0 : SAGA_CS_DRIVE0; - - diag("SD_CTL => $%04lx", val); - - Write16(sd->iobase + SAGA_SD_CTL, val); - sdcmd_out(sd, 0xff); - - /* Wait for card ready */ - if (cs) { - int i; - for (i = 0; i < SDCMD_TIMEOUT; i++) { - UBYTE r1 = sdcmd_in(sd); - if (r1 == 0xff) - break; - } - } -} - -static VOID sdcmd_clkdiv(struct sdcmd *sd, UBYTE val) -{ - diag("SD_CLK => $%04lx", val); - - Write16(sd->iobase + SAGA_SD_CLK, val); -} - - -void sdcmd_send(struct sdcmd *sd, UBYTE cmd, ULONG arg) -{ - int i; - UBYTE crc; - - sdcmd_select(sd, TRUE); - - cmd = (cmd & 0x3f) | SDCMD_VALID; - - crc = crc7(0, cmd); - - sdcmd_out(sd, (cmd & 0x3f) | 0x40); - - for (i = 0; i < 4; i++, arg <<= 8) { - UBYTE byte = (arg >> 24) & 0xff; - crc = crc7(crc, byte); - - sdcmd_out(sd, byte); - } - - sdcmd_out(sd, (crc << 1) | 1); -} - -static UBYTE sdcmd_r1a(struct sdcmd *sd) -{ - UBYTE r1; - int i; - - for (i = 0; i < SDCMD_TIMEOUT; i++) { - r1 = sdcmd_in(sd); - if (!(r1 & SDERRF_TIMEOUT)) - return r1; - } - - return SDERRF_TIMEOUT; -} - -#define R1_OK(x) (((x) & ~SDERRF_IDLE) == 0) - -UBYTE sdcmd_r1(struct sdcmd *sd) -{ - UBYTE r1; - - r1 = sdcmd_r1a(sd); - sdcmd_select(sd, FALSE); - - return r1; -} - -UBYTE sdcmd_r2(struct sdcmd *sd, UBYTE *r2) -{ - UBYTE r1; - - r1 = sdcmd_r1a(sd); - if (R1_OK(r1)) - *r2 = sdcmd_in(sd); - - sdcmd_select(sd, FALSE); - - return r1; -} - -UBYTE sdcmd_r3(struct sdcmd *sd, ULONG *ocr) -{ - UBYTE r1; - ULONG r3 = 0; - int i; - - r1 = sdcmd_r1a(sd); - if (R1_OK(r1)) { - for (i = 0; i < 4; i++) { - r3 <<= 8; - r3 |= sdcmd_in(sd); - } - } - - sdcmd_select(sd, FALSE); - - debug("r3=0x%08lx", r3); - *ocr = r3; - - return r1; -} - -UBYTE sdcmd_r7(struct sdcmd *sd, ULONG *ifcond) -{ - UBYTE r1; - ULONG r7 = 0; - int i; - - r1 = sdcmd_r1a(sd); - if (R1_OK(r1)) { - for (i = 0; i < 4; i++) { - r7 <<= 8; - r7 |= sdcmd_in(sd); - } - } - - sdcmd_select(sd, FALSE); - - debug("r7=0x%08lx", r7); - *ifcond = r7; - - return r1; -} - -UBYTE sdcmd_asend(struct sdcmd *sd, UBYTE acmd, ULONG arg) -{ - UBYTE r1; - - /* Next command is an app command.. */ - sdcmd_send(sd, SDCMD_APP_CMD, 0); - - r1 = sdcmd_r1a(sd); - if (!R1_OK(r1)) { - sdcmd_select(sd, FALSE); - return r1; - } - - sdcmd_send(sd, acmd, arg); - - return 0; -} - -UBYTE sdcmd_read_packet(struct sdcmd *sd, UBYTE *buff, int len) -{ - UBYTE token = 0xfe; - UBYTE byte; - UWORD tmp; - int i; - - /* Wait for the Data Token */ - for (i = 0; i < SDCMD_TIMEOUT; i++) { - byte = sdcmd_in(sd); - if (byte == token) - break; - } - - if (i == SDCMD_TIMEOUT) { - sdcmd_select(sd, FALSE); - return SDERRF_TIMEOUT; - } - - sdcmd_ins(sd, buff, len); - - /* Read the CRC16 */ - tmp = (UWORD)sdcmd_in(sd) << 8; - tmp |= sdcmd_in(sd); - -// if (tmp != crc) -// return SDERRF_CRC; - - return 0; -} - - -UBYTE sdcmd_stop_transmission(struct sdcmd *sd) -{ - LONG crc_retry = sd->retry.read; - UBYTE r1, tmp; - int i = 0; - - do { - sdcmd_send(sd, SDCMD_STOP_TRANSMISSION, 0); - - /* Read the stuff byte */ - sdcmd_in(sd); - - /* Read response */ - r1 = sdcmd_r1a(sd); - debug("r1=$%02lx", r1); - } while ((r1 & SDERRF_CRC) && (crc_retry-- > 0)); - - /* If it's a CRC error, after our retires, just die. */ - if (r1 & SDERRF_CRC) - goto exit; - - /* Otherwise we ignore it... There is no circumstance - * where it will have meaningful information, - * and some cards put junk data in the R1 - * response. - */ - r1 = 0; - - /* Wait until not busy */ - for (i = 0; i < SDCMD_TIMEOUT; i++) { - tmp = sdcmd_in(sd); - debug("tmp=$%02lx", tmp); - if (tmp == 0xff) - break; - } - -exit: - sdcmd_select(sd, FALSE); - - return (i == SDCMD_TIMEOUT) ? SDERRF_TIMEOUT : r1; -} - -UBYTE sdcmd_write_packet(struct sdcmd *sd, UBYTE token, CONST UBYTE *buff, int len) -{ - UBYTE r1, byte; - UWORD crc; - int i; - - /* Send a spacing byte */ - sdcmd_out(sd, 0xff); - - /* Start the data packet */ - sdcmd_out(sd, token); - crc = 0; - - /* Send the block */ - for (i = 0; i < SDSIZ_BLOCK; i++, buff++) { - byte = *buff; - sdcmd_out(sd, byte); - crc = crc16(crc, byte); - } - - /* Send the CRC16, MSB first */ - sdcmd_out(sd, (crc >> 8) & 0xff); - sdcmd_out(sd, (crc >> 0) & 0xff); - - /* Read the Data Response */ - byte = sdcmd_in(sd); - if ((byte & SDDRS_VALID_MASK) != SDDRS_VALID) { - /* Terminate the read early */ - sdcmd_stop_transmission(sd); - return SDERRF_CRC; - } - - r1 = ((byte & SDDRS_CODE_MASK) == SDDRS_CODE_ACCEPTED) ? 0 : SDERRF_CRC; - debug("byte=$%02lx, r1=$%02lx", byte, r1); - - /* Wait for the idle pattern */ - /* Wait until not busy */ - for (i = 0; i < SDCMD_TIMEOUT; i++) { - UBYTE tmp = sdcmd_in(sd); - debug("ptmp = $%02lx", tmp); - if (tmp == 0xff) - break; - } - - return (i == SDCMD_TIMEOUT) ? SDERRF_TIMEOUT : r1; -} - -static ULONG bits(UBYTE *mask, int start, int len) -{ - ULONG ret = 0; - int i; - - mask -= start / 8; - - start &= 7; - - for (i = 0; i < len; i++, start++) { - if (start == 8) { - mask--; - start = 0; - } - - ret |= ((*mask >> start) & 1) << i; - } - - return ret; -} - -/* If non-zero, filled in the total size in blocks of the device - */ -UBYTE sdcmd_detect(struct sdcmd *sd) -{ - struct sdcmd_info *info = &sd->info; - UBYTE r1; - UBYTE speed; - ULONG r7; - int i; - - memset(info, 0, sizeof(*info)); - - /* First, check the DETECT bit */ - if (!sdcmd_present(sd)) - return ~0; - - /* Switch to slow speed mode */ - sdcmd_clkdiv(sd, SDCMD_CLKDIV_SLOW); - - /* Emit at least 74 clocks of idle */ - sdcmd_select(sd, TRUE); - for (i = 0; i < 10; i++) - sdcmd_out(sd, 0xff); - sdcmd_select(sd, FALSE); - - /* Stuff two idle bytes while deasserted */ - sdcmd_out(sd, 0xff); - sdcmd_out(sd, 0xff); - - /* Put into idle state */ - sdcmd_send(sd, SDCMD_GO_IDLE_STATE, 0); - r1 = sdcmd_r1(sd); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (r1) - return r1; - - /* Do SHDC detection during idle */ - sdcmd_send(sd, SDCMD_SEND_IF_COND, 0x000001aa); - r1 = sdcmd_r7(sd, &r7); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (!r1) { - /* Looks like a SDHC card? */ - if ((r7 & 0x000001ff) == 0x000001aa) { - /* Set HCS (SDHC) mode */ - sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, SDOCRF_HCS); - r1 = sdcmd_r1(sd); - /* It's ok (and expected) that we are in IDLE state */ - r1 &= ~SDERRF_IDLE; - if (r1) - return r1; - } - } - - /* Wait for card to complete idle */ - for (i = 0; i < SDCMD_IDLE_RETRY; i++) { - UBYTE err; - - /* Initiate SDC init process */ - err = sdcmd_asend(sd, SDCMD_SD_SEND_OP_COND, 0); - if (err) - return err; - - r1 = sdcmd_r1(sd); - if (!(r1 & SDERRF_IDLE)) - break; - } - - debug("r1=0x%lx", r1); - if (r1) - return r1; - - /* Enable CRC check mode */ - sdcmd_send(sd, SDCMD_CRC_ON_OFF, 1); - r1 = sdcmd_r1(sd); - if (r1) { - /* Non-fatal if this failed */ - debug("r1=0x%lx", r1); - } - - /* Check for voltage levels */ - sdcmd_send(sd, SDCMD_READ_OCR, 0); - r1 = sdcmd_r3(sd, &info->ocr); - debug("r1=0x%lx", r1); - if (r1) - return r1; - - /* Not in our voltage range */ - info("ocr=0x%08lx (vs 0x%08lx)", info->ocr, SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V); - if (!(info->ocr & (SDOCRF_MAX_3_3V | SDOCRF_MAX_3_4V))) - return SDERRF_IDLE; - - if (info) { - ULONG c_size_mult, read_bl_len, c_size; - UBYTE *csd = &info->csd[0]; - UBYTE *cid = &info->cid[0]; - - /* Get the CSD data */ - sdcmd_send(sd, SDCMD_SEND_CSD, 0); - r1 = sdcmd_r1a(sd); - debug("r1=0x%lx", r1); - if (r1) - goto exit; - - r1 = sdcmd_read_packet(sd, csd, 16); - debug("r1=0x%lx", r1); - if (r1) - goto exit; - - info("csd=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", - csd[0], csd[1], csd[2], csd[3], - csd[4], csd[5], csd[6], csd[7], - csd[8], csd[9], csd[10], csd[11], - csd[12], csd[13], csd[14], csd[15]); - - /* Get the CID data */ - sdcmd_send(sd, SDCMD_SEND_CID, 0); - r1 = sdcmd_r1a(sd); - debug("r1=%d", r1); - if (r1) - goto exit; - - r1 = sdcmd_read_packet(sd, cid, 16); - sdcmd_select(sd, FALSE); - - debug("r1=0x%lx", r1); - if (r1) - return r1; - info("cid=%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx-%02lx%02lx%02lx%02lx", - cid[0], cid[1], cid[2], cid[3], - cid[4], cid[5], cid[6], cid[7], - cid[8], cid[9], cid[10], cid[11], - cid[12], cid[13], cid[14], cid[15]); - - info->block_size = SDSIZ_BLOCK; - - if (info->ocr & SDOCRF_HCS) { - /* SDHC calculation */ - - /* Bits 68:48 of the CSD */ - c_size = bits(&csd[15], 48, 20); - - info("SDHC: c_size=%ld", c_size); - - info->blocks = (c_size + 1) * 1024; - - info->addr_shift = 0; - } else { - /* SD calculation */ - /* Bits 49:47 of the CSD */ - c_size_mult = bits(&csd[15], 47, 3); - /* Bits 83:80 of the CSD */ - read_bl_len = bits(&csd[15], 80, 4); - /* Bits 73:62 of the CSD */ - c_size = bits(&csd[15], 62, 12); - - info("SD: c_size_mult=%ld, read_bl_len=%ld, c_size=%ld", c_size_mult, read_bl_len, c_size); - - info->blocks = (1UL << (c_size_mult + read_bl_len + 2 - 9)) * (c_size + 1); - - /* Set block size */ - sdcmd_send(sd, SDCMD_SET_BLOCKLEN, info->block_size); - r1 = sdcmd_r1(sd); - if (r1) - return r1; - - info->addr_shift = 9; - } - info("blocks=%ld", info->blocks); - } - - /* Default speed mode */ - speed = SDCMD_CLKDIV_FAST; - - /* Try setting the card into high speed mode. It's possible - * to check first, but just trying to set is enough? - * - * First nibble is Function Group 1 - Access mode / Bus Speed mode; - * the only thing that applies to us in SPI mode. - */ - sdcmd_send(sd, SDCMD_SWITCH_FUNCTION, 0x80fffff1); - r1 = sdcmd_r1a(sd); - debug("r1=0x%lx", r1); - if (!r1) { - UBYTE cmd6[512/8]; - ULONG f1_sel; - - r1 = sdcmd_read_packet(sd, cmd6, sizeof(cmd6)); - sdcmd_select(sd, FALSE); - - f1_sel = bits(&cmd6[63], 376, 4); - - /* Out of all of the above, just check f1_sel to see - * if it is what we set it to. - */ - if (f1_sel == 1) - speed = SDCMD_CLKDIV_FASTER; - } - - /* Switch to high speed mode */ - sdcmd_clkdiv(sd, speed); - r1 = 0; - -exit: - sdcmd_select(sd, FALSE); - return r1; -} - -UBYTE sdcmd_read_block(struct sdcmd *sd, ULONG addr, UBYTE *buff) -{ - UBYTE r1; - LONG crc_retry = sd->retry.read; - - do { - info("read block=%ld", addr); - - /* Send the read block command */ - sdcmd_send(sd, SDCMD_READ_SINGLE_BLOCK, addr << sd->info.addr_shift); - r1 = sdcmd_r1a(sd); - if (!r1) - r1 = sdcmd_read_packet(sd, buff, SDSIZ_BLOCK); - - sdcmd_select(sd, FALSE); - - } while ((crc_retry-- > 0) && (r1 & SDERRF_CRC)); - - return r1; -} - - -UBYTE sdcmd_read_blocks(struct sdcmd *sd, ULONG addr, UBYTE *buff, int blocks) -{ - UBYTE r1; - LONG crc_retry = sd->retry.read; - - if (blocks == 1) - return sdcmd_read_block(sd, addr, buff); - - do { - info("read block=%ld, blocks=%ld", addr, blocks); - - /* Send the read block command */ - sdcmd_send(sd, SDCMD_READ_MULTIPLE_BLOCK, addr << sd->info.addr_shift); - r1 = sdcmd_r1a(sd); - if (r1) { - debug("r1=$%02lx", r1); - sdcmd_select(sd, FALSE); - continue; - } - - for (; blocks > 0; addr++, blocks--, buff += SDSIZ_BLOCK) { - r1 = sdcmd_read_packet(sd, buff, SDSIZ_BLOCK); - if (r1) { - debug("r1=$%02lx", r1); - /* Terminate the read early */ - sdcmd_stop_transmission(sd); - break; - } - - /* Reset the retry counter if we read a block */ - crc_retry = sd->retry.read; - } - - if (r1) - continue; - - /* Terminate the read */ - r1 = sdcmd_stop_transmission(sd); - } while ((r1 & SDERRF_CRC) && (crc_retry-- > 0)); - - return r1; -} - -UBYTE sdcmd_write_block(struct sdcmd *sd, ULONG addr, CONST UBYTE *buff) -{ - LONG crc_retry = sd->retry.write; - UBYTE token = 0xfe; - UBYTE r1; - - do { - info("write block=%ld", addr); - - /* Send write block command */ - sdcmd_send(sd, SDCMD_WRITE_SINGLE_BLOCK, addr << sd->info.addr_shift); - r1 = sdcmd_r1a(sd); - if (!r1) - r1 = sdcmd_write_packet(sd, token, buff, SDSIZ_BLOCK); - - sdcmd_select(sd, FALSE); - } while ((r1 & SDERRF_CRC) && (crc_retry-- > 0)); - - return r1; -} - - -UBYTE sdcmd_write_blocks(struct sdcmd *sd, ULONG addr, CONST UBYTE *buff, int blocks) -{ - LONG crc_retry = sd->retry.write; - UBYTE token = 0xfc, stop_token = 0xfd; - UBYTE tmp, r1; - int i; - - if (blocks == 1) - return sdcmd_write_block(sd, addr, buff); - - do { - info("block=%ld, blocks=%ld", addr, blocks); - - /* Send write blocks command */ - sdcmd_send(sd, SDCMD_WRITE_MULTIPLE_BLOCK, addr << sd->info.addr_shift); - r1 = sdcmd_r1a(sd); - if (r1) { - sdcmd_select(sd, FALSE); - continue; - } - - for (; blocks; addr++, blocks--, buff += SDSIZ_BLOCK) { - r1 = sdcmd_write_packet(sd, token, buff, SDSIZ_BLOCK); - debug("pr1=$%02lx", r1); - if (r1) - break; - - /* Reset the retry counter if we wrote a block */ - crc_retry = sd->retry.read; - } - - sdcmd_select(sd, TRUE); - - /* Send stop token */ - sdcmd_out(sd, stop_token); - - /* Read 'stuff' byte */ - sdcmd_in(sd); - - /* Wait until not busy */ - for (i = 0; i < SDCMD_TIMEOUT; i++) { - tmp = sdcmd_in(sd); - debug("tmp=$%02lx", tmp); - if (tmp == 0xff) - break; - } - - sdcmd_select(sd, FALSE); - - debug("i=%ld, r1=$%02lx", i, r1); - if (i == SDCMD_TIMEOUT) - r1 = SDERRF_TIMEOUT; - - } while ((r1 & SDERRF_CRC) && (crc_retry-- > 0)); - - return r1; -} - -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/sdcmd.h b/arch/m68k-amiga/devs/sagasd2nd/sdcmd.h deleted file mode 100644 index c4d831aaab6..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sdcmd.h +++ /dev/null @@ -1,164 +0,0 @@ -/* Raw SD interface - * - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef SDCMD_H -#define SDCMD_H - -#include - -#define SDSIZ_BLOCK 512 /* Block size in bytes */ - -#define SDCMD_TIMEOUT 51200 /* Times to read for new status */ -#define SDCMD_IDLE_RETRY 5000 - -#define SDERRF_TIMEOUT (1 << 7) -#define SDERRF_PARAM (1 << 6) -#define SDERRF_ADDRESS (1 << 5) -#define SDERRF_ERASESEQ (1 << 4) -#define SDERRF_CRC (1 << 3) -#define SDERRF_ILLEGAL (1 << 2) -#define SDERRF_ERASERES (1 << 1) -#define SDERRF_IDLE (1 << 0) - -#define SDOCRF_HCS (1UL << 30) /* Uses block, not byte, addressing */ -#define SDOCRF_MAX_3_6V (1UL << 23) -#define SDOCRF_MAX_3_5V (1UL << 22) -#define SDOCRF_MAX_3_4V (1UL << 21) -#define SDOCRF_MAX_3_3V (1UL << 20) -#define SDOCRF_MAX_3_2V (1UL << 19) -#define SDOCRF_MAX_3_1V (1UL << 18) -#define SDOCRF_MAX_3_0V (1UL << 17) -#define SDOCRF_MAX_2_9V (1UL << 16) -#define SDOCRF_MAX_2_8V (1UL << 15) - -/* Base commands */ -#define SDCMD_GO_IDLE_STATE 0 -#define SDCMD_SEND_OP_COND 1 -#define SDCMD_SWITCH_FUNCTION 6 -#define SDCMD_SEND_IF_COND 8 -#define SDCMD_SEND_CSD 9 -#define SDCMD_SEND_CID 10 -#define SDCMD_STOP_TRANSMISSION 12 -#define SDCMD_SET_BLOCKLEN 16 -#define SDCMD_READ_SINGLE_BLOCK 17 -#define SDCMD_READ_MULTIPLE_BLOCK 18 -#define SDCMD_WRITE_SINGLE_BLOCK 24 -#define SDCMD_WRITE_MULTIPLE_BLOCK 25 -#define SDCMD_APP_CMD 55 -#define SDCMD_READ_OCR 58 -#define SDCMD_CRC_ON_OFF 59 - -#define SDCMD_VALID 0x40 - - -/* App commands */ -#define SDCMD_SD_SEND_OP_COND 41 - -/* SD Data Response Status */ -#define SDDRS_VALID_MASK 0x11 -#define SDDRS_VALID 0x01 -#define SDDRS_CODE_MASK 0x0e -#define SDDRS_CODE_ACCEPTED 0x04 -#define SDDRS_CODE_REJECT_CRC 0x0a -#define SDDRS_CODE_REJECT_WRITE 0x0c - -/* Log levels */ -#define SDLOG_ERROR 0 /* Errors */ -#define SDLOG_WARN 1 /* Warnings */ -#define SDLOG_INFO 2 /* Information and status */ -#define SDLOG_DEBUG 3 /* Debugging */ -#define SDLOG_DIAG 4 /* All I/O transactions */ - -/* Raw SD card interface */ -struct sdcmd { - struct Node *owner; /* Owner of this structure */ - - ULONG iobase; - - struct sdcmd_retry { - LONG read; /* Number of retries to read a block */ - LONG write; /* Number of retries to write a block */ - } retry; - - struct sdcmd_info { - /* Raw OCR, CSD and CID data */ - ULONG ocr; - UBYTE csd[16]; - UBYTE cid[16]; - - /* Disk-like interface */ - ULONG block_size; - ULONG blocks; - BOOL read_only; - - /* Conversion from block to SD address */ - UBYTE addr_shift; - } info; - - /** Functions to be provided by the caller **/ - struct sdcmd_func { - /* Add to the debug log. - */ - VOID (*log)(struct sdcmd *sd, int level, const char *format, ...); - } func; -}; - -VOID sdcmd_send(struct sdcmd *sd, UBYTE cmd, ULONG arg); -UBYTE sdcmd_asend(struct sdcmd *sd, UBYTE acmd, ULONG arg); - -UBYTE sdcmd_r1(struct sdcmd *sd); -UBYTE sdcmd_r2(struct sdcmd *sd, UBYTE *r2); -UBYTE sdcmd_r3(struct sdcmd *sd, ULONG *ocr); -UBYTE sdcmd_r7(struct sdcmd *sd, ULONG *ifcond); - -UBYTE sdcmd_read_packet(struct sdcmd *sd, UBYTE *buff, int len); -UBYTE sdcmd_write_packet(struct sdcmd *sd, UBYTE token, CONST UBYTE *buff, int len); -UBYTE sdcmd_stop_transmission(struct sdcmd *sd); - -/* Is there something in the SD slot? - */ -BOOL sdcmd_present(struct sdcmd *sd); - -/* Detect and initialize the SD device - * - * Fills in the sd->info fields - */ -UBYTE sdcmd_detect(struct sdcmd *sd); - -/* NOTE: Depending on SDOCRF_HCS, you will need to use either - * SDOCRF_HCS == 0 => addr is in bytes - * or - * SDOCRF_HCS == 1 => addr is in blocks - */ -UBYTE sdcmd_read_block(struct sdcmd *sd, ULONG block, UBYTE *buff); -UBYTE sdcmd_read_blocks(struct sdcmd *sd, ULONG block, UBYTE *buff, int blocks); - -UBYTE sdcmd_write_block(struct sdcmd *sd, ULONG block, CONST UBYTE *buff); -UBYTE sdcmd_write_blocks(struct sdcmd *sd, ULONG block, CONST UBYTE *buff, int blocks); - -#endif /* SDCMD_H */ - -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/devs/sagasd2nd/sddiag.c b/arch/m68k-amiga/devs/sagasd2nd/sddiag.c deleted file mode 100644 index cb25ca0d802..00000000000 --- a/arch/m68k-amiga/devs/sagasd2nd/sddiag.c +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright (C) 2016, Jason S. McMullan - * All rights reserved. - * - * Licensed under the MIT License: - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include -#undef DEBUG - -#include -#include -#include -#include - -#include - -#include "sdcmd.h" -#include "common.h" - -#include - -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) -#endif - -struct Library *SysBase, *DOSBase; - -int DebugLevel; - -static void setBases(struct ExecBase *pSysBase, struct DosLibrary *pDOSBase) -{ - SysBase = (struct Library *)pSysBase; - DOSBase = (struct Library *)pDOSBase; -} - -static VOID sdcmd_log(struct sdcmd *sd, int level, const char *format, ...) -{ - static char buffer[1024]; - const ULONG m68k_string_sprintf = 0x16c04e75; - - if (level > DebugLevel) - return; - - RawDoFmt(format, &format+1, (VOID_FUNC)&m68k_string_sprintf, buffer); - Printf("sdcmd: %s\n", buffer); -} - -ULONG write_buffer[512 * 16 / sizeof(ULONG)]; -ULONG read_buffer[512 * 16 / sizeof(ULONG)]; - -AROS_SH6H(SDDiag , 0.10b, "SAGA SD Diagnostic\n", -AROS_SHAH(ULONG * ,IO= ,IOBASE,/K/N, 0 , "SD IO Base\n"), -AROS_SHAH(ULONG * ,P= ,PATTERN,/K/N, 0 , "Pattern for WRITE testing\n"), -AROS_SHAH(BOOL ,R= ,READ,/S, FALSE, "Perform READ test to last 16 blocks\n"), -AROS_SHAH(BOOL ,W= ,WRITE,/S, FALSE, "Perform WRITE test to last 16 blocks\n"), -AROS_SHAH(ULONG * , ,RETRY,/N, 0, "Number of CRC retries (5)\n"), -AROS_SHAH(ULONG * ,D= ,DEBUG,/N, 0, "Debug level\n") -) -{ - AROS_SHCOMMAND_INIT - - ULONG iobase = SHArg(IOBASE) ? *SHArg(IOBASE) : SAGA_SD_BASE; - ULONG pattern = SHArg(PATTERN) ? *SHArg(PATTERN) : 0x5af00000; - BOOL readTest = SHArg(READ); - BOOL writeTest = SHArg(WRITE); - ULONG retry = SHArg(RETRY) ? *SHArg(RETRY) : 5; - int i; - ULONG test_block; - UBYTE err; - struct sdcmd sd = {}; - - setBases(SysBase, DOSBase); - - //DebugLevel = SHArg(DEBUG) ? *SHArg(DEBUG) : 0; - Printf("DebugLevel: %ld\n", DebugLevel); - - sd.iobase = iobase; - sd.retry.read = retry; - sd.retry.write = retry; - sd.func.log = sdcmd_log; - - err = sdcmd_detect(&sd); - - if (!err) { - Printf("SD Card Detected on $0x%lx:\n", iobase); - Printf("Block Size: %ld\n", sd.info.block_size); - Printf("Blocks: %ld\n", sd.info.blocks); - Printf("Capacity: "); - if (sd.info.blocks < 1024*2) { - Printf("%ldK\n", (sd.info.blocks + 1) / 2); - } else if (sd.info.blocks < 1024*1024*2) { - Printf("%ldM\n", (sd.info.blocks + 1024*2-1) / 1024 / 2); - } else { - Printf("%ldG\n", (sd.info.blocks + 1024*1024*2-1) / 1024 / 1024 / 2); - } - - Printf("OCR: %08lx\n", sd.info.ocr); - Printf("CID:"); - for (i = 0; i < 16; i++) - Printf(" %02lx", sd.info.cid[i]); - Printf("\n"); - Printf("CSD:"); - for (i = 0; i < 16; i++) - Printf(" %02lx", sd.info.csd[i]); - Printf("\n"); - } else { - Printf("SD Card Detection Error: %lx\n", err); - return RETURN_FAIL; - } - - test_block = sd.info.blocks - 16; - - if (writeTest) { - for (i = 0; i < ARRAY_SIZE(write_buffer); i++) - write_buffer[i] = pattern + i; - - Printf("WRITE Test: %ld bytes, at block %ld: ", - 512, test_block); - - err = sdcmd_write_block(&sd, test_block, (UBYTE *)&write_buffer[0]); - if (err) { - Printf("FAILED WRITE, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - err = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); - if (err) { - Printf("FAILED READBACK, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - err = 0; - for (i = 0; i < 512/sizeof(ULONG); i++) { - if (read_buffer[i] != write_buffer[i]) { - if (!err) { - Printf("FAILED DATA:\n"); - } - err++; - Printf("$%04lx: $%08lx [expected $%08lx]\n", i*sizeof(ULONG), - read_buffer[i], write_buffer[i]); - } - } - if (err) - return RETURN_FAIL; - Printf("PASSED\n"); - - Printf("WRITE Test: %ld bytes, at block %ld: ", - 512*15, test_block); - - err = sdcmd_write_blocks(&sd, test_block+1, (UBYTE *)&write_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED WRITE, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - err = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED READBACK, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - err = 0; - for (i = 0; i < 15 * 512/sizeof(ULONG); i++) { - if (read_buffer[512/sizeof(ULONG) + i] != - write_buffer[512/sizeof(ULONG) + i]) { - if (!err) { - Printf("FAILED DATA:\n"); - } - err++; - Printf("$%04lx: $%08lx [expected $%08lx]\n", i*sizeof(ULONG), - read_buffer[512/sizeof(ULONG) + i], write_buffer[512/sizeof(ULONG) + i]); - } - } - if (err) - return RETURN_FAIL; - - Printf("PASSED\n"); - } - - if (readTest) { - Printf("READ Test: %ld bytes, at block %ld: ", - 512, test_block); - - err = sdcmd_read_block(&sd, test_block, (UBYTE *)&read_buffer[0]); - if (err) { - Printf("FAILED READ, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - Printf("PASSED\n"); - - Printf("READ Test: %ld bytes, at block %ld: ", - 512*15, test_block); - - err = sdcmd_read_blocks(&sd, test_block+1, (UBYTE *)&read_buffer[512/sizeof(ULONG)], 15); - if (err) { - Printf("FAILED READ, err=0x%02lx\n", err); - return RETURN_FAIL; - } - - Printf("PASSED\n"); - } - - return RETURN_OK; - - AROS_SHCOMMAND_EXIT -} - -/* vim: set shiftwidth=4 expandtab: */ diff --git a/arch/m68k-amiga/diag/diag.c b/arch/m68k-amiga/diag/diag.c index c20e57071e0..e99840ad928 100644 --- a/arch/m68k-amiga/diag/diag.c +++ b/arch/m68k-amiga/diag/diag.c @@ -1,9 +1,9 @@ /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ */ -#define DEBUG 1 +#define DEBUG 0 #include #include diff --git a/arch/m68k-amiga/exec/coldreboot.c b/arch/m68k-amiga/exec/coldreboot.c index 41454711418..f405e4bd300 100644 --- a/arch/m68k-amiga/exec/coldreboot.c +++ b/arch/m68k-amiga/exec/coldreboot.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2013, The AROS Development Team. All rights reserved. + Copyright � 1995-2013, The AROS Development Team. All rights reserved. $Id$ Desc: ColdReboot() - Reboot the computer. @@ -20,10 +20,13 @@ asm ( " .align 4\n" " .globl Exec_MagicResetCode\n" "Exec_MagicResetCode:\n" - " nop\n" - " move.l #2,%a0\n" - " reset\n" - " jmp (%a0)\n" + " nop\n " + " lea.l 0x01000000,%a0\n " + " sub.l -0x14(%a0),%a0\n " + " move.l 4(%a0),%a0\n " + " subq.l #2,%a0\n " + " reset\n " + " jmp (%a0)\n " ); @@ -36,11 +39,15 @@ AROS_LH0(void, ColdReboot, { AROS_LIBFUNC_INIT + //kprintf("COLDREBOOT"); + /* Disable interrupts, and do all the reset callbacks */ Exec_DoResetCallbacks((struct IntExecBase *)SysBase, SD_ACTION_WARMREBOOT); Supervisor((ULONG_FUNC)Exec_MagicResetCode); + //kprintf("COLDREBOOT FAILED"); + AROS_LIBFUNC_EXIT } /* ColdReboot() */ diff --git a/arch/m68k-amiga/hidd/gayle_ata/bus_class.h b/arch/m68k-amiga/hidd/gayle_ata/bus_class.h index 62eed1b9d87..e75722a3c84 100644 --- a/arch/m68k-amiga/hidd/gayle_ata/bus_class.h +++ b/arch/m68k-amiga/hidd/gayle_ata/bus_class.h @@ -5,25 +5,25 @@ struct ata_ProbedBus { struct Node atapb_Node; - UBYTE *port; - UBYTE *altport; - UBYTE *gayleirqbase; - BOOL a4000; - BOOL a500; - UBYTE doubler; + UBYTE *port; + UBYTE *altport; + UBYTE *gayleirqbase; + BOOL da; + BOOL v4; }; struct ATA_BusData { - struct ata_ProbedBus *bus; - void (*ata_HandleIRQ)(UBYTE, APTR); - APTR irqData; - struct Interrupt ideint; - UBYTE *gaylebase; - UBYTE *gayleirqbase; - UBYTE *gayleintbase; - BOOL ideintadded; - BOOL a500; + struct ata_ProbedBus *bus; + void (*ata_HandleIRQ)(UBYTE, APTR); + APTR irqData; + struct Interrupt ideint; + UBYTE *gaylebase; + UBYTE *gayleirqbase; + UBYTE *gayleintbase; + BOOL ideintadded; + BOOL da; + BOOL v4; }; struct ataBase diff --git a/arch/m68k-amiga/hidd/gayle_ata/gayleata_busclass.c b/arch/m68k-amiga/hidd/gayle_ata/gayleata_busclass.c index 9a16029c7db..d0ffc291f79 100644 --- a/arch/m68k-amiga/hidd/gayle_ata/gayleata_busclass.c +++ b/arch/m68k-amiga/hidd/gayle_ata/gayleata_busclass.c @@ -23,81 +23,6 @@ #include "bus_class.h" #include "interface_pio.h" -AROS_INTH1(IDE_Handler_A1200, struct ATA_BusData *, bus) -{ - AROS_INTFUNC_INIT - - volatile UBYTE *irqbase = bus->gayleirqbase; - UBYTE irqmask = *irqbase; - if (irqmask & GAYLE_IRQ_IDE) { - volatile UBYTE *port; - UBYTE status; - - port = bus->gaylebase; - status = port[ata_Status * 4]; - /* Clear A600/A1200 IDE interrupt. (Stupid Gayle hardware) - * Technically this should be done while interrupts are - * disabled - */ - *irqbase = 0x7c | (*irqbase & 3); - if (status & ATAF_BUSY) { - bug("[ATA:Gayle] ATA interrupt but BUSY flag set!?\n"); - return FALSE; - } - bus->ata_HandleIRQ(status, bus->irqData); - return TRUE; - } - return FALSE; - - AROS_INTFUNC_EXIT -} - - -static BOOL ata_CreateGayleInterrupt(struct ATA_BusData *bus, UBYTE num) -{ - struct Interrupt *irq = &bus->ideint; - - if(bus->a500) - { - bus->gayleintbase = (UBYTE*)GAYLE_INT_500; - } - else - { - bus->gayleintbase = (UBYTE*)GAYLE_INT_1200; - } - irq->is_Code = (APTR)IDE_Handler_A1200; - - irq->is_Node.ln_Pri = 20; - irq->is_Node.ln_Type = NT_INTERRUPT; - if(bus->a500) - irq->is_Node.ln_Name = "AT-IDE2"; - else irq->is_Node.ln_Name = "AT-IDE"; - irq->is_Data = bus; - AddIntServer(INTB_PORTS, irq); - - if (bus->gayleintbase) { - volatile UBYTE *gayleintbase = bus->gayleintbase; - *gayleintbase |= GAYLE_INT_IDE; - } - bus->ideintadded = TRUE; - - return TRUE; -} - -static void ata_RemoveGayleInterrupt(struct ATA_BusData *bus) -{ - struct Interrupt *irq = &bus->ideint; - - if (!bus->ideintadded) - return; - bus->ideintadded = FALSE; - if (bus->gayleintbase) { - volatile UBYTE *gayleintbase = bus->gayleintbase; - *gayleintbase &= ~GAYLE_INT_IDE; - } - RemIntServer(INTB_PORTS, irq); -} - /* Class Methods */ OOP_Object *GAYLEATA__Root__New(OOP_Class *cl, OOP_Object *o, struct pRoot_New *msg) @@ -105,7 +30,7 @@ OOP_Object *GAYLEATA__Root__New(OOP_Class *cl, OOP_Object *o, struct pRoot_New * struct ataBase *base = cl->UserData; struct ata_ProbedBus *bus = (struct ata_ProbedBus *)GetTagData(aHidd_DriverData, 0, msg->attrList); - D(bug("[ATA:Gayle] %s()\n", __func__);) + D(bug("[ATA:Gayle] %s()\n", __func__)); if (!bus) return NULL; @@ -114,31 +39,24 @@ OOP_Object *GAYLEATA__Root__New(OOP_Class *cl, OOP_Object *o, struct pRoot_New * if (o) { struct ATA_BusData *data = OOP_INST_DATA(cl, o); - //OOP_MethodID mDispose; data->bus = bus; - /* Signal structure ownership */ data->bus->atapb_Node.ln_Succ = (struct Node *)-1; data->gaylebase = data->bus->port; data->gayleirqbase = data->bus->gayleirqbase; - data->a500 = data->bus->a500; - //ata_CreateGayleInterrupt(data, 0); - - //mDispose = msg->mID - moRoot_New + moRoot_Dispose; - //OOP_DoSuperMethod(cl, o, &mDispose); + data->da = data->bus->da; + data->v4 = data->bus->v4; } - D(bug("[ATA:Gayle] %s: Instance @ %p\n", __func__, o);) + D(bug("[ATA:Gayle] %s: Instance @ %p\n", __func__, o)); return o; } void GAYLEATA__Root__Dispose(OOP_Class *cl, OOP_Object *o, OOP_Msg msg) { - //struct ataBase *base = cl->UserData; struct ATA_BusData *data = OOP_INST_DATA(cl, o); - D(bug("[ATA:Gayle] %s()\n", __func__);) + D(bug("[ATA:Gayle] %s()\n", __func__)); - ata_RemoveGayleInterrupt(data); FreeVec(data->bus); OOP_DoSuperMethod(cl, o, msg); @@ -147,10 +65,9 @@ void GAYLEATA__Root__Dispose(OOP_Class *cl, OOP_Object *o, OOP_Msg msg) void GAYLEATA__Root__Get(OOP_Class *cl, OOP_Object *o, struct pRoot_Get *msg) { struct ataBase *base = cl->UserData; - //struct ATA_BusData *data = OOP_INST_DATA(cl, o); ULONG idx; - D(bug("[ATA:Gayle] %s()\n", __func__);) + D(bug("[ATA:Gayle] %s()\n", __func__)); Hidd_ATABus_Switch(msg->attrID, idx) { @@ -177,7 +94,7 @@ void GAYLEATA__Root__Set(OOP_Class *cl, OOP_Object *o, struct pRoot_Set *msg) struct TagItem *tstate = msg->attrList; struct TagItem *tag; - D(bug("[ATA:Gayle] %s()\n", __func__);) + D(bug("[ATA:Gayle] %s()\n", __func__)); while ((tag = NextTagItem(&tstate))) { @@ -203,21 +120,16 @@ APTR GAYLEATA__Hidd_ATABus__GetPIOInterface(OOP_Class *cl, OOP_Object *o, OOP_Ms struct ATA_BusData *data = OOP_INST_DATA(cl, o); struct pio_data *pio; - D(bug("[ATA:Gayle] %s()\n", __func__);) + D(bug("[ATA:Gayle] %s()\n", __func__)); pio = (struct pio_data *)OOP_DoSuperMethod(cl, o, msg); if (pio) { pio->port = data->bus->port; pio->altport = data->bus->altport; - pio->dataport = (UBYTE*)(((ULONG)pio->port) & ~3); - pio->a500 = data->bus->a500; - /* - * (A600/A1200) Data port is in a shadow bank of gayle (offset of 0x2000). - * This shadow bank is for 16/32-bit data transfers, while the - * other one is much slower due to 8-bit transfers, only. - */ - pio->dataport = (UBYTE*)(((ULONG)pio->port) + 0x2000); + pio->da = data->bus->da; + pio->v4 = data->bus->v4; + pio->dataport = (UBYTE*)(((ULONG)pio->port) + 0x2000); } return pio; @@ -225,7 +137,5 @@ APTR GAYLEATA__Hidd_ATABus__GetPIOInterface(OOP_Class *cl, OOP_Object *o, OOP_Ms void GAYLEATA__Hidd_ATABus__Shutdown(OOP_Class *cl, OOP_Object *o, OOP_Msg msg) { - //struct ATA_BusData *data = OOP_INST_DATA(cl, o); - OOP_DoSuperMethod(cl, o, msg); } diff --git a/arch/m68k-amiga/hidd/gayle_ata/interface_pio.c b/arch/m68k-amiga/hidd/gayle_ata/interface_pio.c index 194b602a001..678fc827092 100644 --- a/arch/m68k-amiga/hidd/gayle_ata/interface_pio.c +++ b/arch/m68k-amiga/hidd/gayle_ata/interface_pio.c @@ -29,56 +29,99 @@ static UBYTE ata_in(struct pio_data *data, UWORD offset) return v; } - -static void ata_outsl(struct pio_data *data, APTR address, ULONG count) +static void ata_outsw(struct pio_data *data, APTR address, ULONG count) // Write 16-Bit Mode (TODO: Split in $DA/$DD) { - volatile ULONG *addr = (ULONG*)data->dataport; + volatile UWORD *addr = (UWORD*)data->dataport; + + asm volatile( + "1: move.w (%[address])+,(%[port]) \n" + " move.w (%[address])+,(%[port]) \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 2),[address]"a"(address),[port]"a"(addr)); +} - if(data->a500) +static void ata_outsl(struct pio_data *data, APTR address, ULONG count) // Write 32-Bit Mode (Examine if Move16 maybe also can be used? - see Read 32-Bit) { - asm volatile( -"1: move.l (%[address])+,(0xda2000) \n" -" move.l (%[address])+,(0xda2000) \n" -" subq.l #1,%[count] \n" -" bnes 1b \n" - ::[count]"d"(count >> 3),[address]"a"(address),[port]"a"(addr)); - } - else + volatile ULONG *addr = (ULONG*)data->dataport; + + if(data->v4) { - asm volatile( -"1: move.l (%[address])+,(0xdd2000) \n" -" move.l (%[address])+,(0xdd2000) \n" -" subq.l #1,%[count] \n" -" bnes 1b \n" - ::[count]"d"(count >> 3),[address]"a"(address),[port]"a"(addr)); + if(data->da) + { + asm volatile( + "1: move.l (%[address])+,(0xda2000) \n" + " move.l (%[address])+,(0xda2000) \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 3),[address]"a"(address),[port]"a"(addr)); + } + else + { + asm volatile( + "1: move.l (%[address])+,(0xdd2000) \n" + " move.l (%[address])+,(0xdd2000) \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 3),[address]"a"(address),[port]"a"(addr)); + } + } else { + volatile UWORD *addr = (UWORD*)data->dataport; + + asm volatile( + "1: move.w (%[address])+,(%[port]) \n" + " move.w (%[address])+,(%[port]) \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 2),[address]"a"(address),[port]"a"(addr)); } - } +static void ata_insw(struct pio_data *data, APTR address, ULONG count) +{ + volatile UWORD *addr = (UWORD*)data->dataport; + asm volatile( +"1: move.w (%[port]),(%[address])+ \n" +" move.w (%[port]),(%[address])+ \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 2),[address]"a"(address),[port]"a"(addr)); +} static void ata_insl(struct pio_data *data, APTR address, ULONG count) { volatile ULONG *addr = (ULONG*)data->dataport; - if(data->a500) - { - asm volatile( -" bra 2f \n" -"1: \n" -" move16 0x00da6000,(%[address])+ \n" -" move16 0x00da6000,(%[address])+ \n" -"2: dbra %[count],1b \n" - ::[count]"d"(count >> 5),[address]"a"(address)); - } - else + if(data->v4) { - asm volatile( -" bra 2f \n" -"1: \n" -" move16 0x00dd6000,(%[address])+ \n" -" move16 0x00dd6000,(%[address])+ \n" -"2: dbra %[count],1b \n" - ::[count]"d"(count >> 5),[address]"a"(address)); + if(data->da) + { + asm volatile( + " bra 2f \n" + "1: \n" + " move16 0x00da6000,(%[address])+ \n" + " move16 0x00da6000,(%[address])+ \n" + "2: dbra %[count],1b \n" + ::[count]"d"(count >> 5),[address]"a"(address)); + } + else + { + asm volatile( + " bra 2f \n" + "1: \n" + " move16 0x00dd6000,(%[address])+ \n" + " move16 0x00dd6000,(%[address])+ \n" + "2: dbra %[count],1b \n" + ::[count]"d"(count >> 5),[address]"a"(address)); + } + } else { + volatile UWORD *addr = (UWORD*)data->dataport; + asm volatile( +"1: move.w (%[port]),(%[address])+ \n" +" move.w (%[port]),(%[address])+ \n" + " subq.l #1,%[count] \n" + " bnes 1b \n" + ::[count]"d"(count >> 2),[address]"a"(address),[port]"a"(addr)); } } @@ -91,8 +134,8 @@ const APTR bus_FuncTable[] = const APTR pio_FuncTable[] = { - ata_outsl, - ata_insl, + ata_outsw, + ata_insw, ata_outsl, ata_insl, (APTR *)-1 diff --git a/arch/m68k-amiga/hidd/gayle_ata/interface_pio.h b/arch/m68k-amiga/hidd/gayle_ata/interface_pio.h index 7049ccbf2a3..4ee3ccf40a3 100644 --- a/arch/m68k-amiga/hidd/gayle_ata/interface_pio.h +++ b/arch/m68k-amiga/hidd/gayle_ata/interface_pio.h @@ -4,35 +4,26 @@ #include #include -/* - * Standard Amiga Gayle Definitions - */ -#if VAMPIRECARDSERIES==2 -#define GAYLE_BASE_1200 0xda0000 /* 0xda0000.W, 0xda0004.B, 0xda0008.B ... */ -#define GAYLE_IRQ_1200 0xda9000 -#define GAYLE_INT_1200 0xdaa000 -#else -#define GAYLE_BASE_1200 0xdd0000 /* 0xdd0000.W, 0xdd0004.B, 0xdd0008.B ... */ -#define GAYLE_IRQ_1200 0xdd9000 -#define GAYLE_INT_1200 0xdda000 -#endif - -#define GAYLE_BASE_4000 0xdd2022 /* 0xdd2020.W, 0xdd2026.B, 0xdd202a.B ... (argh!) */ -#define GAYLE_IRQ_4000 0xdd3020 - -#define GAYLE_BASE_500 0xda0000 /* Let's call it A500 even if it's used in others as well */ -#define GAYLE_IRQ_500 0xda9000 -#define GAYLE_INT_500 0xdaa000 - -#define GAYLE_IRQ_IDE 0x80 -#define GAYLE_INT_IDE 0x80 + +//Standard Amiga Gayle Definitions +#define GAYLE_BASE_DD 0xdd0000 +#define GAYLE_IRQ_DD 0xdd9000 +#define GAYLE_INT_DD 0xdda000 + +#define GAYLE_BASE_DA 0xda0000 +#define GAYLE_IRQ_DA 0xda9000 +#define GAYLE_INT_DA 0xdaa000 + +#define GAYLE_IRQ_IDE 0x80 +#define GAYLE_INT_IDE 0x80 struct pio_data { - UBYTE *dataport; - UBYTE *port; - UBYTE *altport; - BOOL a500; + UBYTE *dataport; + UBYTE *port; + UBYTE *altport; + BOOL da; + BOOL v4; }; extern const APTR bus_FuncTable[]; diff --git a/arch/m68k-amiga/hidd/gayle_ata/probe.c b/arch/m68k-amiga/hidd/gayle_ata/probe.c index c2b1dc3101a..da5192d57af 100644 --- a/arch/m68k-amiga/hidd/gayle_ata/probe.c +++ b/arch/m68k-amiga/hidd/gayle_ata/probe.c @@ -29,104 +29,127 @@ #include "bus_class.h" #include "interface_pio.h" -//#define ENABLE_ATAPOWERFLYER - - - -static UBYTE *getport(struct ata_ProbedBus *ddata, int a500) +#if APOLLO_DEBUG +#define DEBUG 1 +#else +#define DEBUG 0 +#endif + +#if DEBUG +// use #define DERROR(x) x for error output +#define DERROR(x) x +// add #define DINIT(x) x for output on Initialization routines +#define DINIT(x) x +// add #define DD(x) x for regular level debug output +#define DD(x) +// add #define DDD(x) x for output on low level routines +#define DDD(x) +#else +#define DERROR(x) +#define DINIT(x) +#define DD(x) +#define DDD(x) +#endif + +#define VREG_BOARD_Unknown 0x00 /* Unknown */ +#define VREG_BOARD_V600 0x01 /* Vampire V2 V600(+), for A600 */ +#define VREG_BOARD_V500 0x02 /* Vampire V2 V500(+), for A500 */ +#define VREG_BOARD_V4FB 0x03 /* Apollo V4 FireBird, for A500 */ +#define VREG_BOARD_V4ID 0x04 /* Apollo V4 IceDrake, for A1200 */ +#define VREG_BOARD_V4SA 0x05 /* Apollo V4 Standalone */ +#define VREG_BOARD_V1200 0x06 /* Vampire V2 V1200, for A1200 */ +#define VREG_BOARD_V4MC 0x07 /* Apollo V4 Manticore, for A600 */ +#define VREG_BOARD_Future 0x08 /* Unknow */ + +static UBYTE *getport(struct ata_ProbedBus *ddata, int buscounter) { volatile struct Custom *custom = (struct Custom*)0xdff000; - UBYTE id, status1, status2; + UBYTE status1, status2; volatile UBYTE *port, *altport; struct GfxBase *gfx; int retrynum = 0; struct GayleAdr {unsigned short a;}; - struct GayleAdr *ga = (struct GayleAdr *)0xda0018; - struct GayleAdr *gd = (struct GayleAdr *)0xdd0018; - struct GayleAdr *ca = (struct GayleAdr *)0xda1010; - struct GayleAdr *cd = (struct GayleAdr *)0xdd1010; - struct GayleAdr *cmda = (struct GayleAdr *)0xda101C; - struct GayleAdr *cmdd = (struct GayleAdr *)0xdd101C; - struct Board {UWORD type;}; - struct Board *MyBoard = (struct Board *)0xDFF3FC; - /* Is the following correct or can we do it more intelligent? */ - if(a500 > 0) - { - // A500 only has one controller - if((MyBoard->type == 0x02)||(MyBoard->type == 0x03)) - return 0; - ga->a = 0x0; - cmda->a = 0x10; - ca->a = 0x10; - if(ca->a != 0x10) return 0; // no hardware? - ca->a = 0x34; - if(ca->a != 0x34) return 0; // no hardware? - if((ga->a & 0xFF) == 0xFF) return 0; - } - else - { - gd->a = 0x0; - cd->a = 0x10; - cmdd->a = 0x10; - if(cd->a != 0x10) return 0; // no hardware? - cd->a = 0x34; - if(cd->a != 0x34) return 0; // no hardware? - if((gd->a & 0xFF ) == 0xFF) return 0; - } + struct GayleAdr *ga = (struct GayleAdr *)0xda0018; + struct GayleAdr *gd = (struct GayleAdr *)0xdd0018; + struct GayleAdr *ca = (struct GayleAdr *)0xda1010; + struct GayleAdr *cd = (struct GayleAdr *)0xdd1010; + struct GayleAdr *cmda = (struct GayleAdr *)0xda101C; + struct GayleAdr *cmdd = (struct GayleAdr *)0xdd101C; + UWORD ApolloBoardID = *(volatile UWORD *)0xdff3fc; + ApolloBoardID = ApolloBoardID >> 8; + + DINIT(bug("[ATA:Probe] BusNumber = %01d | ApolloBoardID = %d\n", buscounter, ApolloBoardID);) + port = NULL; gfx = (struct GfxBase*)TaggedOpenLibrary(TAGGEDOPEN_GRAPHICS); Disable(); - if(a500 > 0) + if(buscounter == 0) { - port = (UBYTE*)GAYLE_BASE_500; - ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_500; - ddata->a500 = TRUE; + // V4-ID and V4-MC have mainboard native IDE on $DA, V2-500, V2-600, V2-1200, V4-FB and V4-SA have Fast-IDE Gayle on $DA + { + port = (UBYTE*)GAYLE_BASE_DA; + ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_DA; + ddata->da = TRUE; + if((ApolloBoardID == VREG_BOARD_V500) + ||(ApolloBoardID == VREG_BOARD_V600) + ||(ApolloBoardID == VREG_BOARD_V1200) + ||(ApolloBoardID == VREG_BOARD_V4FB) + ||(ApolloBoardID == VREG_BOARD_V4SA)) + { + ddata->v4 = TRUE; + DINIT(bug("[ATA:Probe] Port = GAYLE_BASE_DA (V4 Fast-IDE)\n");) + } else { + ddata->v4 = FALSE; + DINIT(bug("[ATA:Probe] Port = GAYLE_BASE_DA (Native IDE)\n");) + } + } + } else { + // V4-ID and V4-MC have Fast-IDE Gayle on $DD + if((ApolloBoardID == VREG_BOARD_V4ID) + ||(ApolloBoardID == VREG_BOARD_V4MC)) + { + port = (UBYTE*)GAYLE_BASE_DD; + ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_DD; + ddata->da = FALSE; + ddata->v4 = TRUE; + DINIT(bug("[ATA:Probe] Port = GAYLE_BASE_DD (V4 Fast-IDE)\n");) + } } - else - { - port = (UBYTE*)GAYLE_BASE_1200; - ddata->gayleirqbase = (UBYTE*)GAYLE_IRQ_1200; - ddata->a500 = FALSE; - } Enable(); CloseLibrary((struct Library*)gfx); - D(bug("[ATA:Gayle] GayleID : %02x\n", id);) + if(port == NULL) + { + DERROR(bug("[ATA:Probe] No Gayle IDE port @ %08x\n", (ULONG)port & ~3);) + return NULL; + } ddata->port = (UBYTE*)port; - - D(bug("[ATA:Gayle] Possible Gayle IDE port @ %08x\n", (ULONG)port & ~3);) altport = port + 0x1010; - ddata->altport = (UBYTE*)altport; -RETRY: - Disable(); port[ata_DevHead * 4] = ATAF_ERROR; - /* If nothing connected, we get back what we wrote, ATAF_ERROR set */ status1 = port[ata_Status * 4]; port[ata_DevHead * 4] = ATAF_DATAREQ; status2 = port[ata_Status * 4]; port[ata_DevHead * 4] = 0; Enable(); - D(bug("[ATA:Gayle] Status=%02x,%02x\n", status1, status2);) - // BUSY and DRDY both active or ERROR/DATAREQ = no drive(s) = do not install driver - if ( (((status1 | status2) & (ATAF_BUSY | ATAF_DRDY)) == (ATAF_BUSY | ATAF_DRDY)) - || ((status1 | status2) & (ATAF_ERROR | ATAF_DATAREQ))) - { - retrynum++; - if(retrynum == 10) return NULL; - goto RETRY; - - //D(bug("[ATA:Gayle] No Devices detected\n");) - //return NULL; - } - - /* we may have connected drives */ + DINIT(bug("[ATA:Probe] Status=%02x,%02x\n", status1, status2);) + +RETRY: + + if ((((status1 | status2) & (ATAF_BUSY | ATAF_DRDY)) == (ATAF_BUSY | ATAF_DRDY)) || ((status1 | status2) & (ATAF_ERROR | ATAF_DATAREQ))) + { + if(retrynum++ < 10) goto RETRY; + + DERROR(bug("[ATA:Probe] No Devices detected\n");) + return NULL; + } + return (UBYTE*)port; } @@ -135,42 +158,35 @@ static int gayle_bus_Scan(struct ataBase *base) struct ata_ProbedBus *probedbus; OOP_Class *busClass = base->GayleBusClass; - for(int i=0; i<2; i++) + DINIT(bug("[ATA:Probe] Starting Gayle Bus Scan\n");) + + for(int buscounter=0; buscounter<2; buscounter++) { - struct TagItem ata_tags[] = { - {aHidd_Name , (IPTR)"ata_gayle.hidd" }, - {aHidd_HardwareName , 0 }, -#define ATA_TAG_HARDWARENAME 1 - {TAG_DONE , 0 } + {aHidd_Name , (IPTR)"ata_gayle.hidd" }, + {aHidd_HardwareName , (IPTR)"Amiga Gayle IDE Controller $DA" }, + {TAG_DONE , 0 } }; probedbus = AllocVec(sizeof(struct ata_ProbedBus), MEMF_ANY | MEMF_CLEAR); - if (probedbus && getport(probedbus, i)) { + if (probedbus && getport(probedbus, buscounter)) + { OOP_Object *ata; - if(i == 0) + if(buscounter == 1) { - if (probedbus->doubler == 0) - ata_tags[ATA_TAG_HARDWARENAME].ti_Data = (IPTR)"Amiga(tm) Gayle IDE Controller"; - else - ata_tags[ATA_TAG_HARDWARENAME].ti_Data = (IPTR)"Amiga(tm) Gayle IDE Controller + Port Doubler"; - } - else - { - if (probedbus->doubler == 0) - ata_tags[ATA_TAG_HARDWARENAME].ti_Data = (IPTR)"Amiga(tm) Gayle IDE Controller 2"; - else - ata_tags[ATA_TAG_HARDWARENAME].ti_Data = (IPTR)"Amiga(tm) Gayle IDE Controller 2 + Port Doubler"; + ata_tags[1].ti_Data = (IPTR)"ata_gayle2.hidd"; + ata_tags[1].ti_Data = (IPTR)"Amiga Gayle IDE Controller $DD"; } ata = HW_AddDriver(base->storageRoot, base->ataClass, ata_tags); + DINIT(bug("[ATA:Probe] Added: %s\n", ata_tags[1].ti_Data);) + if (ata) { struct TagItem attrs[] = { {aHidd_Name , (IPTR)"ata_gayle.hidd" }, - {aHidd_HardwareName , 0 }, - #define BUS_TAG_HARDWARENAME 1 + {aHidd_HardwareName , (IPTR)"Gayle IDE Bus $DA" }, {aHidd_DriverData , (IPTR)probedbus }, {aHidd_ATABus_PIODataSize , sizeof(struct pio_data) }, {aHidd_ATABus_BusVectors , (IPTR)bus_FuncTable }, @@ -178,51 +194,31 @@ static int gayle_bus_Scan(struct ataBase *base) {aHidd_Bus_KeepEmpty , FALSE }, {TAG_DONE , 0 } }; - if(i == 1) + + if(buscounter == 1) + { attrs[0].ti_Data = (IPTR)"ata_gayle2.hidd"; - + attrs[1].ti_Data = (IPTR)"Gayle IDE Bus $DD"; + } + OOP_Object *bus; - /* - * We use this field as ownership indicator. - * The trick is that HW_AddDriver() fails if either object creation fails - * or subsystem-side setup fails. In the latter case our object will be - * disposed. - * We need to know whether OOP_DisposeObject() or we should deallocate - * this structure on failure. - */ probedbus->atapb_Node.ln_Succ = NULL; - /* - * Check if we have a FastATA adaptor - */ - if(i == 0) - attrs[BUS_TAG_HARDWARENAME].ti_Data = (IPTR)"Gayle IDE Channel"; - else attrs[BUS_TAG_HARDWARENAME].ti_Data = (IPTR)"Gayle IDE Channel 2"; - - bus = HIDD_StorageController_AddBus(ata, busClass, attrs); - // Do not exit, we could have more controllers - // if (bus) - // return TRUE; - - D(bug("[ATA:Gayle] Failed to create object for device IO: %x:%x IRQ: %x\n", - probedbus->port, probedbus->altport, probedbus->gayleirqbase);) - - /* - * Free the structure only upon object creation failure! - * In case of success it becomes owned by the driver object! - * Edit: Can we really free it yet? We are collecting controllers. Please enable the two lines if sure. - */ - // if (!probedbus->atapb_Node.ln_Succ) - // FreeVec(probedbus); - // return TRUE; + if (bus) + { + DINIT(bug("[ATA:Probe] Added: %s\n", attrs[1].ti_Data);) + return TRUE; + } + DERROR(bug("[ATA:Probe] Failed to create object for device IO: %x:%x IRQ: %x\n", probedbus->port, probedbus->altport, probedbus->gayleirqbase);) + if (!probedbus->atapb_Node.ln_Succ) FreeVec(probedbus); + return TRUE; } } FreeVec(probedbus); } - return TRUE; } diff --git a/arch/m68k-amiga/kernel/romsupport.c b/arch/m68k-amiga/kernel/romsupport.c index 2fc4dfefb0f..542c251e24c 100644 --- a/arch/m68k-amiga/kernel/romsupport.c +++ b/arch/m68k-amiga/kernel/romsupport.c @@ -1,5 +1,5 @@ /* - Copyright 2019, The AROS Development Team. All rights reserved. + Copyright � 2019, The AROS Development Team. All rights reserved. $Id$ */ @@ -64,25 +64,27 @@ static int AMiGAROMSupport_Init(struct KernelBase *KernelBase) D(bug("[Kernel:Am68k] %s: platformdata @ 0x%p\n", __func__, pd);) + D(bug("ApolloOS Serial Debug Enabled\n");) + id = (UBYTE)ReadGayle(); if ((id > 0) && AMiGAROM_IsValid((APTR)0xA80000) && !AMiGAROM_MatchWords((APTR)0xA80000, (APTR)0xF80000)) { - bug("ROMInfo: 2MiB ROM detected\n"); + D(bug("ROMInfo: 2MiB ROM detected\n");) romsize = ROMSIZE2MB; imgcnt = 4; } else if (AMiGAROM_IsValid((APTR)0xE00000) && !AMiGAROM_MatchWords((APTR)0xE00000, (APTR)0xF80000)) { - bug("ROMInfo: 1MiB ROM detected\n"); + D(bug("ROMInfo: 1MiB ROM detected\n");) romsize = ROMSIZE1MB; imgcnt = 2; } else { - bug("ROMInfo: 512KiB ROM detected\n"); + D(bug("ROMInfo: 512KiB ROM detected\n");) romsize = ROMSIZE512; imgcnt = 2; } @@ -154,37 +156,33 @@ static int AMiGAROMSupport_Init(struct KernelBase *KernelBase) } APTR physaddr; - bug("ROMInfo: ROM region(s)..\n"); + D(bug("ROMInfo: ROM region(s)..\n");) switch (romsize) { case ROMSIZE2MB: { physaddr = KrnVirtualToPhysical((APTR)0xA80000); - bug("ROMInfo: 0x%08x - 0x%08x", 0xA80000, 0xA80000 + (romsize / imgcnt) - 1); - if (physaddr != (APTR)0xA80000) - bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1); - bug("\n"); + //D(bug("ROMInfo: 0x%08x - 0x%08x", 0xA80000, 0xA80000 + (romsize / imgcnt) - 1);) + //if (physaddr != (APTR)0xA80000) D(bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1);) + //D(bug("\n");) physaddr = KrnVirtualToPhysical((APTR)0xB00000); - bug("ROMInfo: 0x%08x - 0x%08x", 0xB00000, 0xB00000 + (romsize / imgcnt) - 1); - if (physaddr != (APTR)0xB00000) - bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1); - bug("\n"); + //D(bug("ROMInfo: 0x%08x - 0x%08x", 0xB00000, 0xB00000 + (romsize / imgcnt) - 1);) + //if (physaddr != (APTR)0xB00000) D(bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1);) + //D(bug("\n");) } case ROMSIZE1MB: { physaddr = KrnVirtualToPhysical((APTR)0xE00000); - bug("ROMInfo: 0x%08x - 0x%08x", 0xE00000, 0xE00000 + (romsize / imgcnt) - 1); - if (physaddr != (APTR)0xE00000) - bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1); - bug("\n"); + //D(bug("ROMInfo: 0x%08x - 0x%08x", 0xE00000, 0xE00000 + (romsize / imgcnt) - 1);) + //if (physaddr != (APTR)0xE00000) D(bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1);) + //D(bug("\n");) } case ROMSIZE512: { physaddr = KrnVirtualToPhysical((APTR)0xF80000); - bug("ROMInfo: 0x%08x - 0x%08x", 0xF80000, 0xF80000 + (romsize / imgcnt) - 1); - if (physaddr != (APTR)0xF80000) - bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1); - bug("\n"); + //D(bug("ROMInfo: 0x%08x - 0x%08x", 0xF80000, 0xF80000 + (romsize / imgcnt) - 1);) + //if (physaddr != (APTR)0xF80000) D(bug("@ 0x%08x - 0x%08x", physaddr, (IPTR)physaddr + (romsize / imgcnt) - 1);) + //D(bug("\n");) } } return TRUE; diff --git a/arch/m68k-amiga/romboot/romboot.c b/arch/m68k-amiga/romboot/romboot.c index bfc45c6724e..dfce14b42ec 100644 --- a/arch/m68k-amiga/romboot/romboot.c +++ b/arch/m68k-amiga/romboot/romboot.c @@ -1,9 +1,13 @@ /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ */ +#if APOLLO_DEBUG #define DEBUG 1 +#else +#define DEBUG 0 +#endif #include #include diff --git a/bin/Sources/.binutils-2.32-fetched b/bin/Sources/.binutils-2.32-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/Sources/.gcc-6.5.0-fetched b/bin/Sources/.gcc-6.5.0-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/Sources/.gmp-6.1.2-fetched b/bin/Sources/.gmp-6.1.2-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/Sources/.isl-0.16.1-fetched b/bin/Sources/.isl-0.16.1-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/Sources/.mpc-1.1.0-fetched b/bin/Sources/.mpc-1.1.0-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/bin/Sources/.mpfr-4.0.2-fetched b/bin/Sources/.mpfr-4.0.2-fetched new file mode 100644 index 00000000000..e69de29bb2d diff --git a/compiler/include/exec/errors.h b/compiler/include/exec/errors.h index d05db2ccf48..f63282e9d3f 100644 --- a/compiler/include/exec/errors.h +++ b/compiler/include/exec/errors.h @@ -2,7 +2,7 @@ #define EXEC_ERRORS_H /* - Copyright 1995-2001, The AROS Development Team. All rights reserved. + Copyright � 1995-2001, The AROS Development Team. All rights reserved. $Id$ Desc: IO errors @@ -16,5 +16,6 @@ #define IOERR_BADADDRESS (-5) #define IOERR_UNITBUSY (-6) #define IOERR_SELFTEST (-7) +#define IOERR_DIE_REBOOT (-8) #endif /* EXEC_ERRORS_H */ diff --git a/compiler/include/exec/types.h b/compiler/include/exec/types.h index 24ee90a6518..50e6089cbc1 100644 --- a/compiler/include/exec/types.h +++ b/compiler/include/exec/types.h @@ -2,7 +2,7 @@ #define EXEC_TYPES_H /* - Copyright 1995-2001, The AROS Development Team. All rights reserved. + Copyright � 1995-2001, The AROS Development Team. All rights reserved. $Id$ Desc: Data typing - must be included before any other file. @@ -34,8 +34,8 @@ /* Distinguish between 64 and 32bit systems */ #ifndef __typedef_LONG # define __typedef_LONG - typedef signed AROS_32BIT_TYPE LONG; /* signed 32-bit value */ - typedef unsigned AROS_32BIT_TYPE ULONG; /* unsigned 32-bit value */ + typedef signed int LONG; /* signed 32-bit value */ + typedef unsigned int ULONG; /* unsigned 32-bit value */ #endif #ifndef __typedef_QUAD diff --git a/config/config.h.in b/config/config.h.in index 23d7c9400f5..627dc8e36ec 100644 --- a/config/config.h.in +++ b/config/config.h.in @@ -24,7 +24,7 @@ #define AROS_NOMINAL_HEIGHT @aros_nominal_height@ #define AROS_NOMINAL_DEPTH @aros_nominal_depth@ -#define AROS_SERIAL_DEBUG @aros_serial_debug@ +#define APOLLO_DEBUG @apollo_debug@ #define AROS_PALM_DEBUG_HACK @aros_palm_debug_hack@ diff --git a/configure b/configure index 2cc759b71f7..7932a2dc66b 100755 --- a/configure +++ b/configure @@ -687,7 +687,7 @@ target_grub2_version aros_enable_mmu ENABLE_EXECSMP PLATFORM_EXECSMP -aros_serial_debug +apollo_debug aros_dist_amigadate aros_dist_date aros_dist_version @@ -3524,7 +3524,7 @@ printf "%s\n" "$msg_result" >&6; } aros_dist_name=AROS aros_dist_version=ABIv1 -aros_dist_date=$(date +%Y-%m-%d) +aros_dist_date=$(date +%d-%m-%Y) aros_dist_amigadate=$(date +"%-d.%-m.%Y") aros_nominal_width=800 @@ -8942,7 +8942,7 @@ aros_cxx_libs= aros_target_genmap="-Wl,-Map -Xlinker" # Native flavour stuff -aros_serial_debug="0" +apollo_debug="0" # Palm native flavour stuff aros_palm_debug_hack="0" @@ -9965,7 +9965,6 @@ case "$target_os" in *x86_64*) PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" aros_target_cpu="x86_64" - aros_serial_debug=1 if test "$aros_object_format" = "" ; then aros_object_format="elf_x86_64" fi @@ -16671,27 +16670,14 @@ else $as_nop serial_debug=none fi -if test "$aros_serial_debug" = 0 ; then - serial_debug_forced="" - if test "$serial_debug" = "yes" ; then - serial_debug="1" - fi - if test "$serial_debug" = "no" ; then - serial_debug="none" - fi -else - serial_debug_forced="(forced)" - serial_debug=$aros_serial_debug +if test "$serial_debug" = "yes" ; then + apollo_debug="1" fi -if test "$serial_debug" != "none" ; then - aros_serial_debug=$serial_debug - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $serial_debug_forced on port $serial_debug" >&5 -printf "%s\n" "$serial_debug_forced on port $serial_debug" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } +if test "$serial_debug" = "no" ; then + apollo_debug="none" fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether palm debug hack is enabled" >&5 printf %s "checking whether palm debug hack is enabled... " >&6; } # Check whether --enable-palm_debug_hack was given. diff --git a/configure.in b/configure.in index efe2ee2076a..ca0606b63d4 100644 --- a/configure.in +++ b/configure.in @@ -799,7 +799,7 @@ aros_cxx_libs= aros_target_genmap="-Wl,-Map -Xlinker" # Native flavour stuff -aros_serial_debug="0" +apollo_serial_debug="0" # Palm native flavour stuff aros_palm_debug_hack="0" @@ -1378,6 +1378,7 @@ case "$target_os" in AC_MSG_ERROR("Unknown CPU for Linux -- $target_cpu") ;; esac + case "$aros_target_variant" in android) @@ -1441,7 +1442,6 @@ case "$target_os" in *x86_64*) PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" aros_target_cpu="x86_64" - aros_serial_debug=1 if test "$aros_object_format" = "" ; then aros_object_format="elf_x86_64" fi @@ -2020,42 +2020,6 @@ case "$target_os" in esac ;; - mac*) - aros_target_arch="mac" - aros_shared_default="no" - case "$target_cpu" in - *m68k*) - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="mac68knative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k" - aros_isa_flags="$""(ISA_MC68000_FLAGS)" - aros_nominal_width=512 - aros_nominal_height=384 - aros_nominal_depth=8 - aros_target_ar_flags="cru" - aros_c_libs="$aros_c_libs -lgcc1" - aros_shared_default=no - aros_shared_cflags="-fpic" - aros_shared_aflags="" - aros_shared_ldflags="-Wl,-rpath,./lib -shared" - aros_kernel_ldflags="-Wl,-rpath,./lib" - aros_debug_cppflags="$aros_messages_debug" - aros_debug_cflags="$aros_symbols_debug" - aros_debug_aflags="" - aros_debug_ldflags="$aros_symbols_debug" - aros_mungwall_debug="0" - aros_modules_debug="0" - gcc_target_cpu="mc68000" - ignore_undefined_symbols="-ius" - ;; - *) - AC_MSG_ERROR("Unknown CPU for Mac68k -- $target_cpu") - ;; - esac - ;; - - *) AC_MSG_ERROR([Unsupported target architecture $target]) ;; esac @@ -3036,24 +3000,10 @@ fi dnl See if the user wants the serial debug output for native flavour AC_MSG_CHECKING([whether serial debug is enabled]) -AC_ARG_WITH(serial-debug,AC_HELP_STRING([--with-serial-debug],[Enable serial debug output in native (default=no)]),serial_debug=$withval,serial_debug=none) -if test "$aros_serial_debug" = 0 ; then - serial_debug_forced="" - if test "$serial_debug" = "yes" ; then - serial_debug="1" - fi - if test "$serial_debug" = "no" ; then - serial_debug="none" - fi -else - serial_debug_forced="(forced)" - serial_debug=$aros_serial_debug -fi -if test "$serial_debug" != "none" ; then - aros_serial_debug=$serial_debug - AC_MSG_RESULT($serial_debug_forced on port $serial_debug) -else - AC_MSG_RESULT(no) +AC_ARG_WITH(serial-debug,AC_HELP_STRING([--with-serialdebug],[Enable serial debug output in native (default=no)]),serial_debug=$withval,serial_debug=none) + +if test "$serial_debug" = "yes" ; then + apollo_serial_debug="1" fi dnl See if the user wants the palm debug output hack for palm native flavour @@ -3535,7 +3485,7 @@ AC_SUBST(aros_dist_date) AC_SUBST(aros_dist_amigadate) # Native version related -AC_SUBST(aros_serial_debug) +AC_SUBST(apollo_serial_debug) AC_SUBST(PLATFORM_EXECSMP) AC_SUBST(ENABLE_EXECSMP) diff --git a/configure~ b/configure~ deleted file mode 100755 index a60057e36f3..00000000000 --- a/configure~ +++ /dev/null @@ -1,19367 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71. -# -# -# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, -# Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: -if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi - -# The user is always right. -if ${PATH_SEPARATOR+false} :; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - test -r "$as_dir$0" && as_myself=$as_dir$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="as_nop=: -if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else \$as_nop - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ) -then : - -else \$as_nop - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -blah=\$(echo \$(echo blah)) -test x\"\$blah\" = xblah || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null -then : - as_have_required=yes -else $as_nop - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null -then : - -else $as_nop - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : - CONFIG_SHELL=$as_shell as_have_required=yes - if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null -then : - break 2 -fi -fi - done;; - esac - as_found=false -done -IFS=$as_save_IFS -if $as_found -then : - -else $as_nop - if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null -then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi -fi - - - if test "x$CONFIG_SHELL" != x -then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno -then : - printf "%s\n" "$0: This script requires a shell more modern than all" - printf "%s\n" "$0: the shells that I found on your system." - if test ${ZSH_VERSION+y} ; then - printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" - printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." - else - printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null -then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else $as_nop - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null -then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else $as_nop - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - -# as_fn_nop -# --------- -# Do nothing but, unlike ":", preserve the value of $?. -as_fn_nop () -{ - return $? -} -as_nop=as_fn_nop - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - printf "%s\n" "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='' -PACKAGE_TARNAME='' -PACKAGE_VERSION='' -PACKAGE_STRING='' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -ac_unique_file="mmakefile" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_STDIO_H -# include -#endif -#ifdef HAVE_STDLIB_H -# include -#endif -#ifdef HAVE_STRING_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_c_list= -ac_func_c_list= -ac_subst_vars='LTLIBOBJS -config_prefs_set -aros_usb30_code -aros_host_sdl_libs -aros_host_sdl_cflags -aros_host_x11_ldflags -aros_host_x11_cflags -DO_VIDMODE_SUPPORT -DO_XSHM_SUPPORT -ENABLE_X11 -KERNEL_DBUS_INCLUDES -KERNEL_DBUS_KOBJ -DBUS_LIBFLAGS -DBUS_CFLAGS -ENABLE_DBUS -java_target -objc_target -target_binutils_version -gcc_target_cpu -ignore_undefined_symbols -aros_modules_debug -aros_stack_debug -aros_mungwall_debug -aros_debug -aros_android_antapk -aros_android_level -aros_ios_sdk -aros_ios_version -aros_ios_platform -aros_palm_debug_hack -gcc_default_mode -gcc_default_float_abi -gcc_default_fpu -gcc_default_cpu_tune -gcc_default_cpu -aros_nesting_supervisor -target_grub2_version -aros_enable_mmu -ENABLE_EXECSMP -PLATFORM_EXECSMP -aros_serial_debug -aros_dist_amigadate -aros_dist_date -aros_dist_version -aros_dist_name -aros_nominal_depth -aros_nominal_height -aros_nominal_width -pci_hidd_target -use_libatomic -crosstools_cxx_target -crosstools_target -aros_isa_flags -aros_isa_extra -aros_kernel_isa_flags -aros_optimization_cflags -aros_config_coverage -aros_config_lto -aros_target_strip_flags -aros_target_genmap -aros_debug_ldflags -aros_debug_aflags -aros_debug_cxxflags -aros_debug_cflags -aros_debug_cppflags -kernel_optimization_cflags -aros_kernel_ldflags -aros_kernel_objcflags -aros_kernel_includes -aros_kernel_cflags -aros_kernel_cppflags -aros_kernel_sysroot -aros_config_ldflags -aros_config_aflags -aros_config_cxxflags -aros_config_cflags -aros_config_cppflags -aros_nowarn_flags -aros_warn_flags -aros_shared_ldflags -aros_shared_aflags -aros_shared_cflags -aros_cxx_libs -aros_cxx_ldflags -aros_c_libs -spec_obj_format -aros_object_format -aros_shared_ld -aros_shared_default -aros_target_nm -aros_target_strip -aros_target_objcopy -aros_target_objdump -aros_target_cc_path -aros_target_cc_includes -aros_target_ld -aros_target_as -aros_target_cpp -aros_target_cxx -aros_target_cc -aros_plain_ar -aros_plain_nm -aros_target_ranlib -aros_target_ar -aros_target_suffix -aros_target_variant -aros_target_cpu_mode -aros_target_cpu -aros_target_family -aros_target_arch -aros_target_bootloader -aros_target_iconset -aros_target_guitheme -aros_target_options -target_extra_cfg -make_extra_targetcfg -make_extra_commands -aros_elf_translate -aros_tools_dir -aros_host_lib_suffix -aros_host_exe_suffix -aros_host_mkargs -aros_host_mkdep -aros_host_debug -aros_host_ldflags -gnu89_inline -aros_host_cxxflags -aros_host_cflags -aros_host_cppflags -aros_host_make -aros_host_ar -aros_host_cxx -aros_host_cc -aros_host_def_cc -aros_host_cpp -aros_host_cpu -aros_host_arch -aros_cc_pre -host_extra_cfg -ax_cv_flex_version -host_stat_h__unused_used -HOST_TOOLCHAIN_FAMILY -aros_amigaos_compliance -AROS_PORTSSRCDIR -AROS_CROSSTOOLSDIR -SRCDIR -AROS_BUILDDIR_UNIX -AROS_BUILDDIR -aros_build_host -aros_toolchain_ld -aros_target_toolchain -aros_flavour_uc -aros_flavour -aros_target_cpu_extra -aros_cpu -aros_arch -SDL_LIBS -SDL_CFLAGS -SDL_CONFIG -XMKMF -kernel_cflags_iquote_end -kernel_cflags_iquote -host_cflags_iquote_end -host_cflags_iquote -aros_toolchain -aros_target_nostdlib_ldflags -aros_target_detach_ldflags -aros_target_nix_ldflags -aros_target_nostartup_ldflags -aros_target_nostdinc_cflags -aros_kernel_rescomp -orig_target_objdump -orig_target_objcopy -orig_target_strip -orig_target_nm -orig_target_ranlib -orig_target_ar -orig_target_as -orig_target_ld -orig_target_cxx -orig_target_cc -orig_target_cpp -aros_kernel_objdump -aros_kernel_objcopy -aros_kernel_strip -aros_kernel_nm -aros_kernel_ranlib -aros_kernel_ar -aros_kernel_as -aros_kernel_ld -aros_kernel_cxx -aros_kernel_cc -aros_kernel_cpp -target_llvm_version -target_gcc_version -ant -android_tool -CCACHE -DISTCC -LIBOBJS -EGREP -GREP -CMP -TEST -IF -FOR -libpng_incdir -libpng_libextra -libpng -arosconfig_use_libpngconfig -pkgpyexecdir -pyexecdir -pkgpythondir -pythondir -PYTHON_EXEC_PREFIX -PYTHON_PREFIX -PYTHON_PLATFORM -PYTHON_VERSION -PYTHON -PATCH -CHMOD -SED -PPMTOILBM -PNGTOPNM -FLEX -BISON -CAT -NOP -UNIQ -SORT -TOUCH -MKDIR -ECHO -MV -CP -RM -aros_host_strip -aros_host_ranlib -RANLIB_BASE -aros_host_plain_ar -AR_BASE -aros_host_automake -aros_host_autoheader -aros_host_autoconf -aros_host_aclocal -aros_host_ld -LD_BASE -base_lld_name -MMAKE -AWK -CPP -ac_ct_CC -CFLAGS -CC -OBJEXT -EXEEXT -ac_ct_CXX -CPPFLAGS -LDFLAGS -CXXFLAGS -CXX -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_aros_prefs -with_c_compiler -with_cxx_compiler -with_python_sys_prefix -with_python_prefix -with_python_exec_prefix -enable_libpng_config -with_toolchain -enable_lto -enable_coverage -enable_build_type -enable_debug -enable_distcc -enable_ccache -with_kernel_gcc_version -with_optimization -with_paranoia -enable_target_variant -enable_dist_name -enable_dist_version -enable_dist_date -enable_dist_amigadate -with_xcode -with_sdk_version -with_sdk -with_ndk -with_ndk_version -with_apk_version -enable_amigaos_compliance -with_kernel_toolchain_prefix -with_elf_toolchain_prefix -with_aros_toolchain -enable_crosstools -with_aros_toolchain_install -with_binutils_version -with_gcc_version -with_llvm_version -enable_objc -enable_java -with_cpu -with_fpu -with_float -with_portssources -with_bootloader -with_iconset -with_theme -enable_includes -with_resolution -with_nonvampire_support -with_vampirecard_series -with_serial_debug -enable_palm_debug_hack -enable_usb30_code -enable_nesting_supervisor -enable_mmu -enable_x11_hidd -with_x -enable_x11_shm -enable_x11_vidmode -enable_sdl_hidd -with_sdl_prefix -with_sdl_exec_prefix -enable_sdltest -enable_dbus -' - ac_precious_vars='build_alias -host_alias -target_alias -CXX -CXXFLAGS -LDFLAGS -LIBS -CPPFLAGS -CCC -CC -CFLAGS -CPP -PYTHON -XMKMF' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" - ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: \`$ac_useropt'" - ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" - ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: \`$ac_useropt'" - ac_useropt_orig=$ac_useropt - ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -X features: - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ---disable-libpng-config disable libpng-config test and configuration - --enable-lto=yes|no Enable link time optimizations if the target - compiler supports them (default=no) - --enable-coverage=yes|no - Enable coverage instrumentation if the target - compiler supports it (default=no) - --enable-build-type=TYPE - Select the build type. Available types are: - personal, nightly, snapshot, milestone, release. Do - NOT use this option unless you know what you are - doing! (default=personal) - --enable-debug=list Enable different types of debug. Commas or - whitespaces can be used to separate the items in the - list. Available types of debug are: all, none, - messages, stack, mungwall, modules, symbols. If no - list is provided then "all" is assumed. - (default=none) - --enable-distcc Use distcc as a front end to the compiler - (default=no). - --enable-ccache Use ccache as a front end to the compiler - (default=no). - --enable-target-variant=NAME - Enable a specific target variant (default=none) - --enable-dist-name=NAME Enable a specific distro name (default=AROS) - --enable-dist-version=NAME - Enable a specific distro version (default=ABIv1) - --enable-dist-date=NAME Enable a specific distro date (default=xxxx-xx-xx) - --enable-dist-amigadate=NAME - Enable a specific distro name (default=xx.x.xxxx) - --enable-amigaos-compliance=VERSION - Enforce userspace AmigaOS compliance to a specific - KickStart version (default=none). - --disable-crosstools Do not build cross-compiler toolchain - --enable-objc Enable Objectve-C support (default=no) - --enable-java Enable Java support (default=no) - --enable-includes=dir Alternative system include directory - --enable-palm-debug-hack - Enable palm debug output hack in palm native - (default=no) - --enable-usb30-code Enable usb3.0 code (default=no) - --enable-nesting-supervisor - Enable nesting supervisor support in unix - (default=no) - --disable-mmu Disable MMU support (default=enabled) - --enable-x11-hidd build X11 hidd for hosted (default=auto) - --enable-x11-shm use X11 shared memory (default=auto) - --enable-x11-vidmode use X11 vidmode extension (default=auto) - --enable-sdl-hidd build SDL hidd for hosted (default=auto) - --disable-sdltest Do not try to compile and run a test SDL program - --enable-dbus Enable DBUS support via dbus.library (default=no) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-aros-prefs=PREFSSET - Use the preferences from the set defined by PREFSSET - (defaults to AROS normal config, 'classic' provides - a config more like traditional workbench - and - better suited to weaker systems) - --with-c-compiler=VERSION - Use specified c compiler for building AROS - --with-cxx-compiler=VERSION - Use specified c++ compiler building AROS - --with-python-sys-prefix - use Python's sys.prefix and sys.exec_prefix values - --with-python_prefix override the default PYTHON_PREFIX - --with-python_exec_prefix - override the default PYTHON_EXEC_PREFIX - --with-toolchain=family Which toolchain family to crosscompile with - (defaults to gnu) - --with-kernel-gcc-version=VERSION - Use gcc-VERSION for building bootstrap - --with-optimization=FLAGS - Use optimization flags FLAGS (e.g - --with-optimization=-O2). - --with-paranoia=(yes|no|FLAGS) - Specific compiler warning FLAGS to enable for - paranoia builds (default=-Wall -Werror) - --with-xcode=PATH Specify XCode path for iOS targets - (default=/Developer). - --with-sdk-version=VERSION - Use iOS SDK version VERSION (default=4.1). - --with-sdk=PATH Specify Android SDK path - (default=$default_android_sdk). - --with-ndk=PATH Specify Android NDK path (default=none). - --with-sdk-version=LEVEL - Use Android SDK for API LEVEL (default=12). - --with-ndk-version=LEVEL - Use Android NDK for API LEVEL (default=9). - --with-apk-version=(release|debug) - Which version of AROSBootstrap.apk to compile. - Release version needs key for signing, debug version - will only run in emulator. (default=release) - --with-kernel-toolchain-prefix=... - Specify crosscompile toolchain prefix for kernel - objects - --with-elf-toolchain-prefix=... - Specify crosscompile toolchain prefix to wrap for - AROS objects - --with-aros-toolchain=PREFIX - Specify prebuilt AROS toolchain. Use yes for default - name - --with-aros-toolchain-install=DIR - Where to install or search for cross tools binaries - --with-binutils-version=VERSION - Use binutils-VERSION for building AROS - --with-gcc-version=VERSION - Compile gcc-VERSION for AROS - --with-llvm-version=VERSION - Compile llvm-VERSION for AROS - --with-cpu= Specify minumum CPU (default=$gcc_default_cpu). - --with-fpu= Specify minumum FPU (default=$gcc_default_fpu). - --with-float= Specify floating point ABI - (default=$gcc_default_float_abi). - --with-portssources=DIR Where to download sourcecode for external ports - --with-bootloader=NAME Use a specific bootloader - --with-iconset=NAME Use a specific Icon-set (default=Gorilla). - --with-theme=NAME Use a specific GUI Theme - --with-resolution=XRESxYRESxDEPTH - Default resolution of the initial WorkbenchScreen - --with-nonvampire-support - Enable support for non-vampires (default=no) - --with-vampirecard-series=VERSION - Set for which series of vampire card the rom is to - be built (default=v4) - --with-serial-debug Enable serial debug output in native (default=no) - --with-x use the X Window System - --with-sdl-prefix=PFX Prefix where SDL is installed (optional) - --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) - -Some influential environment variables: - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CC C compiler command - CFLAGS C compiler flags - CPP C preprocessor - PYTHON the Python interpreter - XMKMF Path to xmkmf, Makefile generator for X Window System - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for configure.gnu first; this name is used for a wrapper for - # Metaconfig's "Configure" on case-insensitive file systems. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -configure -generated by GNU Autoconf 2.71 - -Copyright (C) 2021 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - } -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - } -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -printf %s "checking for $2.$3... " >&6; } -if eval test \${$4+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main (void) -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$4=yes" -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main (void) -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$4=yes" -else $as_nop - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$4 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - -# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR -# ------------------------------------------------------------------ -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. -ac_fn_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -printf %s "checking whether $as_decl_name is declared... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - eval ac_save_FLAGS=\$$6 - as_fn_append $6 " $5" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main (void) -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - eval $6=\$ac_save_FLAGS - -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_check_decl - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main (void) -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main (void) -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else $as_nop - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. */ - -#include -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main (void) -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that -# executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: program exited with status $ac_status" >&5 - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run -ac_configure_args_raw= -for ac_arg -do - case $ac_arg in - *\'*) - ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append ac_configure_args_raw " '$ac_arg'" -done - -case $ac_configure_args_raw in - *$as_nl*) - ac_safe_unquote= ;; - *) - ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. - ac_unsafe_a="$ac_unsafe_z#~" - ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" - ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; -esac - -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.71. Invocation command line was - - $ $0$ac_configure_args_raw - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - printf "%s\n" "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Sanitize IFS. - IFS=" "" $as_nl" - # Save into config.log some information that might help in debugging. - { - echo - - printf "%s\n" "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - printf "%s\n" "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - printf "%s\n" "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - printf "%s\n" "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - printf "%s\n" "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - printf "%s\n" "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - printf "%s\n" "$as_me: caught signal $ac_signal" - printf "%s\n" "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -printf "%s\n" "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h - -printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - ac_site_files="$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - ac_site_files="$prefix/share/config.site $prefix/etc/config.site" -else - ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -fi - -for ac_site_file in $ac_site_files -do - case $ac_site_file in #( - */*) : - ;; #( - *) : - ac_site_file=./$ac_site_file ;; -esac - if test -f "$ac_site_file" && test -r "$ac_site_file"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -printf "%s\n" "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -printf "%s\n" "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Test code for whether the C++ compiler supports C++98 (global declarations) -ac_cxx_conftest_cxx98_globals=' -// Does the compiler advertise C++98 conformance? -#if !defined __cplusplus || __cplusplus < 199711L -# error "Compiler does not advertise C++98 conformance" -#endif - -// These inclusions are to reject old compilers that -// lack the unsuffixed header files. -#include -#include - -// and are *not* freestanding headers in C++98. -extern void assert (int); -namespace std { - extern int strcmp (const char *, const char *); -} - -// Namespaces, exceptions, and templates were all added after "C++ 2.0". -using std::exception; -using std::strcmp; - -namespace { - -void test_exception_syntax() -{ - try { - throw "test"; - } catch (const char *s) { - // Extra parentheses suppress a warning when building autoconf itself, - // due to lint rules shared with more typical C programs. - assert (!(strcmp) (s, "test")); - } -} - -template struct test_template -{ - T const val; - explicit test_template(T t) : val(t) {} - template T add(U u) { return static_cast(u) + val; } -}; - -} // anonymous namespace -' - -# Test code for whether the C++ compiler supports C++98 (body of main) -ac_cxx_conftest_cxx98_main=' - assert (argc); - assert (! argv[0]); -{ - test_exception_syntax (); - test_template tt (2.0); - assert (tt.add (4) == 6.0); - assert (true && !false); -} -' - -# Test code for whether the C++ compiler supports C++11 (global declarations) -ac_cxx_conftest_cxx11_globals=' -// Does the compiler advertise C++ 2011 conformance? -#if !defined __cplusplus || __cplusplus < 201103L -# error "Compiler does not advertise C++11 conformance" -#endif - -namespace cxx11test -{ - constexpr int get_val() { return 20; } - - struct testinit - { - int i; - double d; - }; - - class delegate - { - public: - delegate(int n) : n(n) {} - delegate(): delegate(2354) {} - - virtual int getval() { return this->n; }; - protected: - int n; - }; - - class overridden : public delegate - { - public: - overridden(int n): delegate(n) {} - virtual int getval() override final { return this->n * 2; } - }; - - class nocopy - { - public: - nocopy(int i): i(i) {} - nocopy() = default; - nocopy(const nocopy&) = delete; - nocopy & operator=(const nocopy&) = delete; - private: - int i; - }; - - // for testing lambda expressions - template Ret eval(Fn f, Ret v) - { - return f(v); - } - - // for testing variadic templates and trailing return types - template auto sum(V first) -> V - { - return first; - } - template auto sum(V first, Args... rest) -> V - { - return first + sum(rest...); - } -} -' - -# Test code for whether the C++ compiler supports C++11 (body of main) -ac_cxx_conftest_cxx11_main=' -{ - // Test auto and decltype - auto a1 = 6538; - auto a2 = 48573953.4; - auto a3 = "String literal"; - - int total = 0; - for (auto i = a3; *i; ++i) { total += *i; } - - decltype(a2) a4 = 34895.034; -} -{ - // Test constexpr - short sa[cxx11test::get_val()] = { 0 }; -} -{ - // Test initializer lists - cxx11test::testinit il = { 4323, 435234.23544 }; -} -{ - // Test range-based for - int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, - 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; - for (auto &x : array) { x += 23; } -} -{ - // Test lambda expressions - using cxx11test::eval; - assert (eval ([](int x) { return x*2; }, 21) == 42); - double d = 2.0; - assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); - assert (d == 5.0); - assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); - assert (d == 5.0); -} -{ - // Test use of variadic templates - using cxx11test::sum; - auto a = sum(1); - auto b = sum(1, 2); - auto c = sum(1.0, 2.0, 3.0); -} -{ - // Test constructor delegation - cxx11test::delegate d1; - cxx11test::delegate d2(); - cxx11test::delegate d3(45); -} -{ - // Test override and final - cxx11test::overridden o1(55464); -} -{ - // Test nullptr - char *c = nullptr; -} -{ - // Test template brackets - test_template<::test_template> v(test_template(12)); -} -{ - // Unicode literals - char const *utf8 = u8"UTF-8 string \u2500"; - char16_t const *utf16 = u"UTF-8 string \u2500"; - char32_t const *utf32 = U"UTF-32 string \u2500"; -} -' - -# Test code for whether the C compiler supports C++11 (complete). -ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} -${ac_cxx_conftest_cxx11_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_cxx_conftest_cxx98_main} - ${ac_cxx_conftest_cxx11_main} - return ok; -} -" - -# Test code for whether the C compiler supports C++98 (complete). -ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_cxx_conftest_cxx98_main} - return ok; -} -" - -# Test code for whether the C compiler supports C89 (global declarations) -ac_c_conftest_c89_globals=' -/* Does the compiler advertise C89 conformance? - Do not test the value of __STDC__, because some compilers set it to 0 - while being otherwise adequately conformant. */ -#if !defined __STDC__ -# error "Compiler does not advertise C89 conformance" -#endif - -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ -struct buf { int x; }; -struct buf * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not \xHH hex character constants. - These do not provoke an error unfortunately, instead are silently treated - as an "x". The following induces an error, until -std is added to get - proper ANSI mode. Curiously \x00 != x always comes out true, for an - array size at least. It is necessary to write \x00 == 0 to get something - that is true only with -std. */ -int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) '\''x'\'' -int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), - int, int);' - -# Test code for whether the C compiler supports C89 (body of main). -ac_c_conftest_c89_main=' -ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); -' - -# Test code for whether the C compiler supports C99 (global declarations) -ac_c_conftest_c99_globals=' -// Does the compiler advertise C99 conformance? -#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L -# error "Compiler does not advertise C99 conformance" -#endif - -#include -extern int puts (const char *); -extern int printf (const char *, ...); -extern int dprintf (int, const char *, ...); -extern void *malloc (size_t); - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -// dprintf is used instead of fprintf to avoid needing to declare -// FILE and stderr. -#define debug(...) dprintf (2, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - #error "your preprocessor is broken" -#endif -#if BIG_OK -#else - #error "your preprocessor is broken" -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static bool -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str = ""; - int number = 0; - float fnumber = 0; - - while (*format) - { - switch (*format++) - { - case '\''s'\'': // string - str = va_arg (args_copy, const char *); - break; - case '\''d'\'': // int - number = va_arg (args_copy, int); - break; - case '\''f'\'': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); - - return *str && number && fnumber; -} -' - -# Test code for whether the C compiler supports C99 (body of main). -ac_c_conftest_c99_main=' - // Check bool. - _Bool success = false; - success |= (argc != 0); - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[0] = argv[0][0]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' - || dynamic_array[ni.number - 1] != 543); -' - -# Test code for whether the C compiler supports C11 (global declarations) -ac_c_conftest_c11_globals=' -// Does the compiler advertise C11 conformance? -#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L -# error "Compiler does not advertise C11 conformance" -#endif - -// Check _Alignas. -char _Alignas (double) aligned_as_double; -char _Alignas (0) no_special_alignment; -extern char aligned_as_int; -char _Alignas (0) _Alignas (int) aligned_as_int; - -// Check _Alignof. -enum -{ - int_alignment = _Alignof (int), - int_array_alignment = _Alignof (int[100]), - char_alignment = _Alignof (char) -}; -_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); - -// Check _Noreturn. -int _Noreturn does_not_return (void) { for (;;) continue; } - -// Check _Static_assert. -struct test_static_assert -{ - int x; - _Static_assert (sizeof (int) <= sizeof (long int), - "_Static_assert does not work in struct"); - long int y; -}; - -// Check UTF-8 literals. -#define u8 syntax error! -char const utf8_literal[] = u8"happens to be ASCII" "another string"; - -// Check duplicate typedefs. -typedef long *long_ptr; -typedef long int *long_ptr; -typedef long_ptr long_ptr; - -// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. -struct anonymous -{ - union { - struct { int i; int j; }; - struct { int k; long int l; } w; - }; - int m; -} v1; -' - -# Test code for whether the C compiler supports C11 (body of main). -ac_c_conftest_c11_main=' - _Static_assert ((offsetof (struct anonymous, i) - == offsetof (struct anonymous, w.k)), - "Anonymous union alignment botch"); - v1.i = 2; - v1.w.k = 5; - ok |= v1.i != 5; -' - -# Test code for whether the C compiler supports C11 (complete). -ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} -${ac_c_conftest_c99_globals} -${ac_c_conftest_c11_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - ${ac_c_conftest_c99_main} - ${ac_c_conftest_c11_main} - return ok; -} -" - -# Test code for whether the C compiler supports C99 (complete). -ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} -${ac_c_conftest_c99_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - ${ac_c_conftest_c99_main} - return ok; -} -" - -# Test code for whether the C compiler supports C89 (complete). -ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} - -int -main (int argc, char **argv) -{ - int ok = 0; - ${ac_c_conftest_c89_main} - return ok; -} -" - -as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" -as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" -as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" -as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" -as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" -as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" -as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" -as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" -as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" -as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" -as_fn_append ac_header_c_list " sys/param.h sys_param_h HAVE_SYS_PARAM_H" -as_fn_append ac_func_c_list " getpagesize HAVE_GETPAGESIZE" - -# Auxiliary files required by this configure script. -ac_aux_files="config.guess config.sub" - -# Locations in which to look for auxiliary files. -ac_aux_dir_candidates="${srcdir}/scripts/autoconf" - -# Search for a directory containing all of the required auxiliary files, -# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. -# If we don't find one directory that contains all the files we need, -# we report the set of missing files from the *first* directory in -# $ac_aux_dir_candidates and give up. -ac_missing_aux_files="" -ac_first_candidate=: -printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in $ac_aux_dir_candidates -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - as_found=: - - printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 - ac_aux_dir_found=yes - ac_install_sh= - for ac_aux in $ac_aux_files - do - # As a special case, if "install-sh" is required, that requirement - # can be satisfied by any of "install-sh", "install.sh", or "shtool", - # and $ac_install_sh is set appropriately for whichever one is found. - if test x"$ac_aux" = x"install-sh" - then - if test -f "${as_dir}install-sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 - ac_install_sh="${as_dir}install-sh -c" - elif test -f "${as_dir}install.sh"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 - ac_install_sh="${as_dir}install.sh -c" - elif test -f "${as_dir}shtool"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 - ac_install_sh="${as_dir}shtool install -c" - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} install-sh" - else - break - fi - fi - else - if test -f "${as_dir}${ac_aux}"; then - printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 - else - ac_aux_dir_found=no - if $ac_first_candidate; then - ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" - else - break - fi - fi - fi - done - if test "$ac_aux_dir_found" = yes; then - ac_aux_dir="$as_dir" - break - fi - ac_first_candidate=false - - as_found=false -done -IFS=$as_save_IFS -if $as_found -then : - -else $as_nop - as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 -fi - - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -if test -f "${ac_aux_dir}config.guess"; then - ac_config_guess="$SHELL ${ac_aux_dir}config.guess" -fi -if test -f "${ac_aux_dir}config.sub"; then - ac_config_sub="$SHELL ${ac_aux_dir}config.sub" -fi -if test -f "$ac_aux_dir/configure"; then - ac_configure="$SHELL ${ac_aux_dir}configure" -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' - and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - -# Check what host we are running on. -# If a target is not suggested, we use this one. -# Note that what we call a target, Autoconf calls a host. - - - - # Make sure we can run config.sub. -$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -printf %s "checking build system type... " >&6; } -if test ${ac_cv_build+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -printf "%s\n" "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -printf %s "checking host system type... " >&6; } -if test ${ac_cv_host+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || - as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -printf "%s\n" "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - -# Default versions for the gnu tools we build -default_toolchain_family=`cat ${srcdir}/config/toolchain_def` -default_gcc_version=`cat ${srcdir}/config/gcc_def` -exp_gcc_version=`cat ${srcdir}/config/gcc_exp` -default_binutils_version=`cat ${srcdir}/config/binutils_def` -default_llvm_version=`cat ${srcdir}/config/llvm_def` -exp_binutils_version=`cat ${srcdir}/config/binutils_exp` -default_grub2_version="2.04" -target_grub2_version=$default_grub2_version - -# The AROS target is slightly different to the normal GNU style -# format. We don't have the middle part, and we reverse the order -# of the $(CPU) and $(OS) bits. -# -# Don't strip the version of the target yet, it might be -# useful on some systems. - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AROS style target" >&5 -printf %s "checking for AROS style target... " >&6; } - -if test "$target" = "NONE" ; then - target=$host_os-$host_cpu -else - if test "$target" = "" ; then - target=$host_os-$host_cpu - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target" >&5 -printf "%s\n" "$target" >&6; } - -if test "$host_os" = "mingw32" ; then - PWDCMD="pwd -W" -fi - -# Don't know where else to put this... -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking building AROS in" >&5 -printf %s "checking building AROS in... " >&6; } -AROS_BUILDDIR=`${PWDCMD-pwd}` -AROS_BUILDDIR_UNIX=${PWD} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AROS_BUILDDIR" >&5 -printf "%s\n" "$AROS_BUILDDIR" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking AROS source in" >&5 -printf %s "checking AROS source in... " >&6; } -srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}` -SRCDIR=${srcpwd} -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SRCDIR" >&5 -printf "%s\n" "$SRCDIR" >&6; } - -# Parse the target field into something useful. - -target_os=`echo $target | sed 's/^\([^-].*\)-\(.*\)$/\1/'` -target_cpu=`echo $target | sed 's/^\([^-].*\)-\(.*\)$/\2/'` - - -# Some debug output, to be removed again. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for target system (debug output)" >&5 -printf %s "checking for target system (debug output)... " >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_os" >&5 -printf "%s\n" "$target_os" >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for target cpu (debug output)" >&5 -printf %s "checking for target cpu (debug output)... " >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_cpu" >&5 -printf "%s\n" "$target_cpu" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which prefs set to use" >&5 -printf %s "checking which prefs set to use... " >&6; } - -# Check whether --with-aros-prefs was given. -if test ${with_aros_prefs+y} -then : - withval=$with_aros_prefs; config_prefs_set="$withval" -else $as_nop - config_prefs_set="" -fi - -if test "$config_prefs_set" != "" ; then - msg_result=$config_prefs_set -else - msg_result="default" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg_result" >&5 -printf "%s\n" "$msg_result" >&6; } - -aros_dist_name=AROS -aros_dist_version=ABIv1 -aros_dist_date=$(date +%Y-%m-%d) -aros_dist_amigadate=$(date +"%-d.%-m.%Y") - -aros_nominal_width=800 -aros_nominal_height=600 -aros_nominal_depth=4 - - -HOST_WANTS_X11= -HOST_WANTS_GLX= -HOST_WANTS_SDL= -HOST_WANTS_DBUS= -HOST_WANTS_DLOPEN= - -default_c_compilers="gcc clang cc" - -# Check whether --with-c-compiler was given. -if test ${with_c_compiler+y} -then : - withval=$with_c_compiler; use_c_compiler="$withval" -else $as_nop - use_c_compiler="" -fi - -if test "$use_c_compiler" = ""; then - host_c_compilers="$default_c_compilers" -else - host_c_compilers="$use_c_compiler" - CC=$use_c_compiler -fi - -default_cxx_compilers="g++ clang++ c++" - -# Check whether --with-cxx-compiler was given. -if test ${with_cxx_compiler+y} -then : - withval=$with_cxx_compiler; use_cxx_compiler="$withval" -else $as_nop - use_cxx_compiler="" -fi - -if test "$use_cxx_compiler" = ""; then - host_cxx_compilers="$default_cxx_compilers" -else - host_cxx_compilers="$use_cxx_compiler" - CXX=$use_cxx_compiler -fi - - -# The first step is to find the host binaries. -# Check for a compiler. -# Due to a bug in autoconf check for c++ compiler first. -# For mor info see, http://osdir.com/ml/bug-autoconf-gnu/2010-05/msg00001.html. - - - - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in ${host_cxx_compilers} - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf "%s\n" "$CXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in ${host_cxx_compilers} -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -printf "%s\n" "$ac_ct_CXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 -printf %s "checking whether the C++ compiler works... " >&6; } -ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else $as_nop - ac_file='' -fi -if test -z "$ac_file" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C++ compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 -printf %s "checking for C++ compiler default output file name... " >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -printf "%s\n" "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -printf %s "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -printf "%s\n" "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -printf %s "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot run C++ compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -printf "%s\n" "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -printf %s "checking for suffix of object files... " >&6; } -if test ${ac_cv_objext+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -printf "%s\n" "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 -printf %s "checking whether the compiler supports GNU C++... " >&6; } -if test ${ac_cv_cxx_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+y} -ac_save_CXXFLAGS=$CXXFLAGS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -printf %s "checking whether $CXX accepts -g... " >&6; } -if test ${ac_cv_prog_cxx_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -else $as_nop - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - -else $as_nop - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } -if test $ac_test_CXXFLAGS; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_prog_cxx_stdcxx=no -if test x$ac_prog_cxx_stdcxx = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 -printf %s "checking for $CXX option to enable C++11 features... " >&6; } -if test ${ac_cv_prog_cxx_11+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_11=no -ac_save_CXX=$CXX -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_cxx_conftest_cxx11_program -_ACEOF -for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA -do - CXX="$ac_save_CXX $ac_arg" - if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_cxx11=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cxx_cxx11" != "xno" && break -done -rm -f conftest.$ac_ext -CXX=$ac_save_CXX -fi - -if test "x$ac_cv_prog_cxx_cxx11" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx11" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx11" -fi - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_prog_cxx_stdcxx=cxx11 -fi -fi -if test x$ac_prog_cxx_stdcxx = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 -printf %s "checking for $CXX option to enable C++98 features... " >&6; } -if test ${ac_cv_prog_cxx_98+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cxx_98=no -ac_save_CXX=$CXX -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_cxx_conftest_cxx98_program -_ACEOF -for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA -do - CXX="$ac_save_CXX $ac_arg" - if ac_fn_cxx_try_compile "$LINENO" -then : - ac_cv_prog_cxx_cxx98=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cxx_cxx98" != "xno" && break -done -rm -f conftest.$ac_ext -CXX=$ac_save_CXX -fi - -if test "x$ac_cv_prog_cxx_cxx98" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cxx_cxx98" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } - CXX="$CXX $ac_cv_prog_cxx_cxx98" -fi - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 - ac_prog_cxx_stdcxx=cxx98 -fi -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CXX_BASE=$CXX -# Extract the first word of "$CXX", so it can be a program name with args. -set dummy $CXX; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_CXX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $CXX in - [\\/]* | ?:[\\/]*) - ac_cv_path_CXX="$CXX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_CXX="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CXX=$ac_cv_path_CXX -if test -n "$CXX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf "%s\n" "$CXX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in ${host_c_compilers} - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in ${host_c_compilers} -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ac_ct_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -printf "%s\n" "$ac_ct_CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - - -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion -version; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 -printf %s "checking whether the compiler supports GNU C... " >&6; } -if test ${ac_cv_c_compiler_gnu+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_compiler_gnu=yes -else $as_nop - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+y} -ac_save_CFLAGS=$CFLAGS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -printf %s "checking whether $CC accepts -g... " >&6; } -if test ${ac_cv_prog_cc_g+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_g=yes -else $as_nop - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else $as_nop - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -printf "%s\n" "$ac_cv_prog_cc_g" >&6; } -if test $ac_test_CFLAGS; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -ac_prog_cc_stdc=no -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 -printf %s "checking for $CC option to enable C11 features... " >&6; } -if test ${ac_cv_prog_cc_c11+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c11=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c11_program -_ACEOF -for ac_arg in '' -std=gnu11 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c11=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c11" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c11" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c11" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } - CC="$CC $ac_cv_prog_cc_c11" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 - ac_prog_cc_stdc=c11 -fi -fi -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 -printf %s "checking for $CC option to enable C99 features... " >&6; } -if test ${ac_cv_prog_cc_c99+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c99_program -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c99" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c99" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } - CC="$CC $ac_cv_prog_cc_c99" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 - ac_prog_cc_stdc=c99 -fi -fi -if test x$ac_prog_cc_stdc = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 -printf %s "checking for $CC option to enable C89 features... " >&6; } -if test ${ac_cv_prog_cc_c89+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c89_program -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -fi - -if test "x$ac_cv_prog_cc_c89" = xno -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } -else $as_nop - if test "x$ac_cv_prog_cc_c89" = x -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } - CC="$CC $ac_cv_prog_cc_c89" -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 - ac_prog_cc_stdc=c89 -fi -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC_BASE=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -printf %s "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test ${ac_cv_prog_CPP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - # Double quotes because $CC needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else $as_nop - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else $as_nop - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -printf "%s\n" "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else $as_nop - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else $as_nop - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CPP_BASE=$CPP -# Extract the first word of "$CC", so it can be a program name with args. -set dummy $CC; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $CC in - [\\/]* | ?:[\\/]*) - ac_cv_path_CC="$CC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_CC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CC=$ac_cv_path_CC -if test -n "$CC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf "%s\n" "$CC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -aros_host_def_cc="$CC" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -printf %s "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test ${ac_cv_prog_CPP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - # Double quotes because $CC needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else $as_nop - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else $as_nop - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -printf "%s\n" "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - -else $as_nop - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # Broken: success on invalid input. -continue -else $as_nop - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok -then : - -else $as_nop - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# detect the compiler version -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which toolchain family ${CC_BASE} belongs to" >&5 -printf %s "checking which toolchain family ${CC_BASE} belongs to... " >&6; } -HOST_COMPILER_VERSION=`"$CC" --version 2>/dev/null` -if test x"$HOST_COMPILER_VERSION" = "x"; then - HOST_COMPILER_VERSION=`"$CC" --qversion 2>/dev/null` -fi -if test x"$HOST_COMPILER_VERSION" = "x"; then - HOST_COMPILER_VERSION=`"$CC" -V 2>/dev/null` -fi - -IS_SUN_COMPILER=`echo $HOST_COMPILER_VERSION | grep -i -c -E 'Sun C\+\+'` -if test "$IS_SUN_COMPILER" -ne "0"; then - HOST_TOOLCHAIN_PREFIX= - HOST_TOOLCHAIN_SUFFIX= - HOST_TOOLCHAIN_FAMILY=sun -fi -IS_LLVM_COMPILER=`echo $HOST_COMPILER_VERSION | grep -i -c -E 'LLVM|clang'` -if test "$IS_LLVM_COMPILER" -ne "0"; then - if test "$CC_BASE" != "gcc"; then - HOST_TOOLCHAIN_PREFIX=llvm- - HOST_TOOLCHAIN_SUFFIX="`echo $CC_BASE | sed -e \"s|clang||g\"`" - HOST_TOOLCHAIN_FAMILY=llvm - else - IS_GNU_COMPILER=1 - fi -fi -if test "x$IS_GNU_COMPILER" = "x"; then - IS_GNU_COMPILER=`echo $HOST_COMPILER_VERSION | grep -i -c -E 'gcc'` -fi -if test "$IS_GNU_COMPILER" -ne "0"; then - HOST_TOOLCHAIN_PREFIX= - HOST_TOOLCHAIN_SUFFIX= - HOST_TOOLCHAIN_FAMILY=gnu -fi -if test x"$HOST_TOOLCHAIN_FAMILY" = "x"; then - HOST_TOOLCHAIN_FAMILY=unknown -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $HOST_TOOLCHAIN_FAMILY" >&5 -printf "%s\n" "$HOST_TOOLCHAIN_FAMILY" >&6; } - -# Check for a compatible awk -for ac_prog in gawk nawk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_AWK+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -printf "%s\n" "$AWK" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$AWK" && break -done - -req_avail=yes -if test "$AWK" = ""; then - req_avail=no -fi -if test "$AWK" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "gawk is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "mmake", so it can be a program name with args. -set dummy mmake; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MMAKE+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MMAKE"; then - ac_cv_prog_MMAKE="$MMAKE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_MMAKE="mmake " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MMAKE=$ac_cv_prog_MMAKE -if test -n "$MMAKE"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MMAKE" >&5 -printf "%s\n" "$MMAKE" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - -# Perform some default variable assignments. Note all of these will be -# Regenerated from the script, so there is no need to cache them. - -aros_build_host=$host -aros_host_cpp="$CPP" -aros_host_cc="$CC" -aros_host_cxx="$CXX" -base_ld_name=${HOST_TOOLCHAIN_PREFIX}ld${HOST_TOOLCHAIN_SUFFIX} -if test "$HOST_TOOLCHAIN_FAMILY" = "llvm"; then - for ac_prog in $base_ld_name ld.lld${HOST_TOOLCHAIN_SUFFIX} ld64.lld${HOST_TOOLCHAIN_SUFFIX} ld-link${HOST_TOOLCHAIN_SUFFIX}.exe ld${HOST_TOOLCHAIN_SUFFIX} -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_base_lld_name+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$base_lld_name"; then - ac_cv_prog_base_lld_name="$base_lld_name" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_base_lld_name="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -base_lld_name=$ac_cv_prog_base_lld_name -if test -n "$base_lld_name"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $base_lld_name" >&5 -printf "%s\n" "$base_lld_name" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$base_lld_name" && break -done - - LD_BASE=$base_lld_name -else - # Extract the first word of "$base_ld_name", so it can be a program name with args. -set dummy $base_ld_name; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_LD_BASE+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$LD_BASE"; then - ac_cv_prog_LD_BASE="$LD_BASE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_LD_BASE="" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LD_BASE=$ac_cv_prog_LD_BASE -if test -n "$LD_BASE"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD_BASE" >&5 -printf "%s\n" "$LD_BASE" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi - -if test "$LD_BASE" = ""; then - ac_tool_ld=ld -else - ac_tool_ld=$LD_BASE -fi -if test "$GCC" = "yes"; then - aros_gcc_ld=`$CC -print-prog-name=$ac_tool_ld` - # Extract the first word of "`basename $aros_gcc_[ld]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ld`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_host_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_host_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_host_ld="$aros_host_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ld` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_host_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_host_ld=$ac_cv_path_aros_host_ld -if test -n "$aros_host_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_ld" >&5 -printf "%s\n" "$aros_host_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_host_ld" = ""; then - for ac_prog in $ac_tool_ld -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_host_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_host_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_host_ld="$aros_host_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_host_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_host_ld=$ac_cv_path_aros_host_ld -if test -n "$aros_host_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_ld" >&5 -printf "%s\n" "$aros_host_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_host_ld" && break -done - -fi - -req_avail=yes -if test "$aros_host_ld" = ""; then - req_avail=no -fi -if test "$aros_host_ld" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ld is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -aros_host_make="make" -aros_host_cflags="$CFLAGS" -aros_host_cxxflags="$CXXFLAGS" -aros_host_cppflags="$CPPFLAGS" -aros_host_ldflags="$LDFLAGS" -aros_host_debug="-g -O0" -aros_host_mkdep="\$(SRCDIR)/scripts/mkdep" -aros_host_mkargs="--no-print-directory" -aros_host_exe_suffix="$EXEEXT" -aros_host_lib_suffix="" - -# Ignore all compliance, AROS ROMs = 0 -# KickStart v1.0 = 30 -# KickStart v1.3 = 34 -# KickStart v2.0 = 37 -# KickStart v3.0 = 39 -# KickStart v3.1 = 40 -# AmigaOS v3.5 = 44 -aros_amigaos_compliance=0 - -for ac_prog in aclocal aclocal19 aclocal-1.9 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_aros_host_aclocal+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$aros_host_aclocal"; then - ac_cv_prog_aros_host_aclocal="$aros_host_aclocal" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_aros_host_aclocal="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -aros_host_aclocal=$ac_cv_prog_aros_host_aclocal -if test -n "$aros_host_aclocal"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_aclocal" >&5 -printf "%s\n" "$aros_host_aclocal" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_host_aclocal" && break -done - -for ac_prog in autoconf autoconf259 autoconf253 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_aros_host_autoconf+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$aros_host_autoconf"; then - ac_cv_prog_aros_host_autoconf="$aros_host_autoconf" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_aros_host_autoconf="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -aros_host_autoconf=$ac_cv_prog_aros_host_autoconf -if test -n "$aros_host_autoconf"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_autoconf" >&5 -printf "%s\n" "$aros_host_autoconf" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_host_autoconf" && break -done - -for ac_prog in autoheader autoheader259 autoheader253 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_aros_host_autoheader+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$aros_host_autoheader"; then - ac_cv_prog_aros_host_autoheader="$aros_host_autoheader" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_aros_host_autoheader="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -aros_host_autoheader=$ac_cv_prog_aros_host_autoheader -if test -n "$aros_host_autoheader"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_autoheader" >&5 -printf "%s\n" "$aros_host_autoheader" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_host_autoheader" && break -done - -for ac_prog in automake automake19 automake-1.9 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_aros_host_automake+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$aros_host_automake"; then - ac_cv_prog_aros_host_automake="$aros_host_automake" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_aros_host_automake="$ac_prog" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -aros_host_automake=$ac_cv_prog_aros_host_automake -if test -n "$aros_host_automake"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_automake" >&5 -printf "%s\n" "$aros_host_automake" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_host_automake" && break -done - - -req_avail=yes -if test "$aros_host_aclocal" = ""; then - req_avail=no -fi -if test "$aros_host_aclocal" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "aclocal/aclocal19/aclocal-1.9 is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -req_avail=yes -if test "$aros_host_automake" = ""; then - req_avail=no -fi -if test "$aros_host_automake" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "automake/automake19/automake-1.9 is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -case "$aros_host_cc" in - *clang*) - aros_host_cc_pipe="" - ;; - *gcc*) - aros_host_cc_pipe="-pipe" - ;; - icc) - aros_host_cc_pipe="" - ;; - *) - aros_host_cc_pipe="" - ;; -esac - -aros_kernel_cc_includes="" -aros_target_cc_includes="" -host_cc_elf=yes - -# ---------------------------------------------------------------------------------------- -# Host-specific defaults -# -# This is the main host configuration section. It is where the host -# can change the values of any variables it needs to change. We do -# not look at anything that compiles to the target yet, we'll get -# to that later. - -case "$host_os" in - aros*) - aros_host_arch="aros" - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *x86_64*) - aros_host_cpu="x86_64" - ;; - *powerpc*) - aros_host_cpu="ppc" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - linux*) - aros_host_arch="linux" - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - android_build_os="linux-x86" - android_tool="android" - default_android_sdk="/opt/android-sdk-linux_x86" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *x86_64*) - aros_host_cpu="x86_64" - ;; - *m68k*) - aros_host_cpu="m68k" - ;; - *powerpc*) - aros_host_cpu="ppc" - ;; - *arm*) - aros_host_cpu="arm" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - freebsd*) - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe -I/usr/local/include" - aros_host_make="gmake" - aros_host_arch="freebsd" - aros_host_cpu="i386" - - aros_host_ldflags="$aros_host_ldflags -L/usr/local/lib -liconv" - - case $host_os in - freebsd[234]*) - aros_object_format="elf_i386" - ;; - - *) - aros_object_format="elf_i386_fbsd" - ;; - esac - - ;; - - darwin*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for macOS SDK files" >&5 -printf %s "checking for macOS SDK files... " >&6; } - LOC=$( xcode-select -p ) - if test $? != 0 -then : - as_fn_error $? "XCode incorrectly configured! -please run 'xcode-select --install' before -re-running configure" "$LINENO" 5 -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LOC" >&5 -printf "%s\n" "$LOC" >&6; } - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - aros_host_arch="darwin" - host_cc_elf=no - if [ -z ${SED+x} ]; then SED="gsed"; fi - android_build_os="darwin-x86" - android_tool="android" - default_android_sdk="/android-sdk-mac_x86" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *x86_64*) - aros_host_cpu="x86_64" - ;; - *powerpc*) - aros_host_cpu="ppc" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for Darwin host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for Darwin host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - - aros_host_ldflags="$aros_host_ldflags -liconv" - - ;; - - dragonfly*) - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - aros_host_make="gmake" - aros_host_arch="dragonfly" - case $host_cpu in - *i?86*) - aros_host_cpu="i386" - ;; - *amd64*) - aros_host_cpu="x86_64" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - netbsd*) - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - aros_host_make="gmake" - aros_host_arch="netbsd" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *m68k*) - aros_host_cpu="m68k" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - aros_host_lib_suffix=".0.0" - ;; - - openbsd*) - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - aros_host_make="gmake" - aros_host_arch="openbsd" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - solaris*) - aros_host_arch="solaris" - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *sparc*) - aros_host_cpu="sparc" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - morphos*) - aros_host_arch="morphos" - aros_host_cpu="ppc" - host_cc_elf=no - ;; - - amiga*) - aros_host_arch="amiga" - host_cc_elf=no - SORT="/gg/bin/sort" - TEST="/gg/bin/test" - UNIQ="/gg/bin/uniq" - FOR="for" - TOUCH="/gg/bin/touch" - case "$host_cpu" in - *m68k*) - aros_host_cpu="m68k" - ;; - *powerpc*) - aros_host_cpu="ppc" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - cygwin*) - aros_host_arch="cygwin" - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - host_cc_elf=no - android_build_os="windows" - android_tool="android.bat" - default_android_sdk="/cygdrive/c/android-sdk-windows-1.6_r1" - - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - - mingw32*) - aros_host_arch="mingw32" - aros_host_cflags="$aros_host_cflags $aros_host_cc_pipe" - host_cc_elf=no - android_build_os="windows" - android_tool="android.bat" - default_android_sdk="/c/android-sdk-windows-1.6_r1" - - libpng_libextra="-lws2_32" - - case "$host_cpu" in - *i?86*) - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Windows native gcc target" >&5 -printf %s "checking for Windows native gcc target... " >&6; } - host_cpu=`gcc -dumpmachine` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $host_cpu" >&5 -printf "%s\n" "$host_cpu" >&6; } - ;; - - esac - - case "$host_cpu" in - *i?86*) - aros_host_cpu="i386" - ;; - - mingw32*) - aros_host_cpu="i386" - ;; - - *x86_64*) - aros_host_cpu="x86_64" - aros_host_cflags="$aros_host_cflags -isystem /mingw/include" - ;; - - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown CPU for host -- $host_cpu\"" >&2;} - aros_host_cpu="$host_cpu" - ;; - esac - ;; - *) - as_fn_error $? "Unsupported host architecture $host" "$LINENO" 5 - ;; -esac - -base_ar_name=${HOST_TOOLCHAIN_PREFIX}ar${HOST_TOOLCHAIN_SUFFIX} -# Extract the first word of "$base_ar_name", so it can be a program name with args. -set dummy $base_ar_name; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_AR_BASE+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$AR_BASE"; then - ac_cv_prog_AR_BASE="$AR_BASE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_AR_BASE="$base_ar_name " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR_BASE=$ac_cv_prog_AR_BASE -if test -n "$AR_BASE"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR_BASE" >&5 -printf "%s\n" "$AR_BASE" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -aros_host_ar_flags="cr" -aros_host_cmd_ar="$AR_BASE $aros_host_ar_flags" -# Extract the first word of "$aros_host_cmd_ar", so it can be a program name with args. -set dummy $aros_host_cmd_ar; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_host_plain_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_host_plain_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_host_plain_ar="$aros_host_plain_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_host_plain_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_aros_host_plain_ar" && ac_cv_path_aros_host_plain_ar="$aros_host_cmd_ar " - ;; -esac -fi -aros_host_plain_ar=$ac_cv_path_aros_host_plain_ar -if test -n "$aros_host_plain_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_plain_ar" >&5 -printf "%s\n" "$aros_host_plain_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -aros_host_ar=`echo $aros_host_cmd_ar | sed -e "s|$base_ar_name|$aros_host_plain_ar|g"` -req_avail=yes -if test "$aros_host_ar" = ""; then - req_avail=no -fi -if test "$aros_host_ar" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ar is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -base_ranlib_name=${HOST_TOOLCHAIN_PREFIX}ranlib${HOST_TOOLCHAIN_SUFFIX} -# Extract the first word of "$base_ranlib_name", so it can be a program name with args. -set dummy $base_ranlib_name; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_RANLIB_BASE+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$RANLIB_BASE"; then - ac_cv_prog_RANLIB_BASE="$RANLIB_BASE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB_BASE="$base_ranlib_name " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB_BASE=$ac_cv_prog_RANLIB_BASE -if test -n "$RANLIB_BASE"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB_BASE" >&5 -printf "%s\n" "$RANLIB_BASE" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -# Extract the first word of "$RANLIB_BASE", so it can be a program name with args. -set dummy $RANLIB_BASE; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_host_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_host_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_host_ranlib="$aros_host_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_host_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_aros_host_ranlib" && ac_cv_path_aros_host_ranlib="$RANLIB_BASE " - ;; -esac -fi -aros_host_ranlib=$ac_cv_path_aros_host_ranlib -if test -n "$aros_host_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_ranlib" >&5 -printf "%s\n" "$aros_host_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$aros_host_ranlib" = ""; then - req_avail=no -fi -if test "$aros_host_ranlib" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ranlib is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_aros_host_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$aros_host_strip"; then - ac_cv_prog_aros_host_strip="$aros_host_strip" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_aros_host_strip="strip " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -aros_host_strip=$ac_cv_prog_aros_host_strip -if test -n "$aros_host_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_host_strip" >&5 -printf "%s\n" "$aros_host_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$aros_host_strip" = ""; then - req_avail=no -fi -if test "$aros_host_strip" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "strip is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -# Extract the first word of "rm", so it can be a program name with args. -set dummy rm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_RM+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$RM"; then - ac_cv_prog_RM="$RM" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_RM="rm -rf" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RM=$ac_cv_prog_RM -if test -n "$RM"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 -printf "%s\n" "$RM" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$RM" = ""; then - req_avail=no -fi -if test "$RM" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "rm is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "cp", so it can be a program name with args. -set dummy cp; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CP"; then - ac_cv_prog_CP="$CP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CP="cp " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CP=$ac_cv_prog_CP -if test -n "$CP"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CP" >&5 -printf "%s\n" "$CP" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$CP" = ""; then - req_avail=no -fi -if test "$CP" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cp is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "mv", so it can be a program name with args. -set dummy mv; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MV+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MV"; then - ac_cv_prog_MV="$MV" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_MV="mv " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MV=$ac_cv_prog_MV -if test -n "$MV"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MV" >&5 -printf "%s\n" "$MV" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$MV" = ""; then - req_avail=no -fi -if test "$MV" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "mv is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "echo", so it can be a program name with args. -set dummy echo; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_ECHO+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$ECHO"; then - ac_cv_prog_ECHO="$ECHO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_ECHO="echo " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ECHO=$ac_cv_prog_ECHO -if test -n "$ECHO"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ECHO" >&5 -printf "%s\n" "$ECHO" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$ECHO" = ""; then - req_avail=no -fi -if test "$ECHO" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "echo is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "mkdir", so it can be a program name with args. -set dummy mkdir; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_MKDIR+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$MKDIR"; then - ac_cv_prog_MKDIR="$MKDIR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_MKDIR="mkdir -p" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MKDIR=$ac_cv_prog_MKDIR -if test -n "$MKDIR"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5 -printf "%s\n" "$MKDIR" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$MKDIR" = ""; then - req_avail=no -fi -if test "$MKDIR" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "mkdir is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "touch", so it can be a program name with args. -set dummy touch; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_TOUCH+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$TOUCH"; then - ac_cv_prog_TOUCH="$TOUCH" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_TOUCH="touch " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -TOUCH=$ac_cv_prog_TOUCH -if test -n "$TOUCH"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $TOUCH" >&5 -printf "%s\n" "$TOUCH" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$TOUCH" = ""; then - req_avail=no -fi -if test "$TOUCH" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "touch is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "sort", so it can be a program name with args. -set dummy sort; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_SORT+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$SORT"; then - ac_cv_prog_SORT="$SORT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_SORT="sort " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -SORT=$ac_cv_prog_SORT -if test -n "$SORT"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 -printf "%s\n" "$SORT" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$SORT" = ""; then - req_avail=no -fi -if test "$SORT" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "sort is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "uniq", so it can be a program name with args. -set dummy uniq; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_UNIQ+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$UNIQ"; then - ac_cv_prog_UNIQ="$UNIQ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_UNIQ="uniq " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -UNIQ=$ac_cv_prog_UNIQ -if test -n "$UNIQ"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNIQ" >&5 -printf "%s\n" "$UNIQ" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$UNIQ" = ""; then - req_avail=no -fi -if test "$UNIQ" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "uniq is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "true", so it can be a program name with args. -set dummy true; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_NOP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$NOP"; then - ac_cv_prog_NOP="$NOP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_NOP="true " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NOP=$ac_cv_prog_NOP -if test -n "$NOP"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NOP" >&5 -printf "%s\n" "$NOP" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$NOP" = ""; then - req_avail=no -fi -if test "$NOP" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "true is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "cat", so it can be a program name with args. -set dummy cat; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CAT+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CAT"; then - ac_cv_prog_CAT="$CAT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CAT="cat " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CAT=$ac_cv_prog_CAT -if test -n "$CAT"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5 -printf "%s\n" "$CAT" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$CAT" = ""; then - req_avail=no -fi -if test "$CAT" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cat is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "bison", so it can be a program name with args. -set dummy bison; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_BISON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$BISON"; then - ac_cv_prog_BISON="$BISON" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_BISON="bison " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -BISON=$ac_cv_prog_BISON -if test -n "$BISON"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 -printf "%s\n" "$BISON" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$BISON" = ""; then - req_avail=no -fi -if test "$BISON" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "bison is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "flex", so it can be a program name with args. -set dummy flex; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_FLEX+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$FLEX"; then - ac_cv_prog_FLEX="$FLEX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_FLEX="flex " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FLEX=$ac_cv_prog_FLEX -if test -n "$FLEX"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5 -printf "%s\n" "$FLEX" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$FLEX" = ""; then - req_avail=no -fi -if test "$FLEX" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "flex is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking version of $FLEX" >&5 -printf %s "checking version of $FLEX... " >&6; } -ax_cv_flex_version="`$FLEX --version | cut -d\" \" -f2`" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_flex_version" >&5 -printf "%s\n" "$ax_cv_flex_version" >&6; } -# Extract the first word of "pngtopnm", so it can be a program name with args. -set dummy pngtopnm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_PNGTOPNM+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$PNGTOPNM"; then - ac_cv_prog_PNGTOPNM="$PNGTOPNM" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_PNGTOPNM="pngtopnm " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PNGTOPNM=$ac_cv_prog_PNGTOPNM -if test -n "$PNGTOPNM"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PNGTOPNM" >&5 -printf "%s\n" "$PNGTOPNM" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$PNGTOPNM" = ""; then - req_avail=no -fi -if test "$PNGTOPNM" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "pngtopnm is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "ppmtoilbm", so it can be a program name with args. -set dummy ppmtoilbm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_PPMTOILBM+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$PPMTOILBM"; then - ac_cv_prog_PPMTOILBM="$PPMTOILBM" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_PPMTOILBM="ppmtoilbm " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PPMTOILBM=$ac_cv_prog_PPMTOILBM -if test -n "$PPMTOILBM"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PPMTOILBM" >&5 -printf "%s\n" "$PPMTOILBM" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$PPMTOILBM" = ""; then - req_avail=no -fi -if test "$PPMTOILBM" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ppmtoilbm is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "sed", so it can be a program name with args. -set dummy sed; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_SED+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$SED"; then - ac_cv_prog_SED="$SED" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_SED="sed " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -SED=$ac_cv_prog_SED -if test -n "$SED"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 -printf "%s\n" "$SED" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$SED" = ""; then - req_avail=no -fi -if test "$SED" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "sed is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "chmod", so it can be a program name with args. -set dummy chmod; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CHMOD+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CHMOD"; then - ac_cv_prog_CHMOD="$CHMOD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CHMOD="chmod " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CHMOD=$ac_cv_prog_CHMOD -if test -n "$CHMOD"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5 -printf "%s\n" "$CHMOD" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$CHMOD" = ""; then - req_avail=no -fi -if test "$CHMOD" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "chmod is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -# Extract the first word of "patch", so it can be a program name with args. -set dummy patch; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_PATCH+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$PATCH"; then - ac_cv_prog_PATCH="$PATCH" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_PATCH="patch " - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PATCH=$ac_cv_prog_PATCH -if test -n "$PATCH"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5 -printf "%s\n" "$PATCH" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -req_avail=yes -if test "$PATCH" = ""; then - req_avail=no -fi -if test "$PATCH" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "patch is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - - - - - - - if test -n "$PYTHON"; then - # If the user set $PYTHON, use it and don't search something else. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.0" >&5 -printf %s "checking whether $PYTHON version is >= 3.0... " >&6; } - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '3.0'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 - ($PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } -else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - as_fn_error $? "Python interpreter is too old" "$LINENO" 5 -fi - am_display_PYTHON=$PYTHON - else - # Otherwise, try each interpreter until we find one that satisfies - # VERSION. - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.0" >&5 -printf %s "checking for a Python interpreter with version >= 3.0... " >&6; } -if test ${am_cv_pathless_PYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - for am_cv_pathless_PYTHON in python python2 python3 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do - test "$am_cv_pathless_PYTHON" = none && break - prog="import sys -# split strings by '.' and convert to numeric. Append some zeros -# because we need at least 4 digits for the hex conversion. -# map returns an iterator in Python 3.0 and a list in 2.x -minver = list(map(int, '3.0'.split('.'))) + [0, 0, 0] -minverhex = 0 -# xrange is not present in Python 3.0 and range returns an iterator -for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] -sys.exit(sys.hexversion < minverhex)" - if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 - ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -then : - break -fi - done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 -printf "%s\n" "$am_cv_pathless_PYTHON" >&6; } - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. - if test "$am_cv_pathless_PYTHON" = none; then - PYTHON=: - else - # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. -set dummy $am_cv_pathless_PYTHON; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_PYTHON+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $PYTHON in - [\\/]* | ?:[\\/]*) - ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PYTHON=$ac_cv_path_PYTHON -if test -n "$PYTHON"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -printf "%s\n" "$PYTHON" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - fi - am_display_PYTHON=$am_cv_pathless_PYTHON - fi - - - if test "$PYTHON" = :; then - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 - else - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 -printf %s "checking for $am_display_PYTHON version... " >&6; } -if test ${am_cv_python_version+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 -printf "%s\n" "$am_cv_python_version" >&6; } - PYTHON_VERSION=$am_cv_python_version - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 -printf %s "checking for $am_display_PYTHON platform... " >&6; } -if test ${am_cv_python_platform+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 -printf "%s\n" "$am_cv_python_platform" >&6; } - PYTHON_PLATFORM=$am_cv_python_platform - - - if test "x$prefix" = xNONE; then - am__usable_prefix=$ac_default_prefix - else - am__usable_prefix=$prefix - fi - - # Allow user to request using sys.* values from Python, - # instead of the GNU $prefix values. - -# Check whether --with-python-sys-prefix was given. -if test ${with_python_sys_prefix+y} -then : - withval=$with_python_sys_prefix; am_use_python_sys=: -else $as_nop - am_use_python_sys=false -fi - - - # Allow user to override whatever the default Python prefix is. - -# Check whether --with-python_prefix was given. -if test ${with_python_prefix+y} -then : - withval=$with_python_prefix; am_python_prefix_subst=$withval - am_cv_python_prefix=$withval - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON prefix" >&5 -printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 -printf "%s\n" "$am_cv_python_prefix" >&6; } -else $as_nop - - if $am_use_python_sys; then - # using python sys.prefix value, not GNU - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 -printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } -if test ${am_cv_python_prefix+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 -printf "%s\n" "$am_cv_python_prefix" >&6; } - - case $am_cv_python_prefix in - $am__usable_prefix*) - am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` - am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` - ;; - *) - am_python_prefix_subst=$am_cv_python_prefix - ;; - esac - else # using GNU prefix value, not python sys.prefix - am_python_prefix_subst='${prefix}' - am_python_prefix=$am_python_prefix_subst - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON prefix" >&5 -printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 -printf "%s\n" "$am_python_prefix" >&6; } - fi -fi - - # Substituting python_prefix_subst value. - PYTHON_PREFIX=$am_python_prefix_subst - - - # emacs-page Now do it all over again for Python exec_prefix, but with yet - # another conditional: fall back to regular prefix if that was specified. - -# Check whether --with-python_exec_prefix was given. -if test ${with_python_exec_prefix+y} -then : - withval=$with_python_exec_prefix; am_python_exec_prefix_subst=$withval - am_cv_python_exec_prefix=$withval - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - - # no explicit --with-python_exec_prefix, but if - # --with-python_prefix was given, use its value for python_exec_prefix too. - if test -n "$with_python_prefix" -then : - am_python_exec_prefix_subst=$with_python_prefix - am_cv_python_exec_prefix=$with_python_prefix - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python_prefix-given $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } -else $as_nop - - # Set am__usable_exec_prefix whether using GNU or Python values, - # since we use that variable for pyexecdir. - if test "x$exec_prefix" = xNONE; then - am__usable_exec_prefix=$am__usable_prefix - else - am__usable_exec_prefix=$exec_prefix - fi - # - if $am_use_python_sys; then # using python sys.exec_prefix, not GNU - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; } -if test ${am_cv_python_exec_prefix+y} -then : - printf %s "(cached) " >&6 -else $as_nop - am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 -printf "%s\n" "$am_cv_python_exec_prefix" >&6; } - case $am_cv_python_exec_prefix in - $am__usable_exec_prefix*) - am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` - am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` - ;; - *) - am_python_exec_prefix_subst=$am_cv_python_exec_prefix - ;; - esac - else # using GNU $exec_prefix, not python sys.exec_prefix - am_python_exec_prefix_subst='${exec_prefix}' - am_python_exec_prefix=$am_python_exec_prefix_subst - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON exec_prefix" >&5 -printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 -printf "%s\n" "$am_python_exec_prefix" >&6; } - fi -fi -fi - - # Substituting python_exec_prefix_subst. - PYTHON_EXEC_PREFIX=$am_python_exec_prefix_subst - - - # Factor out some code duplication into this shell variable. - am_python_setup_sysconfig="\ -import sys -# Prefer sysconfig over distutils.sysconfig, for better compatibility -# with python 3.x. See automake bug#10227. -try: - import sysconfig -except ImportError: - can_use_sysconfig = 0 -else: - can_use_sysconfig = 1 -# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: -# -try: - from platform import python_implementation - if python_implementation() == 'CPython' and sys.version[:3] == '2.7': - can_use_sysconfig = 0 -except ImportError: - pass" - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 -printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6; } -if test ${am_cv_python_pythondir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_prefix" = x; then - am_py_prefix=$am__usable_prefix - else - am_py_prefix=$am_cv_python_prefix - fi - am_cv_python_pythondir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - if hasattr(sysconfig, 'get_default_scheme'): - scheme = sysconfig.get_default_scheme() - else: - scheme = sysconfig._get_default_scheme() - if scheme == 'posix_local': - # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ - scheme = 'posix_prefix' - sitedir = sysconfig.get_path('purelib', scheme, vars={'base':'$am_py_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 -printf "%s\n" "$am_cv_python_pythondir" >&6; } - pythondir=$am_cv_python_pythondir - - - pkgpythondir=\${pythondir}/$PACKAGE - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 -printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } -if test ${am_cv_python_pyexecdir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "x$am_cv_python_exec_prefix" = x; then - am_py_exec_prefix=$am__usable_exec_prefix - else - am_py_exec_prefix=$am_cv_python_exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " -$am_python_setup_sysconfig -if can_use_sysconfig: - if hasattr(sysconfig, 'get_default_scheme'): - scheme = sysconfig.get_default_scheme() - else: - scheme = sysconfig._get_default_scheme() - if scheme == 'posix_local': - # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ - scheme = 'posix_prefix' - sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase':'$am_py_exec_prefix'}) -else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') -sys.stdout.write(sitedir)"` - # - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" - ;; - esac - ;; - esac - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 -printf "%s\n" "$am_cv_python_pyexecdir" >&6; } - pyexecdir=$am_cv_python_pyexecdir - - - pkgpyexecdir=\${pyexecdir}/$PACKAGE - - - - fi - - -# Check whether --enable-libpng-config was given. -if test ${enable_libpng_config+y} -then : - enableval=$enable_libpng_config; -fi - -if test "$enable_libpng_config" != "no"; then - # Extract the first word of "libpng-config", so it can be a program name with args. -set dummy libpng-config; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_arosconfig_use_libpngconfig+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$arosconfig_use_libpngconfig"; then - ac_cv_prog_arosconfig_use_libpngconfig="$arosconfig_use_libpngconfig" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_arosconfig_use_libpngconfig="yes" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_arosconfig_use_libpngconfig" && ac_cv_prog_arosconfig_use_libpngconfig="no" -fi -fi -arosconfig_use_libpngconfig=$ac_cv_prog_arosconfig_use_libpngconfig -if test -n "$arosconfig_use_libpngconfig"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $arosconfig_use_libpngconfig" >&5 -printf "%s\n" "$arosconfig_use_libpngconfig" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$arosconfig_use_libpngconfig" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking libpng-config library" >&5 -printf %s "checking libpng-config library... " >&6; } - libpng_incdir="`libpng-config --cflags`" - libpng_libextra="$libpng_libextra `libpng-config --ldflags`" - libpng="`libpng-config --libs`" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libpng" >&5 -printf "%s\n" "$libpng" >&6; } -else - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for png_read_png in -lpng" >&5 -printf %s "checking for png_read_png in -lpng... " >&6; } -if test ${ac_cv_lib_png_png_read_png+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char png_read_png (); -int -main (void) -{ -return png_read_png (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_png_png_read_png=yes -else $as_nop - ac_cv_lib_png_png_read_png=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_read_png" >&5 -printf "%s\n" "$ac_cv_lib_png_png_read_png" >&6; } -if test "x$ac_cv_lib_png_png_read_png" = xyes -then : - libpng="-lpng" -else $as_nop - libpng="no" -fi - - if test "$libpng_libextra" != ""; then - if test "$libpng" != "no"; then - libpng_libextra="$libpng_libextra $libpng" - fi - fi -fi -req_avail=yes -if test "$libpng" = ""; then - req_avail=no -fi -if test "$libpng" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "libpng is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - - - -FOR=for - -IF=if - -TEST=test - -CMP=cmp - - - -# Check for some includes for the X11 HIDD and the kernel -ac_header= ac_cache= -for ac_item in $ac_header_c_list -do - if test $ac_cache; then - ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" - if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then - printf "%s\n" "#define $ac_item 1" >> confdefs.h - fi - ac_header= ac_cache= - elif test $ac_header; then - ac_cache=$ac_item - else - ac_header=$ac_item - fi -done - - - - - - - - -if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes -then : - -printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_ipc_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_IPC_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_shm_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_SHM_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/mmap.h" "ac_cv_header_sys_mmap_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_mmap_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_MMAP_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_mman_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_MMAN_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sysexits.h" "ac_cv_header_sysexits_h" "$ac_includes_default" -if test "x$ac_cv_header_sysexits_h" = xyes -then : - printf "%s\n" "#define HAVE_SYSEXITS_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/statfs.h" "ac_cv_header_sys_statfs_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_statfs_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_STATFS_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/statvfs.h" "ac_cv_header_sys_statvfs_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_statvfs_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_STATVFS_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/vfs.h" "ac_cv_header_sys_vfs_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_vfs_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_VFS_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h - -fi - - -ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "#include -" -if test "x$ac_cv_header_sys_mount_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_MOUNT_H 1" >>confdefs.h - -fi - - for ac_header in GL/glx.h -do : - ac_fn_c_check_header_compile "$LINENO" "GL/glx.h" "ac_cv_header_GL_glx_h" "$ac_includes_default" -if test "x$ac_cv_header_GL_glx_h" = xyes -then : - printf "%s\n" "#define HAVE_GL_GLX_H 1" >>confdefs.h - host_feature_glx=yes -else $as_nop - host_feature_glx=no -fi - -done - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __unused conflicts with sys/stat.h" >&5 -printf %s "checking if __unused conflicts with sys/stat.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define __unused __attribute__((unused)) - #include - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - host_stat_h__unused_used=no -else $as_nop - host_stat_h__unused_used=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $host_stat_h__unused_used" >&5 -printf "%s\n" "$host_stat_h__unused_used" >&6; } - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`printf "%s\n" "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 -printf %s "checking for $ac_hdr that defines DIR... " >&6; } -if eval test \${$as_ac_Header+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main (void) -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_ac_Header=yes" -else $as_nop - eval "$as_ac_Header=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -eval ac_res=\$$as_ac_Header - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Header"\" = x"yes" -then : - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -printf %s "checking for library containing opendir... " >&6; } -if test ${ac_cv_search_opendir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main (void) -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_opendir+y} -then : - break -fi -done -if test ${ac_cv_search_opendir+y} -then : - -else $as_nop - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -printf "%s\n" "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -printf %s "checking for library containing opendir... " >&6; } -if test ${ac_cv_search_opendir+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main (void) -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_opendir+y} -then : - break -fi -done -if test ${ac_cv_search_opendir+y} -then : - -else $as_nop - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -printf "%s\n" "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -printf %s "checking whether stat file-mode macros are broken... " >&6; } -if test ${ac_cv_header_stat_broken+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif - -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_header_stat_broken=no -else $as_nop - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -printf "%s\n" "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -printf "%s\n" "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in grep ggrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -# Autoupdate added the next two lines to ensure that your configure -# script's behavior did not change. They are probably safe to remove. - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in egrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -printf %s "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test ${ac_cv_header_sys_wait_h+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main (void) -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_header_sys_wait_h=yes -else $as_nop - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -printf "%s\n" "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h - -fi - - - -# Obsolete code to be removed. -if test $ac_cv_header_sys_time_h = yes; then - -printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h - -fi -# End of obsolete code. - -ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_blksize" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BLKSIZE 1" >>confdefs.h - - -printf "%s\n" "#define HAVE_ST_BLKSIZE 1" >>confdefs.h - -fi - - -ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_blocks" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BLOCKS 1" >>confdefs.h - - -printf "%s\n" "#define HAVE_ST_BLOCKS 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" fileblocks.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS fileblocks.$ac_objext" - ;; -esac - -fi - - -ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_rdev" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_RDEV 1" >>confdefs.h - - -printf "%s\n" "#define HAVE_ST_RDEV 1" >>confdefs.h - -fi - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test ${ac_cv_struct_tm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main (void) -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_struct_tm=time.h -else $as_nop - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -printf "%s\n" "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 -printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } -if test ${ac_cv_c_undeclared_builtin_options+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_CFLAGS=$CFLAGS - ac_cv_c_undeclared_builtin_options='cannot detect' - for ac_arg in '' -fno-builtin; do - CFLAGS="$ac_save_CFLAGS $ac_arg" - # This test program should *not* compile successfully. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -(void) strchr; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else $as_nop - # This test program should compile successfully. - # No library function is consistently available on - # freestanding implementations, so test against a dummy - # declaration. Include always-available headers on the - # off chance that they somehow elicit warnings. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -extern void ac_decl (int, char *); - -int -main (void) -{ -(void) ac_decl (0, (char *) 0); - (void) ac_decl; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - if test x"$ac_arg" = x -then : - ac_cv_c_undeclared_builtin_options='none needed' -else $as_nop - ac_cv_c_undeclared_builtin_options=$ac_arg -fi - break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - done - CFLAGS=$ac_save_CFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 -printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } - case $ac_cv_c_undeclared_builtin_options in #( - 'cannot detect') : - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot make $CC report undeclared builtins -See \`config.log' for more details" "$LINENO" 5; } ;; #( - 'none needed') : - ac_c_undeclared_builtin_options='' ;; #( - *) : - ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; -esac - -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include -#include <$ac_cv_struct_tm> - -" -if test "x$ac_cv_member_struct_tm_tm_zone" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_TM_TM_ZONE 1" >>confdefs.h - - -fi - -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - -printf "%s\n" "#define HAVE_TM_ZONE 1" >>confdefs.h - -else - ac_fn_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include -" "$ac_c_undeclared_builtin_options" "CFLAGS" -if test "x$ac_cv_have_decl_tzname" = xyes -then : - ac_have_decl=1 -else $as_nop - ac_have_decl=0 -fi -printf "%s\n" "#define HAVE_DECL_TZNAME $ac_have_decl" >>confdefs.h - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 -printf %s "checking for tzname... " >&6; } -if test ${ac_cv_var_tzname+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif - -int -main (void) -{ -return tzname[0][0]; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_var_tzname=yes -else $as_nop - ac_cv_var_tzname=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -printf "%s\n" "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h - - fi -fi - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes -then : - -else $as_nop - -printf "%s\n" "#define off_t long int" >>confdefs.h - -fi - - - ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default -" -if test "x$ac_cv_type_pid_t" = xyes -then : - -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #if defined _WIN64 && !defined __CYGWIN__ - LLP64 - #endif - -int -main (void) -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_pid_type='int' -else $as_nop - ac_pid_type='__int64' -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h - - -fi - - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes -then : - -else $as_nop - -printf "%s\n" "#define size_t unsigned int" >>confdefs.h - -fi - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -printf %s "checking for uid_t in sys/types.h... " >&6; } -if test ${ac_cv_type_uid_t+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1 -then : - ac_cv_type_uid_t=yes -else $as_nop - ac_cv_type_uid_t=no -fi -rm -rf conftest* - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -printf "%s\n" "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -printf "%s\n" "#define uid_t int" >>confdefs.h - - -printf "%s\n" "#define gid_t int" >>confdefs.h - -fi - - -ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "$ac_includes_default" -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_TM_TM_GMTOFF 1" >>confdefs.h - - -fi - - -# Look for some functions -ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes -then : - printf "%s\n" "#define HAVE_GETPAGESIZE 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue" -if test "x$ac_cv_func_kqueue" = xyes -then : - printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "statfs" "ac_cv_func_statfs" -if test "x$ac_cv_func_statfs" = xyes -then : - printf "%s\n" "#define HAVE_STATFS 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" -if test "x$ac_cv_func_statvfs" = xyes -then : - printf "%s\n" "#define HAVE_STATVFS 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "clone" "ac_cv_func_clone" -if test "x$ac_cv_func_clone" = xyes -then : - printf "%s\n" "#define HAVE_CLONE 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "kse_create" "ac_cv_func_kse_create" -if test "x$ac_cv_func_kse_create" = xyes -then : - printf "%s\n" "#define HAVE_KSE_CREATE 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "rfork_thread" "ac_cv_func_rfork_thread" -if test "x$ac_cv_func_rfork_thread" = xyes -then : - printf "%s\n" "#define HAVE_RFORK_THREAD 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "thr_create" "ac_cv_func_thr_create" -if test "x$ac_cv_func_thr_create" = xyes -then : - printf "%s\n" "#define HAVE_THR_CREATE 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "sa_register" "ac_cv_func_sa_register" -if test "x$ac_cv_func_sa_register" = xyes -then : - printf "%s\n" "#define HAVE_SA_REGISTER 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "getcontext" "ac_cv_func_getcontext" -if test "x$ac_cv_func_getcontext" = xyes -then : - printf "%s\n" "#define HAVE_GETCONTEXT 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "makecontext" "ac_cv_func_makecontext" -if test "x$ac_cv_func_makecontext" = xyes -then : - printf "%s\n" "#define HAVE_MAKECONTEXT 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "setcontext" "ac_cv_func_setcontext" -if test "x$ac_cv_func_setcontext" = xyes -then : - printf "%s\n" "#define HAVE_SETCONTEXT 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "sigaltstack" "ac_cv_func_sigaltstack" -if test "x$ac_cv_func_sigaltstack" = xyes -then : - printf "%s\n" "#define HAVE_SIGALTSTACK 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "swapcontext" "ac_cv_func_swapcontext" -if test "x$ac_cv_func_swapcontext" = xyes -then : - printf "%s\n" "#define HAVE_SWAPCONTEXT 1" >>confdefs.h - -fi - - - -ac_func= -for ac_item in $ac_func_c_list -do - if test $ac_func; then - ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func - if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then - echo "#define $ac_item 1" >> confdefs.h - fi - ac_func= - else - ac_func=$ac_item - fi -done - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 -printf %s "checking for working mmap... " >&6; } -if test ${ac_cv_func_mmap_fixed_mapped+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test "$cross_compiling" = yes -then : - case "$host_os" in # (( - # Guess yes on platforms where we know the result. - linux*) ac_cv_func_mmap_fixed_mapped=yes ;; - # If we don't know, assume the worst. - *) ac_cv_func_mmap_fixed_mapped=no ;; - esac -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main (void) -{ - char *data, *data2, *data3; - const char *cdata2; - int i, pagesize; - int fd, fd2; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 2; - if (write (fd, data, pagesize) != pagesize) - return 3; - close (fd); - - /* Next, check that the tail of a page is zero-filled. File must have - non-zero length, otherwise we risk SIGBUS for entire page. */ - fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); - if (fd2 < 0) - return 4; - cdata2 = ""; - if (write (fd2, cdata2, 1) != 1) - return 5; - data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); - if (data2 == MAP_FAILED) - return 6; - for (i = 0; i < pagesize; ++i) - if (*(data2 + i)) - return 7; - close (fd2); - if (munmap (data2, pagesize)) - return 8; - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 9; - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 10; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 11; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 12; - if (read (fd, data3, pagesize) != pagesize) - return 13; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 14; - close (fd); - free (data); - free (data3); - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - ac_cv_func_mmap_fixed_mapped=yes -else $as_nop - ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 -printf "%s\n" "$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -printf "%s\n" "#define HAVE_MMAP 1" >>confdefs.h - -fi -rm -f conftest.mmap conftest.txt - - -# -# Disable common symbols -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC_BASE} accepts -fno-common" >&5 -printf %s "checking whether ${CC_BASE} accepts -fno-common... " >&6; } -save_cflags="$CFLAGS" -CFLAGS="$CFLAGS -fno-common" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - use_no_common="yes" -else $as_nop - use_no_common="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_no_common" >&5 -printf "%s\n" "$use_no_common" >&6; } -if test "x-$use_no_common" = "x-yes" ; then - aros_host_cflags="$aros_host_cflags -fno-common" -fi -CFLAGS="$save_cflags" - - -#----------------------------------------------------------------------------- - -# -# GCC 4.1+ has a stack protection feature that requires OS support. Ubuntu has -# it switched on by default, and we use the host compiler, so it compiles AROS -# code with this enabled resulting in link failures as we don't have support -# for it. -# -# We use two methods to disable it. For the host compiler (used to compile -# some hosted modules), we test to see if the compiler supports stack -# protection, and if it does we disable it in AROS_CONFIG_CFLAGS. This should -# work on all platforms. -# - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC_BASE} accepts -fno-stack-protector" >&5 -printf %s "checking whether ${CC_BASE} accepts -fno-stack-protector... " >&6; } -save_cflags="$CFLAGS" -CFLAGS="$CFLAGS -fno-stack-protector" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - use_no_stack_protector="yes" -else $as_nop - use_no_stack_protector="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_no_stack_protector" >&5 -printf "%s\n" "$use_no_stack_protector" >&6; } -if test "x-$use_no_stack_protector" = "x-yes" ; then - aros_host_cflags="$aros_host_cflags -fno-stack-protector" -fi -CFLAGS="$save_cflags" - -#----------------------------------------------------------------------------- - -# Disable pointer-signedness warnings if the compiler recognises the option -# (this only works for the host compiler at the moment) - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC_BASE} accepts -Wno-pointer-sign" >&5 -printf %s "checking whether ${CC_BASE} accepts -Wno-pointer-sign... " >&6; } -save_cflags="$CFLAGS" -CFLAGS="$CFLAGS -Wno-pointer-sign" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - use_no_sign_warning="yes" -else $as_nop - use_no_sign_warning="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_no_sign_warning" >&5 -printf "%s\n" "$use_no_sign_warning" >&6; } -if test "x-$use_no_sign_warning" = "x-yes" ; then - aros_host_cflags="$aros_host_cflags -Wno-pointer-sign" -fi -CFLAGS="$save_cflags" - -#----------------------------------------------------------------------------- - -# Check if host compiler supports -fgnu89-inline, can be needed for crosstools. - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC_BASE} accepts -fgnu89-inline" >&5 -printf %s "checking whether ${CC_BASE} accepts -fgnu89-inline... " >&6; } -save_cflags="$CFLAGS" -CFLAGS="$CFLAGS -fgnu89-inline" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - use_gnu89_inline="yes" -else $as_nop - use_gnu89_inline="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_gnu89_inline" >&5 -printf "%s\n" "$use_gnu89_inline" >&6; } -if test "x-$use_gnu89_inline" = "x-yes" ; then - gnu89_inline="-fgnu89-inline" -fi -CFLAGS="$save_cflags" - -# -# For GCC < 4.0 -I- is used for giving the search path for '#include "..."' -# On GCC >= 4.0 -iquote should be used -# -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC_BASE} accepts -iquote" >&5 -printf %s "checking whether ${CC_BASE} accepts -iquote... " >&6; } -CFLAGS="$CFLAGS -iquote." -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - has_iquote="yes" -else $as_nop - has_iquote="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_iquote" >&5 -printf "%s\n" "$has_iquote" >&6; } -if test "x-$has_iquote" = "x-yes" ; then - host_cflags_iquote=-iquote - host_cflags_iquote_end= -else - host_cflags_iquote=-I - host_cflags_iquote_end=-I- -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Performing target configuration..." >&5 -printf "%s\n" "$as_me: Performing target configuration..." >&6;} - - -test_kernel_cc=no - -aros_nowarn_flags="NOWARN_UNUSED_COMMAND_LINE_ARGUMENT NOWARN_UNKNOWN_WARNING_OPTION NOWARN_POINTER_SIGN NOWARN_PARENTHESES" -export_newline=" -" - -aros_elf_translate= -aros_warn_flags= -aros_isa_extra= -aros_isa_flags= -aros_kernel_isa_flags= -aros_config_cppflags= -aros_config_cflags= -aros_config_cxxflags= -aros_config_aflags="$""(WARN_ALL) -x assembler-with-cpp -c" -aros_config_ldflags="" - -aros_shared_default=yes - -aros_shared_cflags="-fPIC" -aros_shared_aflags="" -aros_shared_ldflags="-Wl,-rpath,./lib -shared" -aros_kernel_ldflags="-Wl,-rpath,./lib" - -aros_kernel_ar_flags="cr" -aros_target_ar_flags="cr" -aros_target_nm_flags="--demangle --undefined-only" -aros_target_strip_flags="--strip-unneeded -R.comment" - -aros_c_libs= -aros_cxx_libs= - -aros_target_genmap="-Wl,-Map -Xlinker" - -# Native flavour stuff -aros_serial_debug="0" - -# Palm native flavour stuff -aros_palm_debug_hack="0" - -# Unix flavour stuff -aros_nesting_supervisor="0" - -# Collect-aros stuff: "-ius" to ignore undefined symbols -ignore_undefined_symbols="" - -# Check for X11 by default -need_x11="auto" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which toolchain family to use ..." >&5 -printf %s "checking Which toolchain family to use ...... " >&6; } - -# Check whether --with-toolchain was given. -if test ${with_toolchain+y} -then : - withval=$with_toolchain; aros_toolchain="$withval" -else $as_nop - aros_toolchain="$default_toolchain_family" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_toolchain" >&5 -printf "%s\n" "$aros_toolchain" >&6; } - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we should enable link time optimizations (LTO)" >&5 -printf %s "checking if we should enable link time optimizations (LTO)... " >&6; } -# Check whether --enable-lto was given. -if test ${enable_lto+y} -then : - enableval=$enable_lto; aros_config_lto="$enableval" -else $as_nop - aros_config_lto="no" -fi - -if test "$aros_config_lto" != "no"; then - aros_config_lto="yes" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_config_lto" >&5 -printf "%s\n" "$aros_config_lto" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we should enable coverage instrumentation" >&5 -printf %s "checking if we should enable coverage instrumentation... " >&6; } -# Check whether --enable-coverage was given. -if test ${enable_coverage+y} -then : - enableval=$enable_coverage; aros_config_coverage="$enableval" -else $as_nop - aros_config_coverage="no" -fi - -if test "$aros_config_coverage" != "no"; then - aros_config_coverage="yes" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_config_coverage" >&5 -printf "%s\n" "$aros_config_coverage" >&6; } - -use_ld_wrapper=yes - -case "$aros_toolchain" in - *llvm*) - toolchain_c_compiler="clang" - toolchain_cxx_compiler="clang++" - toolchain_cpp_preprocessor="clang" - toolchain_cpp_opts=" -E" - toolchain_ld="ld.lld" - aros_ld="ld" - toolchain_as="llvm-as" - toolchain_ar="llvm-ar" - toolchain_ranlib="llvm-ranlib" - toolchain_nm="llvm-nm" - toolchain_strip="${NOP}" - toolchain_objcopy="llvm-objcopy" - toolchain_objdump="llvm-objdump" - use_libatomic=yes - toolchain_def_opt_lvl="-O2" - toolchain_debug_opt_lvl="-O0" - toolchain_size_opt_lvl="-Os" - aros_cxx_ldflags="-L $""(CROSSTOOLSDIR)/lib -stdlib=libc++" - aros_nowarn_flags="$aros_nowarn_flags NOWARN_IGNORED_OPTIMIZATION_ARGUMENT" - ;; - *gnu*) - toolchain_c_compiler="gcc" - toolchain_cxx_compiler="g++" - toolchain_cpp_preprocessor="gcc" - toolchain_cpp_opts=" -E" - toolchain_as="as" - aros_ld="ld" - if test "$aros_config_lto" != "yes"; then - toolchain_ld="ld" - toolchain_ar="ar" - toolchain_ranlib="ranlib" - toolchain_nm="nm" - else - toolchain_ld="ld.bfd" - toolchain_ar="gcc-ar" - toolchain_ranlib="gcc-ranlib" - toolchain_nm="gcc-nm" - fi - aros_target_nm_flags="$aros_target_nm_flags --line-numbers" - toolchain_strip="strip" - toolchain_objcopy="objcopy" - toolchain_objdump="objdump" - use_libatomic=yes - toolchain_def_opt_lvl="-O2" - toolchain_debug_opt_lvl="-O0" - toolchain_size_opt_lvl="-Os" - aros_cxx_ldflags="-static-libstdc++" - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Unknown toolchain family!\"" >&5 -printf "%s\n" "$as_me: WARNING: \"Unknown toolchain family!\"" >&2;} - toolchain_c_compiler="cc" - toolchain_cxx_compiler="c++" - toolchain_cpp_preprocessor="cpp" - toolchain_cpp_opts= - toolchain_ld="ld" - aros_ld="ld" - toolchain_as="as" - toolchain_ar="ar" - toolchain_ranlib="ranlib" - toolchain_nm="nm" - toolchain_strip="strip" - toolchain_objcopy="objcopy" - toolchain_objdump="objdump" - ;; -esac - -#----------------------------------------------------------------------------- - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which type of build to do" >&5 -printf %s "checking which type of build to do... " >&6; } -# Check whether --enable-build_type was given. -if test ${enable_build_type+y} -then : - enableval=$enable_build_type; build_type=$enableval -else $as_nop - build_type="personal" -fi - - -if test "$build_type" = "nightly"; then - build_type_string="NIGHTLY" -elif test "$build_type" = "snapshot"; then - build_type_string="SNAPSHOT" -elif test "$build_type" = "milestone"; then - build_type_string="MILESTONE" -elif test "$build_type" = "release"; then - build_type_string="RELEASE" -else - build_type_string="PERSONAL" - build_type="personal" -fi - -aros_config_cppflags="$aros_config_cppflags -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_$build_type_string" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $build_type" >&5 -printf "%s\n" "$build_type" >&6; } - -#----------------------------------------------------------------------------- -all_debug_types="messages stack modules mungwall symbols" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which debug types to enable" >&5 -printf %s "checking which debug types to enable... " >&6; } -# Check whether --enable-debug was given. -if test ${enable_debug+y} -then : - enableval=$enable_debug; debug="$enableval" -else $as_nop - debug="" -fi - - -if test "$debug" = "" -o "$debug" = "no"; then - debug="none" -elif test "$debug" = "yes"; then - debug="all" -fi - -if test "$debug" = "all" ; then - debug="messages stack modules symbols" - for d in $all_debug_types; do - export aros_${d}_debug="1" - done -else - for d in $all_debug_types; do - export aros_${d}_debug="0" - done -fi - -if test "$debug" != "none"; then - debug=`echo $debug | sed s/,/\ /g` - for d in $debug; do - found="0" - for d2 in $all_debug_types; do - if test "$d2" = "$d"; then - found="1" - break - fi - done - if test "$found" = "0"; then - as_fn_error $? "unrecognized debug type \"$d\". Available types are: all none $all_debug_types" "$LINENO" 5 - fi - export aros_${d}_debug="1" - done - aros_debug="yes" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $debug" >&5 -printf "%s\n" "$debug" >&6; } - -if test "$aros_messages_debug" = "1"; then - aros_messages_debug="-DADEBUG=1 -DMDEBUG=1" -else - aros_messages_debug="" -fi -if test "$aros_symbols_debug" = "1"; then - aros_symbols_debug="-g" -else - aros_symbols_debug="" -fi - -# These are the flags to pass when compiling debugged programs -aros_debug_cppflags="$aros_messages_debug" -aros_debug_cflags="$aros_symbols_debug" -aros_debug_cxxflags= -aros_debug_aflags="" -aros_debug_ldflags="$aros_symbols_debug" - -#----------------------------------------------------------------------------- -# Checking for distcc and ccache. -# -# Always apply the transforms in this particular order. Basically you should -# always run 'ccache distcc compiler' in that order for the best performance. -# -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable distcc" >&5 -printf %s "checking whether to enable distcc... " >&6; } -# Check whether --enable-distcc was given. -if test ${enable_distcc+y} -then : - enableval=$enable_distcc; distcc="$enableval" -else $as_nop - distcc="no" -fi - -if test "$distcc" != "" -a "$distcc" != "no"; then - # AC_CHECK_PROG will print out the result in this case - # Extract the first word of "distcc", so it can be a program name with args. -set dummy distcc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_DISTCC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $DISTCC in - [\\/]* | ?:[\\/]*) - ac_cv_path_DISTCC="$DISTCC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_DISTCC="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_DISTCC" && ac_cv_path_DISTCC="distcc" - ;; -esac -fi -DISTCC=$ac_cv_path_DISTCC -if test -n "$DISTCC"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DISTCC" >&5 -printf "%s\n" "$DISTCC" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable ccache" >&5 -printf %s "checking whether to enable ccache... " >&6; } -# Check whether --enable-ccache was given. -if test ${enable_ccache+y} -then : - enableval=$enable_ccache; ccache="$enableval" -else $as_nop - ccache="no" -fi - -if test "$ccache" != "" -a "$ccache" != "no"; then - # AC_CHECK_PROG will print out the result in this case - # Extract the first word of "ccache", so it can be a program name with args. -set dummy ccache; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_prog_CCACHE+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -n "$CCACHE"; then - ac_cv_prog_CCACHE="$CCACHE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_prog_CCACHE="ccache" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CCACHE=$ac_cv_prog_CCACHE -if test -n "$CCACHE"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CCACHE" >&5 -printf "%s\n" "$CCACHE" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what specific host gcc version to use" >&5 -printf %s "checking what specific host gcc version to use... " >&6; } - -# Check whether --with-kernel-gcc-version was given. -if test ${with_kernel_gcc_version+y} -then : - withval=$with_kernel_gcc_version; kernel_tool_version="$withval" -else $as_nop - kernel_tool_version="" -fi - -if test "$kernel_tool_version" != "" ; then - msg_result=$kernel_tool_version -else - msg_result="default" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg_result" >&5 -printf "%s\n" "$msg_result" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what optimization flags to use" >&5 -printf %s "checking what optimization flags to use... " >&6; } - -# Check whether --with-optimization was given. -if test ${with_optimization+y} -then : - withval=$with_optimization; optimization_level="$withval" -else $as_nop - optimization_level="unknown" -fi - -if test "$optimization_level" = "unknown"; then - optimization="default" - if test "$debug" != "none"; then - optimization_level=$toolchain_debug_opt_lvl - else - optimization_level=$toolchain_def_opt_lvl - fi -else - optimization="$optimization_level" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $optimization" >&5 -printf "%s\n" "$optimization" >&6; } - -paranoia_default=yes -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which paranoia flags to use" >&5 -printf %s "checking which paranoia flags to use... " >&6; } - -# Check whether --with-paranoia was given. -if test ${with_paranoia+y} -then : - withval=$with_paranoia; paranoia_flags="$withval" -else $as_nop - paranoia_flags="$paranoia_default" -fi - -if test "$paranoia_flags" = "no"; then - paranoia_flags="$""(WARN_ALL) -Werror-implicit-function-declaration" - msg_result="none" -else - if test "$paranoia_flags" = "yes"; then - paranoia_flags="$""(WARN_ALL) $""(WARN_ERROR)" - fi - msg_result="$paranoia_flags" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg_result" >&5 -printf "%s\n" "$msg_result" >&6; } -aros_warn_flags="$aros_warn_flags $paranoia_flags" - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what target variant to enable" >&5 -printf %s "checking what target variant to enable... " >&6; } -# Check whether --enable-target_variant was given. -if test ${enable_target_variant+y} -then : - enableval=$enable_target_variant; target_variant=$enableval -else $as_nop - target_variant="" -fi - -if test "$target_variant" = ""; then - aros_target_variant="" - aros_target_suffix="" - enableval="none" -else - aros_target_variant="$target_variant" - aros_target_suffix="-$target_variant" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5 -printf "%s\n" "$enableval" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what distro name to use" >&5 -printf %s "checking what distro name to use... " >&6; } -# Check whether --enable-dist_name was given. -if test ${enable_dist_name+y} -then : - enableval=$enable_dist_name; dist_name="$enableval" -else $as_nop - dist_name="" -fi - -if test "$dist_name" = ""; then - aros_dist_name="$aros_dist_name" -else - aros_dist_name="$dist_name" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_dist_name" >&5 -printf "%s\n" "$aros_dist_name" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what distro version" >&5 -printf %s "checking what distro version... " >&6; } -# Check whether --enable-dist_version was given. -if test ${enable_dist_version+y} -then : - enableval=$enable_dist_version; dist_version="$enableval" -else $as_nop - dist_version="" -fi - -if test "$dist_version" = ""; then - aros_dist_version="$aros_dist_version" -else - aros_dist_version="$dist_version" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_dist_version" >&5 -printf "%s\n" "$aros_dist_version" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what distro date" >&5 -printf %s "checking what distro date... " >&6; } -# Check whether --enable-dist_date was given. -if test ${enable_dist_date+y} -then : - enableval=$enable_dist_date; dist_date=$enableval -else $as_nop - dist_date="" -fi - -if test "$dist_date" = ""; then - aros_dist_date="$aros_dist_date" -else - aros_dist_date="$dist_date" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_dist_date" >&5 -printf "%s\n" "$aros_dist_date" >&6; } - -#----------------------------------------------------------------------------- -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what distro amigadate" >&5 -printf %s "checking what distro amigadate... " >&6; } -# Check whether --enable-dist_amigadate was given. -if test ${enable_dist_amigadate+y} -then : - enableval=$enable_dist_amigadate; dist_amigadate=$enableval -else $as_nop - dist_amigadate="" -fi - -if test "$dist_amigadate" = ""; then - aros_dist_amigadate="$aros_dist_amigadate" -else - aros_dist_amigadate="$dist_amigadate" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_dist_amigadate" >&5 -printf "%s\n" "$aros_dist_amigadate" >&6; } - - -#----------------------------------------------------------------------------- -# Target-specific defaults. You can override then on a per-target basis. -# -# Bootloader name. Currently used by PC target. -target_bootloader="none" -PLATFORM_EXECSMP= -ENABLE_EXECSMP= - -#----------------------------------------------------------------------------- -# Additional options for some specific targets - -case "$aros_target_variant" in -ios) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking XCode path" >&5 -printf %s "checking XCode path... " >&6; } - -# Check whether --with-xcode was given. -if test ${with_xcode+y} -then : - withval=$with_xcode; aros_xcode_path="$withval" -else $as_nop - aros_xcode_path="/Developer" -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_xcode_path" >&5 -printf "%s\n" "$aros_xcode_path" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what iOS SDK version to use" >&5 -printf %s "checking what iOS SDK version to use... " >&6; } - -# Check whether --with-sdk-version was given. -if test ${with_sdk_version+y} -then : - withval=$with_sdk_version; aros_sdk_version="$withval" -else $as_nop - aros_sdk_version="4.1" -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_sdk_version" >&5 -printf "%s\n" "$aros_sdk_version" >&6; } - - ;; - -"android") - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Android SDK path" >&5 -printf %s "checking Android SDK path... " >&6; } - -# Check whether --with-sdk was given. -if test ${with_sdk+y} -then : - withval=$with_sdk; aros_android_sdk="$withval" -else $as_nop - aros_android_sdk=$default_android_sdk -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_android_sdk" >&5 -printf "%s\n" "$aros_android_sdk" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Android NDK path" >&5 -printf %s "checking Android NDK path... " >&6; } - -# Check whether --with-ndk was given. -if test ${with_ndk+y} -then : - withval=$with_ndk; aros_android_ndk="$withval" -else $as_nop - aros_android_ndk="none" -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_android_ndk" >&5 -printf "%s\n" "$aros_android_ndk" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what Android SDK version to use" >&5 -printf %s "checking what Android SDK version to use... " >&6; } - -# Check whether --with-sdk-version was given. -if test ${with_sdk_version+y} -then : - withval=$with_sdk_version; aros_sdk_version="$withval" -else $as_nop - aros_sdk_version="12" -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_sdk_version" >&5 -printf "%s\n" "$aros_sdk_version" >&6; } - - aros_android_level=android-$aros_sdk_version - if test ! -d $aros_android_sdk/platforms/$aros_android_level; then - echo "Platform $aros_android_level is not installed in your SDK" - echo "Use --with-sdk-version= to select another platform version" - echo "You can check what plaform versions are installed in your SDK" - echo "by examining contents of $aros_android_sdk/platforms directory" - as_fn_error $? "Android platform $aros_android_level is not installed" "$LINENO" 5 - fi - - export PATH="$aros_android_sdk/tools:$PATH" - # Extract the first word of "$android_tool", so it can be a program name with args. -set dummy $android_tool; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_android_tool+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $android_tool in - [\\/]* | ?:[\\/]*) - ac_cv_path_android_tool="$android_tool" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_android_tool="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -android_tool=$ac_cv_path_android_tool -if test -n "$android_tool"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $android_tool" >&5 -printf "%s\n" "$android_tool" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - req_avail=yes -if test "$android_tool" = ""; then - req_avail=no -fi -if test "$android_tool" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "android is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - if test "$aros_android_ndk" != "none"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what Android NDK version to use" >&5 -printf %s "checking what Android NDK version to use... " >&6; } - -# Check whether --with-ndk-version was given. -if test ${with_ndk_version+y} -then : - withval=$with_ndk_version; aros_ndk_version="$withval" -else $as_nop - aros_ndk_version="9" -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_ndk_version" >&5 -printf "%s\n" "$aros_ndk_version" >&6; } - fi - - # Extract the first word of "ant", so it can be a program name with args. -set dummy ant; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_ant+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $ant in - [\\/]* | ?:[\\/]*) - ac_cv_path_ant="$ant" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_ant="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ant=$ac_cv_path_ant -if test -n "$ant"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ant" >&5 -printf "%s\n" "$ant" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - if test "$ant" = ""; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Apache Ant is missing, Java bootstrap can't be built automatically" >&5 -printf "%s\n" "$as_me: WARNING: Apache Ant is missing, Java bootstrap can't be built automatically" >&2;} - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Build debug or release apk" >&5 -printf %s "checking Build debug or release apk... " >&6; } - -# Check whether --with-apk-version was given. -if test ${with_apk_version+y} -then : - withval=$with_apk_version; aros_android_antapk=$withval -else $as_nop - aros_android_antapk=release -fi - - if test $aros_android_antapk != release -a $aros_android_antapk != debug; then - as_fn_error $? "apk-version has to be release or debug" "$LINENO" 5 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_android_antapk" >&5 -printf "%s\n" "$aros_android_antapk" >&6; } - - target_extra_cfg+="$export_newline""# Android$export_newline""AROS_ANDROID_ANTAPK := $aros_android_antapk$export_newline" - host_extra_cfg+="$export_newline""# Android-specific$export_newline""ANDROID := $android_tool$export_newline""ANT := $ant$export_newline" - aros_target_options+="$export_newline""# Enable Android Gfx Driver$export_newline""OPT_HOST_ANDROIDGFX := yes$export_newline" - - if test "$host_os" = "mingw32"; then - android_tool="cmd //c $android_tool" - fi - - need_dlopen="no" - - ;; -"be") - case "$target_cpu" in - *arm*) - aros_flavour="standcompat" - aros_object_format="armelfb_aros" - gcc_default_endian="big-endian" - ;; - *) - ;; - esac - ;; -esac - -#----------------------------------------------------------------------------- -# External toolchains -kernel_tool_prefix="none" -aros_tool_prefix="none" -elf_tool_prefix="${target_cpu}-elf-" - -# Base target cpu ISA configuration switch. -case "$target_cpu" in - *aarch64*) - ;; - *armhf*) - if test "$gcc_default_endian" = ""; then - gcc_default_endian="little-endian" - fi - arm_isa_extra="ISA_ARM_FLAGS = -marm -mfloat-abi=hard -m"$gcc_default_endian - ;; - *arm*) - if test "$gcc_default_endian" = ""; then - gcc_default_endian="little-endian" - fi - arm_isa_extra="ISA_ARM_FLAGS = -marm"$gcc_default_endian - ;; - *m68k*) - m68k_isa_extra="ISA_FLOAT_FLAGS = -msoft-float""$export_newline""ISA_MC68000_FLAGS = -march=68000 $""(ISA_FLOAT_FLAGS)" - m68k_020_isa_extra="ISA_MC68020_FLAGS = -march=68020 $""(ISA_FLOAT_FLAGS)" - m68k_030_isa_extra="ISA_MC68030_FLAGS = -march=68030 $""(ISA_FLOAT_FLAGS)" - m68k_040_isa_extra="ISA_MC68040_FLAGS = -march=68040 $""(ISA_FLOAT_FLAGS)" - m68k_060_isa_extra="ISA_MC68060_FLAGS = -march=68060 $""(ISA_FLOAT_FLAGS)" - m68k_ac080_isa_extra="ISA_AC68080_FLAGS = -march=68040 $""(ISA_FLOAT_FLAGS)" - m68k_020_ext="ISA_MC68020_EXT :=020" - m68k_030_ext="ISA_MC68030_EXT :=030" - m68k_040_ext="ISA_MC68040_EXT :=040" - m68k_060_ext="ISA_MC68060_EXT :=060" - m68k_020_cflags="ISA_MC68020_CFLAGS =" - m68k_030_cflags="ISA_MC68030_CFLAGS =" - m68k_040_cflags="ISA_MC68040_CFLAGS =" - m68k_060_cflags="ISA_MC68060_CFLAGS =" - m68k_020_cppflags="ISA_MC68020_CPPFLAGS =" - m68k_030_cppflags="ISA_MC68030_CPPFLAGS =" - m68k_040_cppflags="ISA_MC68040_CPPFLAGS =" - m68k_060_cppflags="ISA_MC68060_CPPFLAGS =" - m68k_020_ldflags="ISA_MC68020_LDFLAGS =" - m68k_030_ldflags="ISA_MC68030_LDFLAGS =" - m68k_040_ldflags="ISA_MC68040_LDFLAGS =" - m68k_060_ldflags="ISA_MC68060_LDFLAGS =" - ;; - *x86_64* | *i?86*) - x86_isa_extra="ISA_X86_FLAGS = -m32 -march=i486" - x86_64_isa_extra="ISA_X8664_FLAGS = -m64 -mcmodel=large" - ;; - *powerpc*) - ;; -esac - -# This is the target configuration switch. -case "$target_os" in - linux*) - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="linux" - aros_target_family="unix" - case "$target_cpu" in - *m68k*) - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="emulcompat" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__linux__" - aros_isa_flags="$""(ISA_MC68000_FLAGS)" - aros_shared_ldflags="-Wl,-T,\$(TOP)/config/linux/m68k/script.so" - aros_kernel_ldflags="-Wl,-rpath,./lib,-T,\$(TOP)/config/linux/m68k/script.normal" - gcc_target_cpu="mc68000" - ;; - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__linux__" - aros_isa_flags="$""(ISA_X86_FLAGS)" - aros_kernel_isa_flags="$""(ISA_X86_FLAGS)" - x86_64_isa_extra="$x86_64_isa_extra $""(CFLAGS_NO_RED_ZONE)" - aros_kernel_ldflags="-Wl,-melf_i386" - aros_nominal_depth=8 - gcc_target_cpu="i386" - pci_hidd_target="hidd-pci-linux" - android_tool_dir_prefix="x86" - android_tool_prefix="i686-android-linux" - android_ndk_arch="x86" - ;; - *x86_64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="x86_64" - aros_object_format="elf_x86_64" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__linux__" - aros_isa_flags="$""(ISA_X8664_FLAGS)" - aros_kernel_isa_flags="-m64" - x86_64_isa_extra="$x86_64_isa_extra $""(CFLAGS_NO_RED_ZONE)" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_OMIT_FP)" - aros_nominal_depth=8 - pci_hidd_target="hidd-pci-linux" - ;; - *powerpc*) - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__" - aros_nominal_depth=8 - gcc_target_cpu="ppc" - ;; -# TODO -# Same as powerpc, but I need this for the nightly build to work again. -# Actually, the nightly should be made working with powerpc target. -# That just was too much work for the moment, another week or two. - *ppc*) - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc -D__linux__" - aros_nominal_depth=8 - gcc_target_cpu="ppc" - ;; - *aarch64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="aarch64" - target_cpu="aarch64" - aros_object_format="aarch64elf_aros" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm -D__linux__" - gcc_target_cpu="aarch64" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_STRICT_ALIASING)" - aros_c_libs="$aros_c_libs -laeabi" - gcc_default_float_abi="hard" - kernel_tool_prefix="aarch64-linux-gnueabihf-" - ;; - *armhf*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="arm" - target_cpu="arm" - aros_object_format="armelf_aros" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm -D__linux__" - gcc_target_cpu="arm" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_STRICT_ALIASING)" - aros_c_libs="$aros_c_libs -laeabi" - gcc_default_float_abi="hard" - android_tool_dir_prefix="arm-linux-androideabi" - android_tool_prefix="arm-linux-androideabi" - android_ndk_arch="arm" - kernel_tool_prefix="arm-linux-gnueabihf-" - ;; - *arm*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="arm" - aros_object_format="armelf_aros" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm -D__linux__" - gcc_target_cpu="arm" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_OMIT_FP)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_STRICT_ALIASING)" - aros_c_libs="$aros_c_libs -laeabi" - android_tool_dir_prefix="arm-linux-androideabi" - android_tool_prefix="arm-linux-androideabi" - android_ndk_arch="arm" - kernel_tool_prefix="arm-linux-gnueabi-" - ;; - *) - as_fn_error $? "\"Unknown CPU for Linux -- $target_cpu\"" "$LINENO" 5 - ;; - esac - case "$aros_target_variant" in - android) - - if test "$android_ndk_arch" = ""; then - as_fn_error $? "\"Unsupported CPU for Android -- $target_cpu\"" "$LINENO" 5 - fi - - aros_nominal_width=320 - aros_nominal_height=480 - if test "$aros_android_ndk" = "none"; then - aros_kernel_cflags="-mandroid" - aros_kernel_ldflags="-mandroid" - CFLAGS="-mandroid" - else - export PATH="$aros_android_ndk/toolchains/$android_tool_dir_prefix-$kernel_tool_version/prebuilt/$android_build_os/bin:$PATH" - kernel_tool_version="" - aros_android_ndk="$aros_android_ndk/platforms/android-$aros_ndk_version/arch-$android_ndk_arch" - aros_kernel_cflags="--sysroot $aros_android_ndk -mandroid" - aros_kernel_ldflags="--sysroot $aros_android_ndk -mandroid" - CFLAGS="$CFLAGS --sysroot $aros_android_ndk -mandroid" - aros_kernel_includes="-isystem $aros_android_ndk/usr/include" - fi - need_x11=no - # Disable implicit PIC mode - aros_config_cflags="$aros_config_cflags -fno-pic" - kernel_tool_prefix="$android_tool_prefix-" - ;; - esac - ;; - - pc) - aros_target_arch="pc" - aros_shared_default="no" - target_bootloader="grub2" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - - - if test "$aros_object_format" = "" ; then - aros_object_format="elf_i386" - fi - aros_flavour="standalone" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386" - aros_isa_flags="$""(ISA_X86_FLAGS)" - x86_64_isa_extra="$x86_64_isa_extra $""(CFLAGS_NO_RED_ZONE)" - aros_kernel_ldflags="-Wl,-melf_i386" - aros_nominal_width=640 - aros_nominal_height=480 - gcc_target_cpu="i386" - ;; - *x86_64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="x86_64" - aros_serial_debug=1 - if test "$aros_object_format" = "" ; then - aros_object_format="elf_x86_64" - fi - aros_flavour="standalone" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64" - aros_isa_flags="$""(ISA_X8664_FLAGS)" - x86_64_isa_extra="$x86_64_isa_extra $""(CFLAGS_NO_RED_ZONE)" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_OMIT_FP)" - aros_kernel_ldflags="" - aros_nominal_width=640 - aros_nominal_height=480 - case "$aros_target_variant" in - smp) - ENABLE_EXECSMP="#define __AROSEXEC_SMP__" - ;; - esac - ;; - *) - as_fn_error $? "\"Unknown native CPU -- $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - prep) - aros_target_arch="prep" - aros_shared_default="no" - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_flavour="ppcnative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc" - aros_kernel_ldflags="" - aros_nominal_width=640 - aros_nominal_height=480 - gcc_target_cpu="ppc" - ;; - - freebsd*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="freebsd" - aros_target_family="unix" - aros_target_cpu="i386" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386" - gcc_target_cpu="i386" - - aros_target_strip_flags="-x" - ;; - - darwin*) - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="darwin" - aros_target_family="unix" - aros_flavour="emulation" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_ios_platform="iPhoneSimulator" - aros_target_cpu="i386" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386" - aros_isa_flags="$""(ISA_X86_FLAGS)" - aros_kernel_isa_flags="-m32" - aros_kernel_ldflags="" - aros_macosx_version="10.4" - aros_nominal_depth=8 - gcc_target_cpu="i386" - aros_object_format="elf_i386" - aros_kernel_ar_flags="-cr" - aros_target_strip_flags="-x" - kernel_tool_flags="-m32" - ;; - *x86_64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="x86_64" - aros_object_format="elf_x86_64" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64" - aros_isa_flags="$""(ISA_X8664_FLAGS)" - aros_macosx_version="10.6" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_OMIT_FP)" - aros_kernel_isa_flags="-m64" - aros_kernel_ldflags="-m64" - aros_nominal_depth=8 - aros_kernel_rs="$toolchain_ar" - aros_kernel_ar_flags="-cr" - aros_kernel_ld="$toolchain_ld" - aros_kernel_as="$toolchain_as" - aros_kernel_ranlib="$toolchain_ranlib" - aros_kernel_nm="$toolchain_nm" - aros_kernel_strip="strip" - kernel_tool_prefix="i686-apple-darwin10-" - ;; - *ppc*) - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc" - aros_kernel_ldflags="" - aros_macosx_version="10.0" - aros_nominal_depth=8 - gcc_target_cpu="ppc" - aros_kernel_rs="$toolchain_ar" - aros_kernel_ar_flags="-cr" - aros_kernel_ld="$toolchain_ld -arch ppc" - aros_kernel_as="$toolchain_as -arch ppc" - aros_kernel_ranlib="$toolchain_ranlib -arch ppc" - aros_kernel_nm="$toolchain_nm -arch ppc" - aros_kernel_strip="strip -arch ppc" - kernel_tool_prefix="powerpc-apple-darwin10-" - ;; - *arm*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_ios_platform="iPhoneOS" - aros_target_cpu="arm" - aros_object_format="armelf_aros" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm" - aros_c_libs="$aros_c_libs -laeabi" - aros_nominal_depth=8 - gcc_target_cpu="arm" - aros_kernel_rs="$toolchain_ar" - aros_kernel_ar_flags="-cr" - aros_kernel_ld="$toolchain_ld -arch arm" - aros_kernel_ranlib="$toolchain_ranlib -arch arm" - kernel_tool_prefix="arm-apple-darwin10-" - export PATH="$aros_xcode_path/Platforms/$aros_ios_platform.platform/Developer/usr/bin:$PATH" - ;; - *) - as_fn_error $? "\"Unsupported target CPU for darwin hosted flavour -- $target_cpu\"" "$LINENO" 5 - ;; - esac - case "$aros_target_variant" in - ios) - make_extra_targetcfg="$export_newline""# Apple iOS stuff for gcc$export_newline""IOS_LDFLAGS := -F$""(IOS_SDK_PATH)/System/Library/Frameworks$export_newline" - aros_ios_version="3.0" - aros_nominal_width=320 - aros_nominal_height=480 - aros_ios_sdk="$aros_xcode_path/Platforms/$aros_ios_platform.platform/Developer/SDKs/$aros_ios_platform$aros_sdk_version.sdk" - target_extra_cfg+="$export_newline""# Apple iOS specific$export_newline""IOS_PLATFORM := $aros_ios_platform$export_newline""IOS_OS_VERSION := $aros_ios_version$export_newline""IOS_SDK_PATH := $aros_ios_sdk$export_newline" - kernel_tool_flags="$target_tool_flags -isysroot $aros_ios_sdk" - aros_kernel_includes="-isystem $aros_ios_sdk/usr/include" - need_x11=no - # This is here because it may depend on iOS or SDK version - aros_kernel_cflags="$aros_kernel_cflags -miphoneos-version-min=$aros_ios_version" - aros_kernel_ldflags="$aros_kernel_ldflags -miphoneos-version-min=$aros_ios_version" - aros_kernel_objcflags="-fobjc-abi-version=2 -fobjc-legacy-dispatch" - ;; - *) - aros_kernel_cflags="$aros_kernel_cflags -mmacosx-version-min=$aros_macosx_version" - aros_kernel_ldflags="$aros_kernel_ldflags -mmacosx-version-min=$aros_macosx_version" - ;; - esac - ;; - - dragonfly*) - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="dragonfly" - aros_target_family="unix" - aros_flavour="emulation" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__DragonFly__" - aros_isa_flags="$""(ISA_X86_FLAGS)" - ;; - *x86_64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_OMIT_FP)" - aros_target_cpu="x86_64" - aros_object_format="elf_x86_64" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64 -D__DragonFly__" - aros_isa_flags="$""(ISA_X8664_FLAGS)" - ;; - *) - as_fn_error $? "\"Unknown CPU for DragonFly -- $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - netbsd*) - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="netbsd" - aros_target_family="unix" - case "$target_cpu" in - *m68k*) - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="emulcompat" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D__mc68000 -D__NetBSD__" - aros_isa_flags="$""(ISA_MC68000_FLAGS)" - gcc_target_cpu="mc68000" - ;; - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__NetBSD__" - aros_isa_flags="$""(ISA_X86_FLAGS)" - aros_nominal_depth=8 - gcc_target_cpu="i386" - ;; - *) - as_fn_error $? "\"Unknown CPU for NetBSD -- $target_cpu\"" "$LINENO" 5 - ;; - esac - aros_target_genmap="-Wl,-M -Xlinker >" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386" - ;; - - openbsd*) - HOST_WANTS_X11=yes - HOST_WANTS_GLX=yes - HOST_WANTS_SDL=yes - HOST_WANTS_DBUS=yes - HOST_WANTS_DLOPEN=yes - aros_target_arch="openbsd" - aros_target_family="unix" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__OpenBSD__" - aros_isa_flags="$""(ISA_X86_FLAGS)" - gcc_target_cpu="i386" - ;; - *) - as_fn_error $? "\"Unknown CPU for OpenBSD -- $target_cpu\"" "$LINENO" 5 - ;; - esac - aros_target_genmap="-Wl,-M -Xlinker >" - aros_target_nm_flags="-u" - aros_flavour="emulation" - ;; - - solaris*) - aros_target_arch="solaris" - aros_target_family="unix" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_flavour="emulation" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386 -D__Solaris__" - aros_isa_flags="$""(ISA_X86_FLAGS)" - aros_nominal_depth=8 - gcc_target_cpu="i386" - ;; - *sparc*) - aros_target_cpu="sparc" - aros_object_format="elf_sparc" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dsparc -D__Solaris__" - gcc_target_cpu="sparc" - ;; - *) - as_fn_error $? "\"Unknown CPU for Solaris -- $target_cpu\"" "$LINENO" 5 - ;; - esac - aros_config_cppflags="$aros_config_cppflags -D$aros_target_cpu" - aros_flavour="emulation" - ;; - - morphos*) - aros_target_arch="morphos" - aros_shared_default="no" - aros_target_cpu="ppc" - aros_object_format="elf_ppc" - aros_flavour="nativecompat" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc" - gcc_target_cpu="ppc" - ;; - - sam440) - aros_target_arch="sam440" - aros_shared_default="no" - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_flavour="ppcnative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc" - aros_kernel_ldflags="" - aros_nominal_width=1024 - aros_nominal_height=768 - aros_nominal_depth=24 - aros_isa_flags="$aros_isa_flags -mcpu=440fp -mno-toc" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - gcc_target_cpu="powerpc" - ;; - - efika) - aros_target_arch="efika" - aros_shared_default="no" - aros_target_cpu="arm" - aros_object_format="armelf_aros" - aros_flavour="standalone" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm" - aros_kernel_ldflags="" - aros_nominal_width=1024 - aros_nominal_height=600 - aros_c_libs="$aros_c_libs -laeabi" - gcc_default_cpu="armv7-a" - gcc_default_fpu="vfpv3" - aros_isa_flags="$aros_isa_flags -mtune=cortex-a8" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - if test "$optimization" = "default"; then - optimization_level=$toolchain_size_opt_lvl - fi - case "$target_cpu" in - *armhf*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - gcc_default_float_abi="hard" - target_cpu=arm - aros_target_cpu=arm - ;; - *arm*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - gcc_default_float_abi="softfp" - ;; - *) - as_fn_error $? "\"Unknown CPU for EfikaMX $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - chrp) - aros_target_arch="chrp" - aros_shared_default="no" - aros_target_cpu="ppc" - aros_object_format="elf32ppc" - aros_flavour="ppcnative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dppc" - aros_kernel_ldflags="" - aros_nominal_width=640 - aros_nominal_height=480 - aros_isa_flags="$aros_isa_flags -mno-toc" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES)" - gcc_target_cpu="powerpc" - case "$aros_target_variant" in - efika) - aros_isa_flags="$aros_isa_flags -mcpu=603e" - aros_config_cppflags="$aros_config_cppflags -DBIG_ENDIAN_OHCI=1" - ;; - esac - ;; - - r*pi) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_flavour="standalone" - aros_target_arch="raspi" - - aros_shared_default="no" - - aros_target_mkdep="$aros_target_mkdep -D__GNUC__" - - case "$target_cpu" in - *aarch64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="aarch64" - gcc_default_cpu="armv8-a+crc" - gcc_default_cpu_tune="cortex-a53" - gcc_default_fpu="neon-fp-armv8" - aros_object_format="aarch64elf_aros" - ;; - *armhf*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="arm" - gcc_default_cpu="armv7-a+fp" - if test "$aros_object_format" = "" ; then - aros_object_format="armelf_aros" - fi - aros_isa_flags="$""(ISA_ARM_FLAGS)" - aros_config_cflags="$aros_config_cflags" - aros_config_cxxflags="$aros_config_cxxflags" - aros_config_aflags="$aros_config_aflags" - aros_kernel_cflags="$aros_kernel_cflags" - aros_target_mkdep="$aros_target_mkdep -Darm" - aros_c_libs="$aros_c_libs -laeabi" - ;; - *arm*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="arm" - gcc_default_cpu="armv7-a" - if test "$aros_object_format" = "" ; then - aros_object_format="armelf_aros" - fi - aros_isa_flags="$""(ISA_ARM_FLAGS)" - aros_config_cflags="$aros_config_cflags" - aros_config_cxxflags="$aros_config_cxxflags" - aros_config_aflags="$aros_config_aflags" - aros_kernel_cflags="$aros_kernel_cflags" - aros_target_mkdep="$aros_target_mkdep -Darm" - aros_c_libs="$aros_c_libs -laeabi" - ;; - *) - as_fn_error $? "\"Unsupported CPU for RasPi $target_cpu\"" "$LINENO" 5 - ;; - esac - - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - aros_kernel_cflags="$aros_kernel_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - - case "$aros_target_variant" in - smp) - ENABLE_EXECSMP="#define __AROSEXEC_SMP__" - ;; - esac - ;; - - stm32f7_discovery) - aros_flavour="standalone" - aros_target_arch="stm32f7_discovery" - aros_target_cpu="arm" - aros_target_cpu_mode="thumb2" - aros_object_format="armelf_aros" - aros_shared_default="no" - - gcc_default_cpu="armv7e-m" - gcc_default_cpu_tune="cortex-m7" - gcc_default_fpu="fpv5-sp-d16" - gcc_default_float_abi="hard" - - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dthumb" - ;; - - amiga*) - aros_elf_translate="$""(ELF2HUNK)" - make_extra_commands="$export_newline""ELF2HUNK := $""(TOOLDIR)/elf2hunk$""(HOST_EXE_SUFFIX)$export_newline" - aros_target_arch="amiga" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -D_AMIGA -DAMIGA" - aros_shared_default="no" - - case "$target_cpu" in - *m68k*) - # Check whether --enable-amigaos_compliance was given. -if test ${enable_amigaos_compliance+y} -then : - enableval=$enable_amigaos_compliance; aros_amigaos_compliance="$enableval" -fi - - aros_enable_mmu=no - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="standcompat" - gcc_target_cpu="m68000" - aros_isa_flags="$""(ISA_MC"$aros_gcc_cpu"_FLAGS)" - aros_nowarn_flags="$aros_nowarn_flags NOWARN_VOLATILE_REGISTER_VAR" - aros_config_cppflags="$aros_config_cppflags -DNOLIBINLINE" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_FREESTANDING) $""(CFLAGS_OMIT_FP) $""(CFLAGS_BUILTIN)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_STRICT_ALIASING) $""(CFLAGS_FREESTANDING) $""(CFLAGS_OMIT_FP) $""(CFLAGS_BUILTIN)" - if test "$optimization" = "default"; then - optimization_level=$toolchain_size_opt_lvl - fi - aros_config_aflags="$aros_config_aflags" - aros_target_strip_flags="-R.comment --strip-debug" - aros_nominal_width=640 - aros_nominal_height=256 - aros_nominal_depth=2 - ;; - *ppc*) - aros_cpu="ppc" - aros_flavour="native" - gcc_target_cpu="ppc" - ;; - *) - as_fn_error $? "\"Unknown CPU for Amiga $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - mingw*) - aros_target_arch="mingw32" - aros_shared_default="no" - aros_flavour="emulation" - aros_shared_cflags="" - need_crosstools="yes" - need_dlopen="no" - rescomp="windres" - case "$target_cpu" in - *i?86*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="i386" - aros_object_format="elf_i386" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Di386" - aros_isa_flags="$""(ISA_X86_FLAGS)" - aros_nominal_depth=8 - gcc_target_cpu="i386" - - kernel_tool_prefix="i386-mingw32-" - ;; - *x86_64*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="x86_64" - aros_object_format="elf_x86_64" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dx86_64" - aros_isa_flags="$""(ISA_X8664_FLAGS)" - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_OMIT_FP)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_OMIT_FP)" - aros_nominal_depth=8 - kernel_tool_prefix="x86_64-w64-mingw32-" - ;; - *arm*) - PLATFORM_EXECSMP="#define __AROSPLATFORM_SMP__" - aros_target_cpu="arm" - aros_object_format="armelf_aros" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Darm" - aros_c_libs="$aros_c_libs -laeabi" - aros_nominal_depth=8 - gcc_target_cpu="arm" - gcc_default_float_abi="soft" - kernel_tool_prefix="arm-mingw32ce-" - aros_nominal_width=160 - aros_nominal_height=160 - ;; - *) - as_fn_error $? "\"Unknown CPU for Mingw32 -- $target_cpu\"" "$LINENO" 5 - ;; - esac - if test $host_os = "cygwin"; then - aros_kernel_cflags="-mno-cygwin" - fi - ;; - pp*) - aros_target_arch="pp" - aros_shared_default="no" - case "$target_cpu" in - *m68k*) - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="palmnative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k" - aros_isa_flags="$""(ISA_MC68000_FLAGS)" - aros_nominal_width=160 - aros_nominal_height=160 - aros_nominal_depth=1 - aros_target_ar_flags="cru" - aros_c_libs="$aros_c_libs -lgcc1" - aros_shared_default=no - aros_shared_cflags="-fpic" - aros_shared_aflags="" - aros_shared_ldflags="-Wl,-rpath,./lib -shared" - aros_kernel_ldflags="-Wl,-rpath,./lib" - aros_debug_cppflags="$aros_messages_debug" - aros_debug_cflags="$aros_symbols_debug" - aros_debug_aflags="" - aros_debug_ldflags="$aros_symbols_debug" - aros_mungwall_debug="0" - aros_modules_debug="0" - gcc_target_cpu="mc68000" - ignore_undefined_symbols="-ius" - ;; - *) - as_fn_error $? "\"Unknown CPU for PalmPilot -- $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - mac*) - aros_target_arch="mac" - aros_shared_default="no" - case "$target_cpu" in - *m68k*) - aros_target_cpu="m68k" - aros_object_format="m68kelf" - aros_flavour="mac68knative" - aros_target_mkdep="$aros_target_mkdep -D__GNUC__ -Dm68k" - aros_isa_flags="$""(ISA_MC68000_FLAGS)" - aros_nominal_width=512 - aros_nominal_height=384 - aros_nominal_depth=8 - aros_target_ar_flags="cru" - aros_c_libs="$aros_c_libs -lgcc1" - aros_shared_default=no - aros_shared_cflags="-fpic" - aros_shared_aflags="" - aros_shared_ldflags="-Wl,-rpath,./lib -shared" - aros_kernel_ldflags="-Wl,-rpath,./lib" - aros_debug_cppflags="$aros_messages_debug" - aros_debug_cflags="$aros_symbols_debug" - aros_debug_aflags="" - aros_debug_ldflags="$aros_symbols_debug" - aros_mungwall_debug="0" - aros_modules_debug="0" - gcc_target_cpu="mc68000" - ignore_undefined_symbols="-ius" - ;; - *) - as_fn_error $? "\"Unknown CPU for Mac68k -- $target_cpu\"" "$LINENO" 5 - ;; - esac - ;; - - *) - as_fn_error $? "Unsupported target architecture $target" "$LINENO" 5 - ;; -esac - -#----------------------------------------------------------------------------- -crosstools_guess="yes" -aros_target_toolchain="no" -aros_kernel_sysroot="" - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Kernel toolchain prefix" >&5 -printf %s "checking Kernel toolchain prefix... " >&6; } - -# Check whether --with-kernel-toolchain-prefix was given. -if test ${with_kernel_toolchain_prefix+y} -then : - withval=$with_kernel_toolchain_prefix; kernel_tool_prefix="$withval" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $kernel_tool_prefix" >&5 -printf "%s\n" "$kernel_tool_prefix" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ELF toolchain prefix" >&5 -printf %s "checking ELF toolchain prefix... " >&6; } - -# Check whether --with-elf-toolchain-prefix was given. -if test ${with_elf_toolchain_prefix+y} -then : - withval=$with_elf_toolchain_prefix; elf_tool_prefix="$withval" - crosstools_guess="no" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $elf_tool_prefix" >&5 -printf "%s\n" "$elf_tool_prefix" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking AROS toolchain prefix" >&5 -printf %s "checking AROS toolchain prefix... " >&6; } - -# Check whether --with-aros-toolchain was given. -if test ${with_aros_toolchain+y} -then : - withval=$with_aros_toolchain; aros_tool_prefix="$withval" - crosstools_guess="no" -fi - -if test "$aros_tool_prefix" = "yes" ; then - aros_tool_prefix=$aros_target_cpu-aros- -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_tool_prefix" >&5 -printf "%s\n" "$aros_tool_prefix" >&6; } - -#----------------------------------------------------------------------------- -# Checking if we should build crosstools.. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build crosstools" >&5 -printf %s "checking whether to build crosstools... " >&6; } -# Check whether --enable-crosstools was given. -if test ${enable_crosstools+y} -then : - enableval=$enable_crosstools; crosstools="$enableval" -else $as_nop - crosstools="$crosstools_guess" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $crosstools" >&5 -printf "%s\n" "$crosstools" >&6; } - -if test "${crosstools}" = "yes"; then - if test "${crosstools_guess}" = "no"; then - as_fn_error $? "Cannot build external toolchain if an external ELF or AROS toolchain is specified" "$LINENO" 5 - fi -fi - -if test "${crosstools}" = "yes" || test "${crosstools_guess}" = "no"; then - aros_target_toolchain="yes" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to install the crosstools binaries" >&5 -printf %s "checking where to install the crosstools binaries... " >&6; } - -# Check whether --with-aros-toolchain-install was given. -if test ${with_aros_toolchain_install+y} -then : - withval=$with_aros_toolchain_install; aros_toolchain_install=$withval -fi - -if test "x$aros_toolchain_install" = "x"; then - AROS_CROSSTOOLSDIR="$AROS_BUILDDIR_UNIX/bin/$aros_host_arch-$aros_host_cpu/tools/crosstools" -else - AROS_CROSSTOOLSDIR="$aros_toolchain_install" - PATH="$AROS_CROSSTOOLSDIR:$PATH" - if test "$crosstools_guess" = "no" ; then - if test "x-$aros_flavour" != "x-emulation" -a "x-$aros_flavour" != "x-emulcompat" ; then - aros_kernel_sysroot="$""(TARGET_SYSROOT)" - fi - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AROS_CROSSTOOLSDIR" >&5 -printf "%s\n" "$AROS_CROSSTOOLSDIR" >&6; } - -#----------------------------------------------------------------------------- -if test "$aros_toolchain" = "gnu" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what specific target binutils version to use" >&5 -printf %s "checking what specific target binutils version to use... " >&6; } -fi - -# Check whether --with-binutils-version was given. -if test ${with_binutils_version+y} -then : - withval=$with_binutils_version; use_binutils_version="$withval" -else $as_nop - use_binutils_version="" -fi - -if test "$use_binutils_version" = ""; then - target_binutils_version="$default_binutils_version" -else - target_binutils_version="$use_binutils_version" -fi -if test "$aros_toolchain" = "gnu" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_binutils_version" >&5 -printf "%s\n" "$target_binutils_version" >&6; } -fi - - -# Helper to identify gcc version - - -#----------------------------------------------------------------------------- -if test "$aros_toolchain" = "gnu" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what specific target gcc version to use" >&5 -printf %s "checking what specific target gcc version to use... " >&6; } -fi - -# Check whether --with-gcc-version was given. -if test ${with_gcc_version+y} -then : - withval=$with_gcc_version; use_gcc_version="$withval" -else $as_nop - use_gcc_version="" -fi - -if test "$use_gcc_version" = ""; then - if test "${crosstools}" = "no"; then - if test "x$aros_toolchain_install" != "x"; then - - target_gcc_version="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5 -printf %s "checking gcc version... " >&6; } -if test ${ax_cv_gcc_version+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - ax_cv_gcc_version="`$AROS_CROSSTOOLSDIR/${aros_tool_prefix}${toolchain_cpp_preprocessor}$(toolchain_cpp_opts) -dumpversion`" - if test "x$ax_cv_gcc_version" = "x" -then : - - ax_cv_gcc_version="" - -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_version" >&5 -printf "%s\n" "$ax_cv_gcc_version" >&6; } - target_gcc_version=$ax_cv_gcc_version - - - fi - fi - if test "$use_gcc_version" = ""; then - target_gcc_version="$default_gcc_version" - fi -else - target_gcc_version="$use_gcc_version" -fi -if test "$aros_toolchain" = "gnu" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_gcc_version" >&5 -printf "%s\n" "$target_gcc_version" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking version string style" >&5 -printf %s "checking version string style... " >&6; } - if test "${target_gcc_version#*$'-'}" != "$target_gcc_version" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: snapshot" >&5 -printf "%s\n" "snapshot" >&6; } - GCC_VERSION_MAJOR=$(echo $target_gcc_version | cut -d'-' -f1) - GCC_VERSION_MINOR=-1 - GCC_VERSION_PATCH=-1 - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: release" >&5 -printf "%s\n" "release" >&6; } - GCC_VERSION_MAJOR=$(echo $target_gcc_version | cut -d'.' -f1) - GCC_VERSION_MINOR=$(echo $target_gcc_version | cut -d'.' -f2) - GCC_VERSION_PATCH=$(echo $target_gcc_version | cut -d'.' -f3) - fi - - gcc_fix_bitfields="false" - if test "$GCC_VERSION_MAJOR" -gt "4" ; then - gcc_fix_bitfields="true" - else - if test "$GCC_VERSION_MAJOR" -gt "3" ; then - if test "$GCC_VERSION_MINOR" -gt "6" ; then - gcc_fix_bitfields="true" - fi - fi - fi - - if test "$GCC_VERSION_MAJOR" -lt "10" ; then - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_COMMON)" - fi - - if test "$gcc_fix_bitfields" = "true" ; then - case "$aros_target_cpu" in - *x86_64* | *i?86*) - x86_isa_extra="$x86_isa_extra $""(CFLAGS_NO_MS_BITFIELDS)" - x86_64_isa_extra="$x86_64_isa_extra $""(CFLAGS_NO_MS_BITFIELDS)" - ;; - esac - fi -fi - -# Helper to identify llvm version - - -if test "$aros_toolchain" = "llvm" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking what specific target llvm version to use" >&5 -printf %s "checking what specific target llvm version to use... " >&6; } -fi - -# Check whether --with-llvm-version was given. -if test ${with_llvm_version+y} -then : - withval=$with_llvm_version; use_llvm_version="$withval" -else $as_nop - use_llvm_version="" -fi - -if test "$use_llvm_version" = ""; then - if test "${crosstools}" = "no"; then - if test "x$aros_toolchain_install" != "x"; then - - target_llvm_version="" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking llvm version" >&5 -printf %s "checking llvm version... " >&6; } -if test ${ax_cv_llvm_version+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - ax_cv_llvm_version="`$AROS_CROSSTOOLSDIR/${aros_tool_prefix}${toolchain_cpp_preprocessor}$(toolchain_cpp_opts) -dumpversion`" - if test "x$ax_cv_llvm_version" = "x" -then : - - ax_cv_llvm_version="" - -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_llvm_version" >&5 -printf "%s\n" "$ax_cv_llvm_version" >&6; } - target_llvm_version=$ax_cv_llvm_version - - - fi - fi - if test "$use_llvm_version" = ""; then - target_llvm_version="$default_llvm_version" - fi -else - target_llvm_version="$use_llvm_version" -fi -if test "$aros_toolchain" = "llvm" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_llvm_version" >&5 -printf "%s\n" "$target_llvm_version" >&6; } - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_COMMON)" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Objective-C suppport" >&5 -printf %s "checking whether to enable Objective-C suppport... " >&6; } -# Check whether --enable-objc was given. -if test ${enable_objc+y} -then : - enableval=$enable_objc; objc="$enableval" -else $as_nop - objc="no" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $objc" >&5 -printf "%s\n" "$objc" >&6; } -if test "x$objc" = "xyes"; then - objc_target="$objc" -else - objc_target="no-objc" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Java suppport" >&5 -printf %s "checking whether to enable Java suppport... " >&6; } -# Check whether --enable-java was given. -if test ${enable_java+y} -then : - enableval=$enable_java; java="$enableval" -else $as_nop - java="no" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $java" >&5 -printf "%s\n" "$java" >&6; } -if test "x$java" != "xno"; then - java_target="$java" -else - java_target="no-java" -fi - -spec_obj_format="-m $aros_object_format" -# Now process extra architecture-specific options. -# Currently this is implemented only for ARM. We can specify which minimum CPU and FPU to use,\ -# as well as floating-point ABI. -case "$aros_target_cpu" in - *m68k*) - gcc_default_cpu="68000" - aros_isa_targets="M68K_ISA_TARGETS :=MC68020 MC68040" - aros_isa_extra="$aros_isa_extra$export_newline$aros_isa_targets$export_newline" - aros_isa_extra="$aros_isa_extra$m68k_isa_extra$export_newline$m68k_020_isa_extra$export_newline$m68k_030_isa_extra$export_newline$m68k_040_isa_extra$export_newline$m68k_060_isa_extra$export_newline$m68k_ac080_isa_extra$export_newline" - aros_isa_extra="$aros_isa_extra$m68k_020_cppflags$export_newline$m68k_030_cppflags$export_newline$m68k_040_cppflags$export_newline$m68k_060_cppflags$export_newline" - aros_isa_extra="$aros_isa_extra$m68k_020_cflags$export_newline$m68k_030_cflags$export_newline$m68k_040_cflags$export_newline$m68k_060_cflags$export_newline" - aros_isa_extra="$aros_isa_extra$m68k_020_ldflags$export_newline$m68k_030_ldflags$export_newline$m68k_040_ldflags$export_newline$m68k_060_ldflags$export_newline" - aros_isa_extra="$aros_isa_extra$m68k_020_ext$export_newline$m68k_030_ext$export_newline$m68k_040_ext$export_newline$m68k_060_ext$export_newline" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which minimum CPU to use" >&5 -printf %s "checking Which minimum CPU to use... " >&6; } - -# Check whether --with-cpu was given. -if test ${with_cpu+y} -then : - withval=$with_cpu; aros_gcc_cpu="$withval" -else $as_nop - aros_gcc_cpu=$gcc_default_cpu -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_gcc_cpu" >&5 -printf "%s\n" "$aros_gcc_cpu" >&6; } - if test "$gcc_default_cpu" != "$aros_gcc_cpu"; then - aros_target_cpu_extra=$aros_gcc_cpu - fi - aros_isa_flags="$""(ISA_MC"$aros_gcc_cpu"_FLAGS)" - ;; - *x86_64*) - aros_isa_extra="$export_newline$x86_isa_extra$export_newline$x86_64_isa_extra$export_newline" - spec_obj_format="%{!m32:-m elf_x86_64} %{m32:-m elf_i386}" - ;; - arm*) - aros_isa_extra="$export_newline$arm_isa_extra" - if test "$gcc_default_cpu" = ""; then - gcc_default_cpu="armv7-a+fp" - fi - - if test "$gcc_default_float_abi" = ""; then - if test "$target_cpu" = "armhf"; then - gcc_default_float_abi="hard" - if test "$gcc_default_fpu" = ""; then - gcc_default_fpu="vfpv3-d16" - fi - else - gcc_default_float_abi="softfp" - fi - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which minimum CPU to use" >&5 -printf %s "checking Which minimum CPU to use... " >&6; } - -# Check whether --with-cpu was given. -if test ${with_cpu+y} -then : - withval=$with_cpu; aros_gcc_cpu="$withval" -else $as_nop - aros_gcc_cpu=$gcc_default_cpu -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_gcc_cpu" >&5 -printf "%s\n" "$aros_gcc_cpu" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which minimum FPU to use" >&5 -printf %s "checking Which minimum FPU to use... " >&6; } - -# Check whether --with-fpu was given. -if test ${with_fpu+y} -then : - withval=$with_fpu; aros_gcc_fpu="$withval" -else $as_nop - aros_gcc_fpu=$gcc_default_fpu -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_gcc_fpu" >&5 -printf "%s\n" "$aros_gcc_fpu" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which floating point ABI to use" >&5 -printf %s "checking Which floating point ABI to use... " >&6; } - -# Check whether --with-float was given. -if test ${with_float+y} -then : - withval=$with_float; aros_gcc_float_abi="$withval" -else $as_nop - aros_gcc_float_abi=$gcc_default_float_abi -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_gcc_float_abi" >&5 -printf "%s\n" "$aros_gcc_float_abi" >&6; } - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Which ARM mode to use" >&5 -printf %s "checking Which ARM mode to use... " >&6; } - if test "$aros_target_cpu_mode" = ""; then - aros_target_cpu_mode="arm32" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Defaulting to $aros_target_cpu_mode" >&5 -printf "%s\n" "Defaulting to $aros_target_cpu_mode" >&6; } - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_target_cpu_mode" >&5 -printf "%s\n" "$aros_target_cpu_mode" >&6; } - fi - - case "$aros_target_cpu_mode" in - arm32) - gcc_default_mode="arm" - aros_isa_extra="$aros_isa_extra -mthumb-interwork -march=$aros_gcc_cpu" - ;; - arm64) - as_fn_error $? "ARM 64-bit mode is unsupported" "$LINENO" 5 - ;; - thumb) - as_fn_error $? "Thumb1 16-bit mode is unsupported" "$LINENO" 5 - ;; - thumb1) - as_fn_error $? "Thumb1 16-bit mode is unsupported" "$LINENO" 5 - ;; - thumb2) - gcc_default_mode="thumb" - # Do not specify -mthumb-interwork as it may add extra code to support arm/thumb interwork - aros_isa_extra="$aros_isa_extra -march=$aros_gcc_cpu" - ;; - *) - as_fn_error $? "Unsupported ARM mode specified $aros_target_cpu_mode" "$LINENO" 5 - ;; - esac - - aros_isa_extra="$aros_isa_extra -mfpu=$gcc_default_fpu"$export_newline - - aros_config_cflags="$aros_config_cflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - aros_config_cxxflags="$aros_config_cxxflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - aros_config_aflags="$aros_config_aflags $""(CFLAGS_NO_ASYNCHRONOUS_UNWIND_TABLES) $""(CFLAGS_NO_EXCEPTIONS)" - ;; - i386) - aros_isa_extra="$x86_isa_extra$export_newline$x86_64_isa_extra$export_newline" - aros_kernel_ldflags="$aros_kernel_ldflags -m32" - ;; -esac - -# Some architectures may need custom ELF specs. -if test -f $SRCDIR/config/${aros_object_format}-specs.in; then - elf_specs_in=config/${aros_object_format}-specs.in -else - elf_specs_in=config/elf-specs.in -fi - -# Some compilers (ppc-elf-gcc is known to) have CPU defines in specs -# Since we override specs, we may need to put these defines there -if test "$gcc_target_cpu" != ""; then - gcc_target_cpu="-D__${gcc_target_cpu}__" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to download sourcecode for external ports" >&5 -printf %s "checking where to download sourcecode for external ports... " >&6; } - -# Check whether --with-portssources was given. -if test ${with_portssources+y} -then : - withval=$with_portssources; with_portssrcdir=$withval -else $as_nop - with_portssrcdir="default" -fi - -if test "$with_portssrcdir" = "default"; then - AROS_PORTSSRCDIR="$AROS_BUILDDIR_UNIX/bin/Sources" -else - AROS_PORTSSRCDIR="$with_portssrcdir" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AROS_PORTSSRCDIR" >&5 -printf "%s\n" "$AROS_PORTSSRCDIR" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which bootloader to use" >&5 -printf %s "checking which bootloader to use... " >&6; } - -# Check whether --with-bootloader was given. -if test ${with_bootloader+y} -then : - withval=$with_bootloader; target_bootloader=$withval -else $as_nop - target_bootloader=$target_bootloader -fi - -if test "$target_bootloader" = "none"; then - aros_target_bootloader="" -else - aros_target_bootloader="$target_bootloader" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_bootloader" >&5 -printf "%s\n" "$target_bootloader" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which icon-set to use" >&5 -printf %s "checking which icon-set to use... " >&6; } - -# Check whether --with-iconset was given. -if test ${with_iconset+y} -then : - withval=$with_iconset; target_iconset=$withval -else $as_nop - target_iconset="default" -fi - -if test "$target_iconset" = "default"; then - aros_target_iconset="Gorilla" - target_iconset="default (Gorilla)" -else - aros_target_iconset="$target_iconset" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $target_iconset" >&5 -printf "%s\n" "$target_iconset" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which GUI Theme to use" >&5 -printf %s "checking which GUI Theme to use... " >&6; } - -# Check whether --with-theme was given. -if test ${with_theme+y} -then : - withval=$with_theme; target_guitheme=$withval -else $as_nop - target_guitheme="default" -fi - -if test "$target_guitheme" = "default"; then - aros_target_guitheme="Ice" -else - aros_target_guitheme="$target_guitheme" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_target_guitheme" >&5 -printf "%s\n" "$aros_target_guitheme" >&6; } - -# Find out if we are cross-compiling (i.e. if we can't use the host compiler -# for target code) -cross_compiling=no - -if test "$aros_host_cpu" != "$aros_target_cpu" ; then - cross_compiling=yes -fi - -if test "$aros_host_cpu" == "x86_64" ; then - if test "$aros_target_cpu" == "i386" ; then - cross_compiling=no - fi -fi - -if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then - if test "$aros_host_arch" != "$aros_target_arch" ; then - cross_compiling=yes - fi -else - cross_compiling=yes - fi - -if test "$cross_compiling" = "no" ; then - kernel_tool_prefix="" - if test "$host_cc_elf" = "yes" ; then - elf_tool_prefix="" - fi -fi - -if test "$kernel_tool_version" != ""; then - kernel_tool_version="-$kernel_tool_version" -fi - -####################################################################### -## Compute what toolchains to use, and their paths ## -####################################################################### -# -# This takes, as input: -# crosstools {yes,no} -# kernel_tool_version {"",[version]} -# target_tool_version {"",[version]} -# kernel_tool_prefix {none,[some-arch-os-]} -# gnu-toolchain -: -# target_tool_prefix ${aros_target_cpu}-aros- -# aros_tool_prefix ${aros_target_cpu}-aros- -# -# The output is -# aros_kernel_{cpp,cc,ar,ld,as,ranlib,nm,strip} -# Where the 'kernel' binaries are located -# orig_target_{cpp,cc,ar,ld,as,ranlib,nm,strip} -# Where the 'target' binaries are located -# (not the symlink farm - that is aros_target_*!) -# -# The rules are: -# if crosstools then -# if kernel_tools_prefix = "no-kernel-prefix-" -# aros_kernel_* = crosstools cc paths -# aros_kernel_cc = elf cc wrapper around crosstools cc -# else -# VALIDATE(${kernel_tools_prefix}*) -# aros_kernel_* = ${kernel_tools_prefix}* -# if ${kernel_tools_prefix}cc is an AROS gcc -# aros_kernel_cc = ${kernel_tools_prefix}cc -# else -# aros_kernel_cc = elf cc wrapper around ${kernel_tools_prefix}cc -# fi -# fi -# -# orig_target_* = aros built crosstools -# orig_target_cc = elf cc wrapper around crosstools cc -# else -# VALIDATE(${kernel_tools_prefix}*) -# -# orig_target_* = aros_kernel_* -# if aros_kernel_cc is an AROS gcc -# orig_target_cc = aros_kernel_cc -# else -# orig_target_cc = aros cc wrapper around aros_kernel_cc -# fi -# fi -# -if test "$aros_toolchain" = "gnu" ; then - target_tool_prefix="${aros_target_cpu}-aros-" -elif test "$aros_toolchain" = "llvm" ; then - target_tool_prefix="bin/" -fi - -if test "$kernel_tool_prefix" != "" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which kernel tools" >&5 -printf %s "checking which kernel tools... " >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $kernel_tool_prefix" >&5 -printf "%s\n" "$kernel_tool_prefix" >&6; }; -fi - -if test "$kernel_tool_prefix" = "none" ; then - if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then - as_fn_error $? "--with-kernel-toolchain-prefix= is required for this arch" "$LINENO" 5 - fi -else - if test "x-$aros_flavour" != "x-standalone" -o "x-$aros_flavour" != "x-standcompat" ; then - # Kernel tools required - find them - # Note that 'normally', aros_kernel_* overrides will be - # empty, unless specified in the per-arch sections above. - test_kernel_cc=yes - if test "x$aros_kernel_cpp" = "x"; then - aros_kernel_cpp=${kernel_tool_prefix}${CPP_BASE} - fi - if test "${kernel_tool_version}" != ""; then - if test "$aros_kernel_cpp" != ""; then - ac_prog_args=`expr "X$aros_kernel_cpp" : '[^ ]* \(.*\)'` - ac_prog_cmd=`expr "X$aros_kernel_cpp" : '^\S*'` - aros_kernel_cpp="$ac_prog_cmd$${kernel_tool_version} $ac_prog_args" - fi -fi - -if test "$aros_kernel_cpp" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}cpp", so it can be a program name with args. -set dummy ${kernel_tool_prefix}cpp; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cpp="$aros_kernel_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cpp=$ac_cv_path_aros_kernel_cpp -if test -n "$aros_kernel_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cpp" >&5 -printf "%s\n" "$aros_kernel_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_cpp=cpp -else - ac_tool_cpp= -fi -if test "$GCC" = "yes"; then - aros_gcc_cpp=`$CC -print-prog-name=$ac_tool_cpp` - # Extract the first word of "`basename $aros_gcc_[cpp]`", so it can be a program name with args. -set dummy `basename $aros_gcc_cpp`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cpp="$aros_kernel_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_cpp` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cpp=$ac_cv_path_aros_kernel_cpp -if test -n "$aros_kernel_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cpp" >&5 -printf "%s\n" "$aros_kernel_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_cpp" = ""; then - for ac_prog in $ac_tool_cpp -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cpp="$aros_kernel_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cpp=$ac_cv_path_aros_kernel_cpp -if test -n "$aros_kernel_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cpp" >&5 -printf "%s\n" "$aros_kernel_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_cpp" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_cpp" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_cpp", so it can be a program name with args. -set dummy $aros_kernel_cpp; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cpp="$aros_kernel_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cpp=$ac_cv_path_aros_kernel_cpp -if test -n "$aros_kernel_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cpp" >&5 -printf "%s\n" "$aros_kernel_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_cpp="$aros_kernel_cpp $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_cpp" = ""; then - req_avail=no -fi -if test "$aros_kernel_cpp" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cpp is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - if test "x$aros_kernel_cc" = "x"; then - aros_kernel_cc=${kernel_tool_prefix}${CC_BASE} - fi - if test "${kernel_tool_version}" != ""; then - if test "$aros_kernel_cc" != ""; then - ac_prog_args=`expr "X$aros_kernel_cc" : '[^ ]* \(.*\)'` - ac_prog_cmd=`expr "X$aros_kernel_cc" : '^\S*'` - aros_kernel_cc="$ac_prog_cmd$${kernel_tool_version} $ac_prog_args" - fi -fi - -if test "$aros_kernel_cc" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}cc", so it can be a program name with args. -set dummy ${kernel_tool_prefix}cc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cc="$aros_kernel_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cc=$ac_cv_path_aros_kernel_cc -if test -n "$aros_kernel_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cc" >&5 -printf "%s\n" "$aros_kernel_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_cc=cc -else - ac_tool_cc= -fi -if test "$GCC" = "yes"; then - aros_gcc_cc=`$CC -print-prog-name=$ac_tool_cc` - # Extract the first word of "`basename $aros_gcc_[cc]`", so it can be a program name with args. -set dummy `basename $aros_gcc_cc`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cc="$aros_kernel_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_cc` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cc=$ac_cv_path_aros_kernel_cc -if test -n "$aros_kernel_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cc" >&5 -printf "%s\n" "$aros_kernel_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_cc" = ""; then - for ac_prog in $ac_tool_cc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cc="$aros_kernel_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cc=$ac_cv_path_aros_kernel_cc -if test -n "$aros_kernel_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cc" >&5 -printf "%s\n" "$aros_kernel_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_cc" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_cc" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_cc", so it can be a program name with args. -set dummy $aros_kernel_cc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cc="$aros_kernel_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cc=$ac_cv_path_aros_kernel_cc -if test -n "$aros_kernel_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cc" >&5 -printf "%s\n" "$aros_kernel_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_cc="$aros_kernel_cc $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_cc" = ""; then - req_avail=no -fi -if test "$aros_kernel_cc" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cc is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - if test "x$aros_kernel_cxx" = "x"; then - aros_kernel_cxx=${kernel_tool_prefix}${CXX_BASE} - fi - if test "${kernel_tool_version}" != ""; then - if test "$aros_kernel_cxx" != ""; then - ac_prog_args=`expr "X$aros_kernel_cxx" : '[^ ]* \(.*\)'` - ac_prog_cmd=`expr "X$aros_kernel_cxx" : '^\S*'` - aros_kernel_cxx="$ac_prog_cmd$${kernel_tool_version} $ac_prog_args" - fi -fi - -if test "$aros_kernel_cxx" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}cxx", so it can be a program name with args. -set dummy ${kernel_tool_prefix}cxx; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cxx="$aros_kernel_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cxx=$ac_cv_path_aros_kernel_cxx -if test -n "$aros_kernel_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cxx" >&5 -printf "%s\n" "$aros_kernel_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_cxx=cxx -else - ac_tool_cxx= -fi -if test "$GCC" = "yes"; then - aros_gcc_cxx=`$CC -print-prog-name=$ac_tool_cxx` - # Extract the first word of "`basename $aros_gcc_[cxx]`", so it can be a program name with args. -set dummy `basename $aros_gcc_cxx`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cxx="$aros_kernel_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_cxx` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cxx=$ac_cv_path_aros_kernel_cxx -if test -n "$aros_kernel_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cxx" >&5 -printf "%s\n" "$aros_kernel_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_cxx" = ""; then - for ac_prog in $ac_tool_cxx -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cxx="$aros_kernel_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cxx=$ac_cv_path_aros_kernel_cxx -if test -n "$aros_kernel_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cxx" >&5 -printf "%s\n" "$aros_kernel_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_cxx" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_cxx" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_cxx", so it can be a program name with args. -set dummy $aros_kernel_cxx; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_cxx="$aros_kernel_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_cxx=$ac_cv_path_aros_kernel_cxx -if test -n "$aros_kernel_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cxx" >&5 -printf "%s\n" "$aros_kernel_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_cxx="$aros_kernel_cxx $ac_tool_optarg" -fi - - # If it's set, make sure it's really there - if test "x$aros_kernel_cxx" != "x" ; then - req_avail=yes -if test "$aros_kernel_cxx" = ""; then - req_avail=no -fi -if test "$aros_kernel_cxx" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cxx is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - fi - if test "x$aros_kernel_ld" = "x"; then - aros_kernel_ld=${kernel_tool_prefix}${LD_BASE} - fi - -if test "$aros_kernel_ld" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}ld", so it can be a program name with args. -set dummy ${kernel_tool_prefix}ld; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ld="$aros_kernel_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ld=$ac_cv_path_aros_kernel_ld -if test -n "$aros_kernel_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ld" >&5 -printf "%s\n" "$aros_kernel_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_ld=ld -else - ac_tool_ld= -fi -if test "$GCC" = "yes"; then - aros_gcc_ld=`$CC -print-prog-name=$ac_tool_ld` - # Extract the first word of "`basename $aros_gcc_[ld]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ld`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ld="$aros_kernel_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ld` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ld=$ac_cv_path_aros_kernel_ld -if test -n "$aros_kernel_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ld" >&5 -printf "%s\n" "$aros_kernel_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_ld" = ""; then - for ac_prog in $ac_tool_ld -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ld="$aros_kernel_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ld=$ac_cv_path_aros_kernel_ld -if test -n "$aros_kernel_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ld" >&5 -printf "%s\n" "$aros_kernel_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_ld" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_ld" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_ld", so it can be a program name with args. -set dummy $aros_kernel_ld; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ld="$aros_kernel_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ld=$ac_cv_path_aros_kernel_ld -if test -n "$aros_kernel_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ld" >&5 -printf "%s\n" "$aros_kernel_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_ld="$aros_kernel_ld $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_ld" = ""; then - req_avail=no -fi -if test "$aros_kernel_ld" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ld is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - if test "x$aros_kernel_as" = "x"; then - aros_kernel_as=$aros_host_as - if test "x$aros_kernel_as" = "x"; then - aros_kernel_as=${HOST_TOOLCHAIN_PREFIX}as${HOST_TOOLCHAIN_SUFFIX} - fi - fi - -if test "$aros_kernel_as" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}as", so it can be a program name with args. -set dummy ${kernel_tool_prefix}as; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_as="$aros_kernel_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_as=$ac_cv_path_aros_kernel_as -if test -n "$aros_kernel_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_as" >&5 -printf "%s\n" "$aros_kernel_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_as=as -else - ac_tool_as= -fi -if test "$GCC" = "yes"; then - aros_gcc_as=`$CC -print-prog-name=$ac_tool_as` - # Extract the first word of "`basename $aros_gcc_[as]`", so it can be a program name with args. -set dummy `basename $aros_gcc_as`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_as="$aros_kernel_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_as` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_as=$ac_cv_path_aros_kernel_as -if test -n "$aros_kernel_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_as" >&5 -printf "%s\n" "$aros_kernel_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_as" = ""; then - for ac_prog in $ac_tool_as -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_as="$aros_kernel_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_as=$ac_cv_path_aros_kernel_as -if test -n "$aros_kernel_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_as" >&5 -printf "%s\n" "$aros_kernel_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_as" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_as" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_as", so it can be a program name with args. -set dummy $aros_kernel_as; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_as="$aros_kernel_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_as=$ac_cv_path_aros_kernel_as -if test -n "$aros_kernel_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_as" >&5 -printf "%s\n" "$aros_kernel_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_as="$aros_kernel_as $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_as" = ""; then - req_avail=no -fi -if test "$aros_kernel_as" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "as is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - if test "x$aros_kernel_ar" = "x"; then - aros_kernel_ar="${kernel_tool_prefix}${AR_BASE}" - fi - if test "${kernel_tool_version}" != ""; then - if test "$aros_kernel_ar" != ""; then - ac_prog_args=`expr "X$aros_kernel_ar" : '[^ ]* \(.*\)'` - ac_prog_cmd=`expr "X$aros_kernel_ar" : '^\S*'` - aros_kernel_ar="$ac_prog_cmd$${kernel_tool_version} $ac_prog_args" - fi -fi - -if test "$aros_kernel_ar" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}ar", so it can be a program name with args. -set dummy ${kernel_tool_prefix}ar; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ar="$aros_kernel_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ar=$ac_cv_path_aros_kernel_ar -if test -n "$aros_kernel_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ar" >&5 -printf "%s\n" "$aros_kernel_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_ar=ar -else - ac_tool_ar= -fi -if test "$GCC" = "yes"; then - aros_gcc_ar=`$CC -print-prog-name=$ac_tool_ar` - # Extract the first word of "`basename $aros_gcc_[ar]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ar`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ar="$aros_kernel_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ar` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ar=$ac_cv_path_aros_kernel_ar -if test -n "$aros_kernel_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ar" >&5 -printf "%s\n" "$aros_kernel_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_ar" = ""; then - for ac_prog in $ac_tool_ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ar="$aros_kernel_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ar=$ac_cv_path_aros_kernel_ar -if test -n "$aros_kernel_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ar" >&5 -printf "%s\n" "$aros_kernel_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_ar" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_ar" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_ar", so it can be a program name with args. -set dummy $aros_kernel_ar; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ar="$aros_kernel_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ar=$ac_cv_path_aros_kernel_ar -if test -n "$aros_kernel_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ar" >&5 -printf "%s\n" "$aros_kernel_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_ar="$aros_kernel_ar $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_ar" = ""; then - req_avail=no -fi -if test "$aros_kernel_ar" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ar is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - if test "x$aros_kernel_ranlib" = "x"; then - aros_kernel_ranlib=${kernel_tool_prefix}${RANLIB_BASE} - fi - if test "${kernel_tool_version}" != ""; then - if test "$aros_kernel_ranlib" != ""; then - ac_prog_args=`expr "X$aros_kernel_ranlib" : '[^ ]* \(.*\)'` - ac_prog_cmd=`expr "X$aros_kernel_ranlib" : '^\S*'` - aros_kernel_ranlib="$ac_prog_cmd$${kernel_tool_version} $ac_prog_args" - fi -fi - -if test "$aros_kernel_ranlib" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${kernel_tool_prefix}ranlib; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ranlib="$aros_kernel_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ranlib=$ac_cv_path_aros_kernel_ranlib -if test -n "$aros_kernel_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ranlib" >&5 -printf "%s\n" "$aros_kernel_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_ranlib=ranlib -else - ac_tool_ranlib= -fi -if test "$GCC" = "yes"; then - aros_gcc_ranlib=`$CC -print-prog-name=$ac_tool_ranlib` - # Extract the first word of "`basename $aros_gcc_[ranlib]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ranlib`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ranlib="$aros_kernel_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ranlib` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ranlib=$ac_cv_path_aros_kernel_ranlib -if test -n "$aros_kernel_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ranlib" >&5 -printf "%s\n" "$aros_kernel_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_ranlib" = ""; then - for ac_prog in $ac_tool_ranlib -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ranlib="$aros_kernel_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ranlib=$ac_cv_path_aros_kernel_ranlib -if test -n "$aros_kernel_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ranlib" >&5 -printf "%s\n" "$aros_kernel_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_ranlib" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_ranlib" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_ranlib", so it can be a program name with args. -set dummy $aros_kernel_ranlib; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_ranlib="$aros_kernel_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_ranlib=$ac_cv_path_aros_kernel_ranlib -if test -n "$aros_kernel_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_ranlib" >&5 -printf "%s\n" "$aros_kernel_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_ranlib="$aros_kernel_ranlib $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_ranlib" = ""; then - req_avail=no -fi -if test "$aros_kernel_ranlib" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ranlib is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - if test "x$aros_kernel_nm" = "x"; then - aros_kernel_nm=$aros_host_nm - if test "x$aros_kernel_nm" = "x"; then - aros_kernel_nm=${HOST_TOOLCHAIN_PREFIX}nm${HOST_TOOLCHAIN_SUFFIX} - fi - fi - -if test "$aros_kernel_nm" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}nm", so it can be a program name with args. -set dummy ${kernel_tool_prefix}nm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_nm="$aros_kernel_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_nm=$ac_cv_path_aros_kernel_nm -if test -n "$aros_kernel_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_nm" >&5 -printf "%s\n" "$aros_kernel_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_nm=nm -else - ac_tool_nm= -fi -if test "$GCC" = "yes"; then - aros_gcc_nm=`$CC -print-prog-name=$ac_tool_nm` - # Extract the first word of "`basename $aros_gcc_[nm]`", so it can be a program name with args. -set dummy `basename $aros_gcc_nm`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_nm="$aros_kernel_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_nm` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_nm=$ac_cv_path_aros_kernel_nm -if test -n "$aros_kernel_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_nm" >&5 -printf "%s\n" "$aros_kernel_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_nm" = ""; then - for ac_prog in $ac_tool_nm -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_nm="$aros_kernel_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_nm=$ac_cv_path_aros_kernel_nm -if test -n "$aros_kernel_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_nm" >&5 -printf "%s\n" "$aros_kernel_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_nm" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_nm" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_nm", so it can be a program name with args. -set dummy $aros_kernel_nm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_nm="$aros_kernel_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_nm=$ac_cv_path_aros_kernel_nm -if test -n "$aros_kernel_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_nm" >&5 -printf "%s\n" "$aros_kernel_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_nm="$aros_kernel_nm $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_nm" = ""; then - req_avail=no -fi -if test "$aros_kernel_nm" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "nm is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "$aros_kernel_strip" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}strip", so it can be a program name with args. -set dummy ${kernel_tool_prefix}strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_strip="$aros_kernel_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_strip=$ac_cv_path_aros_kernel_strip -if test -n "$aros_kernel_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_strip" >&5 -printf "%s\n" "$aros_kernel_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_strip=strip -else - ac_tool_strip= -fi -if test "$GCC" = "yes"; then - aros_gcc_strip=`$CC -print-prog-name=$ac_tool_strip` - # Extract the first word of "`basename $aros_gcc_[strip]`", so it can be a program name with args. -set dummy `basename $aros_gcc_strip`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_strip="$aros_kernel_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_strip` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_strip=$ac_cv_path_aros_kernel_strip -if test -n "$aros_kernel_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_strip" >&5 -printf "%s\n" "$aros_kernel_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_strip" = ""; then - for ac_prog in $ac_tool_strip -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_strip="$aros_kernel_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_strip=$ac_cv_path_aros_kernel_strip -if test -n "$aros_kernel_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_strip" >&5 -printf "%s\n" "$aros_kernel_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_strip" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_strip" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_strip", so it can be a program name with args. -set dummy $aros_kernel_strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_strip="$aros_kernel_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_strip=$ac_cv_path_aros_kernel_strip -if test -n "$aros_kernel_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_strip" >&5 -printf "%s\n" "$aros_kernel_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_strip="$aros_kernel_strip $ac_tool_optarg" -fi - - req_avail=yes -if test "$aros_kernel_strip" = ""; then - req_avail=no -fi -if test "$aros_kernel_strip" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "strip is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - - # Objcopy and objdump are not required for the kernel - # toolchain on many architectures. - # So we'll look for them, but not make them strictly required. - if test "x$aros_kernel_objcopy" = "x"; then - aros_kernel_objcopy=$aros_host_objcopy - if test "x$aros_kernel_objcopy" = "x"; then - aros_kernel_objcopy=${HOST_TOOLCHAIN_PREFIX}objcopy${HOST_TOOLCHAIN_SUFFIX} - fi - fi - -if test "$aros_kernel_objcopy" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}objcopy", so it can be a program name with args. -set dummy ${kernel_tool_prefix}objcopy; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objcopy="$aros_kernel_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objcopy=$ac_cv_path_aros_kernel_objcopy -if test -n "$aros_kernel_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objcopy" >&5 -printf "%s\n" "$aros_kernel_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_objcopy=objcopy -else - ac_tool_objcopy= -fi -if test "$GCC" = "yes"; then - aros_gcc_objcopy=`$CC -print-prog-name=$ac_tool_objcopy` - # Extract the first word of "`basename $aros_gcc_[objcopy]`", so it can be a program name with args. -set dummy `basename $aros_gcc_objcopy`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objcopy="$aros_kernel_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_objcopy` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objcopy=$ac_cv_path_aros_kernel_objcopy -if test -n "$aros_kernel_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objcopy" >&5 -printf "%s\n" "$aros_kernel_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_objcopy" = ""; then - for ac_prog in $ac_tool_objcopy -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objcopy="$aros_kernel_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objcopy=$ac_cv_path_aros_kernel_objcopy -if test -n "$aros_kernel_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objcopy" >&5 -printf "%s\n" "$aros_kernel_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_objcopy" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_objcopy" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_objcopy", so it can be a program name with args. -set dummy $aros_kernel_objcopy; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objcopy="$aros_kernel_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objcopy=$ac_cv_path_aros_kernel_objcopy -if test -n "$aros_kernel_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objcopy" >&5 -printf "%s\n" "$aros_kernel_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_objcopy="$aros_kernel_objcopy $ac_tool_optarg" -fi - - if test "x$aros_kernel_objdump" = "x"; then - aros_kernel_objdump=$aros_host_objdump - if test "x$aros_kernel_objdump" = "x"; then - aros_kernel_objdump=${HOST_TOOLCHAIN_PREFIX}objdump${HOST_TOOLCHAIN_SUFFIX} - fi - fi - -if test "$aros_kernel_objdump" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${kernel_tool_prefix}objdump", so it can be a program name with args. -set dummy ${kernel_tool_prefix}objdump; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objdump="$aros_kernel_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objdump=$ac_cv_path_aros_kernel_objdump -if test -n "$aros_kernel_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objdump" >&5 -printf "%s\n" "$aros_kernel_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_objdump=objdump -else - ac_tool_objdump= -fi -if test "$GCC" = "yes"; then - aros_gcc_objdump=`$CC -print-prog-name=$ac_tool_objdump` - # Extract the first word of "`basename $aros_gcc_[objdump]`", so it can be a program name with args. -set dummy `basename $aros_gcc_objdump`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objdump="$aros_kernel_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_objdump` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objdump=$ac_cv_path_aros_kernel_objdump -if test -n "$aros_kernel_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objdump" >&5 -printf "%s\n" "$aros_kernel_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$aros_kernel_objdump" = ""; then - for ac_prog in $ac_tool_objdump -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objdump="$aros_kernel_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objdump=$ac_cv_path_aros_kernel_objdump -if test -n "$aros_kernel_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objdump" >&5 -printf "%s\n" "$aros_kernel_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$aros_kernel_objdump" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X$aros_kernel_objdump" : '[^ ]* \(.*\)'` - # Extract the first word of "$aros_kernel_objdump", so it can be a program name with args. -set dummy $aros_kernel_objdump; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_objdump="$aros_kernel_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_objdump=$ac_cv_path_aros_kernel_objdump -if test -n "$aros_kernel_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_objdump" >&5 -printf "%s\n" "$aros_kernel_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - aros_kernel_objdump="$aros_kernel_objdump $ac_tool_optarg" -fi - - if test "x${crosstools}" != "xyes" ; then - req_avail=yes -if test "$aros_kernel_objcopy" = ""; then - req_avail=no -fi -if test "$aros_kernel_objcopy" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "objcopy is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - req_avail=yes -if test "$aros_kernel_objdump" = ""; then - req_avail=no -fi -if test "$aros_kernel_objdump" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "objdump is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - fi - fi -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which target tools to use" >&5 -printf %s "checking which target tools to use... " >&6; } -if test "$aros_target_toolchain" = "yes"; then - if test "$aros_toolchain" = "llvm" ; then - msg_result="llvm" - else - msg_result=$target_tool_prefix - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg_result" >&5 -printf "%s\n" "$msg_result" >&6; } - # We are building AROS crosstools - tmp_tool_prefix="$AROS_CROSSTOOLSDIR/${target_tool_prefix}" - orig_target_cc="${tmp_tool_prefix}${toolchain_c_compiler}${target_tool_version}" - orig_target_cxx="${tmp_tool_prefix}${toolchain_cxx_compiler}${target_tool_version}" - orig_target_cpp="${tmp_tool_prefix}${toolchain_cpp_preprocessor}${toolchain_cpp_opts}" - orig_target_ld="${tmp_tool_prefix}${toolchain_ld}" - orig_target_as="${tmp_tool_prefix}${toolchain_as}" - orig_target_ar="${tmp_tool_prefix}${toolchain_ar}" - orig_target_ranlib="${tmp_tool_prefix}${toolchain_ranlib}" - orig_target_nm="${tmp_tool_prefix}${toolchain_nm}" - if ! test "$toolchain_strip" = "${NOP}"; then - orig_target_strip="${tmp_tool_prefix}${toolchain_strip}" - else - orig_target_strip="${toolchain_strip}" - fi - orig_target_objcopy="${tmp_tool_prefix}${toolchain_objcopy}" - orig_target_objdump="${tmp_tool_prefix}${toolchain_objdump}" -else - # Determine whether AROS or ELF tools should be used - if test "$aros_tool_prefix" = "none"; then - aros_tool_prefix="${elf_tool_prefix}" - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_tool_prefix" >&5 -printf "%s\n" "$aros_tool_prefix" >&6; } - # We are *not* building AROS crosstools - use the AROS or ELF tools - -if test "${aros_tool_prefix}${toolchain_cpp_preprocessor}${target_tool_version}${toolchain_cpp_opts}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}cpp", so it can be a program name with args. -set dummy ${target_tool_prefix}cpp; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cpp="$orig_target_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cpp=$ac_cv_path_orig_target_cpp -if test -n "$orig_target_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cpp" >&5 -printf "%s\n" "$orig_target_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_cpp=cpp -else - ac_tool_cpp= -fi -if test "$GCC" = "yes"; then - aros_gcc_cpp=`$CC -print-prog-name=$ac_tool_cpp` - # Extract the first word of "`basename $aros_gcc_[cpp]`", so it can be a program name with args. -set dummy `basename $aros_gcc_cpp`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cpp="$orig_target_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_cpp` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cpp=$ac_cv_path_orig_target_cpp -if test -n "$orig_target_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cpp" >&5 -printf "%s\n" "$orig_target_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_cpp" = ""; then - for ac_prog in $ac_tool_cpp -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cpp="$orig_target_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cpp=$ac_cv_path_orig_target_cpp -if test -n "$orig_target_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cpp" >&5 -printf "%s\n" "$orig_target_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_cpp" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_cpp_preprocessor}${target_tool_version}${toolchain_cpp_opts}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_cpp_preprocessor}${target_tool_version}${toolchain_cpp_opts}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_cpp_preprocessor}${target_tool_version}${toolchain_cpp_opts}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cpp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cpp in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cpp="$orig_target_cpp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cpp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cpp=$ac_cv_path_orig_target_cpp -if test -n "$orig_target_cpp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cpp" >&5 -printf "%s\n" "$orig_target_cpp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_cpp="$orig_target_cpp $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_cpp" = ""; then - req_avail=no -fi -if test "$orig_target_cpp" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cpp is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_c_compiler}${target_tool_version}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}gcc", so it can be a program name with args. -set dummy ${target_tool_prefix}gcc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cc="$orig_target_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cc=$ac_cv_path_orig_target_cc -if test -n "$orig_target_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cc" >&5 -printf "%s\n" "$orig_target_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_gcc=gcc -else - ac_tool_gcc= -fi -if test "$GCC" = "yes"; then - aros_gcc_gcc=`$CC -print-prog-name=$ac_tool_gcc` - # Extract the first word of "`basename $aros_gcc_[gcc]`", so it can be a program name with args. -set dummy `basename $aros_gcc_gcc`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cc="$orig_target_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_gcc` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cc=$ac_cv_path_orig_target_cc -if test -n "$orig_target_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cc" >&5 -printf "%s\n" "$orig_target_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_cc" = ""; then - for ac_prog in $ac_tool_gcc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cc="$orig_target_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cc=$ac_cv_path_orig_target_cc -if test -n "$orig_target_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cc" >&5 -printf "%s\n" "$orig_target_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_cc" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_c_compiler}${target_tool_version}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_c_compiler}${target_tool_version}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_c_compiler}${target_tool_version}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cc+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cc in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cc="$orig_target_cc" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cc="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cc=$ac_cv_path_orig_target_cc -if test -n "$orig_target_cc"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cc" >&5 -printf "%s\n" "$orig_target_cc" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_cc="$orig_target_cc $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_cc" = ""; then - req_avail=no -fi -if test "$orig_target_cc" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cc is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_cxx_compiler}${target_tool_version}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}g++", so it can be a program name with args. -set dummy ${target_tool_prefix}g++; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cxx="$orig_target_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cxx=$ac_cv_path_orig_target_cxx -if test -n "$orig_target_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cxx" >&5 -printf "%s\n" "$orig_target_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_g++=g++ -else - ac_tool_g++= -fi -if test "$GCC" = "yes"; then - aros_gcc_g++=`$CC -print-prog-name=$ac_tool_g++` - # Extract the first word of "`basename $aros_gcc_[g++]`", so it can be a program name with args. -set dummy `basename $aros_gcc_g++`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cxx="$orig_target_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_g++` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cxx=$ac_cv_path_orig_target_cxx -if test -n "$orig_target_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cxx" >&5 -printf "%s\n" "$orig_target_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_cxx" = ""; then - for ac_prog in $ac_tool_g++ -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cxx="$orig_target_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cxx=$ac_cv_path_orig_target_cxx -if test -n "$orig_target_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cxx" >&5 -printf "%s\n" "$orig_target_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_cxx" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_cxx_compiler}${target_tool_version}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_cxx_compiler}${target_tool_version}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_cxx_compiler}${target_tool_version}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_cxx+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_cxx in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_cxx="$orig_target_cxx" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_cxx="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_cxx=$ac_cv_path_orig_target_cxx -if test -n "$orig_target_cxx"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_cxx" >&5 -printf "%s\n" "$orig_target_cxx" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_cxx="$orig_target_cxx $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_cxx" = ""; then - req_avail=no -fi -if test "$orig_target_cxx" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "cxx is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_ld}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}gcc", so it can be a program name with args. -set dummy ${target_tool_prefix}gcc; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ld="$orig_target_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ld=$ac_cv_path_orig_target_ld -if test -n "$orig_target_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ld" >&5 -printf "%s\n" "$orig_target_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_gcc=gcc -else - ac_tool_gcc= -fi -if test "$GCC" = "yes"; then - aros_gcc_gcc=`$CC -print-prog-name=$ac_tool_gcc` - # Extract the first word of "`basename $aros_gcc_[gcc]`", so it can be a program name with args. -set dummy `basename $aros_gcc_gcc`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ld="$orig_target_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_gcc` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ld=$ac_cv_path_orig_target_ld -if test -n "$orig_target_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ld" >&5 -printf "%s\n" "$orig_target_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_ld" = ""; then - for ac_prog in $ac_tool_gcc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ld="$orig_target_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ld=$ac_cv_path_orig_target_ld -if test -n "$orig_target_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ld" >&5 -printf "%s\n" "$orig_target_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_ld" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_ld}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_ld}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_ld}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ld+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ld="$orig_target_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ld="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ld=$ac_cv_path_orig_target_ld -if test -n "$orig_target_ld"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ld" >&5 -printf "%s\n" "$orig_target_ld" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_ld="$orig_target_ld $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_ld" = ""; then - req_avail=no -fi -if test "$orig_target_ld" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ld is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "aros_tool_prefix}${toolchain_as}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}as", so it can be a program name with args. -set dummy ${target_tool_prefix}as; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_as="$orig_target_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_as=$ac_cv_path_orig_target_as -if test -n "$orig_target_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_as" >&5 -printf "%s\n" "$orig_target_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_as=as -else - ac_tool_as= -fi -if test "$GCC" = "yes"; then - aros_gcc_as=`$CC -print-prog-name=$ac_tool_as` - # Extract the first word of "`basename $aros_gcc_[as]`", so it can be a program name with args. -set dummy `basename $aros_gcc_as`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_as="$orig_target_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_as` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_as=$ac_cv_path_orig_target_as -if test -n "$orig_target_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_as" >&5 -printf "%s\n" "$orig_target_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_as" = ""; then - for ac_prog in $ac_tool_as -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_as="$orig_target_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_as=$ac_cv_path_orig_target_as -if test -n "$orig_target_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_as" >&5 -printf "%s\n" "$orig_target_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_as" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "Xaros_tool_prefix}${toolchain_as}" : '[^ ]* \(.*\)'` - # Extract the first word of "aros_tool_prefix}${toolchain_as}", so it can be a program name with args. -set dummy aros_tool_prefix}${toolchain_as}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_as+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_as in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_as="$orig_target_as" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_as="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_as=$ac_cv_path_orig_target_as -if test -n "$orig_target_as"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_as" >&5 -printf "%s\n" "$orig_target_as" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_as="$orig_target_as $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_as" = ""; then - req_avail=no -fi -if test "$orig_target_as" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "as is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_ar}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}ar", so it can be a program name with args. -set dummy ${target_tool_prefix}ar; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ar="$orig_target_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ar=$ac_cv_path_orig_target_ar -if test -n "$orig_target_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ar" >&5 -printf "%s\n" "$orig_target_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_ar=ar -else - ac_tool_ar= -fi -if test "$GCC" = "yes"; then - aros_gcc_ar=`$CC -print-prog-name=$ac_tool_ar` - # Extract the first word of "`basename $aros_gcc_[ar]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ar`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ar="$orig_target_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ar` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ar=$ac_cv_path_orig_target_ar -if test -n "$orig_target_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ar" >&5 -printf "%s\n" "$orig_target_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_ar" = ""; then - for ac_prog in $ac_tool_ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ar="$orig_target_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ar=$ac_cv_path_orig_target_ar -if test -n "$orig_target_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ar" >&5 -printf "%s\n" "$orig_target_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_ar" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_ar}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_ar}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_ar}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ar="$orig_target_ar" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ar="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ar=$ac_cv_path_orig_target_ar -if test -n "$orig_target_ar"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ar" >&5 -printf "%s\n" "$orig_target_ar" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_ar="$orig_target_ar $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_ar" = ""; then - req_avail=no -fi -if test "$orig_target_ar" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ar is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_ranlib}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}ar", so it can be a program name with args. -set dummy ${target_tool_prefix}ar; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ranlib="$orig_target_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ranlib=$ac_cv_path_orig_target_ranlib -if test -n "$orig_target_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ranlib" >&5 -printf "%s\n" "$orig_target_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_ar=ar -else - ac_tool_ar= -fi -if test "$GCC" = "yes"; then - aros_gcc_ar=`$CC -print-prog-name=$ac_tool_ar` - # Extract the first word of "`basename $aros_gcc_[ar]`", so it can be a program name with args. -set dummy `basename $aros_gcc_ar`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ranlib="$orig_target_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_ar` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ranlib=$ac_cv_path_orig_target_ranlib -if test -n "$orig_target_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ranlib" >&5 -printf "%s\n" "$orig_target_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_ranlib" = ""; then - for ac_prog in $ac_tool_ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ranlib="$orig_target_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ranlib=$ac_cv_path_orig_target_ranlib -if test -n "$orig_target_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ranlib" >&5 -printf "%s\n" "$orig_target_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_ranlib" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_ranlib}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_ranlib}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_ranlib}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_ranlib+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_ranlib="$orig_target_ranlib" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_ranlib="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_ranlib=$ac_cv_path_orig_target_ranlib -if test -n "$orig_target_ranlib"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_ranlib" >&5 -printf "%s\n" "$orig_target_ranlib" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_ranlib="$orig_target_ranlib $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_ranlib" = ""; then - req_avail=no -fi -if test "$orig_target_ranlib" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "ranlib is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_nm}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}nm", so it can be a program name with args. -set dummy ${target_tool_prefix}nm; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_nm="$orig_target_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_nm=$ac_cv_path_orig_target_nm -if test -n "$orig_target_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_nm" >&5 -printf "%s\n" "$orig_target_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_nm=nm -else - ac_tool_nm= -fi -if test "$GCC" = "yes"; then - aros_gcc_nm=`$CC -print-prog-name=$ac_tool_nm` - # Extract the first word of "`basename $aros_gcc_[nm]`", so it can be a program name with args. -set dummy `basename $aros_gcc_nm`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_nm="$orig_target_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_nm` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_nm=$ac_cv_path_orig_target_nm -if test -n "$orig_target_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_nm" >&5 -printf "%s\n" "$orig_target_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_nm" = ""; then - for ac_prog in $ac_tool_nm -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_nm="$orig_target_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_nm=$ac_cv_path_orig_target_nm -if test -n "$orig_target_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_nm" >&5 -printf "%s\n" "$orig_target_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_nm" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_nm}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_nm}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_nm}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_nm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_nm="$orig_target_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_nm="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_nm=$ac_cv_path_orig_target_nm -if test -n "$orig_target_nm"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_nm" >&5 -printf "%s\n" "$orig_target_nm" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_nm="$orig_target_nm $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_nm" = ""; then - req_avail=no -fi -if test "$orig_target_nm" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "nm is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - if ! test "$toolchain_strip" = "${NOP}"; then - -if test "${aros_tool_prefix}${toolchain_strip}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}strip", so it can be a program name with args. -set dummy ${target_tool_prefix}strip; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_strip="$orig_target_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_strip=$ac_cv_path_orig_target_strip -if test -n "$orig_target_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_strip" >&5 -printf "%s\n" "$orig_target_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_strip=strip -else - ac_tool_strip= -fi -if test "$GCC" = "yes"; then - aros_gcc_strip=`$CC -print-prog-name=$ac_tool_strip` - # Extract the first word of "`basename $aros_gcc_[strip]`", so it can be a program name with args. -set dummy `basename $aros_gcc_strip`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_strip="$orig_target_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_strip` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_strip=$ac_cv_path_orig_target_strip -if test -n "$orig_target_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_strip" >&5 -printf "%s\n" "$orig_target_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_strip" = ""; then - for ac_prog in $ac_tool_strip -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_strip="$orig_target_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_strip=$ac_cv_path_orig_target_strip -if test -n "$orig_target_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_strip" >&5 -printf "%s\n" "$orig_target_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_strip" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_strip}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_strip}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_strip}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_strip+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_strip="$orig_target_strip" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_strip="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_strip=$ac_cv_path_orig_target_strip -if test -n "$orig_target_strip"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_strip" >&5 -printf "%s\n" "$orig_target_strip" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_strip="$orig_target_strip $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_strip" = ""; then - req_avail=no -fi -if test "$orig_target_strip" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "strip is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - else - orig_target_strip="${toolchain_strip}" - fi - -if test "${aros_tool_prefix}${toolchain_objcopy}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}objcopy", so it can be a program name with args. -set dummy ${target_tool_prefix}objcopy; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objcopy="$orig_target_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objcopy=$ac_cv_path_orig_target_objcopy -if test -n "$orig_target_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objcopy" >&5 -printf "%s\n" "$orig_target_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_objcopy=objcopy -else - ac_tool_objcopy= -fi -if test "$GCC" = "yes"; then - aros_gcc_objcopy=`$CC -print-prog-name=$ac_tool_objcopy` - # Extract the first word of "`basename $aros_gcc_[objcopy]`", so it can be a program name with args. -set dummy `basename $aros_gcc_objcopy`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objcopy="$orig_target_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_objcopy` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objcopy=$ac_cv_path_orig_target_objcopy -if test -n "$orig_target_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objcopy" >&5 -printf "%s\n" "$orig_target_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_objcopy" = ""; then - for ac_prog in $ac_tool_objcopy -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objcopy="$orig_target_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objcopy=$ac_cv_path_orig_target_objcopy -if test -n "$orig_target_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objcopy" >&5 -printf "%s\n" "$orig_target_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_objcopy" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_objcopy}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_objcopy}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_objcopy}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objcopy+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objcopy in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objcopy="$orig_target_objcopy" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objcopy="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objcopy=$ac_cv_path_orig_target_objcopy -if test -n "$orig_target_objcopy"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objcopy" >&5 -printf "%s\n" "$orig_target_objcopy" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_objcopy="$orig_target_objcopy $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_objcopy" = ""; then - req_avail=no -fi -if test "$orig_target_objcopy" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "objcopy is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi - -if test "${aros_tool_prefix}${toolchain_objdump}" = ""; then - if test "$cross_compiling" = "yes" ; then - # Extract the first word of "${target_tool_prefix}objdump", so it can be a program name with args. -set dummy ${target_tool_prefix}objdump; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objdump="$orig_target_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objdump=$ac_cv_path_orig_target_objdump -if test -n "$orig_target_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objdump" >&5 -printf "%s\n" "$orig_target_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - else - -if test "" = ""; then - ac_tool_objdump=objdump -else - ac_tool_objdump= -fi -if test "$GCC" = "yes"; then - aros_gcc_objdump=`$CC -print-prog-name=$ac_tool_objdump` - # Extract the first word of "`basename $aros_gcc_[objdump]`", so it can be a program name with args. -set dummy `basename $aros_gcc_objdump`; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objdump="$orig_target_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in `dirname $aros_gcc_objdump` -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objdump=$ac_cv_path_orig_target_objdump -if test -n "$orig_target_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objdump" >&5 -printf "%s\n" "$orig_target_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - -fi -if test "$orig_target_objdump" = ""; then - for ac_prog in $ac_tool_objdump -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objdump="$orig_target_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objdump=$ac_cv_path_orig_target_objdump -if test -n "$orig_target_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objdump" >&5 -printf "%s\n" "$orig_target_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - test -n "$orig_target_objdump" && break -done - -fi - - fi -else - ac_tool_optarg=`expr "X${aros_tool_prefix}${toolchain_objdump}" : '[^ ]* \(.*\)'` - # Extract the first word of "${aros_tool_prefix}${toolchain_objdump}", so it can be a program name with args. -set dummy ${aros_tool_prefix}${toolchain_objdump}; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_orig_target_objdump+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $orig_target_objdump in - [\\/]* | ?:[\\/]*) - ac_cv_path_orig_target_objdump="$orig_target_objdump" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_orig_target_objdump="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -orig_target_objdump=$ac_cv_path_orig_target_objdump -if test -n "$orig_target_objdump"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $orig_target_objdump" >&5 -printf "%s\n" "$orig_target_objdump" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - orig_target_objdump="$orig_target_objdump $ac_tool_optarg" -fi - - req_avail=yes -if test "$orig_target_objdump" = ""; then - req_avail=no -fi -if test "$orig_target_objdump" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "objdump is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -fi - -if test "$kernel_tool_prefix" = "none" ; then - # No kernel tools specified - # Assume kernel tools == target tools with ELF wrapper - aros_kernel_cc=$orig_target_cc - aros_kernel_cxx=$orig_target_cxx - aros_kernel_cpp="$orig_target_cpp" - aros_kernel_ld=$orig_target_ld - aros_kernel_as=$orig_target_as - aros_kernel_ar=$orig_target_ar - aros_kernel_ranlib=$orig_target_ranlib - aros_kernel_nm=$orig_target_nm - aros_kernel_strip=$orig_target_strip - aros_kernel_objcopy=$orig_target_objcopy - aros_kernel_objdump=$orig_target_objdump - aros_kernel_isa_flags="$""(ISA_FLAGS)" - use_kernel_cc_wrapper=yes -fi - -# At this point, all aros_kernel_* and aros_target_* -# tools should be set up correctly - -CC="$aros_kernel_cc $kernel_tool_flags" -CPP="$aros_kernel_cpp" - -#----------------------------------------------------------------------------- - -# Find all the tools we need to compile. This could be cross-compiling -# though! If that is the case we use the GNU form of the target and -# simply add this to the front of the binary name. This is rather simple, -# but it should work under most circumstances. -# -# The default tools are to use the same as the host, but only if the -# host and target CPU are the same. With GCC this is normally enough. -# - -aros_cc_pre="" -aros_shared_ld="$aros_host_ld" - -aros_target_mkdep="$aros_host_mkdep" - -# The default tools executables to be linked to. -if test "$rescomp" != ""; then - # Extract the first word of "${kernel_tool_prefix}$rescomp", so it can be a program name with args. -set dummy ${kernel_tool_prefix}$rescomp; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_aros_kernel_rescomp+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $aros_kernel_rescomp in - [\\/]* | ?:[\\/]*) - ac_cv_path_aros_kernel_rescomp="$aros_kernel_rescomp" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_aros_kernel_rescomp="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -aros_kernel_rescomp=$ac_cv_path_aros_kernel_rescomp -if test -n "$aros_kernel_rescomp"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_rescomp" >&5 -printf "%s\n" "$aros_kernel_rescomp" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - req_avail=yes -if test "$aros_kernel_rescomp" = ""; then - req_avail=no -fi -if test "$aros_kernel_rescomp" = "no"; then - req_avail=no -fi -if test "$req_avail" = "no"; then - as_fn_error $? "$rescomp is required to build AROS. Please install and run configure again." "$LINENO" 5 -fi -fi - -# Set up the sources for the symlink farm -if test "$crosstools" = "yes"; then - crosstools_target=tools-crosstools -fi - -aros_kernel_cc="$aros_kernel_cc $kernel_tool_flags" -aros_kernel_ar="$aros_kernel_ar $aros_kernel_ar_flags" - -aros_hostcfg_dir="bin/${aros_host_arch}-${aros_host_cpu}/gen/host/config" -aros_targetcfg_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/config" -aros_inc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/AROS/Developer/include/aros" -aros_gendir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen" -aros_geninc_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/include/aros" -aros_tools_dir="bin/${aros_host_arch}-${aros_host_cpu}/tools" -aros_scripts_dir="bin/${aros_target_arch}-${aros_target_cpu}${aros_target_suffix}/gen/scripts" - -# aros_cc_pre is a variable that is added to the front of the compiler name -# in the generated aros-gcc shell script. We need this to enable the cache -# to work across cleaned builds. Also, support DISTCC using the correct -# environment variable. -# - -if test "x${DISTCC}" != "x" ; then - if test "x${CCACHE}" != "x" ; then - aros_cc_pre="env CCACHE_PREFIX=${DISTCC} ${CCACHE} " - else - aros_cc_pre="${DISTCC} " - fi -else - if test "x${CCACHE}" != "x" ; then - aros_cc_pre="${CCACHE} " - fi -fi - -aros_target_nostdinc_cflags=-nostdinc - -aros_target_nostartup_ldflags=-nostartfiles - -aros_target_nix_ldflags=-nix - -aros_target_detach_ldflags=-detach - -aros_target_nostdlib_ldflags=-nostdlib - - -aros_target_cc_path= - -# Target tools - -if test "$aros_target_toolchain" != "yes"; then - prefix="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-" - if test "$GCC" = "yes"; then - aros_target_cc_path=`$orig_target_cc -print-search-dirs | grep "programs: =" | cut -c 12-` - fi -else - # We do not know which c compiler version we are going to build and what we need to know - # here is different for different versions so this will be set later during the - # build of crosstools. - if test "$aros_toolchain" = "gnu" ; then - prefix="$AROS_CROSSTOOLSDIR/${aros_target_cpu}-aros-" - elif test "$aros_toolchain" = "llvm" ; then - prefix="$AROS_CROSSTOOLSDIR/bin/" - fi - aros_target_cc_path=@aros_target_cc_path@ -fi -aros_target_cpp="${prefix}${toolchain_cpp_preprocessor}${toolchain_cpp_opts}" -aros_target_cc="${prefix}${toolchain_c_compiler}" -aros_target_cxx="${prefix}${toolchain_cxx_compiler}" -aros_target_as="${prefix}${toolchain_as}" -if test "${use_ld_wrapper}" = "yes"; then - aros_target_ld="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${aros_ld}" -else - aros_target_ld="${prefix}${toolchain_ld}" -fi -aros_toolchain_ld="${prefix}${toolchain_ld}" - -aros_target_ar="${prefix}${toolchain_ar} $aros_target_ar_flags" -aros_target_objcopy="${prefix}${toolchain_objcopy}" -aros_target_objdump="${prefix}${toolchain_objdump}" -aros_target_ranlib="${prefix}${toolchain_ranlib} $aros_target_ranlib_flags" -aros_target_nm="${prefix}${toolchain_nm} $aros_target_nm_flags" -if ! test "$toolchain_strip" = "${NOP}"; then - aros_target_strip="${prefix}${toolchain_strip}" -else - aros_target_strip="${toolchain_strip}" -fi -aros_plain_nm="${prefix}${toolchain_nm}" -aros_plain_ar="${prefix}${toolchain_ar}" - -# Check whether --enable-includes was given. -if test ${enable_includes+y} -then : - enableval=$enable_includes; aros_target_incl=$enable_includes -else $as_nop - aros_target_incl=no -fi - - -if test "x$aros_target_incl" = "xno"; then - if test "x$test_kernel_cc" != "xno"; then - aros_target_incl=`$aros_kernel_cc -print-sysroot 2>/dev/null`/`$aros_kernel_cc --print-sysroot-headers-suffix 2>/dev/null || echo usr/include` - else - aros_target_incl= - fi -fi - -if test "x$aros_kernel_includes" = "x"; then - if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then - if test "x$aros_target_incl" != "x"; then - aros_kernel_includes="-isystem $aros_target_incl" - fi - fi -fi - -if test "x$test_kernel_cc" != "xno"; then - if test "$aros_kernel_includes" != "" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the kernel compiler's include path" >&5 -printf %s "checking for the kernel compiler's include path... " >&6; } - if test "$aros_kernel_cc_includes" = "" ; then - # Try to guess where the directory is. - aros_kernel_cc_includes=`dirname \`${aros_kernel_cc} ${aros_kernel_cflags} -print-libgcc-file-name\``/include - if test -d $aros_kernel_cc_includes; then - # Check if there is also an include-fixed directory and add it - # to kernel compiler's include path as it may contain some of - # the headers we need. - if test -d "$aros_kernel_cc_includes"-fixed; then - aros_kernel_cc_includes+=" -isystem $aros_kernel_cc_includes"-fixed - fi - # Check for specific includes directory. Needed for Ubuntu 11.10 and Debian - if test -d "/usr/include/${aros_target_cpu}-linux-gnu"; then - aros_kernel_cc_includes+=" -isystem /usr/include/${aros_target_cpu}-linux-gnu" - fi - else - # The directory doesn't exist, we need to do some more work. - aros_kernel_cc_includes=${PWD}/${aros_gendir}/cc_include - - # These are the headers we're looking for. - headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \ - stddef.h xmmintrin.h iso646.h stdarg.h unwind.h \ - zutil.h stdint.h" - - dirs= - for h in $headers; do - # Which other headers are needed by each of the above? - deps=$(echo "#include <$h>" | \ - $aros_kernel_cc -E -M - 2>/dev/null | \ - sed 's/^.*://; s/\\$/ /g; s/[ \t]\+/ /g') - - # Copy all the needed headers to a directory beneath gendir. - for d in $deps; do - h=$(basename $d) - dir=${aros_kernel_cc_includes}$(echo $(dirname $d) | \ - sed -n "s,^.*/include\(/.*\),\1,p") - ! test -d $dir && mkdir -p $dir - ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; } - done - done - fi - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_kernel_cc_includes" >&5 -printf "%s\n" "$aros_kernel_cc_includes" >&6; } - # Adding -nostdinc to kernel includes as they are always used together. - aros_kernel_includes="$aros_kernel_includes $aros_target_nostdinc_cflags -isystem $aros_kernel_cc_includes" - fi -fi - -if test "$crosstools" != "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the target compiler's include path" >&5 -printf %s "checking for the target compiler's include path... " >&6; } - if test "$aros_target_cc_includes" = "" ; then - #try to guess where the directory is - aros_target_cc_includes=`dirname \`${orig_target_cc} -print-libgcc-file-name\``/include - if ! test -d $aros_target_cc_includes; then - #the directory doesn't exist, we need to do some more work - aros_target_cc_includes=${PWD}/${aros_gendir}/cc_include - - #these are the headers we're looking for - headers="limits.h mmintrin.h stdbool.h syslimits.h float.h \ - stddef.h xmmintrin.h iso646.h stdarg.h unwind.h \ - zutil.h" - - dirs= - for h in $headers; do - #which other headers each of the above headers needs? - deps=$(echo "#include <$h>" | \ - $orig_target_cc -E -M - 2>/dev/null | \ - sed 's/^.*://; s/\\$/ /g; s/[ \t]\+/ /g') - - #copy all the needed headers to a directory beneath gendir - for d in $deps; do - h=$(basename $d) - dir=${aros_target_cc_includes}$(echo $(dirname $d) | \ - sed -n "s,^.*/include\(/.*\),\1,p") - ! test -d $dir && mkdir -p $dir - ! test -f $dir/$h && { cp $d $dir; chmod u+w $dir/$h; } - done - done - fi - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_target_cc_includes" >&5 -printf "%s\n" "$aros_target_cc_includes" >&6; } -else - # We do not know which c compiler version we are going to build and what we need to know - # here is different for different versions so this will be set later during the - # build of crosstools. - aros_target_cc_includes=@aros_target_cc_includes@ -fi - -# -# For GCC < 4.0 -I- is used for giving the search path for '#include "..."' -# On GCC >= 4.0 -iquote should be used -# - -save_cc="$CC" -save_cflags="$CFLAGS" -if test "x$test_kernel_cc" != "xno"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Testing kernel compiler..." >&5 -printf "%s\n" "$as_me: Testing kernel compiler..." >&6;} - CFLAGS="-iquote." - kernel_cflags_iquote=$host_cflags_iquote - kernel_cflags_iquote_end=$host_cflags_iquote_end - if test "x-$cross_compiling" = "x-yes"; then - CC="$aros_kernel_cc" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC} accepts -fno-stack-protector" >&5 -printf %s "checking whether ${CC} accepts -fno-stack-protector... " >&6; } - if test "x-$crosstools" != "x-yes"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - use_no_stack_protector="yes" -else $as_nop - use_no_stack_protector="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - else - # we do know it is supported for the smallest version of gcc we are going to build - # we assume it's also supported by later versions - use_no_stack_protector=yes - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_no_stack_protector" >&5 -printf "%s\n" "$use_no_stack_protector" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC} accepts -iquote" >&5 -printf %s "checking whether ${CC} accepts -iquote... " >&6; } - if test "x-$crosstools" != "x-yes"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - has_iquote="yes" -else $as_nop - has_iquote="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - else - # we do know it is supported for the smallest version of gcc we are going to build - # we assume it's also supported by later versions - has_iquote=yes - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_iquote" >&5 -printf "%s\n" "$has_iquote" >&6; } - if test "x-$has_iquote" = "x-yes" ; then - kernel_cflags_iquote=-iquote - kernel_cflags_iquote_end= - else - kernel_cflags_iquote=-I - kernel_cflags_iquote_end=-I- - fi - fi - if test "x-$use_no_common" = "x-yes" ; then - aros_kernel_cflags="$aros_kernel_cflags -fno-common" - fi - if test "x-$use_no_stack_protector" = "x-yes" ; then - aros_kernel_cflags="$aros_kernel_cflags -fno-stack-protector" - fi - - #----------------------------------------------------------------------------- - - # Check if we can explicitly choose older version of symbol hashing - - CFLAGS="$save_cflags -Wl,--hash-style=sysv" - CC="$aros_kernel_cc" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${CC} accepts -Wl,--hash-style=sysv" >&5 -printf %s "checking whether ${CC} accepts -Wl,--hash-style=sysv... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - use_hash_style="yes" -else $as_nop - use_hash_style="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_hash_style" >&5 -printf "%s\n" "$use_hash_style" >&6; } - if test "x-$use_hash_style" = "x-yes" ; then - aros_kernel_cflags="$aros_kernel_cflags -Wl,--hash-style=sysv" - fi -else - kernel_cflags_iquote="$""(CFLAGS_IQUOTE)" - kernel_cflags_iquote_end="$""(CFLAGS_IQUOTE_END)" -fi -CC="$save_cc" -CFLAGS="$save_cflags" - - - - - - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for default resolution of WBScreen" >&5 -printf %s "checking for default resolution of WBScreen... " >&6; } - -# Check whether --with-resolution was given. -if test ${with_resolution+y} -then : - withval=$with_resolution; resolution=$withval -else $as_nop - resolution=none -fi - -# We require an argument, so map --with/--without ("yes"/"no") to "none" specified -if test "$resolution" = "yes" ; then - resolution="none" -fi -if test "$resolution" = "no" ; then - resolution="none" -fi -if test "$resolution" != "none" ; then - aros_nominal_width=`echo $resolution | cut -d'x' -f1` - aros_nominal_height=`echo $resolution | cut -d'x' -f2` - aros_nominal_depth=`echo $resolution | cut -d'x' -f3` -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_nominal_width x $aros_nominal_height x $aros_nominal_depth" >&5 -printf "%s\n" "$aros_nominal_width x $aros_nominal_height x $aros_nominal_depth" >&6; } -aros_cv_nominal_width=$aros_nominal_width -aros_cv_nominal_height=$aros_nominal_height -aros_cv_nominal_depth=$aros_nominal_depth - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are compiling for non-vampires --with-nonvampire-support " >&5 -printf %s "checking whether we are compiling for non-vampires --with-nonvampire-support ... " >&6; } - -# Check whether --with-nonvampire-support was given. -if test ${with_nonvampire_support+y} -then : - withval=$with_nonvampire_support; nonvampire_support=$withval -else $as_nop - nonvampire_support=none -fi - -if test "$nonvampire_support" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling nonvampire support" >&5 -printf "%s\n" "Enabling nonvampire support" >&6; } - aros_config_cppflags="$aros_config_cppflags -DNONVAMPIRE" - aros_config_cflags="$aros_config_cflags -DNONVAMPIRE" - aros_kernel_cppflags="$aros_kernel_cppflags -DNONVAMPIRE" - aros_kernel_cflags="$aros_kernel_cflags -DNONVAMPIRE" -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Vampire card series: v2 or v4 " >&5 -printf %s "checking Vampire card series: v2 or v4 ... " >&6; } - -# Check whether --with-vampirecard-series was given. -if test ${with_vampirecard_series+y} -then : - withval=$with_vampirecard_series; vampirecard_series="$withval" -else $as_nop - vampirecard_Series="v4" -fi - -if test "$vampirecard_series" = "v2" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Vampire Card Series v2 " >&5 -printf "%s\n" "Vampire Card Series v2 " >&6; } - aros_config_cppflags="$aros_config_cppflags -DVAMPIRECARDSERIES=2" - aros_config_cflags="$aros_config_cflags -DVAMPIRECARDSERIES=2" - aros_kernel_cppflags="$aros_kernel_cppflags -DVAMPIRECARDSERIES=2" - aros_kernel_cflags="$aros_kernel_cflags -DVAMPIRECARDSERIES=2" -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Vampire Card Series v4 " >&5 -printf "%s\n" "Vampire Card Series v4 " >&6; } - aros_config_cppflags="$aros_config_cppflags -DVAMPIRECARDSERIES=4" - aros_config_cflags="$aros_config_cflags -DVAMPIRECARDSERIES=4" - aros_kernel_cppflags="$aros_kernel_cppflags -DVAMPIRECARDSERIES=4" - aros_kernel_cflags="$aros_kernel_cflags -DVAMPIRECARDSERIES=4" -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether serial debug is enabled" >&5 -printf %s "checking whether serial debug is enabled... " >&6; } - -# Check whether --with-serial-debug was given. -if test ${with_serial_debug+y} -then : - withval=$with_serial_debug; serial_debug=$withval -else $as_nop - serial_debug=none -fi - -if test "$aros_serial_debug" = 0 ; then - serial_debug_forced="" - if test "$serial_debug" = "yes" ; then - serial_debug="1" - fi - if test "$serial_debug" = "no" ; then - serial_debug="none" - fi -else - serial_debug_forced="(forced)" - serial_debug=$aros_serial_debug -fi -if test "$serial_debug" != "none" ; then - aros_serial_debug=$serial_debug - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $serial_debug_forced on port $serial_debug" >&5 -printf "%s\n" "$serial_debug_forced on port $serial_debug" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether palm debug hack is enabled" >&5 -printf %s "checking whether palm debug hack is enabled... " >&6; } -# Check whether --enable-palm_debug_hack was given. -if test ${enable_palm_debug_hack+y} -then : - enableval=$enable_palm_debug_hack; palm_debug_hack="yes" -else $as_nop - palm_debug_hack="no" -fi - -if test "$palm_debug_hack" = "yes" ; then - aros_palm_debug_hack="1" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $palm_debug_hack" >&5 -printf "%s\n" "$palm_debug_hack" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether usb3.0 code is enabled" >&5 -printf %s "checking whether usb3.0 code is enabled... " >&6; } -# Check whether --enable-usb30_code was given. -if test ${enable_usb30_code+y} -then : - enableval=$enable_usb30_code; usb30_code="yes" -else $as_nop - usb30_code="no" -fi - -if test "$usb30_code" = "yes" ; then - aros_config_cppflags="$aros_config_cppflags -DAROS_USB30_CODE" - aros_kernel_cflags="$aros_kernel_cflags -DAROS_USB30_CODE" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $usb30_code" >&5 -printf "%s\n" "$usb30_code" >&6; } - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether nesting supervisor support is enabled" >&5 -printf %s "checking whether nesting supervisor support is enabled... " >&6; } -# Check whether --enable-nesting_supervisor was given. -if test ${enable_nesting_supervisor+y} -then : - enableval=$enable_nesting_supervisor; nesting_supervisor="yes" -else $as_nop - nesting_supervisor="no" -fi - -if test "$nesting_supervisor" = "yes" ; then - aros_nesting_supervisor="1" -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $nesting_supervisor" >&5 -printf "%s\n" "$nesting_supervisor" >&6; } - -if test "$aros_enable_mmu" = "" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether MMU support is enabled" >&5 -printf %s "checking whether MMU support is enabled... " >&6; } - # Check whether --enable-mmu was given. -if test ${enable_mmu+y} -then : - enableval=$enable_mmu; aros_enable_mmu=$enableval -else $as_nop - aros_enable_mmu="yes" -fi - - if test "$aros_enable_mmu" = "" ; then - aros_enable_mmu="yes" - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $aros_enable_mmu" >&5 -printf "%s\n" "$aros_enable_mmu" >&6; } -fi -if test "$aros_enable_mmu" = "no" ; then - aros_enable_mmu="0" -else - aros_enable_mmu="1" -fi - - -if test "x-$aros_flavour" = "x-emulation" -o "x-$aros_flavour" = "x-emulcompat" ; then - - if test "x-$need_dlopen" != "x-no" ; then - save_libs="$LIBS" - LIBS="" - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes -then : - have_dl="yes" -else $as_nop - have_dl="no" -fi - - if test "x-$have_dl" = "x-no" ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -printf %s "checking for dlopen in -ldl... " >&6; } -if test ${ac_cv_lib_dl_dlopen+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main (void) -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_dl_dlopen=yes -else $as_nop - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes -then : - have_dl="yes" - aros_host_ldflags="$aros_host_ldflags -ldl" -else $as_nop - have_dl="no" -fi - - fi - if test "x-$have_dl" = "x-no" ; then - as_fn_error $? "dlopen() dynamic linker functions not available" "$LINENO" 5 - fi - LIBS="$save_libs" - fi - - - # Check whether --enable-x11_hidd was given. -if test ${enable_x11_hidd+y} -then : - enableval=$enable_x11_hidd; x11_hidd="$enableval" -else $as_nop - x11_hidd="$need_x11" -fi - - case "x-$x11_hidd" in - x-yes|x-no|x-auto) ;; - *) x11_hidd="$need_x11" ;; - esac - - ENABLE_X11=0 - - if test "x-$x11_hidd" != "x-no" ; then - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for X" >&5 -printf %s "checking for X... " >&6; } - - -# Check whether --with-x was given. -if test ${with_x+y} -then : - withval=$with_x; -fi - -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - case $x_includes,$x_libraries in #( - *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( - *,NONE | NONE,*) if test ${ac_cv_have_x+y} -then : - printf %s "(cached) " >&6 -else $as_nop - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=no -ac_x_libraries=no -# Do we need to do anything special at all? -ac_save_LIBS=$LIBS -LIBS="-lX11 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -XrmInitialize () - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - # We can compile and link X programs with no special options. - ac_x_includes= - ac_x_libraries= -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS="$ac_save_LIBS" -# If that didn't work, only try xmkmf and file system searches -# for native compilation. -if test x"$ac_x_includes" = xno && test "$cross_compiling" = no -then : - rm -f -r conftest.dir -if mkdir conftest.dir; then - cd conftest.dir - cat >Imakefile <<'_ACEOF' -incroot: - @echo incroot='${INCROOT}' -usrlibdir: - @echo usrlibdir='${USRLIBDIR}' -libdir: - @echo libdir='${LIBDIR}' -_ACEOF - if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. - for ac_var in incroot usrlibdir libdir; do - eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" - done - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl dylib la dll; do - if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && - test -f "$ac_im_libdir/libX11.$ac_extension"; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case $ac_im_incroot in - /usr/include) ac_x_includes= ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in - /usr/lib | /usr/lib64 | /lib | /lib64) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi - cd .. - rm -f -r conftest.dir -fi - - # Standard set of common directories for X headers. -# Check X11 before X11Rn because it is often a symlink to the current release. -ac_x_header_dirs=' -/usr/X11/include -/usr/X11R7/include -/usr/X11R6/include -/usr/X11R5/include -/usr/X11R4/include - -/usr/include/X11 -/usr/include/X11R7 -/usr/include/X11R6 -/usr/include/X11R5 -/usr/include/X11R4 - -/usr/local/X11/include -/usr/local/X11R7/include -/usr/local/X11R6/include -/usr/local/X11R5/include -/usr/local/X11R4/include - -/usr/local/include/X11 -/usr/local/include/X11R7 -/usr/local/include/X11R6 -/usr/local/include/X11R5 -/usr/local/include/X11R4 - -/opt/X11/include - -/usr/X386/include -/usr/x386/include -/usr/XFree86/include/X11 - -/usr/include -/usr/local/include -/usr/unsupported/include -/usr/athena/include -/usr/local/x11r5/include -/usr/lpp/Xamples/include - -/usr/openwin/include -/usr/openwin/share/include' - -if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. - # First, try using that file with no special directory specified. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - # We can compile using X headers with no special include directory. -ac_x_includes= -else $as_nop - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then - ac_x_includes=$ac_dir - break - fi -done -fi -rm -f conftest.err conftest.i conftest.$ac_ext -fi # $ac_x_includes = no - -if test "$ac_x_libraries" = no; then - # Check for the libraries. - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -XrmInitialize () - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - LIBS=$ac_save_LIBS -# We can link X programs with no special library path. -ac_x_libraries= -else $as_nop - LIBS=$ac_save_LIBS -for ac_dir in `printf "%s\n" "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -do - # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl dylib la dll; do - if test -r "$ac_dir/libX11.$ac_extension"; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -fi # $ac_x_libraries = no - -fi -# Record the results. -case $ac_x_includes,$ac_x_libraries in #( - no,* | *,no | *\'*) : - # Didn't find X, or a directory has "'" in its name. - ac_cv_have_x="have_x=no" ;; #( - *) : - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$ac_x_includes'\ - ac_x_libraries='$ac_x_libraries'" ;; -esac -fi -;; #( - *) have_x=yes;; - esac - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 -printf "%s\n" "$have_x" >&6; } - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$x_includes'\ - ac_x_libraries='$x_libraries'" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 -printf "%s\n" "libraries $x_libraries, headers $x_includes" >&6; } -fi - - - if test -n "$x_includes"; then - X_CFLAGS="$X_CFLAGS -I$x_includes" - fi - - if test -n "$x_libraries"; then - X_LIBS="$X_LIBS -L$x_libraries" - fi - - if test "x-$no_x" = "x-yes" ; then - - if test "x-$x11_hidd" != "x-auto" ; then - as_fn_error $? "X11 libs/headers not found, cannot build X11 hidd as requested" "$LINENO" 5 - fi - - else - aros_target_options+="$export_newline""# Enable X11 Gfx Driver$export_newline""OPT_HOST_X11GFX := yes$export_newline" - if test "x-$host_feature_glx" != "x-no" ; then - aros_target_options+="$export_newline""# Enable X11 HostGL 3D Passthrough$export_newline""OPT_HOST_X11_HOSTGL := yes$export_newline" - fi - ENABLE_X11=1 - - aros_host_x11_cflags="$X_CFLAGS" - aros_host_x11_ldflags="$X_LIBS -lX11" - - # Check whether --enable-x11_shm was given. -if test ${enable_x11_shm+y} -then : - enableval=$enable_x11_shm; x11_hidd_shm="$enableval" -else $as_nop - x11_hidd_shm="auto" -fi - - case "x-$x11_hidd_shm" in - x-yes|x-no|x-auto) ;; - *) x11_hidd_shm="auto" ;; - esac - - have_xshm=no - - if test "x-$x11_hidd_shm" != "x-no" ; then - - ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_ipc_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_IPC_H 1" >>confdefs.h - -fi - - ac_fn_c_check_header_compile "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_shm_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_SHM_H 1" >>confdefs.h - -fi - - - if test "x-$ac_cv_header_sys_ipc_h" = "x-yes" -a "x-$ac_cv_header_sys_shm_h" = "x-yes" ; then - - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" - CFLAGS="$CFLAGS $X_CFLAGS" - LDFLAGS="$LDFLAGS $X_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for XShmQueryExtension in -lXext" >&5 -printf %s "checking for XShmQueryExtension in -lXext... " >&6; } -if test ${ac_cv_lib_Xext_XShmQueryExtension+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXext $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char XShmQueryExtension (); -int -main (void) -{ -return XShmQueryExtension (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_Xext_XShmQueryExtension=yes -else $as_nop - ac_cv_lib_Xext_XShmQueryExtension=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShmQueryExtension" >&5 -printf "%s\n" "$ac_cv_lib_Xext_XShmQueryExtension" >&6; } -if test "x$ac_cv_lib_Xext_XShmQueryExtension" = xyes -then : - have_xshm=yes -fi - - CFLAGS="$save_cflags" - LDFLAGS="$save_ldflags" - fi - fi - - if test "x-$have_xshm" = "x-yes" ; then - DO_XSHM_SUPPORT="1" - elif test "x-$x11_hidd_shm" = "x-yes" ; then - as_fn_error $? "X11 has no support for shared memory, cannot enable it as requested" "$LINENO" 5 - else - DO_XSHM_SUPPORT="0" - fi - - - # Check whether --enable-x11_vidmode was given. -if test ${enable_x11_vidmode+y} -then : - enableval=$enable_x11_vidmode; x11_hidd_vidmode="$enableval" -else $as_nop - x11_hidd_vidmode="auto" -fi - - case "x-$x11_hidd_vidmode" in - x-yes|x-no|x-auto) ;; - *) x11_hidd_vidmode="auto" ;; - esac - - have_vidmode=no - - if test "x-$x11_hidd_vidmode" != "x-no" ; then - - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" - CFLAGS="$CFLAGS $X_CFLAGS" - LDFLAGS="$LDFLAGS $X_LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for XF86VidModeQueryExtension in -lXxf86vm" >&5 -printf %s "checking for XF86VidModeQueryExtension in -lXxf86vm... " >&6; } -if test ${ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXxf86vm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char XF86VidModeQueryExtension (); -int -main (void) -{ -return XF86VidModeQueryExtension (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension=yes -else $as_nop - ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension" >&5 -printf "%s\n" "$ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension" >&6; } -if test "x$ac_cv_lib_Xxf86vm_XF86VidModeQueryExtension" = xyes -then : - have_vidmode=yes -fi - - CFLAGS="$save_cflags" - LDFLAGS="$save_ldflags" - fi - - if test "x-$have_vidmode" = "x-yes" ; then - DO_VIDMODE_SUPPORT="1" - elif test "x-$x11_hidd_vidmode" = "x-yes" ; then - as_fn_error $? "X11 vidmode extension not available, cannot enable it as requested" "$LINENO" 5 - else - DO_VIDMODE_SUPPORT="0" - fi - fi - fi - - # Check whether --enable-sdl_hidd was given. -if test ${enable_sdl_hidd+y} -then : - enableval=$enable_sdl_hidd; sdl_hidd="$enableval" -else $as_nop - sdl_hidd="auto" -fi - - case "x-$sdl_hidd" in - x-yes|x-no|x-auto) ;; - *) sdl_hidd="auto" ;; - esac - - if test "x-$sdl_hidd" != "x-no" ; then - - SDL_VERSION=1.2.5 - -# Check whether --with-sdl-prefix was given. -if test ${with_sdl_prefix+y} -then : - withval=$with_sdl_prefix; sdl_prefix="$withval" -else $as_nop - sdl_prefix="" -fi - - -# Check whether --with-sdl-exec-prefix was given. -if test ${with_sdl_exec_prefix+y} -then : - withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" -else $as_nop - sdl_exec_prefix="" -fi - -# Check whether --enable-sdltest was given. -if test ${enable_sdltest+y} -then : - enableval=$enable_sdltest; -else $as_nop - enable_sdltest=yes -fi - - - if test x$sdl_exec_prefix != x ; then - sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config - fi - fi - if test x$sdl_prefix != x ; then - sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL_CONFIG+set} != xset ; then - SDL_CONFIG=$sdl_prefix/bin/sdl-config - fi - fi - - as_save_PATH="$PATH" - if test "x$prefix" != xNONE; then - PATH="$prefix/bin:$prefix/usr/bin:$PATH" - fi - # Extract the first word of "sdl-config", so it can be a program name with args. -set dummy sdl-config; ac_word=$2 -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_SDL_CONFIG+y} -then : - printf %s "(cached) " >&6 -else $as_nop - case $SDL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_SDL_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" - ;; -esac -fi -SDL_CONFIG=$ac_cv_path_SDL_CONFIG -if test -n "$SDL_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SDL_CONFIG" >&5 -printf "%s\n" "$SDL_CONFIG" >&6; } -else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } -fi - - - PATH="$as_save_PATH" - min_sdl_version=$SDL_VERSION - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SDL - version >= $min_sdl_version" >&5 -printf %s "checking for SDL - version >= $min_sdl_version... " >&6; } - no_sdl="" - if test "$SDL_CONFIG" = "no" ; then - no_sdl=yes - else - SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` - - sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_sdltest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_CXXFLAGS="$CXXFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - rm -f conf.sdltest - if test "$cross_compiling" = yes -then : - echo $ac_n "cross compiling; assumed OK... $ac_c" -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include "SDL.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.sdltest"); - */ - { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_sdl_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_sdl_version"); - exit(1); - } - - if (($sdl_major_version > major) || - (($sdl_major_version == major) && ($sdl_minor_version > minor)) || - (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); - printf("*** to point to the correct copy of sdl-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - - -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - -else $as_nop - no_sdl=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - have_sdl="yes" - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } - if test "$SDL_CONFIG" = "no" ; then - echo "*** The sdl-config script installed by SDL could not be found" - echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL_CONFIG environment variable to the" - echo "*** full path to sdl-config." - else - if test -f conf.sdltest ; then - : - else - echo "*** Could not run SDL test program, checking why..." - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include "SDL.h" - -int main(int argc, char *argv[]) -{ return 0; } -#undef main -#define main K_and_R_C_main - -int -main (void) -{ - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" -else $as_nop - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl-config script: $SDL_CONFIG" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SDL_CFLAGS="" - SDL_LIBS="" - have_sdl="no" - fi - - - rm -f conf.sdltest - - - if test "x-$have_sdl" != "x-yes" ; then - - if test "x-$sdl_hidd" != "x-auto" ; then - as_fn_error $? "SDL libs/headers not found, cannot build SDL hidd as requested" "$LINENO" 5 - fi - - else - aros_target_options+="$export_newline""# Enable SDL Gfx Driver$export_newline""OPT_HOST_SDLGFX := yes$export_newline" - aros_host_sdl_cflags=$SDL_CFLAGS - aros_host_sdl_libs=$SDL_LIBS - fi - fi - -fi - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether building of dbus.library is enabled" >&5 -printf %s "checking whether building of dbus.library is enabled... " >&6; } -# Check whether --enable-dbus was given. -if test ${enable_dbus+y} -then : - enableval=$enable_dbus; dbus="yes" -else $as_nop - dbus="no" -fi - -if test "$dbus" = "yes" ; then - ENABLE_DBUS=1 - DBUS_CFLAGS=`pkg-config --cflags dbus-1` - DBUS_LIBFLAGS=`pkg-config --libs dbus-1` - KERNEL_DBUS_KOBJ=kernel-dbus-kobj - KERNEL_DBUS_INCLUDES=kernel-dbus-includes -else - ENABLE_DBUS=0 -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dbus" >&5 -printf "%s\n" "$dbus" >&6; } - -if test "$use_kernel_cc_wrapper" = "yes" ; then - aros_kernel_cc="${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-elf-${toolchain_c_compiler}" -fi - -aros_kernel_cppflags=$aros_config_cppflags -aros_optimization_cflags="$optimization_level" -if test "$optimization" = "default"; then -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking default optimization level to use" >&5 -printf %s "checking default optimization level to use... " >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $optimization_level" >&5 -printf "%s\n" "$optimization_level" >&6; } -fi - - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking kernel optimization level to conserve space" >&5 -printf %s "checking kernel optimization level to conserve space... " >&6; } -if test "$kernel_optimization_level" = ""; then - kernel_optimization_level=$optimization_level -fi -kernel_optimization_cflags="$kernel_optimization_level" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $kernel_optimization_level" >&5 -printf "%s\n" "$kernel_optimization_level" >&6; } - -if ! test "$gcc_default_cpu" = "" ; then - target_extra_cfg+="$export_newline""# ARM gcc default target$export_newline""GCC_DEFAULT_CPU := $gcc_default_cpu$export_newline""GCC_DEFAULT_FPU := $gcc_default_fpu$export_newline""GCC_DEFAULT_FLOAT_ABI := $gcc_default_float_abi$export_newline""GCC_DEFAULT_MODE := $gcc_default_mode$export_newline" -fi - -if test "$use_libatomic" = "yes" ; then - aros_cxx_libs="$aros_cxx_libs -latomic" -fi - -aros_target_options+="$export_newline""# Enable Nouveau Gfx Driver$export_newline""OPT_GFX_NOUVEAU := no$export_newline" - - -CC=$CC -CFLAGS=$CFLAGS -CHMOD=$CHMOD -CP=$CP -ECHO=$ECHO -FLEX=$FLEX -MV=$MV -NOP=$NOP -PATCH=$PATCH -PNGTOPNM=$PNGTOPNM -PPMTOILBM=$PPMTOILBM -SED=$SED -SORT=$SORT -TOUCH=$TOUCH -UNIQ=$UNIQ - -aros_config_cflags=$aros_config_cflags -aros_config_cppflags=$aros_config_cppflags -aros_config_cxxflags=$aros_config_cxxflags - -aros_c_libs=$aros_c_libs -aros_cxx_libs=$aros_cxx_libs - -aros_host_ldflags=$aros_host_ldflags -aros_host_strip=$aros_host_strip -aros_host_x11_ldflags=$aros_host_x11_ldflags - -aros_kernel_ar=$aros_kernel_ar -aros_kernel_as=$aros_kernel_as -aros_kernel_cc=$aros_kernel_cc -aros_kernel_cflags=$aros_kernel_cflags -aros_kernel_cppflags=$aros_kernel_cppflags -aros_kernel_cxx=$aros_kernel_cxx -aros_kernel_nm=$aros_kernel_nm -aros_kernel_objcopy=$aros_kernel_objcopy -aros_kernel_objdump=$aros_kernel_objdump -aros_kernel_ranlib=$aros_kernel_ranlib - -# Generic - - - - - - - - - - - - - - -# Compatability with other Amiga-like operating systems - - -# Host Related ########################### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Target Related ######################### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Distro specific stuff - - - - - -# Native version related - - - - -# MMU related - - -# Bootloader related - - -# Unix/Hosted version related - - -# ARM default GCC target related - - - - - - -# Palm native version related - - -# Apple iOS related - - - - -# Android related - - - - - -# Debug related - - - - - -# Collect-aros stuff: "-ius" to ignore undefined symbols - - -# C compiler related - - - - - -#ObjC compiler related - - -#Java related - - -# DBUS related - - - - - - -#X11 related - - - - - - - -#SDL related - - - -# USB3.0 code - - -# The preference set option(s).. - - -case "$aros_flavour" in -emulation) aros_flavour_uc="AROS_FLAVOUR_EMULATION" - aros_flavour="emulation" ;; -emulcompat) aros_flavour_uc="(AROS_FLAVOUR_EMULATION|AROS_FLAVOUR_BINCOMPAT)" - aros_flavour="emulation" ;; -standalone) aros_flavour_uc="AROS_FLAVOUR_STANDALONE" - aros_flavour="standalone";; -standcompat) aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)" - aros_flavour="standalone";; -native) aros_flavour_uc="AROS_FLAVOUR_NATIVE" - aros_flavour="native" ;; -nativecompat) aros_flavour_uc="(AROS_FLAVOUR_NATIVE|AROS_FLAVOUR_BINCOMPAT)" - aros_flavour="native" ;; -linklib) aros_flavour_uc="AROS_FLAVOUR_LINKLIB" - aros_flavour="linklib" ;; -palmnative) aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)" - aros_flavour="palmnative" ;; -mac68knative) aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_EMULATION)" - aros_flavour="mac68knative" ;; -ppcnative) aros_flavour_uc="(AROS_FLAVOUR_STANDALONE|AROS_FLAVOUR_BINCOMPAT)" - aros_flavour="ppcnative" ;; -esac - -if test ! -d ${aros_inc_dir} ; then - ${MKDIR} ${aros_inc_dir} -fi -if test ! -d ${aros_geninc_dir} ; then - ${MKDIR} ${aros_geninc_dir} -fi -if test ! -d ${aros_hostcfg_dir} ; then - ${MKDIR} ${aros_hostcfg_dir} -fi -if test ! -d ${aros_targetcfg_dir} ; then - ${MKDIR} ${aros_targetcfg_dir} -fi -if test ! -d ${aros_tools_dir} ; then - ${MKDIR} ${aros_tools_dir} -fi -if test ! -d ${aros_scripts_dir} ; then - ${MKDIR} ${aros_scripts_dir} -fi - -ac_config_headers="$ac_config_headers ${aros_geninc_dir}/host-conf.h:config/host-conf.h.in" - - -# Generic build tools (metamake, etc) -ac_config_commands="$ac_config_commands genmf-executable-support" - -ac_config_files="$ac_config_files Makefile config/make.cfg ${aros_inc_dir}/config.h:config/config.h.in ${aros_geninc_dir}/config.h:config/config.h.in ${aros_hostcfg_dir}/host.cfg:config/host.cfg.in ${aros_targetcfg_dir}/target.cfg:config/target.cfg.in ${aros_targetcfg_dir}/build.cfg:config/build.cfg.in mmake.config compiler/include/geninc.cfg:compiler/include/geninc.cfg.in ${aros_targetcfg_dir}/make.defaults:config/make.defaults.in ${aros_tools_dir}/genmf.py:tools/genmf/genmf.py ${AROS_CROSSTOOLSDIR}/${aros_target_cpu}-aros-uname:scripts/uname.in tools/collect-aros/env.h" - - -# Binutils -ac_config_commands="$ac_config_commands binutils-support" - -if test "${use_ld_wrapper}" = "yes"; then - ac_config_files="$ac_config_files ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${aros_ld}:scripts/aros-ld.in" - -fi -# Bare Elf support script and spec -if test "${use_kernel_cc_wrapper}" = "yes"; then - ac_config_commands="$ac_config_commands elf-compiler-support" - - ac_config_files="$ac_config_files ${aros_targetcfg_dir}/elf-specs:${elf_specs_in} ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-elf-gcc:scripts/elf-gcc.in" - -fi - -# Host compiler support scripts and spec -if test "${aros_target_toolchain}" = "no"; then - ac_config_commands="$ac_config_commands host-compiler-wrapper-support" - - ac_config_files="$ac_config_files ${aros_targetcfg_dir}/specs:config/specs.in ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cpp_preprocessor}:scripts/aros-${toolchain_cpp_preprocessor}.in ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_c_compiler}:scripts/aros-${toolchain_c_compiler}.in ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cxx_compiler}:scripts/aros-${toolchain_cxx_compiler}.in" - -fi - -# Android support -if test "$aros_target_variant" == "android"; then - ac_config_files="$ac_config_files ${aros_gendir}/arch/all-android/bootstrap/app/default.properties:arch/all-android/bootstrap/app/default.properties.in" - -fi - -# cmake helper -ac_config_files="$ac_config_files ${aros_targetcfg_dir}/conf.cmake:config/conf.cmake.in" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -printf "%s\n" "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -as_nop=: -if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 -then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else $as_nop - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - - -# Reset variables that may have inherited troublesome values from -# the environment. - -# IFS needs to be set, to space, tab, and newline, in precisely that order. -# (If _AS_PATH_WALK were called with IFS unset, it would have the -# side effect of setting IFS to empty, thus disabling word splitting.) -# Quoting is to prevent editors from complaining about space-tab. -as_nl=' -' -export as_nl -IFS=" "" $as_nl" - -PS1='$ ' -PS2='> ' -PS4='+ ' - -# Ensure predictable behavior from utilities with locale-dependent output. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# We cannot yet rely on "unset" to work, but we need these variables -# to be unset--not just set to an empty or harmless value--now, to -# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct -# also avoids known problems related to "unset" and subshell syntax -# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). -for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH -do eval test \${$as_var+y} \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done - -# Ensure that fds 0, 1, and 2 are open. -if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi -if (exec 3>&2) ; then :; else exec 2>/dev/null; fi - -# The user is always right. -if ${PATH_SEPARATOR+false} :; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - test -r "$as_dir$0" && as_myself=$as_dir$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - printf "%s\n" "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null -then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else $as_nop - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null -then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else $as_nop - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -# For backward compatibility with old third-party macros, we provide -# the shell variables $as_echo and $as_echo_n. New code should use -# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. -as_echo='printf %s\n' -as_echo_n='printf %s' - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.71. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -_ACEOF -ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` -ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config='$ac_cs_config_escaped' -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.71, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2021 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - printf "%s\n" "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - printf "%s\n" "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - printf "%s\n" "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - printf "%s\n" "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# - - AROS_CROSSTOOLSDIR=${AROS_CROSSTOOLSDIR} - aros_tools_dir=${aros_tools_dir} - - - - aros_host_exe_suffix=${aros_host_exe_suffix} - aros_tools_dir=${aros_tools_dir} - aros_target_cpu=${aros_target_cpu} - aros_target_arch=${aros_target_arch} - aros_target_suffix=${aros_target_suffix} - orig_target_nm=${orig_target_nm} - orig_target_as=${orig_target_as} - orig_target_ar=${orig_target_ar} - orig_target_ranlib=${orig_target_ranlib} - orig_target_objdump=${orig_target_objdump} - orig_target_objcopy=${orig_target_objcopy} - orig_target_strip=${orig_target_strip} - aros_kernel_ld=${aros_kernel_ld} - - - - aros_host_exe_suffix=${aros_host_exe_suffix} - aros_tools_dir=${aros_tools_dir} - aros_target_cpu=${aros_target_cpu} - aros_target_arch=${aros_target_arch} - aros_target_suffix=${aros_target_suffix} - aros_kernel_ld=${aros_kernel_ld} - - - - aros_host_exe_suffix=${aros_host_exe_suffix} - aros_tools_dir=${aros_tools_dir} - aros_target_cpu=${aros_target_cpu} - aros_target_arch=${aros_target_arch} - aros_target_suffix=${aros_target_suffix} - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "${aros_geninc_dir}/host-conf.h") CONFIG_HEADERS="$CONFIG_HEADERS ${aros_geninc_dir}/host-conf.h:config/host-conf.h.in" ;; - "genmf-executable-support") CONFIG_COMMANDS="$CONFIG_COMMANDS genmf-executable-support" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "config/make.cfg") CONFIG_FILES="$CONFIG_FILES config/make.cfg" ;; - "${aros_inc_dir}/config.h") CONFIG_FILES="$CONFIG_FILES ${aros_inc_dir}/config.h:config/config.h.in" ;; - "${aros_geninc_dir}/config.h") CONFIG_FILES="$CONFIG_FILES ${aros_geninc_dir}/config.h:config/config.h.in" ;; - "${aros_hostcfg_dir}/host.cfg") CONFIG_FILES="$CONFIG_FILES ${aros_hostcfg_dir}/host.cfg:config/host.cfg.in" ;; - "${aros_targetcfg_dir}/target.cfg") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/target.cfg:config/target.cfg.in" ;; - "${aros_targetcfg_dir}/build.cfg") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/build.cfg:config/build.cfg.in" ;; - "mmake.config") CONFIG_FILES="$CONFIG_FILES mmake.config" ;; - "compiler/include/geninc.cfg") CONFIG_FILES="$CONFIG_FILES compiler/include/geninc.cfg:compiler/include/geninc.cfg.in" ;; - "${aros_targetcfg_dir}/make.defaults") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/make.defaults:config/make.defaults.in" ;; - "${aros_tools_dir}/genmf.py") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/genmf.py:tools/genmf/genmf.py" ;; - "${AROS_CROSSTOOLSDIR}/${aros_target_cpu}-aros-uname") CONFIG_FILES="$CONFIG_FILES ${AROS_CROSSTOOLSDIR}/${aros_target_cpu}-aros-uname:scripts/uname.in" ;; - "tools/collect-aros/env.h") CONFIG_FILES="$CONFIG_FILES tools/collect-aros/env.h" ;; - "binutils-support") CONFIG_COMMANDS="$CONFIG_COMMANDS binutils-support" ;; - "${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${aros_ld}") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${aros_ld}:scripts/aros-ld.in" ;; - "elf-compiler-support") CONFIG_COMMANDS="$CONFIG_COMMANDS elf-compiler-support" ;; - "${aros_targetcfg_dir}/elf-specs") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/elf-specs:${elf_specs_in}" ;; - "${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-elf-gcc") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-elf-gcc:scripts/elf-gcc.in" ;; - "host-compiler-wrapper-support") CONFIG_COMMANDS="$CONFIG_COMMANDS host-compiler-wrapper-support" ;; - "${aros_targetcfg_dir}/specs") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/specs:config/specs.in" ;; - "${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cpp_preprocessor}") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cpp_preprocessor}:scripts/aros-${toolchain_cpp_preprocessor}.in" ;; - "${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_c_compiler}") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_c_compiler}:scripts/aros-${toolchain_c_compiler}.in" ;; - "${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cxx_compiler}") CONFIG_FILES="$CONFIG_FILES ${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros-${toolchain_cxx_compiler}:scripts/aros-${toolchain_cxx_compiler}.in" ;; - "${aros_gendir}/arch/all-android/bootstrap/app/default.properties") CONFIG_FILES="$CONFIG_FILES ${aros_gendir}/arch/all-android/bootstrap/app/default.properties:arch/all-android/bootstrap/app/default.properties.in" ;; - "${aros_targetcfg_dir}/conf.cmake") CONFIG_FILES="$CONFIG_FILES ${aros_targetcfg_dir}/conf.cmake:config/conf.cmake.in" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files - test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers - test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -printf "%s\n" "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`printf "%s\n" "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -printf "%s\n" X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - printf "%s\n" "/* $configure_input */" >&1 \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - printf "%s\n" "/* $configure_input */" >&1 \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi - ;; - - :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -printf "%s\n" "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "genmf-executable-support":C) - chmod a+x ${AROS_CROSSTOOLSDIR}/${aros_target_cpu}-aros-uname - chmod a+x ${aros_tools_dir}/genmf.py - ;; - "binutils-support":C) - prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix} - mkdir -p $prefix - prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros - - chmod a+x ${prefix2}-ld - - ln -sf $orig_target_as$aros_host_exe_suffix ${prefix2}-as$aros_host_exe_suffix - ln -sf $orig_target_nm$aros_host_exe_suffix ${prefix2}-nm$aros_host_exe_suffix - ln -sf $orig_target_ar$aros_host_exe_suffix ${prefix2}-ar$aros_host_exe_suffix - ln -sf $orig_target_ranlib$aros_host_exe_suffix ${prefix2}-ranlib$aros_host_exe_suffix - ln -sf $orig_target_objcopy$aros_host_exe_suffix ${prefix2}-objcopy$aros_host_exe_suffix - ln -sf $orig_target_objdump$aros_host_exe_suffix ${prefix2}-objdump$aros_host_exe_suffix - ln -sf $orig_target_strip$aros_host_exe_suffix ${prefix2}-strip$aros_host_exe_suffix - ;; - "elf-compiler-support":C) - prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix} - mkdir -p $prefix - prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-elf - - chmod a+x ${prefix2}-gcc - - ln -sf $aros_kernel_ld$aros_host_exe_suffix ${prefix2}-ld$aros_host_exe_suffix - ;; - "host-compiler-wrapper-support":C) - prefix=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix} - mkdir -p $prefix - prefix2=${PWD}/${aros_tools_dir}/${aros_target_cpu}-${aros_target_arch}${aros_target_suffix}-aros - - chmod a+x ${prefix2}-${toolchain_c_compiler} ${prefix2}-${toolchain_cxx_compiler} ${prefix2}-${toolchain_cpp_preprocessor} - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - - -#XXX compatability... -aros_shared_ar="$aros_shared_ld $aros_shared_ldflags -o" - -if test -n "$aros_shared_cflags" ; then - echo "SHARED_CFLAGS := $aros_shared_cflags" >> ${aros_hostcfg_dir}/host.cfg - echo "SHARED_AR := $aros_shared_ar" >> ${aros_hostcfg_dir}/host.cfg -fi - - diff --git a/developer/debug/test/crt/posixc/posix.1 b/developer/debug/test/crt/posixc/posix.1 deleted file mode 160000 index 73b51d4880c..00000000000 --- a/developer/debug/test/crt/posixc/posix.1 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 73b51d4880ce16d9ff643672fc53cadebf3f899a diff --git a/developer/debug/test/crt/posixc/posix.1/Makefile b/developer/debug/test/crt/posixc/posix.1/Makefile new file mode 100644 index 00000000000..7e673be0b72 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/Makefile @@ -0,0 +1,7 @@ +CFLAGS=-Wall -Wextra -O0 -g + +all: scanf-examples getline-examples \ + fmemopen-example \ + regex-examples \ + printf-examples + diff --git a/developer/debug/test/crt/posixc/posix.1/README.md b/developer/debug/test/crt/posixc/posix.1/README.md new file mode 100644 index 00000000000..954a476abf0 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/README.md @@ -0,0 +1,5 @@ +POSIX.1 C Standand Library Examples +=================================== + +All code licensed under 3-clause BSD. +Copyright (C) 2015 Assaf Gordon (assafgordon@gmail.com) diff --git a/developer/debug/test/crt/posixc/posix.1/fmemopen-example.c b/developer/debug/test/crt/posixc/posix.1/fmemopen-example.c new file mode 100644 index 00000000000..665795be790 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/fmemopen-example.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include + +const char* data="\ +[instaweb]\n\ +local = true\n\ +httpd = lighttpd\n\ +port = 5151\n\ +modulepath = /usr/lib/apache2/modules"; + +void fmemopen_test() +{ + size_t count=0; + ssize_t len; + char *line=NULL; + size_t linecap=0; + + FILE *fp = fmemopen((void*)data,strlen(data),"r"); + if (fp==NULL) + err(1,"fmemopen failed"); + + while ((len = getline(&line, &linecap, fp)) > 0) { + if (line[len-1]=='\n') { + line[len-1]=0; + --len; + } + ++count; + + printf("line %zu: %s\n", count, line); + } + if (ferror(fp)) + err(1,"memfile read error"); + + if (fclose(fp)!=0) + err(1,"fclose"); + + free(line); +} + + +int main() +{ + fmemopen_test(); + return 0; +} diff --git a/developer/debug/test/crt/posixc/posix.1/getline-examples.c b/developer/debug/test/crt/posixc/posix.1/getline-examples.c new file mode 100644 index 00000000000..48f1ef63e54 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/getline-examples.c @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include + +void readfile() +{ + char *line = NULL; + size_t linecap = 0; + ssize_t len; + + int count=0; + size_t maxlen=0; + + const char* filename="/etc/passwd"; + + FILE *fp = fopen(filename,"r"); + if (fp==NULL) + err(1,"fopen(%s) failed",filename); + + // 'len' is the number of characters in the returned line, + // including delimiter (if present), but NOT including NULL. + // The 'while' condition guarentees len>0, thus [len-1] is always valid. + while ((len = getline(&line, &linecap, fp)) > 0) { + if (line[len-1]=='\n') { + line[len-1]=0; + --len; + } + if ((size_t)len>maxlen) + maxlen = len; + + ++count; + } + if (ferror(fp)) + err(1,"read error on '%s'", filename); + + if (fclose(fp)!=0) + err(1,"fclose(%s) failed",filename); + + free(line); + + printf("%d lines in %s, longest line had %zu characters\n", + count,filename,maxlen); +} + + +int main() +{ + readfile(); + return 0; +} diff --git a/developer/debug/test/crt/posixc/posix.1/printf-examples.c b/developer/debug/test/crt/posixc/posix.1/printf-examples.c new file mode 100644 index 00000000000..f6ea009b191 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/printf-examples.c @@ -0,0 +1,32 @@ +#include +#include +#include + +//Prints only up to the first 5 characters of a string +void printf_substring() +{ + const char *data = "hello-world"; + printf("First 5 characters = '%.5s'\n", data); + + + //If the string is shorter than 5 characters, + //it must be NUL terminated. + const char *data2= "foo"; + printf("First 5 characters = '%.5s'\n", data2); +} + +void printf_varlen_substr() +{ + const char *data = "hello-world"; + + //variable length + int len=6; + printf("First %d characters = '%.*s'\n", len, len, data); +} + +int main() +{ + printf_substring(); + printf_varlen_substr(); + return 0; +} diff --git a/developer/debug/test/crt/posixc/posix.1/regex-examples.c b/developer/debug/test/crt/posixc/posix.1/regex-examples.c new file mode 100644 index 00000000000..6c4797b5cca --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/regex-examples.c @@ -0,0 +1,77 @@ +#include +#include +#include +#include +#include + +void regerror_test1() +{ + char errbuf[512]; + regex_t re; + + // This regex is invalid, regcomp should fail. + int i = regcomp(&re, "hello([0-9*world", REG_EXTENDED); + assert (i != 0); + // Get the failure error message + regerror(i,&re,errbuf,sizeof(errbuf)); + printf("(expected) regcomp error string: %s\n", errbuf); +} + +//Simple match/no-match usage +void regex_match_test1() +{ + regex_t re; + + int i = regcomp(&re, "hello([0-9]*)world", REG_EXTENDED|REG_NOSUB); + assert(i==0); + + i = regexec(&re, "hello42world",0,NULL,0); + assert(i == 0); + + i = regexec(&re, "helloworld",0,NULL,0); + assert(i == 0); + + i = regexec(&re, "hello4-2world",0,NULL,0); + assert(i == REG_NOMATCH); + + regfree(&re); +} + +void regex_match_test2() +{ + regex_t re; + regmatch_t matches[10]; + + int i = regcomp(&re, "hello([0-9]*)world", REG_EXTENDED); + assert(i==0); + + const char *data = "hello42world"; + i = regexec(&re, data, + sizeof(matches)/sizeof(matches[0]), + (regmatch_t*)&matches,0); + assert(i == 0); + + // First element [0] is always the entire match + assert(matches[0].rm_so==0); + assert(matches[0].rm_eo==12); + + // Second element [1] is the first matched group (should match the '42') + assert(matches[1].rm_so==5); + assert(matches[1].rm_eo==7); + + // Extract it + char *val = strndup(data+matches[1].rm_so, + matches[1].rm_eo - matches[1].rm_so); + assert ( strcmp(val, "42")==0); + free(val); + + regfree(&re); +} + +int main() +{ + regerror_test1(); + regex_match_test1(); + regex_match_test2(); + return 0; +} diff --git a/developer/debug/test/crt/posixc/posix.1/scanf-examples.c b/developer/debug/test/crt/posixc/posix.1/scanf-examples.c new file mode 100644 index 00000000000..5e1c72c2ef5 --- /dev/null +++ b/developer/debug/test/crt/posixc/posix.1/scanf-examples.c @@ -0,0 +1,144 @@ +#include +#include +#include +#include + +// scanf with skipped parsed items +// ('assignment suppressing') +void skip_vars() +{ + int num=0; + + // Skip 1 string and 1 float, and parse an int + int i = sscanf("abcdefg 1.4 42", + "%*s %*f %d", + &num); + assert(i == 1); + assert(num == 42); +} + +// scanf with maximum (fixed) length strings +void fixed_len() +{ + char data[11]; + char rest[1024]; + + memset (data, 1, sizeof(data)); + memset (rest, 1, sizeof(rest)); + + /* length (%10s) does NOT include the NULL - the buffer size is 11 bytes. + If length is same as buffer size - buffer-overflow might happen. */ + int i = sscanf ("abcdefghijklmnopqrstuvwxyz 45", + "%10s %s", + (char*)&data, (char*)&rest); + assert(i==2); + assert(data[0] == 'a'); + assert(data[9] == 'j'); // 10 characters were read + assert(data[10]== 0 ); //sscanf should add a NUL + assert(rest[0] == 'k'); //scanning continues at the stopped position + + /* If the buffer is too small, the pasrsing of the next param (%d) + will continue from the stopped position (character 'k') and will fail. + In the example below, only one parameter will be parsed successfully (i==1). */ + int num=0; + i = sscanf("abcdefghijklmnopqrstuvwxyz 45", + "%10s %d", + (char*)&data, &num); + assert(i==1); //not 2 - the second parameter failed to parse + assert(num==0); // it wasn't parsed, and the value wasn't changed. +} + +//scanf will allocate the string (%ms) +void alloc_string() +{ + char *data=NULL; + int num=0; + + int i = sscanf("hello-world-long-string 42", + "%ms %d", &data, &num); + assert(i == 2); + assert(num == 42); + assert(data != NULL); + assert(data[0] == 'h'); + assert(strlen(data) == 23); + free(data); +} + +//scanf with positional variables: +// %3$9s => third scanf parameter is the pointer a string. +// store upto 9 characters in a 'char*' +// %1$d => first scanf parameter is the pointer to a int. +// %2$c => second scanf parameter is the pointer to a char. +void pos_var() +{ + int num; + char c; + char data[10]; + memset(data,1,sizeof(data)); + + int i = sscanf("hello 42 f", + "%3$9s %1$d %2$c", + &num, &c, (char*)&data); + + assert(i == 3); + assert(num == 42); + assert(c == 'f'); + assert(data[0] == 'h'); + assert(data[4] == 'o'); + assert(data[5] == 0); +} + +void match_chatset() +{ + int num=0; + char data[10]; + memset(data,1,sizeof(data)); + + //accept only lower-case letters + int i = sscanf("helloWorld", + "%9[a-z]", + (char*)&data); + + assert(i == 1); + assert(data[0] == 'h'); + assert(data[4] == 'o'); + assert(data[5] == 0); + + //Unlike other formats (e.g. %s), the match syntax + //can be used to match whitespace + i = sscanf("foo bar 43", + "%9[a-z ] %d", + (char*)&data, &num); + + assert(i == 2); + assert(num == 43); + assert(strcmp(data,"foo bar ")==0); +} + +void scan_char() +{ + unsigned char c = 0 ; + + int i = sscanf("42", "%hhd", &c); + assert(i==1); + assert(c==42); + + //Internally scanf uses native int size (able to store '1000'), + //when converting to char, value will reduced to 8-bits + c = 0 ; + i = sscanf("1000", "%hhd", &c); + assert(i == 1); + assert(c == (1000%256) ); +} + + +int main() +{ + skip_vars(); + fixed_len(); + alloc_string(); + pos_var(); + match_chatset(); + scan_char(); + return 0; +} diff --git a/developer/debug/test/datatypes b/developer/debug/test/datatypes deleted file mode 160000 index 729f231692c..00000000000 --- a/developer/debug/test/datatypes +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 729f231692c4b7d0b835571bb5174f8b2cd902e9 diff --git a/developer/debug/test/datatypes/bmp/15.bmp b/developer/debug/test/datatypes/bmp/15.bmp new file mode 100755 index 00000000000..0f4063e18c6 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/15.bmp differ diff --git a/developer/debug/test/datatypes/bmp/15b.bmp b/developer/debug/test/datatypes/bmp/15b.bmp new file mode 100644 index 00000000000..0d5bf888922 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/15b.bmp differ diff --git a/developer/debug/test/datatypes/bmp/Arcania.Bmp b/developer/debug/test/datatypes/bmp/Arcania.Bmp new file mode 100644 index 00000000000..7e13803f10d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/Arcania.Bmp differ diff --git a/developer/debug/test/datatypes/bmp/Clouds.bmp b/developer/debug/test/datatypes/bmp/Clouds.bmp new file mode 100644 index 00000000000..43c5a37cd5d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/Clouds.bmp differ diff --git a/developer/debug/test/datatypes/bmp/Desert24b.bmp b/developer/debug/test/datatypes/bmp/Desert24b.bmp new file mode 100644 index 00000000000..25b5903e12b Binary files /dev/null and b/developer/debug/test/datatypes/bmp/Desert24b.bmp differ diff --git a/developer/debug/test/datatypes/bmp/Kitty Mascot.bmp b/developer/debug/test/datatypes/bmp/Kitty Mascot.bmp new file mode 100644 index 00000000000..ccef4e39cd4 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/Kitty Mascot.bmp differ diff --git a/developer/debug/test/datatypes/bmp/LEGAL b/developer/debug/test/datatypes/bmp/LEGAL new file mode 100644 index 00000000000..546affd1965 --- /dev/null +++ b/developer/debug/test/datatypes/bmp/LEGAL @@ -0,0 +1,36 @@ ++ neural.bmp ++ neural2.bmp (modified from neural.bmp) +BSD License (2-clause) +Copyright (C) 2008-2010 Franck Charlet +Origin: http://code.google.com/p/protrekkr/ + ++ back4.bmp +GNU Public License, Version 2 +Origin: http://lgames.sf.net/ + ++ 15.bmp ++ 15b.bmp (modified from 15.bmp) ++ back.bmp +Creative Commons Attribution-Share Alike Licence +Creators: Tango Desktop Project and Kenneth Granerud +Origin: http://lgames.sf.net/ + ++ pal1bg.bmp ++ rgb16.bmp +Public Domain +Origin: http://entropymine.com/jason/bmpsuite/ + ++ Arcania.bmp ++ Clouds.bmp ++ SachsCastle.iff ++ SachsCastle.png (modified from SachsCastle.iff) ++ gigi_fashion.bmp +Public Domain +Unknown Origin + + ++ marble.bmp ++ vinyl.bmp ++ Kitty Mascot.bmp ++ Desert24b.bmp (modified from Desert Kitty.bmp) +AROS Archives diff --git a/developer/debug/test/datatypes/bmp/back.bmp b/developer/debug/test/datatypes/bmp/back.bmp new file mode 100755 index 00000000000..acba0024a0d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/back.bmp differ diff --git a/developer/debug/test/datatypes/bmp/back4.bmp b/developer/debug/test/datatypes/bmp/back4.bmp new file mode 100755 index 00000000000..85bad74537f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/back4.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitcount.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitcount.bmp new file mode 100644 index 00000000000..d4fa4e8b88c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitcount.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitssize.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitssize.bmp new file mode 100644 index 00000000000..0a99a605afc Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badbitssize.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens1.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens1.bmp new file mode 100644 index 00000000000..a6150a6fe74 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens1.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens2.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens2.bmp new file mode 100644 index 00000000000..f2c1dfb6652 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/baddens2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badfilesize.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badfilesize.bmp new file mode 100644 index 00000000000..da52cb51d7b Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badfilesize.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badheadersize.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badheadersize.bmp new file mode 100644 index 00000000000..2a4083a6f92 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badheadersize.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badpalettesize.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badpalettesize.bmp new file mode 100644 index 00000000000..7d9d1b745dc Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badpalettesize.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badplanes.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badplanes.bmp new file mode 100644 index 00000000000..92d2855b62f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badplanes.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle.bmp new file mode 100644 index 00000000000..cbf8fdc2e1e Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4.bmp new file mode 100644 index 00000000000..632787a730f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4bis.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4bis.bmp new file mode 100644 index 00000000000..130b7e659cf Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4bis.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4ter.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4ter.bmp new file mode 100644 index 00000000000..8107a335fcf Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrle4ter.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrlebis.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrlebis.bmp new file mode 100644 index 00000000000..893eb11ab78 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrlebis.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrleter.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrleter.bmp new file mode 100644 index 00000000000..04d5874e678 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badrleter.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/badwidth.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badwidth.bmp new file mode 100644 index 00000000000..9fca005dc32 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/badwidth.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/pal8badindex.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/pal8badindex.bmp new file mode 100644 index 00000000000..efe16c05c15 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/pal8badindex.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/reallybig.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/reallybig.bmp new file mode 100644 index 00000000000..101e0b49437 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/reallybig.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/rgb16-880.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/rgb16-880.bmp new file mode 100644 index 00000000000..72e7ce0eafa Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/rgb16-880.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/rletopdown.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/rletopdown.bmp new file mode 100644 index 00000000000..21a909fda9e Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/rletopdown.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/bad/shortfile.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/bad/shortfile.bmp new file mode 100644 index 00000000000..73960797b92 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/bad/shortfile.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1.bmp new file mode 100644 index 00000000000..4776f827786 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1bg.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1bg.bmp new file mode 100644 index 00000000000..466d0ba727c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1bg.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1wb.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1wb.bmp new file mode 100644 index 00000000000..56cb93203ec Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal1wb.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4.bmp new file mode 100644 index 00000000000..7fd36303cae Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4gs.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4gs.bmp new file mode 100644 index 00000000000..813268ca77f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4gs.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4rle.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4rle.bmp new file mode 100644 index 00000000000..a5672aebd62 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal4rle.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8-0.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8-0.bmp new file mode 100644 index 00000000000..ab8815a360d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8-0.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8.bmp new file mode 100644 index 00000000000..96b2f86680b Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8gs.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8gs.bmp new file mode 100644 index 00000000000..66a0d70dc34 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8gs.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8nonsquare.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8nonsquare.bmp new file mode 100644 index 00000000000..0aa8de04cb4 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8nonsquare.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8os2.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8os2.bmp new file mode 100644 index 00000000000..14901b3882c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8os2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8rle.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8rle.bmp new file mode 100644 index 00000000000..d43101490f2 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8rle.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8topdown.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8topdown.bmp new file mode 100644 index 00000000000..4b2f8e019fe Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8topdown.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v4.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v4.bmp new file mode 100644 index 00000000000..34ebb8030c5 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v4.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v5.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v5.bmp new file mode 100644 index 00000000000..c54647a31a7 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8v5.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w124.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w124.bmp new file mode 100644 index 00000000000..b7cc2d8bf74 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w124.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w125.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w125.bmp new file mode 100644 index 00000000000..06efed7443f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w125.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w126.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w126.bmp new file mode 100644 index 00000000000..112aa9fe67f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/pal8w126.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565.bmp new file mode 100644 index 00000000000..c03a27975af Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565pal.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565pal.bmp new file mode 100644 index 00000000000..e7632e344b2 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16-565pal.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16.bmp new file mode 100644 index 00000000000..6bfe47af4f7 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16bfdef.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16bfdef.bmp new file mode 100644 index 00000000000..30fe8bb8d6c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb16bfdef.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24.bmp new file mode 100644 index 00000000000..40f8bb094b5 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24pal.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24pal.bmp new file mode 100644 index 00000000000..102e971dd32 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb24pal.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32.bmp new file mode 100644 index 00000000000..5d57eaaea8a Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bf.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bf.bmp new file mode 100644 index 00000000000..20fa9a1326b Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bf.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bfdef.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bfdef.bmp new file mode 100644 index 00000000000..d7e64e5a413 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/good/rgb32bfdef.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1huff.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1huff.bmp new file mode 100644 index 00000000000..790a4836978 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1huff.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1p1.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1p1.bmp new file mode 100644 index 00000000000..b68321c4c1e Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal1p1.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2.bmp new file mode 100644 index 00000000000..983e9fa92d5 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2color.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2color.bmp new file mode 100644 index 00000000000..27fe7276bc7 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal2color.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rlecut.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rlecut.bmp new file mode 100644 index 00000000000..2f32d1d7add Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rlecut.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rletrns.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rletrns.bmp new file mode 100644 index 00000000000..58994e92baf Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal4rletrns.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8offs.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8offs.bmp new file mode 100644 index 00000000000..8673e9740be Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8offs.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-hs.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-hs.bmp new file mode 100644 index 00000000000..018a3c4b16f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-hs.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-sz.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-sz.bmp new file mode 100644 index 00000000000..7f1455d5ef1 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2-sz.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2sp.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2sp.bmp new file mode 100644 index 00000000000..e532c89863c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2sp.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-16.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-16.bmp new file mode 100644 index 00000000000..95a1d2345aa Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-16.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-40sz.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-40sz.bmp new file mode 100644 index 00000000000..d1e66b615c9 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-40sz.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-sz.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-sz.bmp new file mode 100644 index 00000000000..6fe566e3fd9 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2-sz.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2.bmp new file mode 100644 index 00000000000..1324a40d00a Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8os2v2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8oversizepal.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8oversizepal.bmp new file mode 100644 index 00000000000..93b8187ca13 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8oversizepal.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rlecut.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rlecut.bmp new file mode 100644 index 00000000000..840d31cce63 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rlecut.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rletrns.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rletrns.bmp new file mode 100644 index 00000000000..a2af88d87cb Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/pal8rletrns.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-231.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-231.bmp new file mode 100644 index 00000000000..6300f69f0c8 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-231.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-3103.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-3103.bmp new file mode 100644 index 00000000000..6e012260292 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16-3103.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16faketrns.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16faketrns.bmp new file mode 100644 index 00000000000..62fb393bb9a Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb16faketrns.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24jpeg.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24jpeg.bmp new file mode 100644 index 00000000000..87d73d75b84 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24jpeg.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24largepal.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24largepal.bmp new file mode 100644 index 00000000000..d5e418c2d41 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24largepal.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24lprof.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24lprof.bmp new file mode 100644 index 00000000000..b868b88f20c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24lprof.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24png.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24png.bmp new file mode 100644 index 00000000000..e87ec7addaf Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24png.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof.bmp new file mode 100644 index 00000000000..627e676eaee Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof2.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof2.bmp new file mode 100644 index 00000000000..f9f61b8ee31 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb24prof2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-111110.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-111110.bmp new file mode 100644 index 00000000000..ec07d89b5b7 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-111110.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-7187.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-7187.bmp new file mode 100644 index 00000000000..887ba52c917 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-7187.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-xbgr.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-xbgr.bmp new file mode 100644 index 00000000000..c6c05e1480c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32-xbgr.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32fakealpha.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32fakealpha.bmp new file mode 100644 index 00000000000..cb544da5b6d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32fakealpha.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32h52.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32h52.bmp new file mode 100644 index 00000000000..db6e4538ef8 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgb32h52.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-1924.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-1924.bmp new file mode 100644 index 00000000000..6564098a4de Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-1924.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-4444.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-4444.bmp new file mode 100644 index 00000000000..051ff23589d Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-4444.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-5551.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-5551.bmp new file mode 100644 index 00000000000..73e2cd533f1 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba16-5551.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-1010102.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-1010102.bmp new file mode 100644 index 00000000000..1a918cebf5c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-1010102.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-61754.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-61754.bmp new file mode 100644 index 00000000000..d5936fd20ba Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-61754.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-81284.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-81284.bmp new file mode 100644 index 00000000000..1f9fc29d6bd Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32-81284.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32.bmp new file mode 100644 index 00000000000..829c7c7e345 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32abf.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32abf.bmp new file mode 100644 index 00000000000..d9bb0189c47 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32abf.bmp differ diff --git a/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32h56.bmp b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32h56.bmp new file mode 100644 index 00000000000..343baa3300f Binary files /dev/null and b/developer/debug/test/datatypes/bmp/bmpsuite/questionable/rgba32h56.bmp differ diff --git a/developer/debug/test/datatypes/bmp/gigi_fashion.bmp b/developer/debug/test/datatypes/bmp/gigi_fashion.bmp new file mode 100644 index 00000000000..deb0f8b0de9 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/gigi_fashion.bmp differ diff --git a/developer/debug/test/datatypes/bmp/marble.bmp b/developer/debug/test/datatypes/bmp/marble.bmp new file mode 100644 index 00000000000..a4507ab5210 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/marble.bmp differ diff --git a/developer/debug/test/datatypes/bmp/neural.bmp b/developer/debug/test/datatypes/bmp/neural.bmp new file mode 100755 index 00000000000..6f5687740f0 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/neural.bmp differ diff --git a/developer/debug/test/datatypes/bmp/neural2.bmp b/developer/debug/test/datatypes/bmp/neural2.bmp new file mode 100644 index 00000000000..8e78e7bff1c Binary files /dev/null and b/developer/debug/test/datatypes/bmp/neural2.bmp differ diff --git a/developer/debug/test/datatypes/bmp/vinyl.bmp b/developer/debug/test/datatypes/bmp/vinyl.bmp new file mode 100644 index 00000000000..824f6159320 Binary files /dev/null and b/developer/debug/test/datatypes/bmp/vinyl.bmp differ diff --git a/developer/debug/test/datatypes/gif-anim/DancingPeaks.gif b/developer/debug/test/datatypes/gif-anim/DancingPeaks.gif new file mode 100644 index 00000000000..71dfb6517ec Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/DancingPeaks.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/beach.gif b/developer/debug/test/datatypes/gif-anim/beach.gif new file mode 100644 index 00000000000..e94b35bcfa3 Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/beach.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/fish.gif b/developer/debug/test/datatypes/gif-anim/fish.gif new file mode 100644 index 00000000000..b9d13c913db Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/fish.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/girls-hula14.gif b/developer/debug/test/datatypes/gif-anim/girls-hula14.gif new file mode 100644 index 00000000000..aacb22aea4a Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/girls-hula14.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/girls-hula5.gif b/developer/debug/test/datatypes/gif-anim/girls-hula5.gif new file mode 100644 index 00000000000..cb3a65ade5a Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/girls-hula5.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/meme.gif b/developer/debug/test/datatypes/gif-anim/meme.gif new file mode 100644 index 00000000000..19114623982 Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/meme.gif differ diff --git a/developer/debug/test/datatypes/gif-anim/teapot-anim.gif b/developer/debug/test/datatypes/gif-anim/teapot-anim.gif new file mode 100644 index 00000000000..27bcb85f055 Binary files /dev/null and b/developer/debug/test/datatypes/gif-anim/teapot-anim.gif differ diff --git a/developer/debug/test/datatypes/heic/example.heic b/developer/debug/test/datatypes/heic/example.heic new file mode 100644 index 00000000000..91d5dc14972 Binary files /dev/null and b/developer/debug/test/datatypes/heic/example.heic differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-3/Boing3D.anim b/developer/debug/test/datatypes/iff-anim/ANIM-3/Boing3D.anim new file mode 100644 index 00000000000..278fadb0fc8 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-3/Boing3D.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-3/Triplanes.anim b/developer/debug/test/datatypes/iff-anim/ANIM-3/Triplanes.anim new file mode 100644 index 00000000000..2e3dd32fad2 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-3/Triplanes.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/3Globes.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/3Globes.anim new file mode 100644 index 00000000000..d585efdb377 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/3Globes.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/AmyPencil.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/AmyPencil.anim new file mode 100644 index 00000000000..79b87f435c1 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/AmyPencil.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/Anti-CBS.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/Anti-CBS.anim new file mode 100644 index 00000000000..0799f47661d Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/Anti-CBS.anim differ diff --git "a/developer/debug/test/datatypes/iff-anim/ANIM-5/Ara\302\261a.anim" "b/developer/debug/test/datatypes/iff-anim/ANIM-5/Ara\302\261a.anim" new file mode 100644 index 00000000000..64fe4dc5e8d Binary files /dev/null and "b/developer/debug/test/datatypes/iff-anim/ANIM-5/Ara\302\261a.anim" differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/At_the_Movies.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/At_the_Movies.anim new file mode 100644 index 00000000000..401426a180a Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/At_the_Movies.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/BRUSHTAC.ANI b/developer/debug/test/datatypes/iff-anim/ANIM-5/BRUSHTAC.ANI new file mode 100644 index 00000000000..37443d13d8c Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/BRUSHTAC.ANI differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/BoingTrek.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/BoingTrek.anim new file mode 100644 index 00000000000..cabf57ed4e6 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/BoingTrek.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/ElGato.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/ElGato.anim new file mode 100644 index 00000000000..ab466259c82 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/ElGato.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/Esprita b/developer/debug/test/datatypes/iff-anim/ANIM-5/Esprita new file mode 100644 index 00000000000..b79a545d359 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/Esprita differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/F-15.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/F-15.anim new file mode 100644 index 00000000000..647d6836d06 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/F-15.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/HBriteHill b/developer/debug/test/datatypes/iff-anim/ANIM-5/HBriteHill new file mode 100644 index 00000000000..de56d9ac350 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/HBriteHill differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/JUMPGATE.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/JUMPGATE.anim new file mode 100644 index 00000000000..f321ff3c72d Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/JUMPGATE.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/Machine.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/Machine.anim new file mode 100644 index 00000000000..300c8ac9ffe Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/Machine.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/NautilusIter.anim b/developer/debug/test/datatypes/iff-anim/ANIM-5/NautilusIter.anim new file mode 100644 index 00000000000..5675892c100 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/NautilusIter.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-5/lensflare b/developer/debug/test/datatypes/iff-anim/ANIM-5/lensflare new file mode 100644 index 00000000000..9c69aba182d Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-5/lensflare differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-7/Mountain.anim b/developer/debug/test/datatypes/iff-anim/ANIM-7/Mountain.anim new file mode 100644 index 00000000000..fc0fe49d66f Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-7/Mountain.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-7/chunli.anim b/developer/debug/test/datatypes/iff-anim/ANIM-7/chunli.anim new file mode 100644 index 00000000000..613b6f1eaaf Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-7/chunli.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-7/uj.anim b/developer/debug/test/datatypes/iff-anim/ANIM-7/uj.anim new file mode 100644 index 00000000000..13e41b1bd52 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-7/uj.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-8/bla7.anim b/developer/debug/test/datatypes/iff-anim/ANIM-8/bla7.anim new file mode 100644 index 00000000000..d8a9da09705 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-8/bla7.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-J/Kahnankas.anim b/developer/debug/test/datatypes/iff-anim/ANIM-J/Kahnankas.anim new file mode 100644 index 00000000000..c73fbaa60de Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-J/Kahnankas.anim differ diff --git a/developer/debug/test/datatypes/iff-anim/ANIM-J/Rocker.anim b/developer/debug/test/datatypes/iff-anim/ANIM-J/Rocker.anim new file mode 100644 index 00000000000..7bfd72cb648 Binary files /dev/null and b/developer/debug/test/datatypes/iff-anim/ANIM-J/Rocker.anim differ diff --git a/developer/debug/test/datatypes/iff-ilbm/SachsCastle.iff b/developer/debug/test/datatypes/iff-ilbm/SachsCastle.iff new file mode 100644 index 00000000000..8c3ad43a3a0 Binary files /dev/null and b/developer/debug/test/datatypes/iff-ilbm/SachsCastle.iff differ diff --git a/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham6.iff b/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham6.iff new file mode 100644 index 00000000000..4d86c0af794 Binary files /dev/null and b/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham6.iff differ diff --git a/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham8.iff b/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham8.iff new file mode 100644 index 00000000000..421088cd18c Binary files /dev/null and b/developer/debug/test/datatypes/iff-ilbm/apple-640x360-ham8.iff differ diff --git a/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham6.iff b/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham6.iff new file mode 100644 index 00000000000..b3fea1d18bc Binary files /dev/null and b/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham6.iff differ diff --git a/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham8.iff b/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham8.iff new file mode 100644 index 00000000000..c83cbfc11cc Binary files /dev/null and b/developer/debug/test/datatypes/iff-ilbm/butterfly-640x426-ham8.iff differ diff --git a/developer/debug/test/datatypes/jpeg/tulips-1280x749.jpg b/developer/debug/test/datatypes/jpeg/tulips-1280x749.jpg new file mode 100644 index 00000000000..510f80b83c0 Binary files /dev/null and b/developer/debug/test/datatypes/jpeg/tulips-1280x749.jpg differ diff --git a/developer/debug/test/datatypes/mmakefile.src b/developer/debug/test/datatypes/mmakefile.src new file mode 100644 index 00000000000..f6138ec7070 --- /dev/null +++ b/developer/debug/test/datatypes/mmakefile.src @@ -0,0 +1,7 @@ +# $Id: mmakefile.src 54326 2017-03-28 20:54:52Z NicJA $ + +include $(SRCDIR)/config/aros.cfg + +#MM- test : test-datatypes + +%copy_dir_recursive mmake=test-datatypes dst=$(AROS_TESTS)/Datatypes diff --git a/developer/debug/test/datatypes/png/SachsCastle.png b/developer/debug/test/datatypes/png/SachsCastle.png new file mode 100644 index 00000000000..1646e3b0e07 Binary files /dev/null and b/developer/debug/test/datatypes/png/SachsCastle.png differ diff --git a/developer/debug/test/datatypes/webp/arctic-fox-1920x1280.webp b/developer/debug/test/datatypes/webp/arctic-fox-1920x1280.webp new file mode 100644 index 00000000000..fa747c72a09 Binary files /dev/null and b/developer/debug/test/datatypes/webp/arctic-fox-1920x1280.webp differ diff --git a/rebuild_all.sh b/rebuild_all.sh index 7484c666828..b96233cbee8 100755 --- a/rebuild_all.sh +++ b/rebuild_all.sh @@ -8,12 +8,18 @@ THREADS=${CPU_COUNT} # THREADS=8 #fi +export DISTRONAME="$(cat distname)" +export DISTROVERSION="$(cat version)" +export DISTRODATE="$(date +%Y-%m-%d)" +export AMIGADATE="$(date +"%-d.%-m.%Y")" + args=("$@") if [ "${args[ 0 ]}" == "-h" ] then echo "Options are:" echo "-h prints this help text" echo "--with-nonvampire-support building for non-vampire platforms" + echo "--with-serialdebug for enabling serial debug output" exit fi @@ -36,10 +42,12 @@ DISTOPTVER="--enable-dist-version=${DISTROVERSION}" ./configure "${DISTOPTNAME}" "${DISTOPTVER}" --target=amiga-m68k --with-optimization="-O2" --enable-ccache --with-aros-prefs=classic --with-resolution=640x256x4 --with-cpu=68040 --disable-mmu $@ - make -j${THREADS} make -j${THREADS} distfiles +echo "" +echo "### ApolloROM Info ###" + if [ "${args[ 0 ]}" == "--with-nonvampire-support" ] then cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.UAE @@ -47,4 +55,6 @@ then else cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.V4 ls -lah ApolloROM.V4 -fi \ No newline at end of file +fi + +more arch/m68k-amiga/boot/romlog.txt diff --git a/rebuild_all_quick.sh b/rebuild_all_quick.sh index f7727ea6950..a347caf174c 100755 --- a/rebuild_all_quick.sh +++ b/rebuild_all_quick.sh @@ -29,6 +29,9 @@ rm -rf config/features.status make -j${THREADS} distfiles +echo "" +echo "### ApolloROM Info ###" + if [ "${args[ 0 ]}" == "--with-nonvampire-support" ] then cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.UAE @@ -38,3 +41,5 @@ else ls -lah ApolloROM.V4 fi +more arch/m68k-amiga/boot/romlog.txt + diff --git a/rebuild_rom.sh b/rebuild_rom.sh index 3e972d14de4..60e09858b79 100755 --- a/rebuild_rom.sh +++ b/rebuild_rom.sh @@ -8,6 +8,11 @@ THREADS=${CPU_COUNT} # THREADS=8 #fi +export DISTRONAME="$(cat distname)" +export DISTROVERSION="$(cat version)" +export DISTRODATE="$(date +%Y-%m-%d)" +export AMIGADATE="$(date +"%-d.%-m.%Y")" + args=("$@") if [ "${args[ 0 ]}" == "-h" ] then @@ -40,6 +45,9 @@ DISTOPTVER="--enable-dist-version=${DISTROVERSION}" make -j${THREADS} make -j${THREADS} kernel-amiga-m68k +echo "" +echo "### ApolloROM Info ###" + if [ "${args[ 0 ]}" == "--with-nonvampire-support" ] then cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.UAE @@ -49,3 +57,5 @@ else ls -lah ApolloROM.V4 fi +more arch/m68k-amiga/boot/romlog.txt + diff --git a/rebuild_rom_quick.sh b/rebuild_rom_quick.sh index 7e6bd020507..89862e85fc9 100755 --- a/rebuild_rom_quick.sh +++ b/rebuild_rom_quick.sh @@ -27,6 +27,9 @@ rm -rf config/features.status make -j${THREADS} kernel-amiga-m68k +echo "" +echo "### ApolloROM Info ###" + if [ "${args[ 0 ]}" == "--with-nonvampire-support" ] then cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.UAE @@ -36,3 +39,4 @@ else ls -lah ApolloROM.V4 fi +more arch/m68k-amiga/boot/romlog.txt diff --git a/rebuild_rom_with_debug.sh b/rebuild_rom_with_debug.sh deleted file mode 100755 index 7db2a3a64ab..00000000000 --- a/rebuild_rom_with_debug.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -CPU_COUNT=$(grep processor /proc/cpuinfo | wc -l) -THREADS=${CPU_COUNT} - -#Some how, running more than 8 tasks doesn't succeed every time -#if [ ${THREADS} -gt 8 ] -#then -# THREADS=8 -#fi - -args=("$@") -if [ "${args[ 0 ]}" == "-h" ] -then - echo "Options are:" - echo "-h prints this help text" - echo "--with-nonvampire-support building for non-vampire platforms" - exit -fi - -echo "##############################################" -echo "# Rebuilding rom with debug" -echo "# CPU Count: ${CPU_COUNT}" -echo "# Rebuilding with ${THREADS} parallel tasks" -if [ $# -gt 0 ]; then echo "# Building with $@"; fi -echo "##############################################" -sleep 3 - - -make clean -git clean -df -rm -rf bin/amiga-m68k -rm -rf config/features.status - -DISTOPTNAME="--enable-dist-name=${DISTRONAME}" -DISTOPTVER="--enable-dist-version=${DISTROVERSION}" - -source ./make_dist_config.sh - -./configure "${DISTOPTNAME}" "${DISTOPTVER}" --target=amiga-m68k --with-optimization="-Os" --enable-ccache --with-aros-prefs=classic --with-resolution=640x256x4 --with-cpu=68040 --with-serial-debug --enable-debug=all $@ - -make -j${THREADS} -make -j${THREADS} kernel - -if [ "${args[ 0 ]}" == "--with-nonvampire-support" ] -then - cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.UAE - ls -lah ApolloROM.UAE -else - cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > ApolloROM.V4 - ls -lah ApolloROM.V4 -fi - diff --git a/rom/devs/ahci/ahci_busclass.c b/rom/devs/ahci/ahci_busclass.c index 4007b02324c..eefc26ea90c 100644 --- a/rom/devs/ahci/ahci_busclass.c +++ b/rom/devs/ahci/ahci_busclass.c @@ -1,5 +1,5 @@ /* - Copyright 2018, The AROS Development Team. All rights reserved. + Copyright � 2018, The AROS Development Team. All rights reserved. $Id$ */ @@ -244,25 +244,7 @@ AROS_UFH3(BOOL, Hidd_AHCIBus_Open, AROS_USERFUNC_INIT D(bug ("[AHCI:Bus] Hidd_AHCIBus_Open(%p)\n", obj);) -#if (0) - struct IORequest *req = h->h_Data; - struct AHCIBase *AHCIBase = (struct AHCIBase *)req->io_Device; - struct ahci_Bus *b = (struct ahci_Bus *)OOP_INST_DATA(AHCIBase->busClass, obj); - ULONG bus = reqUnit >> 1; - UBYTE dev = reqUnit & 1; - - D(bug("[ATA%02ld] Checking bus %u dev %u\n", reqUnit, bus, dev)); - - if ((b->ab_BusNum == bus) && b->ab_Units[dev]) - { - /* Got the unit */ - req->io_Unit = &b->ab_Units[dev]->au_Unit; - req->io_Error = 0; - b->ab_Units[dev]->au_Unit.unit_OpenCnt++; - return TRUE; - } -#endif return FALSE; AROS_USERFUNC_EXIT diff --git a/rom/devs/ata/ata.c b/rom/devs/ata/ata.c index 7df4f5718d5..70503c225c0 100755 --- a/rom/devs/ata/ata.c +++ b/rom/devs/ata/ata.c @@ -29,14 +29,14 @@ #include "ata.h" #include LC_LIBDEFS_FILE -#define DINIT(x) + //---------------------------IO Commands--------------------------------------- /* Invalid comand does nothing, complains only. */ static void cmd_Invalid(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { - D(bug("[ATA%02ld] %s(%d)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, io->io_Command)); + DERROR(bug("[ATA%02ld] %s(%d)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, io->io_Command)); io->io_Error = IOERR_NOCMD; } @@ -51,11 +51,17 @@ static void cmd_Read32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)IOStdReq(io)->io_Unit; + if (AF_Removable == (unit->au_Flags & (AF_Removable | AF_DiscPresent))) + { + DERROR(bug("[ATA%02ld] %s: USUALLY YOU'D WANT TO CHECK IF DISC IS PRESENT FIRST\n", unit->au_UnitNum, __func__)); + io->io_Error = TDERR_DiskChanged; + return; + } ULONG block = IOStdReq(io)->io_Offset; ULONG count = IOStdReq(io)->io_Length; - D(bug("[ATA%02ld] %s(%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count)); + DDD(bug("[ATA%02ld] %s(%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count)); ULONG mask = (1 << unit->au_SectorShift) - 1; @@ -65,7 +71,7 @@ static void cmd_Read32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) */ if ((block & mask) | (count & mask)) { - D(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DERROR(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); cmd_Invalid(io, LIBBASE); } else @@ -76,12 +82,12 @@ static void cmd_Read32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) if ((0 == (unit->au_XferModes & AF_XFER_PACKET)) && ((block + count) > unit->au_Capacity)) { - bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity); + DERROR(bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity)); io->io_Error = IOERR_BADADDRESS; return; } - if (unit->au_SectorShift == 9) /* use cache with 512 Byte sectors only */ + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) /* use cache with 512 Byte sectors only */ { struct ata_Bus *bus = unit->au_Bus; struct ataBase *base = bus->ab_Base; @@ -134,8 +140,7 @@ static void cmd_Read32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) else { /* Call the Unit's access funtion */ - io->io_Error = unit->au_Read32(unit, block, count, - IOStdReq(io)->io_Data, &cnt); + io->io_Error = unit->au_Read32(unit, block, count, IOStdReq(io)->io_Data, &cnt); } IOStdReq(io)->io_Actual = cnt; @@ -150,17 +155,23 @@ static void cmd_Read64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)IOStdReq(io)->io_Unit; + if (AF_Removable == (unit->au_Flags & (AF_Removable | AF_DiscPresent))) + { + D(bug("[ATA%02ld] %s: USUALLY YOU'D WANT TO CHECK IF DISC IS PRESENT FIRST\n", unit->au_UnitNum, __func__)); + io->io_Error = TDERR_DiskChanged; + return; + } UQUAD block = IOStdReq(io)->io_Offset | (UQUAD)(IOStdReq(io)->io_Actual) << 32; ULONG count = IOStdReq(io)->io_Length; - D(bug("[ATA%02ld] %s(%08x-%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, IOStdReq(io)->io_Actual, IOStdReq(io)->io_Offset, count)); + DDD(bug("[ATA%02ld] %s(%08x-%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, IOStdReq(io)->io_Actual, IOStdReq(io)->io_Offset, count)); ULONG mask = (1 << unit->au_SectorShift) - 1; if ((block & (UQUAD)mask) | (count & mask) | (count == 0)) { - D(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DERROR(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); cmd_Invalid(io, LIBBASE); } else @@ -178,12 +189,12 @@ static void cmd_Read64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { if ((0 == (unit->au_XferModes & AF_XFER_PACKET)) && ((block + count) > unit->au_Capacity)) { - bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity); + DERROR(bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity)); io->io_Error = IOERR_BADADDRESS; return; } - if (unit->au_SectorShift == 9) /* use cache with 512 Byte sectors only */ + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) /* use cache with 512 Byte sectors only */ { struct ata_Bus *bus = unit->au_Bus; struct ataBase *base = bus->ab_Base; @@ -246,7 +257,7 @@ static void cmd_Read64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) return; } - if (unit->au_SectorShift == 9) /* use cache with 512 Byte sectors only */ + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) /* use cache with 512 Byte sectors only */ { struct ata_Bus *bus = unit->au_Bus; struct ataBase *base = bus->ab_Base; @@ -310,10 +321,17 @@ static void cmd_Write32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)IOStdReq(io)->io_Unit; + if (AF_Removable == (unit->au_Flags & (AF_Removable | AF_DiscPresent))) + { + D(bug("[ATA%02ld] %s: USUALLY YOU'D WANT TO CHECK IF DISC IS PRESENT FIRST\n", unit->au_UnitNum, __func__)); + io->io_Error = TDERR_DiskChanged; + return; + } + ULONG block = IOStdReq(io)->io_Offset; ULONG count = IOStdReq(io)->io_Length; - D(bug("[ATA%02ld] %s(%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count)); + DDD(bug("[ATA%02ld] %s(%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count)); ULONG mask = (1 << unit->au_SectorShift) - 1; @@ -323,7 +341,7 @@ static void cmd_Write32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) */ if ((block & mask) | (count & mask)) { - D(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DERROR(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); cmd_Invalid(io, LIBBASE); } else @@ -335,25 +353,27 @@ static void cmd_Write32(struct IORequest *io, LIBBASETYPEPTR LIBBASE) if ((0 == (unit->au_XferModes & AF_XFER_PACKET)) && ((block + count) > unit->au_Capacity)) { - bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, + DERROR(bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, - block, count, unit->au_Capacity); + block, count, unit->au_Capacity)); io->io_Error = IOERR_BADADDRESS; return; } /* Call the Unit's access funtion */ - io->io_Error = unit->au_Write32(unit, block, count, - IOStdReq(io)->io_Data, &cnt); + io->io_Error = unit->au_Write32(unit, block, count, IOStdReq(io)->io_Data, &cnt); - struct ata_Bus *bus = unit->au_Bus; - struct ataBase *base = bus->ab_Base; - for (int i = 0; i < count; i++) + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) { - ULONG blockAdr = (block + i) & CACHE_MASK; - base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; + struct ata_Bus *bus = unit->au_Bus; + struct ataBase *base = bus->ab_Base; + for (int i = 0; i < count; i++) + { + ULONG blockAdr = (block + i) & CACHE_MASK; + base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; + } } - + IOStdReq(io)->io_Actual = cnt; } } @@ -366,16 +386,23 @@ static void cmd_Write64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)IOStdReq(io)->io_Unit; + if (AF_Removable == (unit->au_Flags & (AF_Removable | AF_DiscPresent))) + { + DERROR(bug("[ATA%02ld] %s: USUALLY YOU'D WANT TO CHECK IF DISC IS PRESENT FIRST\n", unit->au_UnitNum, __func__)); + io->io_Error = TDERR_DiskChanged; + return; + } + UQUAD block = IOStdReq(io)->io_Offset | (UQUAD)(IOStdReq(io)->io_Actual) << 32; ULONG count = IOStdReq(io)->io_Length; - D(bug("[ATA%02ld] %s(%08x-%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, IOStdReq(io)->io_Actual, IOStdReq(io)->io_Offset, count)); + DDD(bug("[ATA%02ld] %s(%08x-%08x, %08x)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, IOStdReq(io)->io_Actual, IOStdReq(io)->io_Offset, count)); ULONG mask = (1 << unit->au_SectorShift) - 1; if ((block & mask) | (count & mask) | (count==0)) { - D(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DERROR(bug("[ATA%02ld] %s: offset or length not sector-aligned.\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); cmd_Invalid(io, LIBBASE); } else @@ -394,8 +421,7 @@ static void cmd_Write64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) if ((0 == (unit->au_XferModes & AF_XFER_PACKET)) && ((block + count) > unit->au_Capacity)) { - bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range " - "(%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity); + DERROR(bug("[ATA%02ld] %s: Requested block (%lx;%ld) outside disk range (%lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block, count, unit->au_Capacity)); io->io_Error = IOERR_BADADDRESS; return; } @@ -407,12 +433,11 @@ static void cmd_Write64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) if ((0 == (unit->au_XferModes & AF_XFER_PACKET)) && ((block + count) > unit->au_Capacity48)) { - bug("[ATA%02ld] %s: Requested block (%lx:%08lx;%ld) outside disk " - "range (%lx:%08lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, + DERROR(bug("[ATA%02ld] %s: Requested block (%lx:%08lx;%ld) outside disk range (%lx:%08lx)\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, block>>32, block&0xfffffffful, count, unit->au_Capacity48>>32, - unit->au_Capacity48 & 0xfffffffful); + unit->au_Capacity48 & 0xfffffffful)); io->io_Error = IOERR_BADADDRESS; return; } @@ -421,12 +446,15 @@ static void cmd_Write64(struct IORequest *io, LIBBASETYPEPTR LIBBASE) IOStdReq(io)->io_Data, &cnt); } - struct ata_Bus *bus = unit->au_Bus; - struct ataBase *base = bus->ab_Base; - for (int i = 0; i < count; i++) + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) { - ULONG blockAdr = (block + i) & CACHE_MASK; - base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; + struct ata_Bus *bus = unit->au_Bus; + struct ataBase *base = bus->ab_Base; + for (int i = 0; i < count; i++) + { + ULONG blockAdr = (block + i) & CACHE_MASK; + base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; + } } IOStdReq(io)->io_Actual = cnt; @@ -459,12 +487,48 @@ static void cmd_Flush(struct IORequest *io, LIBBASETYPEPTR LIBBASE) */ static void cmd_TestChanged(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { + struct ata_Unit *unit = (struct ata_Unit *)io->io_Unit; + struct IORequest *msg; + + DDD(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + + if ((unit->au_XferModes & AF_XFER_PACKET) && (unit->au_Flags & AF_Removable)) + { + atapi_TestUnitOK(unit); + if (unit->au_Flags & AF_DiscChanged) + { + unit->au_ChangeNum++; + + D(bug("#############################################\n[ATA%02ld] cmd_TestChanged: Disk %s Detected | unit->au_ChangeNum = %d\n#############################################\n", + unit->au_UnitNum, (unit->au_Flags & AF_DiscPresent)? "INSERT" : "REMOVE", unit->au_ChangeNum);) + + Forbid(); + + // old-fashioned RemoveInt call first + if (unit->au_RemoveInt) + { + Cause(unit->au_RemoveInt); + D(bug("[ATA%02ld] Calling unit->au_RemoveInt\n", unit->au_UnitNum)); + } + + // And now the whole list of possible calls + ForeachNode(&unit->au_SoftList, msg) + { + Cause((struct Interrupt *)IOStdReq(msg)->io_Data); + D(bug("[ATA%02ld] Calling unit->au_SoftList\n", unit->au_UnitNum)); + } + + unit->au_Flags &= ~AF_DiscChanged; + + Permit(); + } + } } static void cmd_Update(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { /* Do nothing now. In near future there should be drive cache flush though */ - D(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DDD(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); } static void cmd_Remove(struct IORequest *io, LIBBASETYPEPTR LIBBASE) @@ -490,7 +554,7 @@ static void cmd_ChangeState(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)io->io_Unit; - D(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DDD(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); if (unit->au_Flags & AF_DiscPresent) IOStdReq(io)->io_Actual = 0; @@ -526,10 +590,17 @@ static void cmd_AddChangeInt(struct IORequest *io, LIBBASETYPEPTR LIBBASE) D(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); - Forbid(); + //Forbid(); AddHead(&unit->au_SoftList, (struct Node *)io); - Permit(); + //Permit(); + + struct IORequest *msg; + ForeachNode(&unit->au_SoftList, msg) + { + D(bug("Handler Entry added in unit->au_SoftList: handler = %x | unit = %d\n", (struct Interrupt *)IOStdReq(msg)->io_Data, unit->au_UnitNum)); + } + io->io_Flags &= ~IOF_QUICK; unit->au_Unit.unit_flags &= ~UNITF_ACTIVE; } @@ -557,7 +628,7 @@ static void cmd_GetGeometry(struct IORequest *io, LIBBASETYPEPTR LIBBASE) { struct ata_Unit *unit = (struct ata_Unit *)io->io_Unit; - D(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DDD(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); if (IOStdReq(io)->io_Length == sizeof(struct DriveGeometry)) { @@ -567,13 +638,10 @@ static void cmd_GetGeometry(struct IORequest *io, LIBBASETYPEPTR LIBBASE) if (unit->au_Capacity48 != 0) { - if ((unit->au_Capacity48 >> 32) != 0) - dg->dg_TotalSectors = 0xffffffff; - else - dg->dg_TotalSectors = unit->au_Capacity48; + if ((unit->au_Capacity48 >> 32) != 0) dg->dg_TotalSectors = 0xffffffff; + else dg->dg_TotalSectors = unit->au_Capacity48; } - else - dg->dg_TotalSectors = unit->au_Capacity; + else dg->dg_TotalSectors = unit->au_Capacity; dg->dg_Cylinders = unit->au_Cylinders; dg->dg_CylSectors = unit->au_Sectors * unit->au_Heads; @@ -581,12 +649,14 @@ static void cmd_GetGeometry(struct IORequest *io, LIBBASETYPEPTR LIBBASE) dg->dg_TrackSectors = unit->au_Sectors; dg->dg_BufMemType = MEMF_PUBLIC; dg->dg_DeviceType = unit->au_DevType; - if (dg->dg_DeviceType != DG_DIRECT_ACCESS) - dg->dg_Flags = (unit->au_Flags & AF_Removable) ? DGF_REMOVABLE : 0; - else - dg->dg_Flags = 0; + //if (dg->dg_DeviceType != DG_DIRECT_ACCESS) + dg->dg_Flags = (unit->au_Flags & AF_Removable) ? DGF_REMOVABLE : 0; + //else dg->dg_Flags = 0; dg->dg_Reserved = 0; + D(bug("[ATA%02ld] %s(): LBA:%u | LBA48:%llu | CYL:%u | HDS:%u | SEC:%u | BLOCK:%u | TYPE:%u | REMOVABLE:%s\n", + ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, unit->au_Capacity, unit->au_Capacity48, unit->au_Cylinders, unit->au_Heads, unit->au_Sectors, dg->dg_SectorSize, unit->au_DevType, (unit->au_Flags & AF_Removable) ? "YES" : "NO" )); + IOStdReq(io)->io_Actual = sizeof(struct DriveGeometry); } else if (IOStdReq(io)->io_Length == 514) @@ -882,13 +952,8 @@ static BOOL isSlow(struct IORequest *io) /* For commands with numbers <= 31 check the mask */ if (io->io_Command <= 31) { - if (IMMEDIATE_COMMANDS & (1 << io->io_Command)) - slow = FALSE; + if (IMMEDIATE_COMMANDS & (1 << io->io_Command)) slow = FALSE; } -#if(0) - else if ((io->io_Command >= HD_SMARTCMD && io->io_Command <= HD_TRIMCMD) && - (IOStdReq(io)->io_Reserved1 == ATAFEATURE_TEST_AVAIL)) slow = FALSE; -#endif else if (io->io_Command == NSCMD_TD_SEEK64 || io->io_Command == NSCMD_DEVICEQUERY) slow = FALSE; return slow; @@ -912,7 +977,7 @@ AROS_LH1(void, BeginIO, /* Disable interrupts for a while to modify message flags */ Disable(); - D(bug("[ATA%02ld] %s: Executing IO Command %lx\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, io->io_Command)); + DDD(bug("[ATA%02ld] %s: Executing IO Command %lx\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__, io->io_Command)); /* If the command is not-immediate, or presence of disc is still unknown, @@ -920,6 +985,8 @@ AROS_LH1(void, BeginIO, */ if (isSlow(io)) { + DDD(bug("[ATA%02ld] %s: ->Slow command\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + unit->au_Unit.unit_flags |= UNITF_ACTIVE | UNITF_INTASK; io->io_Flags &= ~IOF_QUICK; Enable(); @@ -929,7 +996,7 @@ AROS_LH1(void, BeginIO, } else { - D(bug("[ATA%02ld] %s: ->Fast command\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + DDD(bug("[ATA%02ld] %s: ->Fast command\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); /* Immediate command. Mark unit as active and do the command directly */ unit->au_Unit.unit_flags |= UNITF_ACTIVE; @@ -948,7 +1015,6 @@ AROS_LH1(void, BeginIO, } } - D(bug("[ATA%02ld] %s: Done\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); AROS_LIBFUNC_EXIT } @@ -986,14 +1052,95 @@ AROS_LH1(ULONG, GetBlkSize, AROS_LIBFUNC_EXIT } -/* - * The daemon of ata.device first opens all ATAPI devices and then enters - * endless loop. Every 2 seconds it tells ATAPI units to check the media - * presence. In case of any state change they will rise user-specified - * functions. - * The check is done by sending HD_SCSICMD+1 command (internal testchanged - * command). ATAPI units should already handle the command further. - */ +void DaemonCode(struct ataBase *ATABase, struct ata_Controller *ataNode) +{ + struct IORequest *timer; // timer + UBYTE b = 0; + ULONG sigs; + + D(bug("[ATA**] ATA DAEMON woke for controller @ 0x%p\n", ataNode)); + + /* + * Prepare message ports and timer.device's request + */ + timer = ata_OpenTimer(ATABase); + if (!timer) + { + DERROR(bug("[ATA++] Failed to open timer!\n")); + + Forbid(); + Signal(ataNode->ac_daemonParent, SIGF_SINGLE); + return; + } + + /* Calibrate 400ns delay */ + if (!ata_Calibrate(timer, ATABase)) + { + ata_CloseTimer(timer); + Forbid(); + Signal(ataNode->ac_daemonParent, SIGF_SINGLE); + return; + } + + /* This also signals that we have initialized successfully */ + ataNode->ac_Daemon = FindTask(NULL); + Signal(ataNode->ac_daemonParent, SIGF_SINGLE); + + D(bug("[ATA++] Starting sweep medium presence detection\n")); + + /* + * Endless loop + */ + do + { + /* + * call separate IORequest for every ATAPI device + * we're calling HD_SCSICMD+1 command here -- anything like test unit ready? + * FIXME: This is not a very nice approach in terms of performance. + * This inserts own command into command queue every 2 seconds, so + * this would give periodic performance drops under high loads. + * It would be much better if unit tasks ping their devices by themselves, + * when idle. This would also save us from lots of headaches with dealing + * with list of these requests. Additionally i start disliking all these + * semaphores. + */ + + + if (0 == (b & 1)) + { + struct IOStdReq *ios; + + //D(bug("[ATA++] Detecting media presence\n")); + ObtainSemaphore(&ataNode->DaemonSem); + + ForeachNode(&ataNode->Daemon_ios, ios) + { + // Using the request will clobber its Node. Save links. + struct Node *s = ios->io_Message.mn_Node.ln_Succ; + struct Node *p = ios->io_Message.mn_Node.ln_Pred; + + DoIO((struct IORequest *)ios); + + ios->io_Message.mn_Node.ln_Succ = s; + ios->io_Message.mn_Node.ln_Pred = p; + } + + ReleaseSemaphore(&ataNode->DaemonSem); + } + + sigs = ata_WaitTO(timer, 1, 0, SIGBREAKF_CTRL_C); + b++; + } while (!sigs); + + ataNode->ac_Daemon = NULL; + D(bug("[ATA++] Daemon quits\n")); + + ata_CloseTimer(timer); + + Forbid(); + Signal(ataNode->ac_daemonParent, SIGF_SINGLE); +} + /* Bus task body. It doesn't really do much. It receives simply all IORequests @@ -1008,10 +1155,10 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) OOP_Object *unitObj; struct ata_Unit *unit; - DINIT(bug("[ATA**] Task started (bus: %u)\n", bus->ab_BusNum)); + D(bug("[ATA:BusTask] TaskCode started (bus: %u)\n", bus->ab_BusNum)); bus->ab_Timer = ata_OpenTimer(ATABase); -// bus->ab_BounceBufferPool = CreatePool(MEMF_CLEAR | MEMF_31BIT, 131072, 65536); + bus->ab_BounceBufferPool = CreatePool(MEMF_CLEAR | MEMF_31BIT, 131072, 65536); /* Get the signal used for sleeping */ bus->ab_Task = FindTask(0); @@ -1024,10 +1171,9 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) for (iter = 0; iter < MAX_BUSUNITS; ++iter) { - DINIT(bug("[ATA**] Device %u type %d\n", iter, bus->ab_Dev[iter])); - if (bus->ab_Dev[iter] > DEV_UNKNOWN) { + D(bug("[ATA:BusTask] Device %u type %d\n", iter, bus->ab_Dev[iter])); unitObj = OOP_NewObject(ATABase->unitClass, NULL, NULL); if (unitObj) { @@ -1043,15 +1189,49 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) if (unit->au_XferModes & AF_XFER_PACKET) { + D(bug("[ATA:BusTask] Device %u | AF_XFER_PACKET (ATAPI DEVICE)\n", iter)); + struct ata_Controller *ataNode = NULL; - ata_RegisterVolume(0, 0, unit); - - OOP_GetAttr(bus->ab_Object, aHidd_ATABus_Controller, (IPTR *)&ataNode); + ata_RegisterVolume(unit->au_StartCyl, unit->au_EndCyl, unit); + + //OOP_GetAttr(bus->ab_Object, aHidd_ATABus_Controller, (IPTR *)ataNode); // [WD]: This does not work, replaced buy code below + + ataNode = (void *)(((struct List *)(&ATABase->ata_Controllers))->lh_Head); // First Controller on $DA + + if (ataNode) + { + D(bug("[ATA:BusTask] Device %u | ataNode = TRUE\n", iter)); + + // For ATAPI device we submit media presence detection request + unit->DaemonReq = (struct IOStdReq *)CreateIORequest(ataNode->DaemonPort, sizeof(struct IOStdReq)); + if (unit->DaemonReq) + { + D(bug("[ATA:BusTask] Device %u | unit->DaemonReq = TRUE\n", iter)); + /* + * We don't want to keep stalled open count of 1, so we + * don't call OpenDevice() here. Instead we fill in the needed + * fields manually. + */ + unit->DaemonReq->io_Device = &ATABase->ata_Device; + unit->DaemonReq->io_Unit = &unit->au_Unit; + unit->DaemonReq->io_Command = HD_SCSICMD+1; + + ObtainSemaphore(&ataNode->DaemonSem); + AddTail((struct List *)&ataNode->Daemon_ios, &unit->DaemonReq->io_Message.mn_Node); + ReleaseSemaphore(&ataNode->DaemonSem); + + D(bug("[ATA:BusTask] Device %u | Deamon Request for Media Detection Inserted\n", iter)); + } else { + D(bug("[ATA:BusTask] Device %u | unit->DaemonReq = FALSE\n", iter)); + } + } else { + D(bug("[ATA:BusTask] Device %u | ataNode = FALSE\n", iter)); + } } else { - ata_RegisterVolume(0, unit->au_Cylinders - 1, unit); + ata_RegisterVolume(unit->au_StartCyl, unit->au_EndCyl, unit); } } else @@ -1064,7 +1244,7 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) } } - D(bug("[ATA--] Bus %u scan finished\n", bus->ab_BusNum)); + D(bug("[ATA:BusTask] TaskCode Bus %u scan finished **************************************************************\n\n", bus->ab_BusNum)); ReleaseSemaphore(&ATABase->DetectionSem); /* Wait forever and process messages */ @@ -1072,17 +1252,19 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) { Wait(sig); - /* Even if you get new signal, do not process it until Unit is not active */ + // Even if you get new signal, do not process it until Unit is not active if (!(bus->ab_Flags & UNITF_ACTIVE)) { bus->ab_Flags |= UNITF_ACTIVE; - /* Empty the request queue */ + // Empty the request queue while ((msg = (struct IORequest *)GetMsg(bus->ab_MsgPort))) { - /* And do IO's */ + DDD(bug("[ATA:BusTask] Received Message | Command = %u \n", msg->io_Command)); + + // And do IO's HandleIO(msg, ATABase); - /* TD_ADDCHANGEINT doesn't require reply */ + // TD_ADDCHANGEINT doesn't require reply if (msg->io_Command != TD_ADDCHANGEINT) { ReplyMsg((struct Message *)msg); @@ -1093,6 +1275,7 @@ void BusTaskCode(struct ata_Bus *bus, struct ataBase *ATABase) } } } + void BusTaskCode2(struct ata_Bus *bus, struct ataBase *ATABase) { ULONG sig; @@ -1101,10 +1284,9 @@ void BusTaskCode2(struct ata_Bus *bus, struct ataBase *ATABase) OOP_Object *unitObj; struct ata_Unit *unit; - DINIT(bug("[ATA**] Task started (bus: %u)\n", bus->ab_BusNum)); + D(bug("[ATA:BusTask2] TaskCode started (bus: %u)\n", bus->ab_BusNum)); bus->ab_Timer = ata_OpenTimer(ATABase); -// bus->ab_BounceBufferPool = CreatePool(MEMF_CLEAR | MEMF_31BIT, 131072, 65536); /* Get the signal used for sleeping */ bus->ab_Task = FindTask(0); @@ -1117,7 +1299,7 @@ void BusTaskCode2(struct ata_Bus *bus, struct ataBase *ATABase) for (iter = 0; iter < MAX_BUSUNITS; ++iter) { - DINIT(bug("[ATA**] Device %u type %d\n", iter, bus->ab_Dev[iter])); + D(bug("[ATA:BusTask2] Device %u type %d\n", iter, bus->ab_Dev[iter])); if (bus->ab_Dev[iter] > DEV_UNKNOWN) { @@ -1138,13 +1320,36 @@ void BusTaskCode2(struct ata_Bus *bus, struct ataBase *ATABase) { struct ata_Controller *ataNode = NULL; - ata_RegisterVolume(0, 0, unit); - - OOP_GetAttr(bus->ab_Object, aHidd_ATABus_Controller, (IPTR *)&ataNode); + ata_RegisterVolume(unit->au_StartCyl, unit->au_EndCyl, unit); + + //OOP_GetAttr(bus->ab_Object, aHidd_ATABus_Controller, (IPTR *)&ataNode); + + ataNode = (void *)(((struct List *)(&ATABase->ata_Controllers))->lh_Head->ln_Succ); // Second Controller on $DD + + if (ataNode) + { + /* For ATAPI device we also submit media presence detection request */ + unit->DaemonReq = (struct IOStdReq *)CreateIORequest(ataNode->DaemonPort, sizeof(struct IOStdReq)); + if (unit->DaemonReq) + { + /* + * We don't want to keep stalled open count of 1, so we + * don't call OpenDevice() here. Instead we fill in the needed + * fields manually. + */ + unit->DaemonReq->io_Device = &ATABase->ata_Device; + unit->DaemonReq->io_Unit = &unit->au_Unit; + unit->DaemonReq->io_Command = HD_SCSICMD+1; + + ObtainSemaphore(&ataNode->DaemonSem); + AddTail((struct List *)&ataNode->Daemon_ios, &unit->DaemonReq->io_Message.mn_Node); + ReleaseSemaphore(&ataNode->DaemonSem); + } + } } else { - ata_RegisterVolume(0, unit->au_Cylinders - 1, unit); + ata_RegisterVolume(unit->au_StartCyl, unit->au_EndCyl, unit); } } else @@ -1157,33 +1362,33 @@ void BusTaskCode2(struct ata_Bus *bus, struct ataBase *ATABase) } } - D(bug("[ATA--] Bus %u scan finished\n", bus->ab_BusNum)); + D(bug("[ATA:BusTask2] TaskCode Bus %u scan finished **************************************************************\n\n", bus->ab_BusNum)); + ReleaseSemaphore(&ATABase->DetectionSem); - + /* Wait forever and process messages */ for (;;) { Wait(sig); - + /* Even if you get new signal, do not process it until Unit is not active */ if (!(bus->ab_Flags & UNITF_ACTIVE)) { bus->ab_Flags |= UNITF_ACTIVE; - + /* Empty the request queue */ while ((msg = (struct IORequest *)GetMsg(bus->ab_MsgPort))) { /* And do IO's */ HandleIO(msg, ATABase); - /* TD_ADDCHANGEINT doesn't require reply */ if (msg->io_Command != TD_ADDCHANGEINT) { ReplyMsg((struct Message *)msg); } } - + bus->ab_Flags &= ~(UNITF_INTASK | UNITF_ACTIVE); } } -} +} \ No newline at end of file diff --git a/rom/devs/ata/ata.conf b/rom/devs/ata/ata.conf index d1e9334ebe0..2e5536ca6c1 100644 --- a/rom/devs/ata/ata.conf +++ b/rom/devs/ata/ata.conf @@ -1,6 +1,6 @@ ##begin config basename ata -version 43.4 +version 44.44 libbasetype struct ataBase residentpri 4 beginio_func BeginIO diff --git a/rom/devs/ata/ata.h b/rom/devs/ata/ata.h index 18943316eb8..e02d178056d 100755 --- a/rom/devs/ata/ata.h +++ b/rom/devs/ata/ata.h @@ -38,14 +38,42 @@ #define STACK_SIZE 16384 #define TASK_PRI 10 #define TIMEOUT 30 + #if VAMPIRECARDSERIES==2 #define CACHE_SIZE_BITS 14 /* V2 = 2^14 * 512 byte blocks = 8Mb */ #else #define CACHE_SIZE_BITS 17 /* V4 = 2^17 * 512 byte blocks = 64Mb */ #endif + #define CACHE_SIZE (1<pioDataSize, - MEMF_PUBLIC|MEMF_CLEAR); + vec = AllocMem(sizeof(struct ATA_BusInterface) + data->pioDataSize, MEMF_PUBLIC|MEMF_CLEAR); if (vec) { D(bug("[ATA:Bus] %s: ATA_BusInterface @ 0x%p (%d bytes + %d)\n", __func__, vec, sizeof(struct ATA_BusInterface), data->pioDataSize);) @@ -754,8 +754,7 @@ APTR ATABus__Hidd_ATABus__GetPIOInterface(OOP_Class *cl, OOP_Object *o, OOP_Msg vec->ata_out_alt = default_out_alt; vec->ata_in_alt = default_in_alt; - CopyVectors((APTR *)vec, (APTR *)data->busVectors, - sizeof(struct ATA_BusInterface) / sizeof(APTR)); + CopyVectors((APTR *)vec, (APTR *)data->busVectors, sizeof(struct ATA_BusInterface) / sizeof(APTR)); data->pioInterface = &vec[1]; return data->pioInterface; @@ -941,101 +940,53 @@ void ATABus__Hidd_ATABus__Shutdown(OOP_Class *cl, OOP_Object *o, OOP_Msg *msg) BOOL Hidd_ATABus_Start(OOP_Object *o, struct ataBase *ATABase) { struct ata_Bus *ab = OOP_INST_DATA(ATABase->busClass, o); - STRPTR TaskName = "ATA[PI] Subsystem"; - D(bug("[ATA:Bus] %s()\n", __func__)); + D(bug("[ATA:Bus] %s()\n", __func__);) - /* Attach IRQ handler */ OOP_SetAttrsTags(o, aHidd_Bus_IRQHandler, Hidd_ATABus_HandleIRQ, aHidd_Bus_IRQData , ab, TAG_DONE); - unsigned short *pd = (unsigned char *)0xdd0018; - unsigned short *pa = (unsigned char *)0xda0018; - unsigned short d, a; - d = *pd; - a = *pa; - - // is this check correct? Please find more accurate way if possible - if(ATABase->ata__buscount == 0) - { - if((d & 0xFF) != 0xFF) - ab->use_da = FALSE; - else ab->use_da = TRUE; - } - else - { - if((a & 0xFF) != 0xFF) - ab->use_da = TRUE; - else ab->use_da = FALSE; - TaskName = "ATA[PI] Subsystem 2"; - } - - /* scan bus - try to locate all devices (disables irq) */ - ata_InitBus(ab); - if ((ab->ab_Dev[0] == DEV_NONE) && (ab->ab_Dev[1] == DEV_NONE) && - (!ab->keepEmpty)) - { - /* - * If there are no devices, and KeepEmpty is not set - * the bus will be thrown away. - */ - return FALSE; - } + ata_InitBus(ab); - /* - * Assign bus number. - * TODO: - * 1. This does not take into account possibility to - * unload drivers. In this case existing units will disappear, - * freeing up their numbers. These numbers should be reused. - * 2. We REALLY need modify-and-fetch atomics. - */ Forbid(); ab->ab_BusNum = ATABase->ata__buscount++; Permit(); + D(bug("[ATA:Bus] ATABase->ata__buscount = %01d\n", ATABase->ata__buscount);) if ((ab->ab_Dev[0] < DEV_ATA) && (ab->ab_Dev[1] < DEV_ATA)) { - /* Do not start up task if there are no usable devices. */ - return TRUE; + D(bug("[ATA:Bus] No ATA Drives found on Bus %01d\n", ab->ab_BusNum);) + return FALSE; } - /* - * This small trick is based on the fact that shared semaphores - * have no specific owner. You can obtain and release them from - * within any task. It will block only on attempt to re-lock it - * in exclusive mode. - * So instead of complex handshake we obtain the semaphore before - * starting bus task. It will release the semaphore when done. - */ ObtainSemaphoreShared(&ATABase->DetectionSem); - /* - * Start up bus task. It will perform scanning asynchronously, and - * then, if successful, insert units. This allows to keep things parallel. - */ - D(bug("[ATA>>] Start: Bus %u: Unit 0 - %d, Unit 1 - %d\n", ab->ab_BusNum, ab->ab_Dev[0], ab->ab_Dev[1])); - if(ATABase->ata__buscount == 0) + if(ab->ab_BusNum == 0) { - return NewCreateTask(TASKTAG_PC , BusTaskCode, - TASKTAG_NAME , TaskName, + D(bug("[ATA:Bus] Start BusTask: %01d | Unit 0: %01d | Unit 1: %01d\n", ab->ab_BusNum, ab->ab_Dev[0], ab->ab_Dev[1]);) + return NewCreateTask(TASKTAG_PC , BusTaskCode, + TASKTAG_NAME , "ATA[PI] Bus #0", TASKTAG_STACKSIZE , STACK_SIZE, TASKTAG_PRI , TASK_PRI, TASKTAG_TASKMSGPORT, &ab->ab_MsgPort, TASKTAG_ARG1 , ab, TASKTAG_ARG2 , ATABase, TAG_DONE) ? TRUE : FALSE; - }else{ - return NewCreateTask(TASKTAG_PC , BusTaskCode2, - TASKTAG_NAME , TaskName, - TASKTAG_STACKSIZE , STACK_SIZE, - TASKTAG_PRI , TASK_PRI, - TASKTAG_TASKMSGPORT, &ab->ab_MsgPort, - TASKTAG_ARG1 , ab, - TASKTAG_ARG2 , ATABase, - TAG_DONE) ? TRUE : FALSE; - } + } else { + if(ab->ab_BusNum == 1) + { + D(bug("[ATA:Bus] Start BusTask: %01d | Unit 0: %01d | Unit 1: %01d\n", ab->ab_BusNum, ab->ab_Dev[0], ab->ab_Dev[1]);) + return NewCreateTask(TASKTAG_PC , BusTaskCode2, + TASKTAG_NAME , "ATA[PI] Bus #1", + TASKTAG_STACKSIZE , STACK_SIZE, + TASKTAG_PRI , TASK_PRI, + TASKTAG_TASKMSGPORT, &ab->ab_MsgPort, + TASKTAG_ARG1 , ab, + TASKTAG_ARG2 , ATABase, + TAG_DONE) ? TRUE : FALSE; + } + } } AROS_UFH3(BOOL, Hidd_ATABus_Open, diff --git a/rom/devs/ata/ata_controllerclass.c b/rom/devs/ata/ata_controllerclass.c index 95171613eb4..df535df7e4e 100644 --- a/rom/devs/ata/ata_controllerclass.c +++ b/rom/devs/ata/ata_controllerclass.c @@ -18,20 +18,17 @@ #include "ata.h" + const char ata_IDEName[] = "IDE Controller"; OOP_Object *ATA__Root__New(OOP_Class *cl, OOP_Object *o, struct pRoot_New *msg) { struct ataBase *ATABase = cl->UserData; -// char *ataControllerName = (char *)GetTagData(aHidd_HardwareName, (IPTR)ata_IDEName, msg->attrList); OOP_Object *ataController = (OOP_Object *)OOP_DoSuperMethod(cl, o, (OOP_Msg)msg); if (ataController) { struct ata_Controller *data = OOP_INST_DATA(cl, ataController); -// data->ac_Node.ln_Name = ataControllerName; - -// D(bug ("[ATA:Controller] Root__New: New '%s' Controller Obj @ 0x%p\n", ataControllerName, ataController);) /*register the controller in ata.device */ D(bug ("[ATA:Controller] %s: Controller Entry @ 0x%p\n", __func__, data);) @@ -39,6 +36,28 @@ OOP_Object *ATA__Root__New(OOP_Class *cl, OOP_Object *o, struct pRoot_New *msg) data->ac_Class = cl; data->ac_Object = ataController; + // Try to setup daemon task looking for diskchanges + NEWLIST(&data->Daemon_ios); + InitSemaphore(&data->DaemonSem); + data->ac_daemonParent = FindTask(NULL); + SetSignal(0, SIGF_SINGLE); + + if (!NewCreateTask(TASKTAG_PC, DaemonCode, + TASKTAG_NAME , "ATA.daemon", + TASKTAG_STACKSIZE , STACK_SIZE, + TASKTAG_TASKMSGPORT, &data->DaemonPort, + TASKTAG_PRI , TASK_PRI - 1, // The daemon should have a little bit lower Pri than handler tasks + TASKTAG_ARG1 , ATABase, + TASKTAG_ARG2 , data, + TAG_DONE)) + { + D(bug("[ATA:Controller] %s: Failed to start up daemon!\n", __func__)); + return FALSE; + } + + Wait(SIGF_SINGLE); + D(bug("[ATA:Controller] %s: Daemon task set to 0x%p\n", __func__, data->ac_Daemon)); + AddTail(&ATABase->ata_Controllers, &data->ac_Node); } return ataController; @@ -55,6 +74,12 @@ VOID ATA__Root__Dispose(OOP_Class *cl, OOP_Object *o, OOP_Msg msg) { if (ataNode->ac_Object == o) { + D(bug("[ATA:Controller] %s: Stopping Daemon...\n", __func__)); + ataNode->ac_daemonParent = FindTask(NULL); + SetSignal(0, SIGF_SINGLE); + Signal(ataNode->ac_Daemon, SIGBREAKF_CTRL_C); + Wait(SIGF_SINGLE); + D(bug("[ATA:Controller] %s: Daemon stopped\n", __func__)); D(bug ("[ATA:Controller] %s: Destroying Controller Entry @ 0x%p\n", __func__, ataNode);) Remove(&ataNode->ac_Node); @@ -99,7 +124,7 @@ BOOL ATA__Hidd_StorageController__SetUpBus(OOP_Class *cl, OOP_Object *o, struct struct ataBase *ATABase = cl->UserData; struct TagItem busTags[2]; - D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus(0x%p)\n", msg->busObject);) + D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus(0x%p)\n", msg->busObject)); /* * Instantiate interfaces. PIO is mandatory, DMA is not. @@ -108,20 +133,18 @@ BOOL ATA__Hidd_StorageController__SetUpBus(OOP_Class *cl, OOP_Object *o, struct * We do this in SetUpBus because the object must be fully * created in order for this stuff to work. */ - if (!HIDD_ATABus_GetPIOInterface(msg->busObject)) - return FALSE; + if (!HIDD_ATABus_GetPIOInterface(msg->busObject)) return FALSE; - D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus: PIO Interfaces obtained\n");) + D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus: PIO Interfaces obtained\n")); - if (!ATABase->ata_NoDMA) - HIDD_ATABus_GetDMAInterface(msg->busObject); + if (!ATABase->ata_NoDMA) HIDD_ATABus_GetDMAInterface(msg->busObject); busTags[0].ti_Tag = aHidd_ATABus_Controller; busTags[0].ti_Data = (IPTR)OOP_INST_DATA(cl, o); busTags[1].ti_Tag = TAG_DONE; OOP_SetAttrs(msg->busObject, busTags); - D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus: Starting Bus...\n");) + D(bug ("[ATA:Controller] Hidd_StorageController__SetUpBus: Starting Bus...\n")); /* Add the bus to the device and start service */ return Hidd_ATABus_Start(msg->busObject, ATABase); diff --git a/rom/devs/ata/ata_init.c b/rom/devs/ata/ata_init.c index cdb54c54b87..31bf2f9420e 100644 --- a/rom/devs/ata/ata_init.c +++ b/rom/devs/ata/ata_init.c @@ -1,5 +1,5 @@ /* - Copyright 2004-2020, The AROS Development Team. All rights reserved + Copyright � 2004-2020, The AROS Development Team. All rights reserved $Id$ Desc: @@ -46,9 +46,9 @@ BOOL ata_RegisterVolume(ULONG StartCyl, ULONG EndCyl, struct ata_Unit *unit) { struct ExpansionBase *ExpansionBase; struct DeviceNode *devnode; - TEXT dosdevname[4] = "HD0"; - const ULONG IdDOS = AROS_MAKE_ID('D','O','S','\001'); - const ULONG IdCDVD = AROS_MAKE_ID('C','D','V','D'); + TEXT dosdevname[7] = "DHROM0"; + const ULONG IdDOS = AROS_MAKE_ID('D','O','S','\000'); + const ULONG IdCDVD = AROS_MAKE_ID('C','D','F','S'); // Opticals are all using CDFS ExpansionBase = (struct ExpansionBase *)TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); if (ExpansionBase) @@ -62,21 +62,21 @@ BOOL ata_RegisterVolume(ULONG StartCyl, ULONG EndCyl, struct ata_Unit *unit) break; case DG_CDROM: dosdevname[0] = 'C'; + dosdevname[1] = 'D'; break; default: D(bug("[ATA>>]:-ata_RegisterVolume called on unknown devicetype\n")); } - if (unit->au_UnitNum < 10) - dosdevname[2] += unit->au_UnitNum % 10; - else - dosdevname[2] = 'A' - 10 + unit->au_UnitNum; + if (unit->au_UnitNum < 10) dosdevname[5] += unit->au_UnitNum % 10; + else dosdevname[5] = 'A' - 10 + unit->au_UnitNum; - pp[0] = (IPTR)dosdevname; - pp[1] = (IPTR)MOD_NAME_STRING; - pp[2] = unit->au_UnitNum; + pp[0] = (IPTR)dosdevname; + pp[1] = (IPTR)MOD_NAME_STRING; + pp[2] = unit->au_UnitNum; pp[DE_TABLESIZE + 4] = DE_BOOTBLOCKS; - pp[DE_SIZEBLOCK + 4] = 1 << (unit->au_SectorShift - 2); + + pp[DE_SIZEBLOCK + 4] = 1 << (unit->au_SectorShift - 2); // LONG (32-bit) per Sector = (#Bytes/Sector)/4 = SectorSift-2 pp[DE_NUMHEADS + 4] = unit->au_Heads; pp[DE_SECSPERBLOCK + 4] = 1; pp[DE_BLKSPERTRACK + 4] = unit->au_Sectors; @@ -85,7 +85,7 @@ BOOL ata_RegisterVolume(ULONG StartCyl, ULONG EndCyl, struct ata_Unit *unit) pp[DE_HIGHCYL + 4] = EndCyl; pp[DE_NUMBUFFERS + 4] = 10; pp[DE_BUFMEMTYPE + 4] = MEMF_PUBLIC | MEMF_31BIT; - pp[DE_MAXTRANSFER + 4] = 0x00200000; + pp[DE_MAXTRANSFER + 4] = 0x1FE00; pp[DE_MASK + 4] = 0x7FFFFFFE; pp[DE_BOOTPRI + 4] = ((unit->au_DevType == DG_DIRECT_ACCESS) ? 0 : 10); pp[DE_DOSTYPE + 4] = ((unit->au_DevType == DG_DIRECT_ACCESS) ? IdDOS : IdCDVD); @@ -96,18 +96,21 @@ BOOL ata_RegisterVolume(ULONG StartCyl, ULONG EndCyl, struct ata_Unit *unit) if (devnode) { - D(bug("[ATA>>]:-ata_RegisterVolume: '%b', type=0x%08lx with StartCyl=%d, EndCyl=%d .. ", - devnode->dn_Name, pp[DE_DOSTYPE + 4], StartCyl, EndCyl)); + D(bug("[ATA>>]:-ata_RegisterVolume=%b, DosType=0x%08lx | LowCyl=%d | HighCyl=%d | Heads=%d | Blocksize=%d | BlockPerTrack=%d .. ", + devnode->dn_Name, pp[DE_DOSTYPE + 4], StartCyl, EndCyl, unit->au_Heads, 1 << unit->au_SectorShift, unit->au_Sectors)); + + if (unit->au_DevType == DG_DIRECT_ACCESS) // && ((unit->au_Flags & AF_Removable) == 0)) + { + AddBootNode(pp[DE_BOOTPRI + 4], ADNF_STARTPROC, devnode, NULL); + D(bug("BootNode (Direct Access Medium)\n")); + } else { + D(bug("DosNode (CD/DVD or other Non-Direct Access Medium)\n")); + } - AddBootNode(pp[DE_BOOTPRI + 4], ADNF_STARTPROC, devnode, NULL); - D(bug("done\n")); - return TRUE; } - CloseLibrary((struct Library *)ExpansionBase); } - return FALSE; } @@ -321,8 +324,7 @@ static int ata_expunge(struct ataBase *ATABase) return TRUE; } -static int open(struct ataBase *ATABase, struct IORequest *iorq, - ULONG unitnum, ULONG flags) +static int open(struct ataBase *ATABase, struct IORequest *iorq, ULONG unitnum, ULONG flags) { struct ata_Controller *ataNode; struct Hook searchHook = diff --git a/rom/devs/ata/ata_smart.c b/rom/devs/ata/ata_smart.c index b5ec75046ea..b83ee60b2d7 100644 --- a/rom/devs/ata/ata_smart.c +++ b/rom/devs/ata/ata_smart.c @@ -1,5 +1,5 @@ /* - Copyright 2019, The AROS Development Team. All rights reserved. + Copyright � 2019, The AROS Development Team. All rights reserved. $Id$ */ @@ -18,6 +18,7 @@ #include "ata.h" + /* perform the S.M.A.R.T operation specified in io_Reserved1 */ void ata_SMARTCmd(struct IOStdReq *io) { diff --git a/rom/devs/ata/ata_trim.c b/rom/devs/ata/ata_trim.c index 2826b1cdbfb..29b3b508ed2 100644 --- a/rom/devs/ata/ata_trim.c +++ b/rom/devs/ata/ata_trim.c @@ -1,5 +1,5 @@ /* - Copyright 2019, The AROS Development Team. All rights reserved. + Copyright � 2019, The AROS Development Team. All rights reserved. $Id$ */ @@ -36,5 +36,5 @@ void ata_TRIMCmd(struct IOStdReq *io) 0 }; #endif - D(bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__)); + bug("[ATA%02ld] %s()\n", ((struct ata_Unit*)io->io_Unit)->au_UnitNum, __func__); } diff --git a/rom/devs/ata/ata_unitclass.c b/rom/devs/ata/ata_unitclass.c index bad6db64e05..f97dfef62a5 100644 --- a/rom/devs/ata/ata_unitclass.c +++ b/rom/devs/ata/ata_unitclass.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2019, The AROS Development Team. All rights reserved. + Copyright � 1995-2019, The AROS Development Team. All rights reserved. $Id$ */ diff --git a/rom/devs/ata/bootwait.c b/rom/devs/ata/bootwait.c index 08c8dc5a1f4..7f6957a80f6 100644 --- a/rom/devs/ata/bootwait.c +++ b/rom/devs/ata/bootwait.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2013, The AROS Development Team. All rights reserved. + Copyright � 1995-2013, The AROS Development Team. All rights reserved. $Id$ */ @@ -65,13 +65,8 @@ AROS_UFH3(static APTR, ata_Wait, struct ataBase *ATABase; #if defined(__AROSPLATFORM_SMP__) void *ExecLockBase = OpenResource("execlock.resource"); -#endif - -#if defined(__AROSPLATFORM_SMP__) - if (ExecLockBase) - ObtainSystemLock(&SysBase->DeviceList, SPINLOCK_MODE_READ, LOCKF_FORBID); - else - Forbid(); + if (ExecLockBase) ObtainSystemLock(&SysBase->DeviceList, SPINLOCK_MODE_READ, LOCKF_FORBID); + else Forbid(); #else Forbid(); #endif @@ -90,7 +85,7 @@ AROS_UFH3(static APTR, ata_Wait, if (ATABase) { - D(bug("[ATA ] Waiting for device detection to complete...\n")); + D(bug("\n**************************************************************\n[ATA_WAIT] Waiting for device detection to complete...\n**************************************************************\n\n")); ObtainSemaphore(&ATABase->DetectionSem); ReleaseSemaphore(&ATABase->DetectionSem); } diff --git a/rom/devs/ata/include/hardware/ata.h b/rom/devs/ata/include/hardware/ata.h index 52a6aab91ed..7350fd4ec36 100644 --- a/rom/devs/ata/include/hardware/ata.h +++ b/rom/devs/ata/include/hardware/ata.h @@ -2,7 +2,7 @@ #define _HARDWARE_ATA_H /* - Copyright 2004-2019, The AROS Development Team. All rights reserved. + Copyright � 2004-2019, The AROS Development Team. All rights reserved. $Id$ Desc: ATA hardware register definitions @@ -42,14 +42,16 @@ #define ATAB_ERROR 0 #define ATAB_BUSY 7 +#define ATAF_BUSY 0x80 +#define ATAF_ATAPI 0x80 +#define ATAF_DRDY 0x40 +#define ATAF_LBA 0x40 #define ATAF_DF 0x20 #define ATAF_SLAVE 0x10 -#define ATAF_LBA 0x40 -#define ATAF_ATAPI 0x80 #define ATAF_DATAREQ 0x08 +#define ATAF_CORR 0x04 +#define ATAF_IDX 0x02 #define ATAF_ERROR 0x01 -#define ATAF_BUSY 0x80 -#define ATAF_DRDY 0x40 #define ATAPIF_CHECK 0x01 diff --git a/rom/devs/ata/include/hidd/ata.h b/rom/devs/ata/include/hidd/ata.h index ab9287843e7..dc931b9064a 100644 --- a/rom/devs/ata/include/hidd/ata.h +++ b/rom/devs/ata/include/hidd/ata.h @@ -2,7 +2,7 @@ #define HIDD_ATA_H /* - Copyright 2013-2018, The AROS Development Team. All rights reserved. + Copyright � 2013-2018, The AROS Development Team. All rights reserved. $Id$ Desc: ATA bus driver HIDD definitions diff --git a/rom/devs/ata/lowlevel.c b/rom/devs/ata/lowlevel.c index 37f9386377c..7683152bd60 100644 --- a/rom/devs/ata/lowlevel.c +++ b/rom/devs/ata/lowlevel.c @@ -1,16 +1,3 @@ -/* - Copyright © 2004-2018, The AROS Development Team. All rights reserved. - $Id$ - - Desc: - Lang: English -*/ - -/* - * TODO: - * - put a critical section around DMA transfers (shared dma channels) - */ - #include #include @@ -27,26 +14,17 @@ #include "ata_bus.h" #include "timer.h" -// use #define xxx(a) D(a) to enable particular sections. -#if DEBUG -#define DIRQ(a) D(a) -#define DIRQ_MORE(a) -#define DUMP(a) D(a) -#define DUMP_MORE(a) -#define DATA(a) D(a) -#define DATAPI(a) D(a) -#define DINIT(a) D(a) -#else -#define DIRQ(a) do { } while (0) -#define DIRQ_MORE(a) do { } while (0) -#define DUMP(a) do { } while (0) -#define DUMP_MORE(a) do { } while (0) -#define DATA(a) do { } while (0) -#define DATAPI(a) do { } while (0) -#define DINIT(a) -#endif -/* Errors that shouldn't happen */ -#define DERROR(a) a + + +#define VREG_BOARD_Unknown 0x00 /* Unknown */ +#define VREG_BOARD_V600 0x01 /* Vampire V2 V600(+), for A600 */ +#define VREG_BOARD_V500 0x02 /* Vampire V2 V500(+), for A500 */ +#define VREG_BOARD_V4FB 0x03 /* Apollo V4 FireBird, for A500 */ +#define VREG_BOARD_V4ID 0x04 /* Apollo V4 IceDrake, for A1200 */ +#define VREG_BOARD_V4SA 0x05 /* Apollo V4 Standalone */ +#define VREG_BOARD_V1200 0x06 /* Vampire V2 V1200, for A1200 */ +#define VREG_BOARD_V4MC 0x07 /* Apollo V4 Manticore, for A600 */ +#define VREG_BOARD_Future 0x08 /* Unknow */ static BYTE ata_Identify(struct ata_Unit *unit); static BYTE ata_ReadSector32(struct ata_Unit *, ULONG, ULONG, APTR, ULONG *); @@ -59,52 +37,20 @@ static BYTE ata_WriteMultiple32(struct ata_Unit *, ULONG, ULONG, APTR, ULONG *); static BYTE ata_WriteMultiple64(struct ata_Unit *, UQUAD, ULONG, APTR, ULONG *); static void ata_ResetBus(struct ata_Bus *bus); static BYTE ata_Eject(struct ata_Unit *); -static BOOL ata_WaitBusyTO(struct ata_Unit *unit, UWORD tout, BOOL irq, - BOOL fake_irq, UBYTE *stout); +static BOOL ata_WaitBusyTO(struct ata_Unit *unit, UWORD tout, BOOL irq, BOOL fake_irq, UBYTE *stout); -static BYTE atapi_SendPacket(struct ata_Unit *unit, APTR packet, APTR data, - LONG datalen, BOOL *dma, BOOL write); +static BYTE atapi_SendPacket(struct ata_Unit *unit, struct SCSICmd *cmd); static BYTE atapi_DirectSCSI(struct ata_Unit *unit, struct SCSICmd *cmd); static BYTE atapi_Read(struct ata_Unit *, ULONG, ULONG, APTR, ULONG *); static BYTE atapi_Write(struct ata_Unit *, ULONG, ULONG, APTR, ULONG *); static BYTE atapi_Eject(struct ata_Unit *); -static ULONG atapi_RequestSense(struct ata_Unit* unit, UBYTE* sense, - ULONG senselen); +static void atapi_RequestSense(struct ata_Unit* unit, UBYTE* sense, ULONG senselen); static BYTE atapi_EndCmd(struct ata_Unit *unit); static void common_SetBestXferMode(struct ata_Unit* unit); #define DEVHEAD_VAL 0xe0 -#if DEBUG -static void dump(APTR mem, ULONG len) -{ - register int i, j = 0; - - DUMP_MORE(for (j=0; j<(len+15)>>4; ++j)) - { - bug("[ATA ] %06lx: ", j<<4); - - for (i=0; i= 0x20 ? c<=0x7f ? c : '.' : '.'); - if (i == 15) - break; - } - bug("\n"); - } -} -#endif - static void ata_strcpy(const UBYTE *str1, UBYTE *str2, ULONG size) { register int i = size; @@ -135,15 +81,15 @@ static inline BOOL ata_SelectUnit(struct ata_Unit* unit) { struct ata_Bus *bus = unit->au_Bus; - if (unit == bus->ab_SelectedUnit) - return TRUE; + if (unit == bus->ab_SelectedUnit) return TRUE; + + D(bug("[ATA%02ld] ata_SelectUnit: CHANGE SELECTUNIT\n", unit->au_UnitNum);) PIO_Out(bus, unit->au_DevMask, ata_DevHead); do { ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(unit->au_Bus->ab_Timer, 0, 1, 0); } while (0 != (ATAF_BUSY & ata_ReadStatus(bus))); @@ -152,468 +98,348 @@ static inline BOOL ata_SelectUnit(struct ata_Unit* unit) return TRUE; } -/* - * handle IRQ; still fast and efficient, supposed to verify if this irq is for us and take adequate steps - * part of code moved here from ata.c to reduce containment - */ -static void ata_IRQSignalTask(struct ata_Bus *bus) +/*static void ata_IRQSignalTask(struct ata_Bus *bus) { bus->ab_IntCnt++; Signal(bus->ab_Task, 1UL << bus->ab_SleepySignal); -} +}*/ -static void ata_IRQSetHandler(struct ata_Unit *unit, - void (*handler)(struct ata_Unit*, UBYTE), APTR piomem, ULONG blklen, - ULONG piolen) +static void ata_IRQSetHandler(struct ata_Unit *unit, void (*handler)(struct ata_Unit*, UBYTE), APTR piomem, ULONG blklen, ULONG piolen) { - if (NULL != handler) - unit->au_cmd_error = 0; - unit->au_cmd_data = piomem; unit->au_cmd_length = (piolen < blklen) ? piolen : blklen; unit->au_cmd_total = piolen; - unit->au_Bus->ab_HandleIRQ = handler; } static void ata_IRQNoData(struct ata_Unit *unit, UBYTE status) { - volatile UBYTE *port; - if(unit->au_Bus->use_da) - port = 0xDA201C; - else port = 0xDD201C; - status = *port; - - if (status & ATAF_BUSY) - return; - - if ((unit->au_cmd_error == 0) && (status & ATAF_ERROR)) - unit->au_cmd_error = HFERR_BadStatus; - - DIRQ(bug("[ATA%02ld] IRQ: NoData - done; status %02lx.\n", unit->au_UnitNum, status)); ata_IRQSetHandler(unit, NULL, NULL, 0, 0); - ata_IRQSignalTask(unit->au_Bus); -} - -static void ata_NULL(struct ata_Unit *unit, UBYTE status) -{ - return; + //ata_IRQSignalTask(unit->au_Bus); } static void ata_IRQPIORead(struct ata_Unit *unit, UBYTE status) { - ULONG count; - APTR address; - volatile UBYTE *port; - long retrycount; - if(unit->au_Bus->use_da) - port = 0xDA201C; - else port = 0xDD201C; + ULONG count; + APTR address; + ULONG retrycount; AGAIN: - retrycount=100000000; - if (status & ATAF_BUSY){ -WAITBUSY: - status = *port; - retrycount--; - if (retrycount=0){ - unit->au_cmd_error = HFERR_BadStatus; - return; - } - if (status & ATAF_BUSY) goto WAITBUSY; - } - - - if (status & ATAF_DATAREQ){ -// Unit_InS(unit, unit->au_cmd_data, unit->au_cmd_length); + retrycount=5000000; +WAITBUSY: + status = PIO_In(unit->au_Bus, ata_Status); - count = (unit->au_cmd_length>>5); - address = unit->au_cmd_data; - - if (unit->au_Bus->use_da) + if (retrycount-- == 0) { - asm volatile( - " bra 2f \n" - "1: move16 (0xDA6000),(%[address])+ \n" - " move16 (0xDA6000),(%[address])+ \n" - "2: dbra %[count],1b \n" - :[count]"+d"(count),[address]"+a"(address)::"cc"); + DERROR(bug("[ATA%02ld] ata_IRQPIORead: ERROR = ATAF_BUSY is NOT Cleared\n", unit->au_UnitNum)); + unit->au_cmd_error = HFERR_BadStatus; + return; } - else + if (status & ATAF_BUSY) goto WAITBUSY; + + if (status & ATAF_DATAREQ) { - asm volatile( - " bra 2f \n" - "1: move16 (0xDD6000),(%[address])+ \n" - " move16 (0xDD6000),(%[address])+ \n" - "2: dbra %[count],1b \n" - :[count]"+d"(count),[address]"+a"(address)::"cc"); - } - -// - /* - * Adjust data pointer and counter. If there's more data left for - * this transfer, keep same handler and wait for next interrupt - */ - unit->au_cmd_data += unit->au_cmd_length; - unit->au_cmd_total -= unit->au_cmd_length; - if (unit->au_cmd_total != 0) - { - if (unit->au_cmd_length > unit->au_cmd_total) - unit->au_cmd_length = unit->au_cmd_total; - - status = *port; - goto AGAIN; - } - - }else{ + Unit_InS(unit, unit->au_cmd_data, unit->au_cmd_length); + + unit->au_cmd_data += unit->au_cmd_length; + unit->au_cmd_total -= unit->au_cmd_length; + if (unit->au_cmd_total != 0) + { + if (unit->au_cmd_length > unit->au_cmd_total) unit->au_cmd_length = unit->au_cmd_total; + goto AGAIN; + } + } else { unit->au_cmd_error = HFERR_BadStatus; } - ata_IRQNoData(unit, status); - - // if (status & (ATAF_DF | ATAF_ERROR)){ - // unit->au_cmd_error = HFERR_BadStatus; - // } - } -static void ata_PIOWriteBlk(struct ata_Unit *unit) -{ - Unit_OutS(unit, unit->au_cmd_data, unit->au_cmd_length); - - /* - * Adjust data pointer and counter - */ - unit->au_cmd_data += unit->au_cmd_length; - unit->au_cmd_total -= unit->au_cmd_length; - if (unit->au_cmd_length > unit->au_cmd_total) - unit->au_cmd_length = unit->au_cmd_total; -} static void ata_IRQPIOWrite(struct ata_Unit *unit, UBYTE status) { + ULONG count; + APTR address; + ULONG retrycount; - volatile UBYTE *port; - ULONG count; - APTR address; - long retrycount; - if(unit->au_Bus->use_da) - port = 0xDA201C; - else port = 0xDD201C; - /* - * If there's more data left for this transfer, write it, keep same - * handler and wait for next interrupt - */ AGAINW: - retrycount=100000000; - if (status & ATAF_BUSY){ + retrycount=5000000; WAITBUSYW: - status = *port; - retrycount--; - if (retrycount=0){ - unit->au_cmd_error = HFERR_BadStatus; - return; - } - if (status & ATAF_BUSY) goto WAITBUSYW; - } + status = PIO_In(unit->au_Bus, ata_Status); - if (status & ATAF_DATAREQ) { - DIRQ(bug("[ATA%02ld] IRQ: PIOWriteData - DRQ.\n", unit->au_UnitNum)); - -// ata_PIOWriteBlk(unit); - count = unit->au_cmd_length>>3; - address = unit->au_cmd_data; - - if(unit->au_Bus->use_da) - { - asm volatile( - " bra 2f \n" - "1: move.l (%[address])+,(0xDA2000) \n" - " move.l (%[address])+,(0xDA2000) \n" - "2: dbra %[count],1b \n" - :[count]"+d"(count),[address]"+a"(address)::"cc"); - } - else + retrycount--; + if (retrycount-- == 0) { - asm volatile( - " bra 2f \n" - "1: move.l (%[address])+,(0xDD2000) \n" - " move.l (%[address])+,(0xDD2000) \n" - "2: dbra %[count],1b \n" - :[count]"+d"(count),[address]"+a"(address)::"cc"); - } - - unit->au_cmd_data += unit->au_cmd_length; - unit->au_cmd_total -= unit->au_cmd_length; - if (unit->au_cmd_length > unit->au_cmd_total){ - unit->au_cmd_length = unit->au_cmd_total; - } - - if (unit->au_cmd_total != 0){ - status = *port; - goto AGAINW; - } - - }else if (unit->au_cmd_total != 0){ + DERROR(bug("[ATA%02ld] ata_IRQPIORead: ERROR = ATAF_BUSY is NOT Cleared\n", unit->au_UnitNum)); unit->au_cmd_error = HFERR_BadStatus; + return; } + if (status & ATAF_BUSY) goto WAITBUSYW; - - - DIRQ(bug("[ATA%02ld] IRQ: PIOWriteData - done.\n", unit->au_UnitNum)); + if (status & ATAF_DATAREQ) + { + Unit_OutS(unit, unit->au_cmd_data, unit->au_cmd_length); + + unit->au_cmd_data += unit->au_cmd_length; + unit->au_cmd_total -= unit->au_cmd_length; + if (unit->au_cmd_length > unit->au_cmd_total) unit->au_cmd_length = unit->au_cmd_total; + if (unit->au_cmd_total != 0) goto AGAINW; + } else { + if (unit->au_cmd_total != 0) unit->au_cmd_error = HFERR_BadStatus; + } ata_IRQNoData(unit, status); - // if (status & (ATAF_DF | ATAF_ERROR)){ - // unit->au_cmd_error = HFERR_BadStatus; - // } - } - static void ata_IRQDMAReadWrite(struct ata_Unit *unit, UBYTE status) -{ -} static void ata_IRQPIOReadAtapi(struct ata_Unit *unit, UBYTE status) { struct ata_Bus *bus = unit->au_Bus; ULONG size = 0; - LONG remainder = 0; - UBYTE reason = PIO_In(bus, atapi_Reason); - DIRQ(bug("[ATAPI] Current status: %ld during READ\n", reason)); + LONG overflow = 0; + ULONG retry_busy, retry_datareq; + +AGAIN: + retry_busy = 5000000; + retry_datareq = 5000; + +WAITBUSY: + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); - /* have we failed yet? */ - if (0 == (status & (ATAF_BUSY | ATAF_DATAREQ))) - ata_IRQNoData(unit, status); - if (status & ATAF_ERROR) + retry_busy--; + if (retry_busy == 0) { - ata_IRQNoData(unit, status); + ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + unit->au_cmd_error = HFERR_BadStatus; + DERROR(bug("[ATAPI] ata_IRQPIOReadAtapi: ERROR = RetryCount (5000000) reached ZERO on ATAF_BUSY clear\n")); return; } + + DDD(bug("r")); + + if ((status & ATAF_BUSY) != 0) // Wait for BSY to CLEAR + { + goto WAITBUSY; + } + DDD(bug("\n")); + DATAPI(bug("[ATAPI] ata_IRQPIOReadAtapi - Status: %lx\n", status)); - /* anything for us please? */ - if (ATAPIF_READ != (reason & ATAPIF_MASK)) +WAITDATAREQ: + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); + + retry_datareq--; + if (retry_datareq == 0) + { + ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + unit->au_cmd_error = HFERR_BadStatus; + DERROR(bug("[ATAPI] ata_IRQPIOReadAtapi: ERROR = RetryCount (5.000) reached ZERO on ATAF_DATAREQ SET\n")); return; + } + DDD(bug("R")); + if ((status & ATAF_DATAREQ) != ATAF_DATAREQ) // Wait for DRQ to SET + { + goto WAITDATAREQ; + } + DDD(bug("\n")); size = PIO_In(bus, atapi_ByteCntH) << 8 | PIO_In(bus, atapi_ByteCntL); - DIRQ(bug("[ATAPI] IRQ: data available for read (%ld bytes, max: %ld bytes)\n", size, unit->au_cmd_total)); + + DATAPI(bug("[ATAPI] ata_IRQPIOReadAtapi: READ Data size offered from Device : %ld bytes | READ Data Buffer: %ld bytes)\n", size, unit->au_cmd_total)); if (size > unit->au_cmd_total) { - DERROR(bug("[ATAPI] IRQ: CRITICAL! MORE DATA OFFERED THAN STORAGE CAN TAKE: %ld bytes vs %ld bytes left!\n", size, unit->au_cmd_total)); - remainder = size - unit->au_cmd_total; + overflow= size - unit->au_cmd_total; + DERROR(bug("[ATAPI] ata_IRQPIOReadAtapi: WARNING: More READ Data size offered than requested available in READ Buffer: %ld bytes > %ld bytes | Overflow = %ld\n", size, unit->au_cmd_total, overflow)); size = unit->au_cmd_total; } - Unit_InS(unit, unit->au_cmd_data, size); + if (size > 0) Unit_InS(unit, unit->au_cmd_data, size); unit->au_cmd_data = &((UBYTE*)unit->au_cmd_data)[size]; unit->au_cmd_total -= size; - DIRQ(bug("[ATAPI] IRQ: %lu bytes read.\n", size)); + DATAPI(bug("[ATAPI] ata_IRQPIOReadAtapi: READ Data size processed from Device: %ld bytes | READ Data Buffer: %ld bytes)\n", size, unit->au_cmd_total)); - /* - * Soak up excess bytes. - */ - for (; remainder > 0; remainder -= 2) - Unit_InS(unit, &size, 2); + if (overflow > 0) + { + UBYTE *overflow_buffer; + overflow_buffer = AllocMem(2, MEMF_CLEAR | MEMF_PUBLIC); + + DATAPI(bug("[ATAPI] ata_IRQPIOReadAtapi: Reading Overflow Data from Device: %ld bytes = ", overflow)); + for (; overflow > 0; overflow -= 2) + { + //Unit_InS(unit, overflow_buffer, 2); + DATAPI(bug("##")); + } + DATAPI(bug("\n")); + + FreeMem(overflow_buffer, 2); + } - if (unit->au_cmd_total == 0) + if (unit->au_cmd_total > 0) + { + goto AGAIN; + } else { ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + } + + DERROR(status = PIO_In(unit->au_Bus, ata_Status)); + DERROR(if (status & ATAF_ERROR) bug("[ATAPI] *** ERROR: ata_IRQPIOReadAtapi - ATAF_ERROR\n")); + + retry_busy = 5000000; + do + { + status = PIO_In(bus, atapi_Status); + ata_WaitNano(400, bus->ab_Base); + retry_busy--; + if (retry_busy == 0) + { + DERROR(bug("[ATAPI] *** ERROR: ata_IRQPIOReadAtapi - ATAF_BUSY not cleared!\n")); + break; + } + } while ((status & ATAF_BUSY) != 0); // Wait for BSY to CLEAR } static void ata_IRQPIOWriteAtapi(struct ata_Unit *unit, UBYTE status) { struct ata_Bus *bus = unit->au_Bus; ULONG size = 0; - UBYTE reason = PIO_In(bus, atapi_Reason); - DIRQ(bug("[ATAPI] IRQ: Current status: %ld during WRITE\n", reason)); + ULONG retry_busy, retry_datareq; + +AGAINW: + retry_busy = 5000000; + retry_datareq = 5000; - /* - * have we failed yet? - * CHECKME: This sequence actually can trigger ata_IRQNoData() twice. - * Is this correct ? - */ - if (0 == (status & (ATAF_BUSY | ATAF_DATAREQ))) - ata_IRQNoData(unit, status); - if (status & ATAF_ERROR) +WAITBUSYW: + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); + + retry_busy--; + if (retry_busy == 0) { - ata_IRQNoData(unit, status); + ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + unit->au_cmd_error = HFERR_BadStatus; + DERROR(bug("[ATAPI] ata_IRQPIOWriteAtapi: ERROR = RetryCount (5000000) reached ZERO on ATAF_BUSY clear\n")); return; } - /* anything for us please? */ - if (ATAPIF_WRITE != (reason & ATAPIF_MASK)) + DDD(bug("w")); + if ((status & ATAF_BUSY) != 0) // Wait for BSY to CLEAR + { + goto WAITBUSYW; + } + DDD(bug("\n")); + DATAPI(bug("[ATAPI] ata_IRQPIOWriteAtapi - Status: %lx\n", status)); + +WAITDATAREQW: + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); + + retry_datareq--; + if (retry_datareq == 0) + { + ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + unit->au_cmd_error = HFERR_BadStatus; + DERROR(bug("\n[ATAPI] *** ERROR: ata_IRQPIOWriteAtapi: ERROR = RetryCount (5000) reached ZERO on ATAF_DATAREQ SET\n")); return; + } + DDD(bug("W")); + if ((status & ATAF_DATAREQ) != ATAF_DATAREQ) // Wait for DRQ to SET + { + goto WAITDATAREQW; + } + DDD(bug("\n")); size = PIO_In(bus, atapi_ByteCntH) << 8 | PIO_In(bus, atapi_ByteCntL); - DIRQ(bug("[ATAPI] IRQ: data requested for write (%ld bytes, max: %ld bytes)\n", size, unit->au_cmd_total)); + + DATAPI(bug("[ATAPI] ata_IRQPIOWriteAtapi: WRITE Data size offered from Device : %ld bytes | WRITE Data Buffer: %ld bytes)\n", size, unit->au_cmd_total)); if (size > unit->au_cmd_total) { - DERROR(bug("[ATAPI] IRQ: CRITICAL! MORE DATA REQUESTED THAN STORAGE CAN GIVE: %ld bytes vs %ld bytes left!\n", size, unit->au_cmd_total)); + + DERROR(bug("[ATAPI] ata_IRQPIOWriteAtapi: WARNING: More WRITE Data size offered than available in WRITE Buffer: %ld bytes > %ld bytes\n", size, unit->au_cmd_total)); size = unit->au_cmd_total; } - Unit_OutS(unit, unit->au_cmd_data, size); + if (size > 0) Unit_OutS(unit, unit->au_cmd_data, size); + unit->au_cmd_data = &((UBYTE*)unit->au_cmd_data)[size]; unit->au_cmd_total -= size; - DIRQ(bug("[ATAPI] IRQ: %lu bytes written.\n", size)); + DATAPI(bug("[ATAPI] ata_IRQPIOWriteAtapi: WRITE Data size processed to Device: %lu bytes | WRITE Data Buffer: %lu bytes\n", size, unit->au_cmd_total)); - if (unit->au_cmd_total == 0) + if (unit->au_cmd_total > 0) + { + goto AGAINW; + } else { ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + } + + DERROR(status = PIO_In(unit->au_Bus, ata_Status)); + DERROR(if (status & ATAF_ERROR) bug("[ATAPI] *** ERROR: ata_IRQPIOWriteAtapi - ATAF_ERROR\n")); + + retry_busy = 5000000; + do + { + status = PIO_In(bus, atapi_Status); + ata_WaitNano(400, bus->ab_Base); + retry_busy--; + if (retry_busy == 0) + { + DERROR(bug("[ATAPI] *** ERROR: ata_IRQPIOWriteAtapi - ATAF_BUSY not cleared!\n")); + break; + } + } while ((status & ATAF_BUSY) != 0); // Wait for BSY to CLEAR } -/* - * wait for timeout or drive ready - */ -static BOOL ata_WaitBusyTO(struct ata_Unit *unit, UWORD tout, BOOL irq, - BOOL fake_irq, UBYTE *stout) + +static BOOL ata_WaitBusyTO(struct ata_Unit *unit, UWORD tout, BOOL irq, BOOL fake_irq, UBYTE *stout) { struct ata_Bus *bus = unit->au_Bus; UBYTE status = 0xff; ULONG step = 0; BOOL res = TRUE; - if (bus->ab_Base->ata_Poll) - irq = FALSE; - -// if (irq) -// { -// /* Do not read ata_Status in irq mode. It can cause random lost interrupts. */ -// if (bus->haveAltIO) -// status = PIO_InAlt(bus, ata_AltStatus); -// /* -// * wait for either IRQ or timeout -// */ -// DIRQ(bug("[ATA%02ld] Waiting (Current status: %02lx)...\n", -// unit->au_UnitNum, status)); -// step = ata_WaitTO(unit->au_Bus->ab_Timer, tout, 0, -// 1 << bus->ab_SleepySignal); -// -// if (step == 0) -// { -// DERROR(bug("[ATA%02ld] Timeout while waiting for device to complete" -// " operation\n", unit->au_UnitNum)); -// -// Disable(); -// if (fake_irq) -// { -// /* fake the interrupt we expected */ -// status = PIO_In(bus, ata_Status); -// while (unit->au_Bus->ab_HandleIRQ != NULL) -// unit->au_Bus->ab_HandleIRQ(unit, status); -// } -// else -// { -// /* do nothing if the interrupt eventually arrives */ -// ata_IRQSetHandler(unit, NULL, NULL, 0, 0); -// res = FALSE; -// } -// Enable(); -// } -// } -// else -// { - status = PIO_InAlt(bus, ata_AltStatus); - while (status & ATAF_BUSY) - { - ++step; + status = PIO_InAlt(bus, ata_AltStatus); + while (status & ATAF_BUSY) + { + ++step; - /* - * every 16n rounds do some extra stuff - */ - if ((step & 15) == 0) - // if (1 == 0) + if ((step & 15) == 0) + { + if (step >> 4 > tout * 1000) { - /* - * huhm. so it's been 16n rounds already. any timeout yet? - */ - if (step >> 4 > tout * 1000) - { - DERROR(bug("[ATA%02ld] Device still busy after timeout." - " Aborting\n", unit->au_UnitNum)); - res = FALSE; - break; - } - - /* - * no timeout just yet, but it's not a good idea to keep - * spinning like that. let's give the system some time. - */ - ata_WaitTO(unit->au_Bus->ab_Timer, 0, 1000, 0); + DERROR(bug("[ATA:%02ld] Device still busy after timeout. Aborting\n", unit->au_UnitNum)); + res = FALSE; + break; } - - status = PIO_InAlt(bus, ata_AltStatus); + ata_WaitTO(unit->au_Bus->ab_Timer, 0, 1000, 0); } -// } + status = PIO_InAlt(bus, ata_AltStatus); + } - /* - * get final status and clear any interrupt (may be neccessary if we - * were polling, for example) - */ status = PIO_In(bus, ata_Status); - /* - * be nice to frustrated developer - */ - DIRQ(bug("[ATA%02ld] WaitBusy status: %lx / %ld\n", unit->au_UnitNum, - status, res)); + DDD(bug("[ATA:%02ld] WaitBusy status: %lx / %ld\n", unit->au_UnitNum, status, res)); - /* - * release old junk - */ SetSignal(0, 1 << bus->ab_SleepySignal); - /* - * and say it went fine (i mean it) - */ - if (stout) - *stout = status; + if (stout) *stout = status; return res; } -/* - * Procedure for sending ATA command blocks - * it appears LARGE but there's a lot of COMMENTS here :) - * handles *all* ata commands (no data, pio and dma) - * naturally could be split at some point in the future - * depends if anyone believes that the change for 50 lines - * would make slow ATA transfers any faster - */ + static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) { struct ata_Bus *bus = unit->au_Bus; BYTE err = 0; APTR mem = block->buffer; UBYTE status; - volatile WORD *irqreg; - volatile WORD *irqen; - - if(unit->au_Bus->use_da) - { - irqreg = 0xDA9000; - irqen = 0xDAA000; - } - else - { - irqreg = 0xDD9000; - irqen = 0xDDA000; - } - /* - * Use a short timeout for Identify commands. This is because some bad - * drives make us think that there are two devices on the bus when there - * is really only one, so when we send an Identify command to the phantom - * drive, we can't rely on getting an IRQ. Additionally, some real drives - * don't produce an IRQ when the Identify command is complete, so we call - * the interrupt handler "manually" if we time out while waiting for it. - */ - BOOL fake_irq = block->command == ATA_IDENTIFY_DEVICE - || block->command == ATA_IDENTIFY_ATAPI; + BOOL fake_irq = block->command == ATA_IDENTIFY_DEVICE || block->command == ATA_IDENTIFY_ATAPI; UWORD timeout = fake_irq? 1 : TIMEOUT; - if (FALSE == ata_SelectUnit(unit)) - return IOERR_UNITBUSY; + if (FALSE == ata_SelectUnit(unit)) return IOERR_UNITBUSY; switch (block->type) { @@ -621,24 +447,18 @@ static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) case CT_LBA28: if (block->sectors > 256) { - DERROR(bug("[ATA%02ld] ata_exec_cmd: ERROR: Transfer length (%ld) exceeds 256 sectors. Aborting.\n", unit->au_UnitNum, block->sectors)); + DERROR(bug("[ATA:%02ld] ata_exec_cmd: ERROR: Transfer length (%ld) exceeds 256 sectors. Aborting.\n", unit->au_UnitNum, block->sectors)); return IOERR_BADLENGTH; } - - /* note: - * we want the above to fall in here! - * we really do (checking for secmul) - */ - case CT_LBA48: if (block->sectors > 65536) { - DERROR(bug("[ATA%02ld] ata_exec_cmd: ERROR: Transfer length (%ld) exceeds 65536 sectors. Aborting.\n", unit->au_UnitNum, block->sectors)); + DERROR(bug("[ATA:%02ld] ata_exec_cmd: ERROR: Transfer length (%ld) exceeds 65536 sectors. Aborting.\n", unit->au_UnitNum, block->sectors)); return IOERR_BADLENGTH; } if (block->secmul == 0) { - DERROR(bug("[ATA%02ld] ata_exec_cmd: ERROR: Invalid transfer multiplier. Should be at least set to 1 (correcting)\n", unit->au_UnitNum)); + DERROR(bug("[ATA:%02ld] ata_exec_cmd: ERROR: Invalid transfer multiplier. Should be at least set to 1 (correcting)\n", unit->au_UnitNum)); block->secmul = 1; } break; @@ -647,25 +467,22 @@ static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) break; default: - DERROR(bug("[ATA%02ld] ata_exec_cmd: ERROR: Invalid command type %lx. Aborting.\n", unit->au_UnitNum, block->type)); + DERROR(bug("[ATA:%02ld] ata_exec_cmd: ERROR: Invalid command type %lx. Aborting.\n", unit->au_UnitNum, block->type)); return IOERR_NOCMD; } block->actual = 0; - D(bug("[ATA%02ld] ata_exec_cmd: Executing command %02lx\n", unit->au_UnitNum, block->command)); + DDD(bug("[ATA:%02ld] ata_exec_cmd: Executing command %02lx\n", unit->au_UnitNum, block->command)); - if (block->feature != 0) - PIO_Out(bus, block->feature, ata_Feature); + if (block->feature != 0) PIO_Out(bus, block->feature, ata_Feature); + + ULONG piolen = block->length; + ULONG blklen = block->secmul << unit->au_SectorShift; - ULONG piolen = block->length; - ULONG blklen = block->secmul << unit->au_SectorShift; - /* - * - set LBA and sector count - */ switch (block->type) { case CT_CHS: - DATA(bug("[ATA%02ld] ata_exec_cmd: Command uses CHS addressing (OLD)\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_exec_cmd: Command uses CHS addressing (OLD)\n", unit->au_UnitNum)); { ULONG cyl, head, sector; ULONG tmp = unit->au_Heads * unit->au_Sectors; @@ -681,7 +498,7 @@ static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) } break; case CT_LBA28: - DATA(bug("[ATA%02ld] ata_exec_cmd: Command uses 28bit LBA addressing (OLD)\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_exec_cmd: Command uses 28bit LBA addressing (OLD)\n", unit->au_UnitNum)); PIO_Out(bus, ((block->blk >> 24) & 0x0f) | DEVHEAD_VAL | unit->au_DevMask, ata_DevHead); PIO_Out(bus, block->blk >> 16, ata_LBAHigh); @@ -691,7 +508,7 @@ static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) break; case CT_LBA48: - DATA(bug("[ATA%02ld] ata_exec_cmd: Command uses 48bit LBA addressing (NEW)\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_exec_cmd: Command uses 48bit LBA addressing (NEW)\n", unit->au_UnitNum)); PIO_Out(bus, DEVHEAD_VAL | unit->au_DevMask, ata_DevHead); PIO_Out(bus, block->blk >> 40, ata_LBAHigh); @@ -707,255 +524,277 @@ static BYTE ata_exec_cmd(struct ata_Unit* unit, ata_CommandBlock *block) break; case CT_NoBlock: - DATA(bug("[ATA%02ld] ata_exec_cmd: Command does not address any block\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_exec_cmd: Command does not address any block\n", unit->au_UnitNum)); break; } switch (block->method) { case CM_PIOWrite: -// ata_IRQSetHandler(unit, &ata_IRQPIOWrite, mem, block->secmul << unit->au_SectorShift, block->length); - break; - - case CM_PIORead: - //ata_IRQSetHandler(unit, &ata_IRQPIORead, mem, block->secmul << unit->au_SectorShift, block->length); - break; - - case CM_DMARead: - break; - - case CM_DMAWrite: - break; - - case CM_NoData: - ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); - break; - - default: - return IOERR_NOCMD; - break; - }; - - /* - * send command now - * let drive propagate its signals - */ - DATA(bug("[ATA%02ld] ata_exec_cmd: Sending command\n", unit->au_UnitNum)); - - if (block->method == CM_PIORead) { - *irqen=0x0000; PIO_OutAlt(bus, ATACTLF_INT_DISABLE, ata_AltControl); PIO_Out(bus, block->command, ata_Command); - - ata_WaitNano(400, bus->ab_Base); - unit->au_cmd_error = 0; unit->au_cmd_data = mem; piolen = block->length; blklen = block->secmul << unit->au_SectorShift; unit->au_cmd_length = (piolen < blklen) ? piolen : blklen; unit->au_cmd_total = piolen; - ata_IRQPIORead(unit, ATAF_BUSY); - *irqreg=0x0000; + ata_IRQPIOWrite(unit, ATAF_BUSY); + break; - }else if (block->method == CM_PIOWrite) { - *irqen=0x0000; + case CM_PIORead: PIO_OutAlt(bus, ATACTLF_INT_DISABLE, ata_AltControl); PIO_Out(bus, block->command, ata_Command); - - ata_WaitNano(400, bus->ab_Base); - unit->au_cmd_error = 0; unit->au_cmd_data = mem; - piolen = block->length; - blklen = block->secmul << unit->au_SectorShift; + piolen = block->length; + blklen = block->secmul << unit->au_SectorShift; unit->au_cmd_length = (piolen < blklen) ? piolen : blklen; unit->au_cmd_total = piolen; - ata_IRQPIOWrite(unit, ATAF_BUSY); - - }else{ - // *irqen=0x8000; - // PIO_OutAlt(bus, 0x0, ata_AltControl); - PIO_Out(bus, block->command, ata_Command); + ata_IRQPIORead(unit, ATAF_BUSY); + break; + + case CM_NoData: + ata_IRQSetHandler(unit, &ata_IRQNoData, NULL, 0, 0); + break; + default: + return IOERR_NOCMD; + break; }; - /* - * In case of PIO write the drive won't issue an IRQ before first - * data transfer, so we should poll the status and send the first - * block upon request. - */ -// if (block->method == CM_PIOWrite) -// { -// if (FALSE == ata_WaitBusyTO(unit, TIMEOUT, FALSE, FALSE, &status)) { -// DERROR(bug("[ATA%02ld] ata_exec_cmd: PIOWrite - no response from device. Status %02X\n", unit->au_UnitNum, status)); -// return IOERR_UNITBUSY; -// } -// if (status & ATAF_DATAREQ) { -// DATA(bug("[ATA%02ld] ata_exec_cmd: PIOWrite - DRQ.\n", unit->au_UnitNum)); -// ata_PIOWriteBlk(unit); -// } -// else -// { -// DERROR(bug("[ATA%02ld] ata_exec_cmd: PIOWrite - bad status: %02X\n", status)); -// return HFERR_BadStatus; -// } -// } - - /* - * wait for drive to complete what it has to do - */ if (FALSE == ata_WaitBusyTO(unit, timeout, TRUE, fake_irq, &status)) { DERROR(bug("[ATA%02ld] ata_exec_cmd: Device is late - no response\n", unit->au_UnitNum)); err = IOERR_UNITBUSY; - } - else + } else { err = unit->au_cmd_error; + } - DATA(bug("[ATA%02ld] ata_exec_cmd: Command done\n", unit->au_UnitNum)); - + DDD(bug("[ATA:%02ld] ata_exec_cmd: Command done -> return code %ld\n", unit->au_UnitNum, err)); - D(bug("[ATA%02ld] ata_exec_cmd: return code %ld\n", unit->au_UnitNum, err)); return err; } -/* - * atapi packet iface - */ -static BYTE atapi_SendPacket(struct ata_Unit *unit, APTR packet, APTR data, - LONG datalen, BOOL *dma, BOOL write) + +static BYTE atapi_SendPacket(struct ata_Unit *unit, struct SCSICmd *scsi_cmd) { struct ata_Bus *bus = unit->au_Bus; - *dma = *dma && (unit->au_Flags & AF_DMA) ? TRUE : FALSE; + LONG err = 0; + UBYTE status; - UBYTE cmd[12] = { - 0 - }; + UBYTE *atapi_command = scsi_cmd->scsi_Command; + ULONG atapi_lenght = scsi_cmd->scsi_Length; + UWORD *atapi_data = scsi_cmd->scsi_Data; + BOOL atapi_write = (scsi_cmd->scsi_Flags & SCSIF_READ) == 0; + + ULONG retry_busy = 200000; + ULONG retry_datareq = 5000; + + // Translate atapi_cmd to atapi_packet + + UBYTE atapi_packet[12] = {0}; register int t=5,l=0; - if (((UBYTE*)packet)[0] > 0x1f) - t+= 4; - if (((UBYTE*)packet)[0] > 0x5f) - t+= 2; - - switch (((UBYTE*)packet)[0]) - { - case 0x28: // read10 - case 0xa8: // read12 - case 0xbe: // readcd - case 0xb9: // readcdmsf - case 0x2f: // verify - case 0x2a: // write - case 0xaa: // write12 - case 0x2e: // writeverify - case 0xad: // readdvdstructure - case 0xa4: // reportkey - case 0xa3: // sendkey - break; - default: - *dma = FALSE; - } + if (((UBYTE*)atapi_command)[0] > 0x1f) t+= 4; + if (((UBYTE*)atapi_command)[0] > 0x5f) t+= 2; while (l<=t) { - cmd[l] = ((UBYTE*)packet)[l]; + atapi_packet[l] = ((UBYTE*)atapi_command)[l]; ++l; } - + DATAPI({ - bug("[ATA%02lx] Sending %s ATA packet: ", unit->au_UnitNum, (*dma) ? "DMA" : "PIO"); + bug("[ATA:%02lx] atapi_SendPacket - Prepared ATAPI packet: ", unit->au_UnitNum); l=0; - while (l<=t) + while (l<12) { - bug("%02lx ", ((UBYTE*)cmd)[l]); + bug("%02lx ", ((UBYTE*)atapi_packet)[l]); ++l; } bug("\n"); - if (datalen & 1) - bug("[ATAPI] ERROR: DATA LENGTH NOT EVEN! Rounding Up! (%ld bytes requested)\n", datalen); + DERROR(if (atapi_lenght & 1) bug("[ATAPI] atapi_SendPacket - ERROR: DATA LENGTH NOT EVEN! Rounding Up! (%ld bytes requested)\n", atapi_lenght)); }); - datalen = (datalen+1)&~1; + atapi_lenght = (atapi_lenght + 1) & ~1; - if (FALSE == ata_SelectUnit(unit)) + if (ata_SelectUnit(unit) == FALSE) { - DATAPI(bug("[ATAPI] WaitBusy failed at first check\n")); + DERROR(bug("[ATAPI] atapi_SendPacket - WaitBusy failed at first check\n")); return IOERR_UNITBUSY; } - /* - * tell device whether we want to read or write and if we want a dma transfer - */ - PIO_Out(bus, - ((*dma) ? 1 : 0) | (((unit->au_Drive->id_DMADir & 0x8000) && !write) ? 4 : 0), - atapi_Features); - PIO_Out(bus, (datalen & 0xff), atapi_ByteCntL); - PIO_Out(bus, (datalen >> 8) & 0xff, atapi_ByteCntH); + do + { + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); + DDD(bug("B")); - /* - * once we're done with that, we can go ahead and inform device that we're about to send atapi packet - * after command is dispatched, we are obliged to give 400ns for the unit to parse command and set status - */ - DATAPI(bug("[ATAPI] Issuing ATA_PACKET command.\n")); - ata_IRQSetHandler(unit, &ata_IRQNoData, 0, 0, 0); - PIO_Out(bus, ATA_PACKET, atapi_Command); - ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(unit->au_Bus->ab_Timer, 0, 1, 0); + retry_busy--; + if (retry_busy == 0) + { + DDD(bug("\n")); + DERROR(bug("[ATAPI] atapi_SendPacket - ERROR: ATAF_BUSY | ATAF_DATAREQ not cleared, status = %u\n", status)); + return HFERR_BadStatus; + } + } while ((status & (ATAF_BUSY | ATAF_DATAREQ)) != 0); // Wait for BSY and DRQ to CLEAR + DDD(bug("\n")); - ata_WaitBusyTO(unit, TIMEOUT, (unit->au_Drive->id_General & 0x60) == 0x20, - FALSE, NULL); - if (0 == (ata_ReadStatus(bus) & ATAF_DATAREQ)) - return HFERR_BadStatus; + DDD(bug("[ATAPI] atapi_SendPacket - Data Lenght = %u\n", atapi_lenght)); + PIO_Out(bus, (atapi_lenght & 0xff), atapi_ByteCntL); + PIO_Out(bus, (atapi_lenght >> 8) & 0xff, atapi_ByteCntH); + + DDD(status = PIO_In(bus, ata_Status)); + DDD(bug("[ATAPI] atapi_SendPacket - Status after atapi_ByteCntL/H: %lx\n", status)); - /* - * setup appropriate hooks - */ - if (datalen == 0) - ata_IRQSetHandler(unit, &ata_IRQNoData, 0, 0, 0); - else if (write) - ata_IRQSetHandler(unit, &ata_IRQPIOWriteAtapi, data, 0, datalen); - else - ata_IRQSetHandler(unit, &ata_IRQPIOReadAtapi, data, 0, datalen); + PIO_OutAlt(bus, ATACTLF_INT_DISABLE, ata_AltControl); + PIO_Out(bus, ATA_PACKET, atapi_Command); - if (*dma) + do { - DATAPI(bug("[ATAPI] Starting DMA\n")); - DMA_Start(bus); - } - - DATAPI(bug("[ATAPI] Sending packet\n")); - Unit_OutS(unit, cmd, 12); + status = PIO_In(unit->au_Bus, ata_Status); + ata_WaitNano(400, bus->ab_Base); + DDD(bug("D")); + retry_datareq--; + if (retry_datareq == 0) + { + DDD(bug("\n")); + DERROR(bug("[ATAPI] atapi_SendPacket - ERROR: ATAF_DATAREQ not set!")); + return HFERR_BadStatus; + } + } while ((status & ATAF_DATAREQ) != ATAF_DATAREQ); // Wait for DRQ to SET + DDD(bug("\n")); + + if (atapi_lenght == 0) ata_IRQSetHandler(unit, &ata_IRQNoData, 0, 0, 0); + else if (atapi_write) ata_IRQSetHandler(unit, &ata_IRQPIOWriteAtapi, atapi_data, 0, atapi_lenght); + else ata_IRQSetHandler(unit, &ata_IRQPIOReadAtapi, atapi_data, 0, atapi_lenght); + + Unit_OutS(unit, atapi_packet, 12); ata_WaitNano(400, bus->ab_Base); - DATAPI(bug("[ATAPI] Status after packet: %lx\n", ata_ReadAltStatus(bus))); + status = PIO_In(bus, ata_Status); + DDD(bug("[ATAPI] atapi_SendPacket - Status after atapi_packet: %lx\n", status)); - /* - * Wait for command to complete. Note that two interrupts will occur - * before we wake up if this is a PIO data transfer - */ - if (ata_WaitTO(unit->au_Bus->ab_Timer, TIMEOUT, 0, - 1 << unit->au_Bus->ab_SleepySignal) == 0) + if (status & ATAF_ERROR) // Check for BUS Error { - DATAPI(bug("[DSCSI] Command timed out.\n")); - err = IOERR_UNITBUSY; - } - else - err = atapi_EndCmd(unit); + DERROR(bug("[ATAPI] atapi_SendPacket - BUS Error (Bad Status)\n")); + return HFERR_BadStatus; + } - if (*dma) + if (atapi_lenght > 0) { - DMA_End(bus, data, datalen, !write); + if (atapi_write) + { + DDD(bug("[ATAPI] atapi_SendPacket - Start ata_IRQPIOWriteAtapi\n")); + ata_IRQPIOWriteAtapi(unit, ATAF_BUSY); + } else { + DDD(bug("[ATAPI] atapi_SendPacket - Start ata_IRQPIOReadAtapi\n")); + ata_IRQPIOReadAtapi(unit, ATAF_BUSY); + } } - DATAPI(bug("[ATAPI] IO error code %ld\n", err)); + scsi_cmd->scsi_Actual = (atapi_lenght - unit->au_cmd_total); + + err = atapi_EndCmd(unit); + return err; } static BYTE atapi_DirectSCSI(struct ata_Unit *unit, struct SCSICmd *cmd) { + BYTE err = 0; + BOOL dma = FALSE; + + UBYTE cmd_read_capacity[10] = {0x25,0,0,0,0,0,0,0,0,0}; + + cmd->scsi_Actual = 0; + unit->au_cmd_error = 0; + + if(cmd->scsi_Command[0] == 0x25) cmd->scsi_Command = (UBYTE*)&cmd_read_capacity; + + if(cmd->scsi_Command[0] == 0x1a) // MODE SENSE (6) must be translated to MODE SENSE (10) for ATAPI + { + UBYTE *modetendata = NULL; + UBYTE *modesixdata = (UBYTE*)cmd->scsi_Data;; + ULONG modetendatalenght = cmd->scsi_Command[4] + 4; // Adjust MODESENSE(6->10) Lenght + + struct SCSICmd *modeten = NULL; + + modetendata = AllocMem(modetendatalenght, MEMF_ANY|MEMF_CLEAR); // Create MODESENSE(10) Data Buffer + + UBYTE *modetencommand = NULL; + modetencommand = AllocMem(10, MEMF_ANY|MEMF_CLEAR); // Create SCSI Command Array[10] + modeten = AllocMem(sizeof(struct SCSICmd), MEMF_ANY|MEMF_CLEAR); // Create new SCSI Command for MODESENSE(10) + + modeten->scsi_Command = (UBYTE*)modetencommand; + modeten->scsi_CmdLength = 10; + modeten->scsi_Data = (UWORD*)modetendata; + modeten->scsi_Length = modetendatalenght; + modeten->scsi_SenseData = NULL; + modeten->scsi_Flags = SCSIF_READ; + + modeten->scsi_Command[0] = 0x5a; + modeten->scsi_Command[1] = cmd->scsi_Command[1]; + modeten->scsi_Command[2] = cmd->scsi_Command[2]; + modeten->scsi_Command[3] = cmd->scsi_Command[3]; + modeten->scsi_Command[7] = ( (modetendatalenght >> 8 ) & 0xFF ); // High Byte + modeten->scsi_Command[8] = modetendatalenght; // Low Byte + + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: 0x1a = MODESENSE(6) translate to 0x1a = MODESENSE(10) | DATA Lenght: %u\n", unit->au_UnitNum, modeten->scsi_Length)); + + err = atapi_SendPacket(unit, modeten); + + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: 0x5a = MODESENSE(10) translate to 0x1a = MODESENSE(6) | DATA Lenght: %u\n", unit->au_UnitNum, modeten->scsi_Actual)); + + if ( (err == 0) && (modeten->scsi_Status == 0)) + { + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: Part #1\n", unit->au_UnitNum)); + + modesixdata[0] = (modetendata[1] - 3); // Response lenght adjusment -3 + modesixdata[1] = modetendata[2]; + modesixdata[2] = modetendata[3]; + modesixdata[3] = modetendata[7]; + + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: Part #2\n", unit->au_UnitNum)); + for (int i = 0 ; i < (modeten->scsi_Actual - 8) ; i++ ) + { + modesixdata[i+4] = modetendata[i+8]; + DATAPI(bug("*")); + } + cmd->scsi_Actual = modeten->scsi_Actual - 4; + cmd->scsi_Status = 0; + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: SUCCESS\n", unit->au_UnitNum)); + } else { + cmd->scsi_Status = 2; + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: FAIL: ATAPI_ERROR = %u | SCSI_STATUS = %u\n", unit->au_UnitNum, err, modeten->scsi_Status)); + } + + cmd->scsi_CmdActual = cmd->scsi_CmdLength; + cmd->scsi_SenseActual = modeten->scsi_SenseActual; + + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: Releasing MODESENSE(10) allocations\n", unit->au_UnitNum)); + + FreeMem(modetendata, modetendatalenght); + FreeMem(modetencommand, 10); + FreeMem(modeten, sizeof(struct SCSICmd)); + + } else { + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: Sending ATAPI packet\n", unit->au_UnitNum)); + err = atapi_SendPacket(unit, cmd); + } + + DATAPI(bug("[ATA:%02lx] atapi_DirectSCSI: SCSI Flags: %02lx / Error: %ld\n", unit->au_UnitNum, cmd->scsi_Flags, err)); + + if ((err != 0) && (cmd->scsi_Flags & SCSIF_AUTOSENSE)) + { + DERROR(bug("[DSCSI] atapi_DirectSCSI: Calling atapi_RequestSense\n")); + atapi_RequestSense(unit, cmd->scsi_SenseData, cmd->scsi_SenseLength); + } + + return err; } /* @@ -971,76 +810,75 @@ static BYTE ata_exec_blk(struct ata_Unit *unit, ata_CommandBlock *blk) APTR buffer = blk->buffer; IPTR bounce_buffer_length = 0; - if (blk->type == CT_LBA48) - max <<= 8; + if (blk->type == CT_LBA48) max <<= 8; + DDD(bug("[ATA:%02ld] ata_exec_blk: Accessing %ld sectors starting from %x%08x\n", unit->au_UnitNum, count, (ULONG)(blk->blk >> 32), (ULONG)blk->blk)); - DATA(bug("[ATA%02ld] ata_exec_blk: Accessing %ld sectors starting from %x%08x\n", unit->au_UnitNum, count, (ULONG)(blk->blk >> 32), (ULONG)blk->blk)); while ((count > 0) && (err == 0)) { part = (count > max) ? max : count; blk->sectors = part; blk->length = part << unit->au_SectorShift; - DATA(bug("[ATA%02ld] Transfer of %ld sectors from %x%08x\n", unit->au_UnitNum, part, (ULONG)(blk->blk >> 32), (ULONG)blk->blk)); - // If bounce buffer is active, + DDD(bug("[ATA:%02ld] Transfer of %ld sectors from %x%08x\n", unit->au_UnitNum, part, (ULONG)(blk->blk >> 32), (ULONG)blk->blk)); + err = ata_exec_cmd(unit, blk); - DATA(bug("[ATA%02ld] ata_exec_blk: ata_exec_cmd returned %lx\n", unit->au_UnitNum, err)); + DDD(bug("[ATA:%02ld] ata_exec_blk: ata_exec_cmd returned %lx\n", unit->au_UnitNum, err)); blk->buffer = (APTR)((IPTR)blk->buffer + (part << unit->au_SectorShift)); blk->blk += part; count -= part; } - return err; } -/* - * Initial device configuration that suits *all* cases - */ + void ata_init_unit(struct ata_Bus *bus, struct ata_Unit *unit, UBYTE u) { struct ataBase *ATABase = bus->ab_Base; OOP_Object *obj = OOP_OBJECT(ATABase->busClass, bus); - unit->au_Bus = bus; - unit->pioInterface = bus->pioInterface; - unit->au_UnitNum = bus->ab_BusNum << 1 | u; // b << 8 | u - unit->au_DevMask = 0xa0 | (u << 4); + UWORD ApolloBoardID = *(volatile UWORD *)0xdff3fc; + ApolloBoardID = ApolloBoardID >> 8; - DINIT(bug("[ATA%02u] ata_init_unit: bus %u unit %d\n", unit->au_UnitNum, bus->ab_BusNum, u)); + unit->au_Bus = bus; + unit->pioInterface = bus->pioInterface; + unit->au_UnitNum = bus->ab_BusNum << 1 | u; + unit->au_DevMask = 0xa0 | (u << 4); - /* Set PIO transfer functions, either 16 or 32 bits */ - if (ATABase->ata_32bit && OOP_GET(obj, aHidd_ATABus_Use32Bit)) - Unit_Enable32Bit(unit); - else - Unit_Disable32Bit(unit); + BOOL atapi = unit->au_Bus->ab_Dev[unit->au_UnitNum & 1] & 0x80; + + if (atapi) + { + unit->au_UseModes &= ~AF_XFER_PIO32; + unit->au_ins = bus->pioVectors->ata_insw; + unit->au_outs = bus->pioVectors->ata_outsw; + DINIT(bug("[ATA:%02u] ata_init_unit: BUS = %u | UNIT = %d | PIO = ATAPI (16-Bit)\n", unit->au_UnitNum, bus->ab_BusNum, u);) + } else { + unit->au_UseModes |= AF_XFER_PIO32; + unit->au_ins = bus->pioVectors->ata_insl; + unit->au_outs = bus->pioVectors->ata_outsl; + DINIT(bug("[ATA:%02u] ata_init_unit: BUS = %u | UNIT = %d | PIO = ATA (32-Bit)\n", unit->au_UnitNum, bus->ab_BusNum, u);) + } } BOOL ata_setup_unit(struct ata_Bus *bus, struct ata_Unit *unit) { - /* - * this stuff always goes along the same way - * WARNING: NO INTERRUPTS AT THIS POINT! - */ UBYTE u; - DINIT(bug("[ATA ] ata_setup_unit(%d)\n", unit->au_UnitNum)); + DINIT(bug("[ATA:%02ld] ata_setup_unit\n", unit->au_UnitNum);) ata_SelectUnit(unit); if (FALSE == ata_WaitBusyTO(unit, 1, FALSE, FALSE, NULL)) { - DINIT(bug("[ATA%02ld] ata_setup_unit: ERROR: Drive not ready for use. Keeping functions stubbed\n", unit->au_UnitNum)); + DERROR(bug("[ATA:%02ld] ata_setup_unit: ERROR: Drive not ready for use. Keeping functions stubbed\n", unit->au_UnitNum)); return FALSE; } u = unit->au_UnitNum & 1; switch (bus->ab_Dev[u]) { - /* - * safe fallback settings - */ case DEV_SATAPI: case DEV_ATAPI: case DEV_SATA: @@ -1049,16 +887,10 @@ BOOL ata_setup_unit(struct ata_Bus *bus, struct ata_Unit *unit) break; default: - DINIT(bug("[ATA%02ld] ata_setup_unit: Unsupported device %lx. All functions will remain stubbed.\n", unit->au_UnitNum, bus->ab_Dev[u])); + DINIT(bug("[ATA:%02ld] ata_setup_unit: Unsupported device %lx. All functions will remain stubbed.\n", unit->au_UnitNum, bus->ab_Dev[u]);) return FALSE; } - DINIT(bug("[ATA ] ata_setup_unit: Enabling IRQs\n")); -// PIO_OutAlt(bus, 0x0, ata_AltControl); - - /* - * now make unit self diagnose - */ if (unit->au_Identify(unit) != 0) { return FALSE; @@ -1067,9 +899,7 @@ BOOL ata_setup_unit(struct ata_Bus *bus, struct ata_Unit *unit) return TRUE; } -/* - * ata[pi] identify - */ + static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) { struct ata_Bus *bus = unit->au_Bus; @@ -1080,38 +910,12 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) support. * CHECKME: Current code lives with what machine's firmware has set for us. Looks * like all firmwares set up the best DMA mode. But what if the firmware - * didn't set it up for some reason (the add-on controller which has been - * ignored by it - * for example) ? Shouldn't we check unit->au_UseModes here ? - */ -#if 0 - struct ataBase *ATABase = bus->ab_Base; - OOP_Object *obj = OOP_OBJECT(ATABase->busClass, bus); - UBYTE type=0; - ata_CommandBlock acb = - { - ATA_SET_FEATURES, - 0x03, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - CM_NoData, - CT_LBA28 - }; -#endif - DINIT(bug("[ATA%02ld] common_SetXferMode: Trying to set mode %d\n", unit->au_UnitNum, mode)); + * didn't set it up for some reason (the add-on controller which has been + * ignored by it + * for example) ? Shouldn't we check unit->au_UseModes here ? + */ - /* CHECKME: This condition should be not needed. */ - if ((!bus->dmaVectors) && (mode >= AB_XFER_MDMA0)) - { - DINIT(bug("[ATA%02ld] common_SetXferMode: This controller does not own DMA port! Will set best PIO\n", unit->au_UnitNum)); - common_SetBestXferMode(unit); - return; - } + DINIT(bug("[ATA:%02ld] common_SetXferMode: Trying to set mode %d\n", unit->au_UnitNum, mode)); /* * first, ONLY for ATA devices, set new commands @@ -1173,7 +977,7 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) acb.sectors = type; if (0 != ata_exec_cmd(unit, &acb)) { - DINIT(bug("[ATA%02ld] common_SetXferMode: ERROR: Failed to apply new xfer mode.\n", unit->au_UnitNum)); + DINIT(bug("[ATA:%02ld] common_SetXferMode: ERROR: Failed to apply new xfer mode.\n", unit->au_UnitNum)); } if (!HIDD_ATABus_SetXferMode(obj, mode)) @@ -1195,17 +999,143 @@ static void common_SetXferMode(struct ata_Unit* unit, ata_XferMode mode) } else { - unit->au_UseModes &= ~AF_XFER_DMA_MASK; - unit->au_Flags &= ~AF_DMA; + unit->au_UseModes &= ~AF_XFER_DMA_MASK; + unit->au_Flags &= ~AF_DMA; } } static void common_SetBestXferMode(struct ata_Unit* unit) { + struct ata_Bus *bus = unit->au_Bus; + struct ataBase *ATABase = bus->ab_Base; + OOP_Object *obj = OOP_OBJECT(ATABase->busClass, bus); + int iter; + int max = AB_XFER_UDMA6; + + if ((!bus->dmaInterface) + || ( !(unit->au_Drive->id_MWDMASupport & 0x0700) + && !(unit->au_Drive->id_UDMASupport & 0x7f00))) + { + /* + * make sure you reduce scan search to pio here! + * otherwise this and above function will fall into infinite loop + */ + DINIT(bug("[ATA:%02ld] common_SetBestXferMode: DMA is disabled for this drive.\n", unit->au_UnitNum)); + max = AB_XFER_PIO4; + } + else if (!OOP_GET(obj, aHidd_ATABus_Use80Wire)) + { + DINIT(bug("[ATA:%02ld] common_SetBestXferMode: An 80-wire cable has not been detected for this drive. Disabling modes above UDMA2.\n", unit->au_UnitNum)); + max = AB_XFER_UDMA2; + } + + for (iter=max; iter>=AB_XFER_PIO0; --iter) + { + if (unit->au_XferModes & (1<au_UnitNum);) + common_SetXferMode(unit, AB_XFER_PIO0); } static void common_DetectXferModes(struct ata_Unit* unit) { + int iter; + + DINIT(bug("[ATA:%02ld] common_DetectXferModes: Supports\n", unit->au_UnitNum)); + + if (unit->au_Drive->id_Commands4 & (1 << 4)) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - Packet interface\n", unit->au_UnitNum)); + unit->au_XferModes |= AF_XFER_PACKET; + unit->au_DirectSCSI = atapi_DirectSCSI; + } + else if (unit->au_Drive->id_Commands5 & (1 << 10)) + { + /* ATAPI devices do not use this bit. */ + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - 48bit I/O\n", unit->au_UnitNum)); + unit->au_XferModes |= AF_XFER_48BIT; + } + + if ((unit->au_XferModes & AF_XFER_PACKET) || (unit->au_Drive->id_Capabilities & (1<< 9))) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - LBA Addressing\n", unit->au_UnitNum)); + unit->au_XferModes |= AF_XFER_LBA; + unit->au_UseModes |= AF_XFER_LBA; + } + else + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - DEVICE DOES NOT SUPPORT LBA ADDRESSING >> THIS IS A POTENTIAL PROBLEM <<\n", unit->au_UnitNum)); + unit->au_Flags |= AF_CHSOnly; + } + + if (unit->au_Drive->id_RWMultipleSize & 0xff) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - R/W Multiple (%ld sectors per xfer)\n", unit->au_UnitNum, unit->au_Drive->id_RWMultipleSize & 0xff)); + unit->au_XferModes |= AF_XFER_RWMULTI; + } + + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - PIO0 PIO1 PIO2 ", unit->au_UnitNum)); + + unit->au_XferModes |= AF_XFER_PIO(0) | AF_XFER_PIO(1) | AF_XFER_PIO(2); + if (unit->au_Drive->id_ConfigAvailable & (1 << 1)) + { + for (iter = 0; iter < 2; iter++) + { + if (unit->au_Drive->id_PIOSupport & (1 << iter)) + { + DINIT(bug("PIO%ld ", 3 + iter)); + unit->au_XferModes |= AF_XFER_PIO(3 + iter); + } + } + DINIT(bug("\n")); + } + + if ((unit->au_Drive->id_ConfigAvailable & (1 << 1)) && + (unit->au_Drive->id_Capabilities & (1<<8))) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: DMA:\n", unit->au_UnitNum)); + if (unit->au_Drive->id_MWDMASupport & 0xff) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - ", unit->au_UnitNum)); + for (iter = 0; iter < 3; iter++) + { + if (unit->au_Drive->id_MWDMASupport & (1 << iter)) + { + unit->au_XferModes |= AF_XFER_MDMA(iter); + if (unit->au_Drive->id_MWDMASupport & (256 << iter)) + { + unit->au_UseModes |= AF_XFER_MDMA(iter); + DINIT(bug("[MDMA%ld] ", iter)); + } + DINIT(else bug("MDMA%ld ", iter);) + } + } + DINIT(bug("\n")); + } + + if (unit->au_Drive->id_UDMASupport & 0xff) + { + DINIT(bug("[ATA:%02ld] common_DetectXferModes: - ", unit->au_UnitNum)); + for (iter = 0; iter < 7; iter++) + { + if (unit->au_Drive->id_UDMASupport & (1 << iter)) + { + unit->au_XferModes |= AF_XFER_UDMA(iter); + if (unit->au_Drive->id_UDMASupport & (256 << iter)) + { + unit->au_UseModes |= AF_XFER_UDMA(iter); + DINIT(bug("[UDMA%ld] ", iter)); + } + DINIT(else bug("UDMA%ld ", iter);) + } + } + DINIT(bug("\n")); + } + } } #define SWAP_LE_WORD(x) (x) = AROS_LE2WORD((x)) @@ -1216,46 +1146,24 @@ static BYTE ata_Identify(struct ata_Unit *unit) { BOOL atapi = unit->au_Bus->ab_Dev[unit->au_UnitNum & 1] & 0x80; BOOL supportLBA, supportLBA48; - ata_CommandBlock acb = - { - atapi ? ATA_IDENTIFY_ATAPI : ATA_IDENTIFY_DEVICE, - 0, - 1, - 0, - 0, - 0, - unit->au_Drive, - sizeof(struct DriveIdent), - 0, - CM_PIORead, - CT_NoBlock - }; + ata_CommandBlock acb = {atapi ? ATA_IDENTIFY_ATAPI : ATA_IDENTIFY_DEVICE,0,1,0,0,0,unit->au_Drive,sizeof(struct DriveIdent),0,CM_PIORead,CT_NoBlock}; UWORD n = 0, *p, *limit; - /* If the right command fails, try the wrong one. If both fail, abort */ - DINIT(bug("[ATA%02ld] ata_Identify: Executing ATA_IDENTIFY_%s command\n", - unit->au_UnitNum, atapi ? "ATAPI" : "DEVICE")); + DINIT(bug("[ATA:%02ld] ata_Identify: Executing ATA_IDENTIFY_%s command\n", unit->au_UnitNum, atapi ? "ATAPI" : "DEVICE");) if (ata_exec_cmd(unit, &acb)) { acb.command = atapi ? ATA_IDENTIFY_DEVICE : ATA_IDENTIFY_ATAPI; - DINIT(bug("[ATA%02ld] ata_Identify: Executing ATA_IDENTIFY_%s command" - " instead\n", unit->au_UnitNum, atapi ? "DEVICE" : "ATAPI")); + DINIT(bug("[ATA:%02ld] ata_Identify: Executing ATA_IDENTIFY_%s command instead\n", unit->au_UnitNum, atapi ? "DEVICE" : "ATAPI");) if (ata_exec_cmd(unit, &acb)) { - DINIT(bug("[ATA%02ld] ata_Identify: Both command variants failed." - " Discarding drive.\n", - unit->au_UnitNum)); + DINIT(bug("[ATA:%02ld] ata_Identify: Both command variants failed. Discarding drive.\n", unit->au_UnitNum);) return IOERR_OPENFAIL; } unit->au_Bus->ab_Dev[unit->au_UnitNum & 1] ^= 0x82; atapi = unit->au_Bus->ab_Dev[unit->au_UnitNum & 1] & 0x80; - DINIT(bug("[ATA%02ld] ata_Identify:" - " Incorrect device signature detected." - " Switching device type to %lx.\n", unit->au_UnitNum, - unit->au_Bus->ab_Dev[unit->au_UnitNum & 1])); + DINIT(bug("[ATA:%02ld] ata_Identify: Incorrect device signature detected. Switching device type to %lx.\n", unit->au_UnitNum, unit->au_Bus->ab_Dev[unit->au_UnitNum & 1]);) } -// needed GUNNAR! #if (AROS_BIG_ENDIAN != 0) SWAP_LE_WORD(unit->au_Drive->id_General); SWAP_LE_WORD(unit->au_Drive->id_OldCylinders); @@ -1301,20 +1209,24 @@ static BYTE ata_Identify(struct ata_Unit *unit) SWAP_LE_WORD(unit->au_Drive->id_PhysSectorSize); SWAP_LE_WORD(unit->au_Drive->id_RemMediaStatusNotificationFeatures); SWAP_LE_WORD(unit->au_Drive->id_SecurityStatus); - SWAP_LE_LONG(unit->au_Drive->id_WordsPerLogicalSector); SWAP_LE_LONG(unit->au_Drive->id_LBASectors); SWAP_LE_LONG(unit->au_Drive->id_StreamingGranularity); - SWAP_LE_QUAD(unit->au_Drive->id_LBA48Sectors); #endif - - - - - DUMP(dump(unit->au_Drive, sizeof(struct DriveIdent))); - + if (atapi) + { + unit->au_SectorShift = 11; + unit->au_Read32 = atapi_Read; + unit->au_Write32 = atapi_Write; + unit->au_DirectSCSI = atapi_DirectSCSI; + unit->au_Eject = atapi_Eject; + unit->au_Flags |= AF_DiscChanged; + unit->au_DevType = (unit->au_Drive->id_General >>8) & 0x1f; + unit->au_XferModes = AF_XFER_PACKET; + unit->au_UseModes |= AF_XFER_PACKET; /* OR because this field may already contain AF_XFER_PIO32 */ + } else { unit->au_SectorShift = 9; unit->au_DevType = DG_DIRECT_ACCESS; unit->au_Read32 = ata_ReadSector32; @@ -1322,43 +1234,86 @@ static BYTE ata_Identify(struct ata_Unit *unit) unit->au_Eject = ata_Eject; unit->au_XferModes = 0; unit->au_Flags |= AF_DiscPresent | AF_DiscChanged; - + } ata_strcpy(unit->au_Drive->id_Model, unit->au_Model, 40); ata_strcpy(unit->au_Drive->id_SerialNumber, unit->au_SerialNumber, 20); ata_strcpy(unit->au_Drive->id_FirmwareRev, unit->au_FirmwareRev, 8); - bug("[ATA%02ld] ata_Identify: Unit info: %s / %s / %s\n", unit->au_UnitNum, unit->au_Model, unit->au_SerialNumber, unit->au_FirmwareRev); - //common_DetectXferModes(unit); - //common_SetBestXferMode(unit); + DINIT(bug("[ATA:%02ld] ata_Identify: Unit info: Model=%s | Serial=%s | Firmware=%s | DevType = %u\n", + unit->au_UnitNum, unit->au_Model, unit->au_SerialNumber, unit->au_FirmwareRev, unit->au_DevType);) + + if (atapi) + { + DINIT(bug("[ATA:%02ld] ata_Identify: Device is removable.\n", unit->au_UnitNum);) + unit->au_Flags |= AF_Removable; + common_DetectXferModes(unit); + common_SetBestXferMode(unit); + } supportLBA = (unit->au_Drive->id_Capabilities & (1 << 9)) != 0; supportLBA48 = supportLBA && (unit->au_Drive->id_Commands5 & (1 << 10)) != 0; unit->au_Capacity = unit->au_Drive->id_LBASectors; - if (supportLBA48) - unit->au_Capacity48 = unit->au_Drive->id_LBA48Sectors; - else - unit->au_Capacity48 = unit->au_Capacity; + if (supportLBA48) unit->au_Capacity48 = unit->au_Drive->id_LBA48Sectors; + else unit->au_Capacity48 = unit->au_Capacity; - DINIT(bug("[ATA%02ld] ata_Identify: Unit LBA%d: %07lx 28bit / %04lx:%08lx 48bit addressable blocks\n", - unit->au_UnitNum, supportLBA48 ? 48 : (supportLBA ? 28 : 0), - unit->au_Capacity, (ULONG)(unit->au_Capacity48 >> 32), (ULONG)(unit->au_Capacity48 & 0xfffffffful))); + if (atapi) + { + switch (unit->au_DevType) + { + case DG_CDROM: + case DG_WORM: + case DG_OPTICAL_DISK: + unit->au_SectorShift = 11; + unit->au_Heads = 1; + unit->au_Sectors = 75; + unit->au_Cylinders = 4440; + unit->au_StartCyl = 0; // Handled by CD Filesystem + unit->au_EndCyl = 0; // Handled by CD Filesystem + unit->au_Capacity = unit->au_Heads * unit->au_Sectors * unit->au_Cylinders; + unit->au_Capacity48 = unit->au_Capacity; + break; - /* - For drive capacities > 8.3GB assume maximal possible layout. - It really doesn't matter here, as BIOS will not handle them in - CHS way anyway :) - i guess this just solves that weirdo div-by-zero crash, if nothing - else... - */ - if (supportLBA && ((unit->au_Drive->id_LBA48Sectors > (63 * 255 * 1024)) || - (unit->au_Drive->id_LBASectors > (63 * 255 * 1024)))) + case DG_DIRECT_ACCESS: + //DINIT(bug("[ATA:%02ld] ata_Identify: MODEL[0]=%s | MODEL[8]=%s | STRCMP = %u\n", unit->au_UnitNum, &unit->au_Model[0], &unit->au_Model[8], strcmp("ZIP 100", &unit->au_Model[8]) )); + + /*if (strcmp("LS-120", &unit->au_Model[0]) == 0) // CHANGE: HARDCODED SUCKS + { + unit->au_Heads = 2; + unit->au_Sectors = 18; + unit->au_Cylinders = 6848; + } + else if (strcmp("ZIP 100", &unit->au_Model[8]) == 0) // CHANGE: HARDCODED SUCKS + {*/ + unit->au_SectorShift = 9; + unit->au_Heads = 16; + unit->au_Sectors = 63; + unit->au_Cylinders = 195; + unit->au_StartCyl = 0; // First partition starts on Cylinder 4 + unit->au_EndCyl = unit->au_Cylinders - 1; // Partition covers full disk + unit->au_Capacity = unit->au_Heads * unit->au_Sectors * unit->au_Cylinders; + unit->au_Capacity48 = unit->au_Capacity; + //} + break; + } + + DINIT(bug("[ATA:%02ld] ata_Identify: HARDCODE = Cap28=%u | Cap48=%llu | CHS=%u/%u/%u\n", unit->au_UnitNum, unit->au_Capacity, unit->au_Capacity48, unit->au_Cylinders, unit->au_Heads, unit->au_Sectors);) + + ULONG retry_test = 1; + while(!(atapi_TestUnitOK(unit)) || (retry_test < 5)) + { + if ((retry_test++) == 10) + { + DERROR(bug("[ATA:%02ld] ata_Identify: ERROR = atapi_TestUnitOK FAILED\n", unit->au_UnitNum);) + return IOERR_UNITBUSY; + } + } + + } else { + if (supportLBA && ((unit->au_Drive->id_LBA48Sectors > (63 * 255 * 1024)) || (unit->au_Drive->id_LBASectors > (63 * 255 * 1024)))) { ULONG div = 1; - /* - * TODO: this shouldn't be casted down here. - */ ULONG sec = unit->au_Capacity48; if (sec < unit->au_Capacity48) @@ -1369,9 +1324,6 @@ static BYTE ata_Identify(struct ata_Unit *unit) unit->au_Sectors = 63; sec /= 63; - /* - * keep dividing by 2 - */ do { if (((sec >> 1) << 1) != sec) @@ -1400,14 +1352,20 @@ static BYTE ata_Identify(struct ata_Unit *unit) unit->au_Cylinders = unit->au_Drive->id_OldLCylinders; unit->au_Heads = unit->au_Drive->id_OldLHeads; unit->au_Sectors = unit->au_Drive->id_OldLSectors; + if (!supportLBA) { unit->au_Capacity = unit->au_Cylinders * unit->au_Heads * unit->au_Sectors; unit->au_Capacity48 = unit->au_Capacity; } } - - DINIT(bug("[ATA%02ld] ata_Identify: Unit CHS: %d/%d/%d\n", unit->au_UnitNum, unit->au_Cylinders, unit->au_Heads, unit->au_Sectors)); + unit->au_StartCyl = 0; // RDB + unit->au_EndCyl = unit->au_Cylinders - 1; // Full disk + } + + DINIT(bug("[ATA:%02ld] ata_Identify: Cap28=%u | Cap48=%llu | CHS=%u/%u/%u\n", unit->au_UnitNum, unit->au_Capacity, unit->au_Capacity48, unit->au_Cylinders, unit->au_Heads, unit->au_Sectors);) + + //if(atapi) unit->au_Flags &= ~AF_DiscPresent; return 0; } @@ -1415,8 +1373,7 @@ static BYTE ata_Identify(struct ata_Unit *unit) /* * ata read32 commands */ -static BYTE ata_ReadSector32(struct ata_Unit *unit, ULONG block, - ULONG count, APTR buffer, ULONG *act) +static BYTE ata_ReadSector32(struct ata_Unit *unit, ULONG block, ULONG count, APTR buffer, ULONG *act) { ata_CommandBlock acb = { @@ -1434,7 +1391,7 @@ static BYTE ata_ReadSector32(struct ata_Unit *unit, ULONG block, }; BYTE err; - D(bug("[ATA%02ld] ata_ReadSector32()\n", unit->au_UnitNum)); + DDD(bug("\n[ATA:%02ld] ata_ReadSector32()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1444,8 +1401,7 @@ static BYTE ata_ReadSector32(struct ata_Unit *unit, ULONG block, return 0; } -static BYTE ata_ReadMultiple32(struct ata_Unit *unit, ULONG block, - ULONG count, APTR buffer, ULONG *act) +static BYTE ata_ReadMultiple32(struct ata_Unit *unit, ULONG block, ULONG count, APTR buffer, ULONG *act) { ata_CommandBlock acb = { @@ -1463,7 +1419,7 @@ static BYTE ata_ReadMultiple32(struct ata_Unit *unit, ULONG block, }; BYTE err; - D(bug("[ATA%02ld] ata_ReadMultiple32()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_ReadMultiple32()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1496,7 +1452,7 @@ static BYTE ata_ReadSector64(struct ata_Unit *unit, UQUAD block, }; BYTE err = 0; - D(bug("[ATA%02ld] ata_ReadSector64()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_ReadSector64()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1525,7 +1481,7 @@ static BYTE ata_ReadMultiple64(struct ata_Unit *unit, UQUAD block, }; BYTE err; - D(bug("[ATA%02ld] ata_ReadMultiple64()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_ReadMultiple64()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1558,11 +1514,10 @@ static BYTE ata_WriteSector32(struct ata_Unit *unit, ULONG block, }; BYTE err; - D(bug("[ATA%02ld] ata_WriteSector32()\n", unit->au_UnitNum)); + DDD(bug("\n[ATA:%02ld] ata_WriteSector32()\n", unit->au_UnitNum)); *act = 0; - if (0 != (err = ata_exec_blk(unit, &acb))) - return err; + if (0 != (err = ata_exec_blk(unit, &acb))) return err; *act = count << unit->au_SectorShift; return 0; @@ -1587,7 +1542,7 @@ static BYTE ata_WriteMultiple32(struct ata_Unit *unit, ULONG block, }; BYTE err; - D(bug("[ATA%02ld] ata_WriteMultiple32()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_WriteMultiple32()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1620,7 +1575,7 @@ static BYTE ata_WriteSector64(struct ata_Unit *unit, UQUAD block, }; BYTE err; - D(bug("[ATA%02ld] ata_WriteSector64()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_WriteSector64()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1649,7 +1604,7 @@ static BYTE ata_WriteMultiple64(struct ata_Unit *unit, UQUAD block, }; BYTE err; - D(bug("[ATA%02ld] ata_WriteMultiple64()\n", unit->au_UnitNum)); + DDD(bug("[ATA:%02ld] ata_WriteMultiple64()\n", unit->au_UnitNum)); *act = 0; if (0 != (err = ata_exec_blk(unit, &acb))) @@ -1680,7 +1635,7 @@ static BYTE ata_Eject(struct ata_Unit *unit) CT_NoBlock }; - D(bug("[ATA%02ld] ata_Eject()\n", unit->au_UnitNum)); + D(bug("[ATA:%02ld] ata_Eject()\n", unit->au_UnitNum)); return ata_exec_cmd(unit, &acb); } @@ -1688,102 +1643,199 @@ static BYTE ata_Eject(struct ata_Unit *unit) /* * atapi commands */ -int atapi_TestUnitOK(struct ata_Unit *unit) + + +BOOL atapi_TestUnitOK(struct ata_Unit *unit) { - UBYTE cmd[6] = { - 0 - }; - UBYTE sense[16] = { - 0 - }; - struct SCSICmd sc = { - 0 - }; - UWORD i; + struct SCSICmd sc = {0}; + + UBYTE cmd[10] = {0x25,0,0,0,0,0,0,0,0,0}; - D(bug("[ATA%02ld] atapi_TestUnitOK()\n", unit->au_UnitNum)); + struct + { + ULONG logicalsectors; + ULONG blocksize; + } capacity; - sc.scsi_Command = (void*) &cmd; - sc.scsi_CmdLength = sizeof(cmd); - sc.scsi_SenseData = (void*)&sense; - sc.scsi_SenseLength = sizeof(sense); - sc.scsi_Flags = SCSIF_AUTOSENSE; + BYTE result; - DATAPI(bug("[ATA%02ld] atapi_TestUnitOK: Testing Unit Ready sense...\n", unit->au_UnitNum)); + sc.scsi_CmdLength = sizeof(cmd); + sc.scsi_Command = (UBYTE*)&cmd; + sc.scsi_CmdActual = 0; + sc.scsi_Flags = SCSIF_READ; + sc.scsi_Data = (UWORD*)&capacity; + sc.scsi_Length = sizeof(capacity); + sc.scsi_SenseData = 0; - /* Send command twice, and take the second result, as some drives give - * invalid (or at least not so useful) sense data straight after reset */ - for (i = 0; i < 2; i++) - unit->au_DirectSCSI(unit, &sc); - unit->au_SenseKey = sense[2]; + //DINIT(bug("[ATA:%02ld] atapi_TestUnitOK - Sending Read Capacity ATAPI Command\n", unit->au_UnitNum)); + + result = unit->au_DirectSCSI(unit, &sc); - /* - * we may have just lost the disc...? - */ - /* - * per MMC, drives are expected to return 02-3a-0# status, when disc is not present - * that would translate into following code: - * int p1 = ((sense[2] == 2) && (sense[12] == 0x3a)) ? 1 : 0; - * unfortunately, it's what MMC says, not what vendors code. - */ - int p1 = (sense[2] == 2) ? 1 : 0; - int p2 = (0 != (AF_DiscPresent & unit->au_Flags)) ? 1 : 0; + DINIT(bug("[ATA:%02ld] atapi_TestUnitOK: DETECTED = LBA = %u | Block = %u\n", + unit->au_UnitNum, capacity.logicalsectors, capacity.blocksize)); - if (p1 == p2) + if ( (unit->au_cmd_error) == HFERR_BadStatus ) { - //unit->au_Flags ^= AF_DiscPresent; - if (p1 == 0) - unit->au_Flags |= AF_DiscPresent; - else - unit->au_Flags &= ~AF_DiscPresent; + DINIT(bug("[ATA:%02ld] unit->au_cmd_error == HFERR_BadStatus\n", unit->au_UnitNum)); - unit->au_Flags |= AF_DiscChanged; - } + if ( (unit->au_Flags & AF_DiscPresent) == AF_DiscPresent ) // Media Absent -> Check if AF_DiscPresent is Set + { + unit->au_Flags &= ~AF_DiscPresent; // Clear AF_DiscPresent + unit->au_Flags |= AF_DiscChanged; // Set AF_DiscChanged + } + + DINIT(bug("[ATA:%02ld] atapi_TestUnitOK: REGISTERED = LBA = %u | Block = %u | Cylinders = %u | Heads = %u | Sectors = %u |", + unit->au_UnitNum, unit->au_Capacity, 1<au_SectorShift , unit->au_Cylinders, unit->au_Heads, unit->au_Sectors)); + + DINIT(bug("Result = %d | Media = %s | Change = %s\n", + result, unit->au_Flags & AF_DiscPresent ? "YES" : "NO", unit->au_Flags & AF_DiscChanged ? "YES" : "NO")); + + if (result == 0 || result == 29) + { + return(TRUE); // No Media but valid Device + } else { + return(FALSE); // Error on Device + } + } else { + if ( (unit->au_Flags & AF_DiscPresent) == 0 ) // Media Present -> Check if AF_DiscPresent is Cleared + { + unit->au_Flags |= AF_DiscPresent; // Set AF_DiscPresent + unit->au_Flags |= AF_DiscChanged; // Set AF_DiscChanged + } + + if ( ((unit->au_DevType) == DG_DIRECT_ACCESS) && ((unit->au_Flags & AF_Removable) == 0) ) + { + unit->au_Capacity = capacity.logicalsectors; + unit->au_Capacity48 = capacity.logicalsectors; + + #define HEADS_PER_CYLINDER 16 + #define SECTORS_PER_TRACK 63 + + ULONG translated_cylinders = capacity.logicalsectors / (HEADS_PER_CYLINDER * SECTORS_PER_TRACK); + + unit->au_Cylinders = (ULONG)translated_cylinders; + unit->au_Heads = (UBYTE)HEADS_PER_CYLINDER; + unit->au_Sectors = (UBYTE)SECTORS_PER_TRACK; + } + + DINIT(bug("[ATA:%02ld] atapi_TestUnitOK: REGISTERED = LBA = %u | Block = %u | Cylinders = %u | Heads = %u | Sectors = %u | ", + unit->au_UnitNum, unit->au_Capacity, capacity.blocksize, unit->au_Cylinders, unit->au_Heads, unit->au_Sectors)); + + DINIT(bug("Result = %d | Media = %s | Change = %s\n", + result, unit->au_Flags & AF_DiscPresent ? "YES" : "NO", unit->au_Flags & AF_DiscChanged ? "YES" : "NO")); - DATAPI(bug("[ATA%02ld] atapi_TestUnitOK: Test Unit Ready sense: %02lx, Media %s\n", unit->au_UnitNum, sense[2], unit->au_Flags & AF_DiscPresent ? "PRESENT" : "ABSENT")); - return sense[2]; + } + + return(TRUE); } -static BYTE atapi_Read(struct ata_Unit *unit, ULONG block, ULONG count, - APTR buffer, ULONG *act) +static BYTE atapi_Read(struct ata_Unit *unit, ULONG block, ULONG count, APTR buffer, ULONG *act) { + UBYTE cmd[] = {SCSI_READ10, 0, block>>24, block>>16, block>>8, block, 0, count>>8, count, 0}; + struct SCSICmd sc = {0}; + + sc.scsi_Command = (void*) &cmd; + sc.scsi_CmdLength = sizeof(cmd); + sc.scsi_Data = buffer; + sc.scsi_Length = count << unit->au_SectorShift; + sc.scsi_Flags = SCSIF_READ; + + DATAPI(bug("[ATA:%02ld] atapi_Read() | Block=%u | Sectors=%u | Bytes=%u\n", unit->au_UnitNum, block, count, sc.scsi_Length)); + + return unit->au_DirectSCSI(unit, &sc); } static BYTE atapi_Write(struct ata_Unit *unit, ULONG block, ULONG count, APTR buffer, ULONG *act) { + UBYTE cmd[] = {SCSI_WRITE10, 0, block>>24, block>>16, block>>8, block, 0, count>>8, count, 0}; + struct SCSICmd sc = {0}; + + sc.scsi_Command = (void*) &cmd; + sc.scsi_CmdLength = sizeof(cmd); + sc.scsi_Data = buffer; + sc.scsi_Length = count << unit->au_SectorShift; + sc.scsi_Flags = SCSIF_WRITE; + + DATAPI(bug("[ATA:%02ld] atapi_Write() | Block=%u | Sectors=%u | Bytes=%u\n", unit->au_UnitNum, block, count, sc.scsi_Length)); + + return unit->au_DirectSCSI(unit, &sc); } static BYTE atapi_Eject(struct ata_Unit *unit) { + struct atapi_StartStop cmd = { + command: SCSI_STARTSTOP, + immediate: 1, + flags: ATAPI_SS_EJECT, + }; + + struct SCSICmd sc = { + 0 + }; + + D(bug("[ATA:%02ld] atapi_Eject()\n", unit->au_UnitNum)); + + sc.scsi_Command = (void*) &cmd; + sc.scsi_CmdLength = sizeof(cmd); + sc.scsi_Flags = SCSIF_READ; + + return unit->au_DirectSCSI(unit, &sc); } -static ULONG atapi_RequestSense(struct ata_Unit* unit, UBYTE* sense, - ULONG senselen) +static void atapi_RequestSense(struct ata_Unit* unit, UBYTE* sense, ULONG senselen) { + UBYTE cmd[] = {3, 0, 0, 0, senselen & 0xfe, 0}; + struct SCSICmd sc = {0}; + + D(bug("[ATA:%02ld] atapi_RequestSense() - Sense Bytes requested:%u\n", unit->au_UnitNum, senselen)); + + if ((senselen == 0) || (sense == 0)) return 0; + + sc.scsi_Data = (void*)sense; + sc.scsi_Length = senselen & 0xfe; + sc.scsi_Command = (void*)&cmd; + sc.scsi_CmdLength = 6; + sc.scsi_Flags = SCSIF_READ; + + unit->au_DirectSCSI(unit, &sc); + + D(bug("[ATA:%02ld] atapi_RequestSense: SenseKey: %lx | ASC: %lx | ASCQ: %lx\n", unit->au_UnitNum, sense[2]&0xf, sense[12], sense[13])); + return; } -static ULONG ata_ReadSignature(struct ata_Bus *bus, int unit, - BOOL *DiagExecuted) +static ULONG ata_ReadSignature(struct ata_Bus *bus, int unit, BOOL *DiagExecuted) { + UBYTE status; UBYTE tmp1, tmp2; + ULONG retrycount = 5000000; - D(bug("[ATA ] ata_ReadSignature(%02ld)\n", unit)); - - PIO_Out(bus, DEVHEAD_VAL | (unit << 4), ata_DevHead); - ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(bus->ab_Timer, 0, 1, 0); + DINIT(bug("[ATA ] ata_ReadSignature(%02ld)\n", unit)); - DINIT(bug("[ATA ] ata_ReadSignature: Status %02lx Device %02lx\n", - ata_ReadStatus(bus), PIO_In(bus, ata_DevHead))); + if (!*DiagExecuted) + { + DINIT(bug("[ATA ] ata_ReadSignature: ATA_EXECUTE_DIAG\n")); + PIO_Out(bus, ATA_EXECUTE_DIAG, ata_Command); + ata_WaitNano(400, bus->ab_Base); + *DiagExecuted = TRUE; + } - /* Ok, ATA/ATAPI device. Get detailed signature */ - DINIT(bug("[ATA ] ata_ReadSignature: ATA[PI] device present. Attempting to detect specific subtype\n")); + PIO_Out(bus, DEVHEAD_VAL | (unit << 4), ata_DevHead); + do + { + status = PIO_In(bus, atapi_Status); + retrycount--; + ata_WaitNano(400, bus->ab_Base); + } + while ((retrycount > 0) && (status & ATAF_BUSY)); + + DINIT( if (retrycount == 0) bug("[ATA ] ata_ReadSignature: ERROR = ATAF_BUSY failed to clear within 5000000 tries\n") ); + tmp1 = PIO_In(bus, ata_LBAMid); tmp2 = PIO_In(bus, ata_LBAHigh); - DINIT(bug("[ATA ] ata_ReadSignature: Subtype check returned %02lx:%02lx (%04lx)\n", tmp1, tmp2, (tmp1 << 8) | tmp2)); + DINIT(bug("[ATA ] ata_ReadSignature: LBAMid=%02lx | LBAHigh=%02lx | LBA=%04lx | Status=%02x\n", tmp1, tmp2, (tmp1 << 8) | tmp2, status)); switch ((tmp1 << 8) | tmp2) { @@ -1800,152 +1852,86 @@ static ULONG ata_ReadSignature(struct ata_Bus *bus, int unit, return DEV_SATAPI; default: - if (0 == (ata_ReadStatus(bus) & 0xfe)) { - DINIT(bug("[ATA ] ata_ReadSignature: Found NONE\n")); - return DEV_NONE; - } - - /* ATA_EXECUTE_DIAG is executed by both devices, do it only once */ - if (!*DiagExecuted) + if ( (ata_ReadStatus(bus) & 0xfe) == 0 ) { - DINIT(bug("[ATA ] ata_ReadSignature: ATA_EXECUTE_DIAG\n")); - PIO_Out(bus, ATA_EXECUTE_DIAG, ata_Command); - *DiagExecuted = TRUE; - } - - ata_WaitTO(bus->ab_Timer, 0, 2000, 0); - while (ata_ReadStatus(bus) & ATAF_BUSY) - ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(bus->ab_Timer, 0, 1, 0); - - DINIT(bug("[ATA ] ata_ReadSignature: ATAF_BUSY wait finished\n")); - - PIO_Out(bus, DEVHEAD_VAL | (unit << 4), ata_DevHead); - do - { - ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(unit->au_Bus->ab_Timer, 0, 1, 0); - } - while (0 != (ATAF_BUSY & ata_ReadStatus(bus))); - DINIT(bug("[ATA ] ata_ReadSignature: Further validating ATA signature: %lx & 0x7f = 1, %lx & 0x10 = unit\n", - PIO_In(bus, ata_Error), PIO_In(bus, ata_DevHead))); - - if ((PIO_In(bus, ata_Error) & 0x7f) == 1) - { - DINIT(bug("[ATA ] ata_ReadSignature: Found *valid* signature for ATA device\n")); - /* this might still be an (S)ATAPI device, but we correct that in ata_Identify */ + DINIT(bug("[ATA ] ata_ReadSignature: ERROR = NO Signature Found\n")); + return DEV_NONE; + } else { + DINIT(bug("[ATA ] ata_ReadSignature: Found signature for ATA device\n")); return DEV_ATA; } - DERROR(bug("[ATA ] ata_ReadSignature: Found signature for ATA " - "device, but further validation failed\n")); - return DEV_NONE; } } static void ata_ResetBus(struct ata_Bus *bus) { struct ataBase *ATABase = bus->ab_Base; - ULONG TimeOut; + ULONG Counter; BOOL DiagExecuted = FALSE; volatile UWORD *color0=0xDFF180; - /* - * Set and then reset the soft reset bit in the Device Control - * register. This causes device 0 to be selected. - */ - DINIT(bug("[ATA ] ata_ResetBus()\n")); - - PIO_Out(bus, DEVHEAD_VAL, ata_DevHead); /* Select it never the less */ - ata_WaitNano(400, ATABase); - //ata_WaitTO(bus->ab_Timer, 0, 1, 0); - -// if (bus->haveAltIO) -// { - PIO_OutAlt(bus, ATACTLF_RESET | ATACTLF_INT_DISABLE, ata_AltControl); - for(int gruen=100000; gruen ; gruen--){ - *color0=0x0030; - *color0=0x0000; - } - PIO_OutAlt(bus, ATACTLF_INT_DISABLE, ata_AltControl); -// } -// else -// { -// PIO_Out(bus, ATA_EXECUTE_DIAG, ata_Command); -// for(int pink=100000; pink ; pink--){ -// *color0=0x0f99; -// *color0=0x0000; -// } -// } - - ata_WaitTO(bus->ab_Timer, 0, 20000, 0); /* sleep 20ms; min: 2ms */ + DINIT(bug("[ATA:ResetBus] Reset ATA Bus\n", bus->ab_BusNum);) - /* If there is a device 0, wait for device 0 to clear BSY */ - if (DEV_NONE != bus->ab_Dev[0]) + /* + PIO_OutAlt(bus, ATACTLF_RESET | ATACTLF_INT_DISABLE, ata_AltControl); + for(Counter=100000; Counter ; Counter--) { - DINIT(bug("[ATA ] ata_ResetBus: Wait for master to clear BSY\n")); - TimeOut = 1000; /* Timeout 1s (1ms x 1000) */ - + *color0=0x0030; + *color0=0x0000; + } + PIO_OutAlt(bus, ATACTLF_INT_DISABLE, ata_AltControl); + ata_WaitTO(bus->ab_Timer, 0, 20000, 0); + + if ( bus->ab_Dev[0] != DEV_NONE ) + { + PIO_Out(bus, DEVHEAD_VAL, ata_DevHead); + ata_WaitTO(bus->ab_Timer, 0, 20000, 0); + + DINIT(bug("[ATA:ResetBus] Wait for Master to clear BSY\n", bus->ab_BusNum);) bus->ab_Dev[0] = DEV_NONE; - for(int go=1000000; go ; go--) - { - if ((ata_ReadStatus(bus) & ATAF_BUSY) == 0){ - bus->ab_Dev[0] = DEV_UNKNOWN; - break; - }else{ - *color0=0x0090; - *color0=0x0000; + + //if (bus->ab_Dev[1] == DEV_NONE) + //{ + for(Counter=20000000; Counter ; Counter--) + { + if ((ata_ReadStatus(bus) & ATAF_BUSY) == 0) + { + bus->ab_Dev[0] = DEV_UNKNOWN; + break; + } else { + *color0=0x0090; + *color0=0x0000; + } } - } - - - DINIT(bug("[ATA ] ata_ResetBus: Wait left after %d ms\n", 1000 - TimeOut)); + if (Counter==0) DERROR(bug("[ATA:ResetBus] ERROR: Master did NOT clear BSY\n", bus->ab_BusNum)); + //} } - /* If there is a device 1, wait some time until device 1 allows - * register access, but fail only if BSY isn't cleared */ - if (DEV_NONE != bus->ab_Dev[1]) + if ( bus->ab_Dev[1] != DEV_NONE ) { - DINIT(bug("[ATA ] ata_ResetBus: Wait DEV1 to allow access\n")); PIO_Out(bus, DEVHEAD_VAL | (1 << 4), ata_DevHead); - ata_WaitNano(400, bus->ab_Base); - //ata_WaitTO(bus->ab_Timer, 0, 1, 0); - - TimeOut = 50; /* Timeout 50ms (1ms x 50) */ - while ( 1 ) - { - if ((PIO_In(bus, ata_Count) == 0x01) && (PIO_In(bus, ata_LBALow) == 0x01)) - break; - ata_WaitTO(bus->ab_Timer, 0, 1000, 0); - if (!(--TimeOut)) - { - DINIT(bug("[ATA ] ata_ResetBus: DEV1 1/2 TimeOut!\n")); - break; - } - } - DINIT(bug("[ATA ] ata_ResetBus: DEV1 1/2 Wait left after %d ms\n", 1000 - TimeOut)); - - DINIT(bug("[ATA ] ata_ResetBus: Wait for slave to clear BSY\n")); - TimeOut = 1000; /* Timeout 1s (1ms x 1000) */ - while ( 1 ) + ata_WaitTO(bus->ab_Timer, 0, 20000, 0); + + DINIT(bug("[ATA:ResetBus] Wait for Slave to clear BSY\n", bus->ab_BusNum);) + bus->ab_Dev[1] = DEV_NONE; + + for(Counter=20000000; Counter ; Counter--) { if ((ata_ReadStatus(bus) & ATAF_BUSY) == 0) + { + bus->ab_Dev[1] = DEV_UNKNOWN; break; - ata_WaitTO(bus->ab_Timer, 0, 1000, 0); - if (!(--TimeOut)) { - DINIT(bug("[ATA ] ata_ResetBus: Slave device Timed Out!\n")); - bus->ab_Dev[1] = DEV_NONE; - break; + } else { + *color0=0x0090; + *color0=0x0000; } } - DINIT(bug("[ATA ] ata_ResetBus: Wait left after %d ms\n", 1000 - TimeOut)); - } - - if (DEV_NONE != bus->ab_Dev[0]) - bus->ab_Dev[0] = ata_ReadSignature(bus, 0, &DiagExecuted); - if (DEV_NONE != bus->ab_Dev[1]) - bus->ab_Dev[1] = ata_ReadSignature(bus, 1, &DiagExecuted); - + if (Counter==0) DERROR(bug("[ATA:ResetBus] ERROR: Slave did NOT clear BSY\n", bus->ab_BusNum)); + + }*/ + if ( bus->ab_Dev[0] != DEV_NONE ) bus->ab_Dev[0] = ata_ReadSignature(bus, 0, &DiagExecuted); + if ( bus->ab_Dev[1] != DEV_NONE ) bus->ab_Dev[1] = ata_ReadSignature(bus, 1, &DiagExecuted); } void ata_InitBus(struct ata_Bus *bus) @@ -1958,7 +1944,6 @@ void ata_InitBus(struct ata_Bus *bus) LONG try; volatile UWORD *color0=0xDFF180; - /* * initialize timer for the sake of scanning */ @@ -1967,7 +1952,7 @@ void ata_InitBus(struct ata_Bus *bus) OOP_GetAttr(obj, aHidd_ATABus_UseIOAlt, &haveAltIO); bus->haveAltIO = haveAltIO != 0; - DINIT(bug("[ATA ] ata_InitBus(%p)\n", bus)); + DINIT(bug("[ATA:InitBus] ata_InitBus(%p)\n", bus);) bus->ab_Dev[0] = DEV_NONE; bus->ab_Dev[1] = DEV_NONE; @@ -1977,7 +1962,6 @@ void ata_InitBus(struct ata_Bus *bus) drive will be filtered out later */ for (i = 0; i < MAX_BUSUNITS; i++) { - /* Select device and disable IRQs */ PIO_Out(bus, DEVHEAD_VAL | (i << 4), ata_DevHead); ata_WaitTO(bus->ab_Timer, 0, 400, 0); @@ -1996,20 +1980,20 @@ void ata_InitBus(struct ata_Bus *bus) tmp1 = PIO_In(bus, ata_LBALow); tmp2 = PIO_In(bus, ata_LBAMid); - DB2(bug("[ATA ] ata_InitBus: Reply 0x%02X 0x%02X\n", tmp1, tmp2)); - + DINIT(bug("[ATA:%02d] ata_InitBus: Reply 0x%02X 0x%02X\n", i, tmp1, tmp2);) - if ((tmp1 == 0x55) && (tmp2 == 0xaa)){ + if ((tmp1 == 0x55) && (tmp2 == 0xaa)) + { bus->ab_Dev[i] = DEV_UNKNOWN; - DINIT(bug("[ATA ] ata_InitBus: Device type = 0x%02X\n", bus->ab_Dev[i])); - goto exit; - }else{ + DINIT(bug("[ATA:%02d] ata_InitBus: Device type = 0x%02X\n", i, bus->ab_Dev[i]);) + } else { + DINIT(bug("[ATA:%02d] ata_InitBus: No Device Found\n", i);) } } exit: ata_ResetBus(bus); ata_CloseTimer(bus->ab_Timer); - DINIT(bug("[ATA ] ata_InitBus: Finished\n")); + DINIT(bug("[ATA:InitBus] ata_InitBus: Finished\n");) } /* @@ -2037,29 +2021,17 @@ static const ULONG ErrorMap[] = { static BYTE atapi_EndCmd(struct ata_Unit *unit) { struct ata_Bus *bus = unit->au_Bus; - UBYTE status; - - DATAPI(bug("[ATA%02ld] atapi_EndCmd()\n", unit->au_UnitNum)); - - /* - * read alternate status register (per specs) - */ - status = PIO_InAlt(bus, ata_AltStatus); - DATAPI(bug("[ATA%02ld] atapi_EndCmd: Alternate status: %lx\n", unit->au_UnitNum, status)); - - status = PIO_In(bus, atapi_Status); - - DATAPI(bug("[ATA%02ld] atapi_EndCmd: Command complete. Status: %lx\n", - unit->au_UnitNum, status)); + UBYTE status, error; + + status = ata_ReadStatus(bus); if (!(status & ATAPIF_CHECK)) { + DATAPI(bug("[ATA:%02ld] atapi_EndCmd: Command execute SUCCESS | Status = 0x%lx\n", unit->au_UnitNum, status)); return 0; - } - else - { - status = PIO_In(bus, atapi_Error); - DATAPI(bug("[ATA%02ld] atapi_EndCmd: Error code 0x%lx\n", unit->au_UnitNum, status >> 4)); - return ErrorMap[status >> 4]; + } else { + error = PIO_In(bus, atapi_Error); + DERROR(bug("[ATA:%02ld] atapi_EndCmd: Command execute ERROR | Status = 0x%lx | Code 0x%lx\n", unit->au_UnitNum, status, error)); + return ErrorMap[error >> 4]; } } diff --git a/rom/devs/ata/scsiemu.c b/rom/devs/ata/scsiemu.c index 271c1c4e113..ab7d8eaee4e 100755 --- a/rom/devs/ata/scsiemu.c +++ b/rom/devs/ata/scsiemu.c @@ -19,6 +19,7 @@ #undef UtilityBase + static void wl(UBYTE *p, ULONG v) { p[0] = v >> 24; @@ -44,8 +45,10 @@ static ULONG rw(UBYTE *p) static UBYTE scsi_read32(struct ata_Unit *unit, APTR data, ULONG offset, ULONG len, ULONG *outlen) { + bug("[SCSI] scsi_read32\n"); + UBYTE io_Error = 0; - if (unit->au_SectorShift == 9) /* use cache with 512 Byte sectors only */ + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) /* use cache with 512 Byte sectors only */ { struct ata_Bus *bus = unit->au_Bus; struct ataBase *base = bus->ab_Base; @@ -107,14 +110,22 @@ static UBYTE scsi_read32(struct ata_Unit *unit, APTR data, ULONG offset, ULONG l static UBYTE scsi_write32(struct ata_Unit *unit, APTR data, ULONG offset, ULONG len, ULONG *outlen) { - struct ata_Bus *bus = unit->au_Bus; - struct ataBase *base = bus->ab_Base; - UBYTE err; - for (int i = 0; i < len; i++) - { - ULONG blockAdr = (offset + i) & CACHE_MASK; - base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; - } + bug("[SCSI] scsi_write32\n"); + + UBYTE err; + + if ((unit->au_SectorShift == 9) && ((unit->au_XferModes & AF_XFER_PACKET)==0)) + { + struct ata_Bus *bus = unit->au_Bus; + struct ataBase *base = bus->ab_Base; + + for (int i = 0; i < len; i++) + { + ULONG blockAdr = (offset + i) & CACHE_MASK; + base->ata_CacheTags[blockAdr] = 0xfffffffffffffffful; + } + } + err = unit->au_Write32(unit, offset, len, data, outlen); if (err) /* on error try again */ return unit->au_Write32(unit, offset, len, data, outlen); @@ -123,29 +134,36 @@ static UBYTE scsi_write32(struct ata_Unit *unit, APTR data, ULONG offset, ULONG static UBYTE scsi_inquiry(struct ata_Unit *unit, struct SCSICmd *cmd, ULONG *outlen) { + bug("[SCSI] scsi_inquiry\n"); + struct Library *UtilityBase = unit->au_Bus->ab_Base->ata_UtilityBase; UBYTE *cmdbuf = cmd->scsi_Command; UBYTE *out = (UBYTE*)cmd->scsi_Data; UBYTE len; - if ((cmdbuf[1] & 1) || cmdbuf[2] != 0) - return 0xff; + if ((cmdbuf[1] & 1) || cmdbuf[2] != 0) return 0xff; len = cmdbuf[4]; - if (cmdbuf[1] >> 5) - return 0xff; /* no lun supported */ + if (cmdbuf[1] >> 5) return 0xff; /* no lun supported */ + + out[0] = 0; + out[1] = 0; out[2] = 2; /* supports SCSI-2 */ out[3] = 2; /* response data format */ out[4] = 32; /* additional length */ out[7] = 0x20; /* 16 bit bus */ *outlen = len < 36 ? len : 36; SetMem(out + 8, ' ', 8 + 16 + 4); - CopyMem(unit->au_Model, out + 8, strlen(unit->au_Model) > 16 + 8 ? 16 + 8 : strlen(unit->au_Model)); - CopyMem(unit->au_FirmwareRev, out + 8 + 16, strlen(unit->au_FirmwareRev) > 4 ? 4 : strlen(unit->au_FirmwareRev)); + + CopyMem(unit->au_Model, out + 8, strlen(unit->au_Model) > 24 ? 24 : strlen(unit->au_Model)); + + CopyMem(unit->au_FirmwareRev, out + 32, strlen(unit->au_FirmwareRev) > 4 ? 4 : strlen(unit->au_FirmwareRev)); return 0; } static UBYTE scsi_modesense(struct ata_Unit *unit, struct SCSICmd *cmd, ULONG *outlen) { + bug("[SCSI] scsi_modesense\n"); + UBYTE *cmdbuf = cmd->scsi_Command; UBYTE *out = (UBYTE*)cmd->scsi_Data; UBYTE pcode = cmdbuf[2] & 0x3f; @@ -200,6 +218,8 @@ static UBYTE scsi_modesense(struct ata_Unit *unit, struct SCSICmd *cmd, ULONG *o static UBYTE scsi_readcapacity(struct ata_Unit *unit, struct SCSICmd *cmd, ULONG *outlen) { + bug("[SCSI] scsi_readcapacity\n"); + UBYTE *cmdbuf = cmd->scsi_Command; UBYTE *out = (UBYTE*)cmd->scsi_Data; BOOL pmi; @@ -227,6 +247,8 @@ static UBYTE scsi_readcapacity(struct ata_Unit *unit, struct SCSICmd *cmd, ULONG BYTE SCSIEmu(struct ata_Unit *unit, struct SCSICmd *cmd) { + bug("[SCSI] SCSIEmu\n"); + struct Library *UtilityBase = unit->au_Bus->ab_Base->ata_UtilityBase; ULONG len, offset; ULONG scsi_len; @@ -237,7 +259,7 @@ BYTE SCSIEmu(struct ata_Unit *unit, struct SCSICmd *cmd) UWORD senselen; UBYTE err, status; - /* bug("SCSIEMU CMD=%02x\n", cmdbuf[0]); */ + bug("SCSIEMU CMD=%02x\n", cmdbuf[0]); err = 0; status = 0; scsi_len = 0; @@ -247,79 +269,86 @@ BYTE SCSIEmu(struct ata_Unit *unit, struct SCSICmd *cmd) switch(cmdbuf[0]) { case 0x00: /* TEST UNIT READY */ - break; - - case 0x08: /* READ (6) */ - offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3]; - len = cmdbuf[4]; - if (!len) - len = 256; - err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - case 0x28: /* READ (10) */ - offset = rl(cmdbuf + 2); - len = rw(cmdbuf + 7); - err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - case 0xa8: /* READ (12) */ - offset = rl(cmdbuf + 2); - len = rl(cmdbuf + 6); - err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - case 0x0a: /* WRITE (6) */ - offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3]; - len = cmdbuf[4]; - if (!len) - len = 256; - err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - case 0x2a: /* WRITE (10) */ - offset = rl(cmdbuf + 2); - len = rw(cmdbuf + 7); - err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - case 0xaa: /* WRITE (12) */ - offset = rl(cmdbuf + 2); - len = rl(cmdbuf + 6); - err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); - break; - - case 0x37: /* READ DEFECT DATA */ - status = 2; - senselen = 32; - SetMem(sense, 0, senselen); - sense[0] = 0x70; - sense[2] = 0x00; - sense[12] = 0x1c; - break; - - case 0x12: /* INQUIRY */ - err = scsi_inquiry(unit, cmd, &scsi_len); - break; - case 0x1a: /* MODE SENSE(6) */ - err = scsi_modesense(unit, cmd, &scsi_len); - break; - case 0x25: /* READ CAPACITY */ - err = scsi_readcapacity(unit, cmd, &scsi_len); - break; - - case 0x1d: /* SEND DIAGNOSTICS */ - case 0x35: /* SYNCHRONIZE CACHE */ - break; - - default: - err = 0xff; - break; - } - - if (err == 0xff) { - status = 2; /* CHECK CONDITION */ - senselen = 32; - SetMem(sense, 0, senselen); - sense[0] = 0x70; - sense[2] = 5; /* ILLEGAL REQUEST */ - sense[12] = 0x24; /* ILLEGAL FIELD IN CDB */ - err = TDERR_NotSpecified; + break; + + case 0x08: /* READ (6) */ + offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3]; + len = cmdbuf[4]; + if (!len) + len = 256; + err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0x28: /* READ (10) */ + offset = rl(cmdbuf + 2); + len = rw(cmdbuf + 7); + err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0xa8: /* READ (12) */ + offset = rl(cmdbuf + 2); + len = rl(cmdbuf + 6); + err = scsi_read32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0x0a: /* WRITE (6) */ + offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3]; + len = cmdbuf[4]; + if (!len) + len = 256; + err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0x2a: /* WRITE (10) */ + offset = rl(cmdbuf + 2); + len = rw(cmdbuf + 7); + err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0xaa: /* WRITE (12) */ + offset = rl(cmdbuf + 2); + len = rl(cmdbuf + 6); + err = scsi_write32(unit, cmd->scsi_Data, offset, len, &scsi_len); + break; + + case 0x37: /* READ DEFECT DATA */ + status = 2; + senselen = 32; + SetMem(sense, 0, senselen); + sense[0] = 0x70; + sense[2] = 0x00; + sense[12] = 0x1c; + break; + + case 0x12: /* INQUIRY */ + err = scsi_inquiry(unit, cmd, &scsi_len); + break; + + case 0x1a: /* MODE SENSE(6) */ + err = scsi_modesense(unit, cmd, &scsi_len); + break; + + case 0x25: /* READ CAPACITY */ + err = scsi_readcapacity(unit, cmd, &scsi_len); + break; + + case 0x1d: /* SEND DIAGNOSTICS */ + case 0x35: /* SYNCHRONIZE CACHE */ + break; + + default: + err = 0xff; + break; + } + + if (err == 0xff) { + status = 2; /* CHECK CONDITION */ + senselen = 32; + SetMem(sense, 0, senselen); + sense[0] = 0x70; + sense[2] = 5; /* ILLEGAL REQUEST */ + sense[12] = 0x24; /* ILLEGAL FIELD IN CDB */ + err = TDERR_NotSpecified; } if (senselen && scsi_sense_len) { diff --git a/rom/devs/ata/timer.h b/rom/devs/ata/timer.h index 691246852c0..38a1a36917c 100644 --- a/rom/devs/ata/timer.h +++ b/rom/devs/ata/timer.h @@ -1,5 +1,5 @@ /* - Copyright 2009-2013, The AROS Development Team. All rights reserved + Copyright � 2009-2013, The AROS Development Team. All rights reserved $Id$ Desc: diff --git a/rom/devs/ata/waitnano.c b/rom/devs/ata/waitnano.c index 192a8428a23..a33f7aed2fb 100644 --- a/rom/devs/ata/waitnano.c +++ b/rom/devs/ata/waitnano.c @@ -1,5 +1,5 @@ /* - Copyright 2013, The AROS Development Team. All rights reserved + Copyright � 2013, The AROS Development Team. All rights reserved $Id$ */ @@ -21,9 +21,63 @@ BOOL ata_Calibrate(struct IORequest* tmr, struct ataBase *base) { + register ULONG x; + register ULONG scale = 0x8000; // min iterations... + volatile register ULONG t = 1; + struct timeval t1, t2; + struct Device *TimerBase = tmr->io_Device; + + D(bug("[ATA ] Calibration started\n")); + + while (scale <= 0x80000000) + { + Forbid(); + GetUpTime(&t1); + for (x = 1; x < scale; x++) + t = (((t + x) * t) - x) / x; // add, mul, sub, div, trivial benchmark. + + GetUpTime(&t2); + Permit(); + SubTime(&t2, &t1); + + // ok, it's going to be totally insane, if secs > 1. + if (t2.tv_secs != 0) + { + D(bug("[ATA ] micro wait useless.\n")); + return FALSE; + } + + /* + * we expect at least 10000 times longer period, which should be 'achievable' + * unlikely we will cross the magic boundary here of 4 billion instructions in 10 millisecond (yielding 400'000MIPS?) + * on the other side, if we go as low as 1, then 4 iterations of add/sub/mul/div is perfectly fine yielding a bit more than 400ns... + */ + + if (t2.tv_micro >= 10000) + break; + scale <<= 1; + } + + D(bug("[ATA ] Executed %ld ops in %ldus\n", scale, t2.tv_micro)); + + // always round up to the next value.. so 30.9 -> 31, 5.1 -> 6, etc + x = (x + t2.tv_micro - 1) / t2.tv_micro; + x = (x+9) / 10; + + D(bug("[ATA ] Approximate number of iterations per 100 nanoseconds: %ld\n", x)); + base->ata_ItersPer100ns = x; return TRUE; } void ata_WaitNano(register ULONG ns, struct ataBase *base) { + volatile register ULONG t = 1; + ns = (ns + 99) / 100; + ns *= base->ata_ItersPer100ns; + while (ns > 0) + { + t = (((t + ns) * t) - ns) / ns; // add, mul, sub, div, trivial benchmark. + --ns; + } } + diff --git a/rom/devs/ata/waitto.c b/rom/devs/ata/waitto.c index 4a62726381f..9d179e0426f 100644 --- a/rom/devs/ata/waitto.c +++ b/rom/devs/ata/waitto.c @@ -1,5 +1,5 @@ /* - Copyright 2013-2014, The AROS Development Team. All rights reserved + Copyright � 2013-2014, The AROS Development Team. All rights reserved $Id$ */ @@ -24,20 +24,19 @@ ULONG ata_WaitTO(struct IORequest* tmr, ULONG secs, ULONG micro, ULONG sigs) { ULONG sig = 1 << tmr->io_Message.mn_ReplyPort->mp_SigBit; - D(struct Node *t = (struct Node *)FindTask(NULL)); - D(bug("[ATA ] Timed wait %lds %ldu (task='%s')\n", secs, micro, - t->ln_Name)); + DD(struct Node *t = (struct Node *)FindTask(NULL)); + DD(bug("[ATA ] Timed wait %lds %ldu (task='%s')\n", secs, micro, t->ln_Name)); tmr->io_Command = TR_ADDREQUEST; ((struct timerequest*)tmr)->tr_time.tv_secs = secs; ((struct timerequest*)tmr)->tr_time.tv_micro = micro; SendIO(tmr); - D(bug("[ATA ] Preset signals: %lx ('%s')\n", SetSignal(0, 0), t->ln_Name)); - D(bug("[ATA ] Signals requested: %lx ('%s')\n", sigs, t->ln_Name)); - D(bug("[ATA ] Timer signal: %lx ('%s')\n", sig, t->ln_Name)); + DD(bug("[ATA ] Preset signals: %lx ('%s')\n", SetSignal(0, 0), t->ln_Name)); + DD(bug("[ATA ] Signals requested: %lx ('%s')\n", sigs, t->ln_Name)); + DD(bug("[ATA ] Timer signal: %lx ('%s')\n", sig, t->ln_Name)); sigs = Wait(sigs | sig); - D(bug("[ATA ] Signals received: %lx ('%s')\n", sigs, t->ln_Name)); + DD(bug("[ATA ] Signals received: %lx ('%s')\n", sigs, t->ln_Name)); if (0 == (sigs & sig)) { if (!CheckIO(tmr)) diff --git a/rom/devs/scsi/mmakefile.src b/rom/devs/scsi/mmakefile.src index 15893a62d99..c0484e41109 100644 --- a/rom/devs/scsi/mmakefile.src +++ b/rom/devs/scsi/mmakefile.src @@ -22,7 +22,6 @@ SCSI_DEVICEFILES := \ lowlevel \ timer \ bootwait \ - waitnano \ waitto SCSI_CLASSFILES := \ diff --git a/rom/devs/scsi/scsi.c b/rom/devs/scsi/scsi.c index b952a599945..a08603e3ea8 100644 --- a/rom/devs/scsi/scsi.c +++ b/rom/devs/scsi/scsi.c @@ -1,5 +1,5 @@ /* - Copyright 2019, The AROS Development Team. All rights reserved + Copyright � 2019, The AROS Development Team. All rights reserved $Id$ Desc: @@ -883,7 +883,7 @@ void DaemonCode(LIBBASETYPEPTR LIBBASE) UBYTE b = 0; ULONG sigs; - D(bug("[SCSI**] You woke up DAEMON\n")); + bug("[SCSI**] You woke up DAEMON\n"); /* * Prepare message ports and timer.device's request @@ -911,7 +911,7 @@ void DaemonCode(LIBBASETYPEPTR LIBBASE) LIBBASE->scsi_Daemon = FindTask(NULL); Signal(LIBBASE->daemonParent, SIGF_SINGLE); - D(bug("[SCSI++] Starting sweep medium presence detection\n")); + bug("[SCSI++] Starting sweep medium presence detection\n"); /* * Endless loop @@ -933,7 +933,7 @@ void DaemonCode(LIBBASETYPEPTR LIBBASE) { struct IOStdReq *ios; - DB2(bug("[SCSI++] Detecting media presence\n")); + bug("[SCSI++] Detecting media presence\n"); ObtainSemaphore(&LIBBASE->DaemonSem); ForeachNode(&LIBBASE->Daemon_ios, ios) @@ -961,7 +961,7 @@ void DaemonCode(LIBBASETYPEPTR LIBBASE) b++; } while (!sigs); - D(bug("[SCSI++] Daemon quits\n")); + bug("[SCSI++] Daemon quits\n"); scsi_CloseTimer(timer); @@ -982,7 +982,7 @@ void BusTaskCode(struct scsi_Bus *bus, LIBBASETYPEPTR LIBBASE) OOP_Object *unitObj; struct scsi_Unit *unit; - DINIT(bug("[SCSI**] Task started (bus: %u)\n", bus->sb_BusNum)); + bug("[SCSI**] Task started (bus: %u)\n", bus->sb_BusNum); bus->sb_Timer = scsi_OpenTimer(LIBBASE); bus->sb_BounceBufferPool = CreatePool(MEMF_CLEAR | MEMF_31BIT, 131072, 65536); @@ -998,7 +998,7 @@ void BusTaskCode(struct scsi_Bus *bus, LIBBASETYPEPTR LIBBASE) for (iter = 0; iter < MAX_BUSUNITS; ++iter) { - DINIT(bug("[SCSI**] Device %u type %d\n", iter, bus->sb_Dev[iter])); + bug("[SCSI**] Device %u type %d\n", iter, bus->sb_Dev[iter]); if (bus->sb_Dev[iter] > DEV_UNKNOWN) { @@ -1053,7 +1053,7 @@ void BusTaskCode(struct scsi_Bus *bus, LIBBASETYPEPTR LIBBASE) } } - D(bug("[SCSI--] Bus %u scan finished\n", bus->sb_BusNum)); + bug("[SCSI--] Bus %u scan finished\n", bus->sb_BusNum); ReleaseSemaphore(&LIBBASE->DetectionSem); /* Wait forever and process messages */ diff --git a/rom/devs/scsi/scsi.h b/rom/devs/scsi/scsi.h index 392963523d5..145b3491bb8 100644 --- a/rom/devs/scsi/scsi.h +++ b/rom/devs/scsi/scsi.h @@ -2,7 +2,7 @@ #define _SCSI_H /* - Copyright 2019, The AROS Development Team. All rights reserved. + Copyright � 2019, The AROS Development Team. All rights reserved. $Id$ Desc: scsi.device main private include file diff --git a/rom/dos/banner.c b/rom/dos/banner.c index 78bba6ca125..6ecdfc399db 100644 --- a/rom/dos/banner.c +++ b/rom/dos/banner.c @@ -11,37 +11,23 @@ char *generate_banner() { #if defined(__DISTRONAME__) - BYTE const CDistro[] = "" __DISTRONAME__ " (" __DISTROVERSION__ ", " __DISTRODATE__ ")"; + BYTE const CDistro[] = "" __DISTRONAME__ " " __DISTROVERSION__ " (" __DISTRODATE__ ")"; #endif - BYTE const CExtra[] = "Licensed under the AROS Public License.\n"; -/* -#if defined(REPOTYPE) - "Version " REPOTYPE "" REPOREVISION -#if defined(REPOID) - " (" REPOID ")" -#endif - "\n" -#endif - "built on " ISODATE ".\n"; -*/ - char *banner; #if defined(__DISTRONAME__) - IPTR CParams[4]; + IPTR CParams[3]; CParams[0] = (IPTR)CDistro; CParams[1] = (IPTR)TaggedOpenLibrary(-2); CParams[2] = (IPTR)TaggedOpenLibrary(-3); - CParams[3] = (IPTR)CExtra; - banner = AllocVec(strlen((char*)CParams[0]) + strlen((char *)CParams[1]) + strlen((char *)CParams[2]) + strlen((char *)CParams[3]) + 2, MEMF_CLEAR); - RawDoFmt("%s\n%s%s\n%s", (RAWARG)CParams, RAWFMTFUNC_STRING, banner); + banner = AllocVec(strlen((char *)CParams[0]) + strlen((char *)CParams[1]) + strlen((char *)CParams[2]) + 4, MEMF_CLEAR); + RawDoFmt("%s\n\n", (RAWARG)CParams, RAWFMTFUNC_STRING, banner); #else - IPTR CParams[3]; + IPTR CParams[2]; CParams[0] = (IPTR)TaggedOpenLibrary(-2); CParams[1] = (IPTR)TaggedOpenLibrary(-3); - CParams[2] = (IPTR)CExtra; - banner = AllocVec(strlen((char *)CParams[0]) + strlen((char *)CParams[1]) + strlen((char *)CParams[2]) + 2, MEMF_CLEAR); + banner = AllocVec(strlen((char *)CParams[0]) + strlen((char *)CParams[1]) + 4, MEMF_CLEAR); RawDoFmt("%s%s\n%s", (RAWARG)CParams, RAWFMTFUNC_STRING, banner); #endif return banner; diff --git a/rom/dos/boot.c b/rom/dos/boot.c index 24b2a41f00f..abb1221efc0 100644 --- a/rom/dos/boot.c +++ b/rom/dos/boot.c @@ -39,6 +39,8 @@ extern char *generate_banner(void); #include +#define DEBUG 1 + static void load_system_configuration(struct DosLibrary *DOSBase) { BPTR fh; @@ -75,11 +77,14 @@ void __dos_Boot(struct DosLibrary *DOSBase, ULONG BootFlags, UBYTE Flags) try and boot the system. */ D( + bug("[DOS] %s: ** boot delayed by 1000ms\n", __func__); bug("[DOS] %s: ** starting generic boot sequence\n", __func__); bug("[DOS] %s: BootFlags 0x%08X Flags 0x%02X\n", __func__, BootFlags, Flags); bug("[DOS] %s: DOSBase @ 0x%p\n", __func__, DOSBase); ) + Delay(50); + /* m68000 uses this to get the default colors and * cursors for Workbench */ @@ -140,7 +145,7 @@ void __dos_Boot(struct DosLibrary *DOSBase, ULONG BootFlags, UBYTE Flags) #if defined(__DISTRONAME__) if (cis == BNULL) - cis = Open("CON:////ApolloDOS/AUTO/CLOSE/SMART/BOOT", MODE_OLDFILE); + cis = Open("CON:////ApolloOS/AUTO/CLOSE/SMART/BOOT", MODE_OLDFILE); #else if (cis == BNULL) cis = Open("CON:////AROS/AUTO/CLOSE/SMART/BOOT", MODE_OLDFILE); diff --git a/rom/dos/catalogs b/rom/dos/catalogs deleted file mode 160000 index cc117e3406f..00000000000 --- a/rom/dos/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cc117e3406f9b8bbadd41e59179efcee48e327dd diff --git a/rom/dos/catalogs/.gitattributes b/rom/dos/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/rom/dos/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/rom/dos/catalogs/czech.ct b/rom/dos/catalogs/czech.ct new file mode 100644 index 00000000000..2a541064ace --- /dev/null +++ b/rom/dos/catalogs/czech.ct @@ -0,0 +1,260 @@ +## version $VER: Dos.catalog 1.2 (7.12.2007) +## language czech +## codeset 5 +; +MSG_ERROR_NO_FREE_STORE +není dostatek volné paměti +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +překročen povolený počet procesů +; process table full +; +MSG_ERROR_BAD_TEMPLATE +neplatná šablona +; bad template +; +MSG_ERROR_BAD_NUMBER +neplatné číslo +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +chybí požadovaný argument +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +chybí hodnota za klíčovým slovem +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +neplatný počet argumentů +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +neodpovídá počet závorek +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +neplatné nebo příliš mnoho argumentů +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +soubor není spustitelný +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +chyba rezidentní knihovny +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +neplatný výchozí adresář +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +objekt je již používán +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +objekt již existuje +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +adresář nelze najít +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +objekt nelze najít +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +neplatný popis okna +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +objekt je příliš velký +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +neznámý druh požadavku na souborový systém +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +neplatný název objektu +; object name invalid +; +MSG_ERROR_INVALID_LOCK +neplatné zamknutí objektu +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +objekt není požadovaného typu +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +neplatný stav disku +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +disk je chráněný proti zápisu +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +přejmenování do jiného zařízení není povoleno +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +adresář není prázdný +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +příliš mnoho zanoření +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +zařízení (příp. disk) není připojeno +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +chyba při prohledávání +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +komentář je příliš dlouhý +; comment is too long +; +MSG_ERROR_DISK_FULL +disk je zaplněný +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +objekt je chráněný proti smazání +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +soubor je chráněný proti zápisu +; file is write protected +; +MSG_ERROR_READ_PROTECTED +soubor je chráněný proti čtení +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +neplatný disk +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +v zařízení není disk +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +adresář neobsahuje další položky +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +objekt je odkaz na jiný objekt +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +objektu je přiřazen odkaz +; object is linked +; +MSG_ERROR_BAD_HUNK +neplatný blok souboru +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +funkce není naprogramována +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +záznam není zamknutý +; record not locked +; +MSG_ERROR_LOCK_COLLISION +pokus o dvojí zamknutí +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +překročení povolené doby zamknutí +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +chyba při odemykání záznamu +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +přetečení vyrovnávací paměti +; buffer overflow +; +MSG_ERROR_BREAK +***Přerušeno +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +soubor není spustitelný +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Disk "%s" není zvalidovaný. +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Disk "%s" je chráněný proti zápisu. +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Vložte disk "%s" do libovolného zařízení. +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Vložte disk "%s" do libovolného zařízení. +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Vložte disk "%s" zpět do zařízení "%s". +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Disk "%s" je zaplněný. +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +V zařízení %s je vložen neplatný disk. +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +V zařízení %s není vložen disk. +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Vraťte disk "%s" zpět do zařízení %s. +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Z disku "%s" nelze číst nebo na něj zapsat. +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Opakovat +; Retry +; +MSG_STRING_CANCEL +Zrušit +; Cancel +; +MSG_STRING_REQUESTTITLE +Požadavek systému +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +chybí odpovídající Else nebo EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +tento příkaz lze použít jen ve skriptech +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +nedefinovaná chyba +; undefined error +; diff --git a/rom/dos/catalogs/danish.ct b/rom/dos/catalogs/danish.ct new file mode 100644 index 00000000000..766493edade --- /dev/null +++ b/rom/dos/catalogs/danish.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (28.06.2010) +## language dansk +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +utilstrækkelig hukommelse tilgængelig +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +procestabellen er fuld +; process table full +; +MSG_ERROR_BAD_TEMPLATE +ugyldig skabelon +; bad template +; +MSG_ERROR_BAD_NUMBER +ugyldigt tal +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +der mangler et nødvendigt argument +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +manglende værdi efter nøgleord +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +forkert antal argumenter +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +uparrede anførselstegn +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +Ugyldig eller for lang argumentlinie +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +Filen er ikke kørbar +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +Ugyldigt lagringsfast bibliotek +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +Intet standardkatalog +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +Objektet er i brug +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +Objektet findes allerede +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +Kataloget blev ikke fundet +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +objektet blev ikke fundet +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +ugyldig vinduesbeskrivelse +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +objektet er for stort +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +ukendt filsystemhandlingstype +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +objektnavnet er ugyldigt +; object name invalid +; +MSG_ERROR_INVALID_LOCK +ugyldig objektlås +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +objektet er ikke af den påkrævede type +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +disken er ikke valideret +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +disken er skrivebeskyttet +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +Der blev forsøgt en omdøbning på tværs af enheder +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +kataloget er ikke tomt +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +for mange niveauer +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +enhed (eller volume) er ikke monteret +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +søgefejl +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +kommentaren er for lang +; comment is too long +; +MSG_ERROR_DISK_FULL +disken er fuld +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +Objektet er beskyttet mod sletning +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +filen er skrivebeskyttet +; file is write protected +; +MSG_ERROR_READ_PROTECTED +filen er læsebeskyttet +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +er ikke en gyldig DOS-disk +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +ingen disk i drevet +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +ikke flere elementer i kataloget +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +objektet er en blød lænke +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +objektet er lænket +; object is linked +; +MSG_ERROR_BAD_HUNK +ugyldig filhunk +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +funktionen er ikke implementeret +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +post er ikke låst +; record not locked +; +MSG_ERROR_LOCK_COLLISION +postlåssammenstød +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +postlåstidsudløb +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +Poståbningsfejl +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +bufferoverløb +; buffer overflow +; +MSG_ERROR_BREAK +***Afbrudt +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +Filen er ikke kørbar +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Volume "%s" er ikke valideret +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Volume "%s" er skrivebeskyttet +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Indsæt volume "%s" i et drev +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Udskift volume "%s" i et drev +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Udskift volume "%s" i "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Volume "%s" er fuld +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Disken i "%s" er ikke en DOS-disk +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Der er ingen disk i "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Du er nødt til at udskifte volume "%s" in "%s". +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Der er en læse/skrivefejl på Volume "%s" +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Prøv igen +; Retry +; +MSG_STRING_CANCEL +Afbryd +; Cancel +; +MSG_STRING_REQUESTTITLE +Systemforespørger +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +ingen tilsvarende Else eller EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +denne kommando er kun beregnet til brug i kommandofiler +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +udefineret fejl +; undefined error +; \ No newline at end of file diff --git a/rom/dos/catalogs/dos.cd b/rom/dos/catalogs/dos.cd new file mode 100644 index 00000000000..731d7e85ade --- /dev/null +++ b/rom/dos/catalogs/dos.cd @@ -0,0 +1,192 @@ +MSG_ERROR_NO_FREE_STORE (103//) +not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL (105//) +process table full +; +MSG_ERROR_BAD_TEMPLATE (114//) +bad template +; +MSG_ERROR_BAD_NUMBER (115//) +bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING (116//) +required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG (117//) +value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS (118//) +wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES (119//) +unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG (120//) +argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT (121//) +file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY (122//) +invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR (201//) +no default directory +; +MSG_ERROR_OBJECT_IN_USE (202//) +object is in use +; +MSG_ERROR_OBJECT_EXISTS (203//) +object already exists +; +MSG_ERROR_DIR_NOT_FOUND (204//) +directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND (205//) +object not found +; +MSG_ERROR_BAD_STREAM_NAME (206//) +invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE (207//) +object too large +; +MSG_ERROR_ACTION_NOT_KNOWN (209//) +filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME (210//) +object name invalid +; +MSG_ERROR_INVALID_LOCK (211//) +invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE (212//) +object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED (213//) +disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED (214//) +disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES (215//) +rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY (216//) +directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS (217//) +too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED (218//) +device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR (219//) +seek failure +; +MSG_ERROR_COMMENT_TOO_BIG (220//) +comment is too long +; +MSG_ERROR_DISK_FULL (221//) +disk is full +; +MSG_ERROR_DELETE_PROTECTED (222//) +object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED (223//) +file is write protected +; +MSG_ERROR_READ_PROTECTED (224//) +file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK (225//) +not a valid DOS disk +; +MSG_ERROR_NO_DISK (226//) +no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES (232//) +no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK (233//) +object is soft link +; +MSG_ERROR_OBJECT_LINKED (234//) +object is linked +; +MSG_ERROR_BAD_HUNK (235//) +bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED (236//) +function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED (240//) +record not locked +; +MSG_ERROR_LOCK_COLLISION (241//) +record lock collision +; +MSG_ERROR_LOCK_TIMEOUT (242//) +record lock timeout +; +MSG_ERROR_UNLOCK_ERROR (243//) +record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW (303//) +buffer overflow +; +MSG_ERROR_BREAK (304//) +***Break +; +MSG_ERROR_NOT_EXECUTABLE (305//) +file not executable +; +MSG_STRING_DISK_NOT_VALIDATED (4000//) +Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED (4001//) +Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT (4002//) +Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE (4003//) +Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET (4004//) +Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL (4005//) +Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK (4006//) +Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK (4007//) +No disk present in "%s" +; +MSG_STRING_ABORT_BUSY (4008//) +You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR (4009//) +Volume "%s" has a read/write error +; +MSG_STRING_RETRY (5000//) +Retry +; +MSG_STRING_CANCEL (5001//) +Cancel +; +MSG_STRING_REQUESTTITLE (5002//) +System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF (10000//) +no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY (10001//) +this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN (100//) +undefined error +; diff --git a/rom/dos/catalogs/french.ct b/rom/dos/catalogs/french.ct new file mode 100644 index 00000000000..f38a1342951 --- /dev/null +++ b/rom/dos/catalogs/french.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (21.10.2009) +## language français +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +pas assez de mémoire disponible +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +la table des processus est pleine +; process table full +; +MSG_ERROR_BAD_TEMPLATE +modèle incorrect +; bad template +; +MSG_ERROR_BAD_NUMBER +nombre incorrect +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +argument requis manquant +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +valeur après le mot clé manquante +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +nombre d'arguments faux +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +correspondance des guillemets erronée +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +ligne d'arguments invalide ou trop longue +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +le fichier n'est pas exécutable +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +bibliothèque résidente non valide +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +pas de répertoire par défaut +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +objet en cours d'utilisation +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +l'objet existe déjà +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +répertoire non trouvé +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +objet non trouvé +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +mauvais descriptif de fenêtre +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +l'objet est trop volumineux +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +action inconnue du système de fichiers +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +le nom de l'objet est incorrect +; object name invalid +; +MSG_ERROR_INVALID_LOCK +le verrou sur l'objet est incorrect +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +l'objet n'est pas du bon type +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +le disque n'est pas validé +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +le disque est protégé en écriture +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +tentative de renommage entre supports différents +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +le répertoire n'est pas vide +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +profondeur trop grande +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +le disque (ou le périphérique) n'est pas monté +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +recherche interrompue +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +le commentaire est trop long +; comment is too long +; +MSG_ERROR_DISK_FULL +le disque est plein +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +l'objet est protégé contre l'effacement +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +le fichier est protégé contre l'écriture +; file is write protected +; +MSG_ERROR_READ_PROTECTED +le fichier est protégé contre la lecture +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +le disque n'est pas formaté +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +il n'y a pas de disque dans le lecteur +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +plus d'entrées dans le répertoire +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +l'objet est un lien logiciel +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +l'objet est lié +; object is linked +; +MSG_ERROR_BAD_HUNK +mauvais descriptif de fichier +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +la fonction n'est pas implémentée +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +l'enregistrement n'est pas verrouillé +; record not locked +; +MSG_ERROR_LOCK_COLLISION +collision des enregistrements +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +verrou invalidé +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +erreur lors du déverrouillage +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +dépassement de mémoire tampon +; buffer overflow +; +MSG_ERROR_BREAK +*** Arrêt +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +le fichier n'est pas exécutable +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Le volume "%s" n'a pas été validé +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Le volume "%s" est protégé en écriture +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Veuillez insérer le volume "%s" dans un des lecteurs +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Veuillez réinsérer le volume "%s" dans un des lecteurs +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Veuillez réinsérer le volume "%s" dans "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Le volume "%s" est plein +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Disque non DOS dans "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Pas de disque présent dans "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Vous DEVEZ réinsérer le volume "%s" dans "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Erreur de lecture/écriture sur le volume "%s" +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Réessayer +; Retry +; +MSG_STRING_CANCEL +Annuler +; Cancel +; +MSG_STRING_REQUESTTITLE +Requête système +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +il manque Else ou EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +cette commande est supposée être utilisée en tant que script +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +erreur inconnue +; undefined error +; diff --git a/rom/dos/catalogs/german.ct b/rom/dos/catalogs/german.ct new file mode 100644 index 00000000000..44e76cf1ec2 --- /dev/null +++ b/rom/dos/catalogs/german.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.1 (08.06.2007) +## language deutsch +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +Speicherplatzmangel +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +Prozesstabelle ist voll +; process table full +; +MSG_ERROR_BAD_TEMPLATE +Falsches Namensmuster +; bad template +; +MSG_ERROR_BAD_NUMBER +Ungültiger Zahlenwert +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +Gefordertes Argument fehlt +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +Argument nach Schlüsselwort fehlt +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +Falsche Anzahl an Argumenten +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +Ungerade Anzahl an Anführungszeichen +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +Argumentzeile ist ungültig oder zu lang +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +Datei ist nicht ausführbar +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +Ungültige residente Library +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +Fehler 201 +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +Objekt ist in Gebrauch +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +Objekt existiert bereits +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +Verzeichnis nicht gefunden +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +Objekt nicht gefunden +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +Ungültige Fensterparameter +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +Objekt ist zu groß +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +Unbekannter Filesystem-Action-Typ +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +Ungültiger Objektname +; object name invalid +; +MSG_ERROR_INVALID_LOCK +Ungültiger Lock-Zugriff auf Objekt +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +Objekt ist nicht vom geforderten Typ +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +Disk ist nicht gültig +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +Disk ist schreibgeschützt +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +Umbenennen auf anderen Datenträger versucht +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +Verzeichnis ist nicht leer +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +Zu tiefe Schachtelung +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +Gerät (oder Datenträger) ist nicht angemeldet +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +Fehler beim Suchlesen +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +Kommentar ist zu lang +; comment is too long +; +MSG_ERROR_DISK_FULL +Disk ist voll +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +Objekt ist löschgeschützt +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +Datei ist schreibgeschützt +; file is write protected +; +MSG_ERROR_READ_PROTECTED +Datei ist lesegeschützt +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +Keine gültige DOS-Disk +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +Keine Diskette im Laufwerk +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +Keine weiteren Verzeichniseinträge +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +Objekt im Verbund +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +Verbundobjekt +; object is linked +; +MSG_ERROR_BAD_HUNK +Ungültiger Hunk in zu ladender Datei +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +Funktion ist nicht implementiert +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +Datensatz nicht gesperrt +; record not locked +; +MSG_ERROR_LOCK_COLLISION +Kollision bei Datensatzsperre +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +Zeitüberschreitung bei Datensatzsperre +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +Fehler bei Datensatzfreigabe +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +Pufferüberlauf +; buffer overflow +; +MSG_ERROR_BREAK +*** Abbruch +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +Datei ist nicht ausführbar +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Datenträger "%s" ist nicht gültig +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Datenträger "%s" ist schreibgeschützt +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Benötige den Datenträger "%s" in beliebigem Laufwerk +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Benötige wieder den Datenträger "%s" in beliebigem Laufwerk +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Benötige den Datenträger "%s" in "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Datenträger "%s" ist voll +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Keine DOS-Disk in "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Keine Diskette in "%s" vorhanden +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Benötige UNBEDINGT den Datenträger "%s" in "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Datenträger "%s" hat einen Schreib-/Lesefehler +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Nochmal versuchen +; Retry +; +MSG_STRING_CANCEL +Abbrechen +; Cancel +; +MSG_STRING_REQUESTTITLE +Systemmeldung +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +Fehlendes ELSE oder ENDIF +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +Muss in einer Befehlsdatei stehen +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +Unbekannter Fehler +; undefined error +; diff --git a/rom/dos/catalogs/italian.ct b/rom/dos/catalogs/italian.ct new file mode 100644 index 00000000000..3d9b466d6c8 --- /dev/null +++ b/rom/dos/catalogs/italian.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (02.02.2005) +## language italiano +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +memoria insufficiente +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +tavola dei processi completa +; process table full +; +MSG_ERROR_BAD_TEMPLATE +template errato +; bad template +; +MSG_ERROR_BAD_NUMBER +numero errato +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +manca un argomento necessario +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +manca un valore dopo la keyword +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +numero di argomenti errato +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +unmatched quotes +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +linea degli argomenti non valida o troppo lunga +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +il file non è eseguibile +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +libreria residente non valida +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +errore 201 +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +l'oggetto è in uso +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +l'oggetto esiste già +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +directory non trovata +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +oggetto non trovato +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +descrizione della finestra invalida +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +oggetto troppo grande +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +tipo di azione sconosciuto del filesystem +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +nome dell'oggetto invalido +; object name invalid +; +MSG_ERROR_INVALID_LOCK +blocco dell'oggetto invalido +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +L'oggetto non è della tipologia richiesta +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +disco non convalidato +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +disco protetto dalla scrittura +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +tentativo di rinominazione invalida +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +la directory non è vuota +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +troppi livelli +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +dispositivo (o volume) non montato +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +ricerca fallita +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +commento troppo lungo +; comment is too long +; +MSG_ERROR_DISK_FULL +il disco è pieno +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +oggetto protetto dalla cancellazione +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +file protetto dalla scrittura +; file is write protected +; +MSG_ERROR_READ_PROTECTED +file protetto dalla lettura +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +disco DOS non valido +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +manca il disco +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +la directory è piena +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +l'oggetto è un collegamento semplice +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +l'oggetto è collegato +; object is linked +; +MSG_ERROR_BAD_HUNK +descrizione del file corrotta +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +funzione non ancora supportata +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +record non bloccato +; record not locked +; +MSG_ERROR_LOCK_COLLISION +collisione del blocco del record +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +tempo esaurito per blocco record +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +errore nello sblocco del record +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +buffer overflow +; buffer overflow +; +MSG_ERROR_BREAK +***Interruzione +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +file non eseguibile +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Volume "%s" non convalidato +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Volume "%s" protetto da scrittura +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Prego inserire il volume "%s" in qualsiasi unità +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Prego reinserire il volume "%s" in qualsiasi unità +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Prego reinserire il volume "%s" in "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Volume "%s" pieno +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Disco DOS non valido in "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +manca il disco in "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +È assolutamente necessario reinserire "%s" in "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Il volume "%s" ha errori di lettura/scrittura +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Riprova +; Retry +; +MSG_STRING_CANCEL +Annulla +; Cancel +; +MSG_STRING_REQUESTTITLE +Richiesta di sistema +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +manca corrispettivo Else o EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +questo comando può essere usato solo in file di comando +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +errore indefinito +; undefined error +; diff --git a/rom/dos/catalogs/mmakefile.src b/rom/dos/catalogs/mmakefile.src new file mode 100644 index 00000000000..3061410f7ac --- /dev/null +++ b/rom/dos/catalogs/mmakefile.src @@ -0,0 +1,13 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM- workbench : workbench-libs-dos-catalogs + +CATALOGS:= czech danish french german italian norwegian \ + polish russian spanish swedish + +%build_catalogs mmake=workbench-libs-dos-catalogs \ + catalogs=$(CATALOGS) \ + name=dos subdir=System/Libs diff --git a/rom/dos/catalogs/norwegian.ct b/rom/dos/catalogs/norwegian.ct new file mode 100644 index 00000000000..834524b0e71 --- /dev/null +++ b/rom/dos/catalogs/norwegian.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (12.12.2001) +## language norsk +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +ikke nok minne tilgjengelig +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +prosesstabellen er full +; process table full +; +MSG_ERROR_BAD_TEMPLATE +ugyldig syntaks +; bad template +; +MSG_ERROR_BAD_NUMBER +ugyldig nummer +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +nødvendig argument mangler +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +verdi etter nøkkelord mangler +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +feil antall argumenter +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +ikke samsvarende anførselstegn +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +linjen med argumenter er ugyldig eller for lang +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +filen er ikke kjørbar +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +ugyldig resident bibliotek +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +ingen standard katalog +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +objektet er i bruk +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +objektet finnes allerede +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +mappen finnes ikke +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +objektet finnes ikke +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +ugyldig vindusbeskrivelse +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +objektet er for stort +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +ukjent aksjonstype for filsystemet +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +ugyldig objektnavn +; object name invalid +; +MSG_ERROR_INVALID_LOCK +ugyldig objektlås +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +objektet er ikke av riktig type +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +disken er ikke validert +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +disken er skrivebeskyttet +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +forsøk på navnebytte over enheter +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +mappen er ikke tom +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +for mange nivåer +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +enhet (eller volum) er ikke montert +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +søkefeil +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +kommentaren er for lang +; comment is too long +; +MSG_ERROR_DISK_FULL +disken er full +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +objektet er beskyttet for sletting +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +filen er skrivebeskyttet +; file is write protected +; +MSG_ERROR_READ_PROTECTED +filen er lesebeskyttet +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +ikke en gyldig DOS-disk +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +ingen disk i enheten +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +ingen flere elementer i mappen +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +objektet er en myk lenke +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +objektet er lenket +; object is linked +; +MSG_ERROR_BAD_HUNK +ugyldig filhunk +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +funksjonen er ikke implementert +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +ulåst oppføring +; record not locked +; +MSG_ERROR_LOCK_COLLISION +låskonflikt i oppføring +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +timeout av oppføringslås +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +opplåsingsfeil i oppføring +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +overflod i buffer +; buffer overflow +; +MSG_ERROR_BREAK +***Avbrudd +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +filen er ikke kjørbar +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Volume "%s" er ikke validert +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Volume "%s" er skrivebeskyttet +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Vennligst sett inn volum "%s" i en stasjon +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Vennligst bytt ut volum "%s" i hvilken som helst stasjon +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Vennligst bytt ut volum "%s" i "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Volume "%s" er fullt +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Ingen DOS disk i "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Ingen disk i "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Du MÅ byttet ut volum "%s" i "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Volum "%s" har lese-/skrivefeil +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Prøv igjen +; Retry +; +MSG_STRING_CANCEL +Avbryt +; Cancel +; +MSG_STRING_REQUESTTITLE +Systemdialog +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +ingen matchende Else eller Endif +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +denne kommandoen er bare til bruk i skriptfiler +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +uidentifisert feil +; undefined error +; \ No newline at end of file diff --git a/rom/dos/catalogs/polish.ct b/rom/dos/catalogs/polish.ct new file mode 100644 index 00000000000..51a467e5b91 --- /dev/null +++ b/rom/dos/catalogs/polish.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_ERROR_NO_FREE_STORE +zbyt mało dostępnej pamięci +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +tablica procesów zapełniona +; process table full +; +MSG_ERROR_BAD_TEMPLATE +błędny wzorzec +; bad template +; +MSG_ERROR_BAD_NUMBER +zła wartość numeryczna +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +niezbędny argument nie znaleziony +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +brak wartości po słowie kluczowym +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +zła liczba argumentów +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +niezamknięte nawiasy +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +linia argumentów błędna bądź zbyt długa +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +plik nie jest programem +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +biblioteka rezydentna nie jest właściwa +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +brak domyślnego katalogu +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +obiekt w użyciu +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +obiekt już istnieje +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +katalog nie znaleziony +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +obiekt nie znaleziony +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +błędny opis okna +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +obiekt zbyt duży +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +nieznany typ pakietu +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +niepoprawna nazwa obiektu +; object name invalid +; +MSG_ERROR_INVALID_LOCK +niewłaściwa blokada obiektu +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +obiekt nie jest wymaganego typu +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +dysk nie jest zaktualizowany +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +dysk jest zabezpieczony przed zapisem +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +usiłowano zmienić nazwę pomiędzy urządzeniami +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +katalog nie jest pusty +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +zbyt dużo poziomów +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +urządzenie (lub wolumen) nie jest zamontowane +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +błąd podczas przeszukiwania pliku +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +komentarz zbyt długi +; comment is too long +; +MSG_ERROR_DISK_FULL +dysk jest pełen +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +obiekt jest zabezpieczony przed skasowaniem +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +plik jest zabezpieczony przed zapisem +; file is write protected +; +MSG_ERROR_READ_PROTECTED +plik jest zabezpieczony przed odczytem +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +to nie jest dysk w formacie DOS-u +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +brak dysku w napędzie +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +nie ma więcej pozycji w katalogu +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +obiekt jest odnośnikiem (softlink) +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +obiekt jest odnośnikiem (hardlink) +; object is linked +; +MSG_ERROR_BAD_HUNK +błędny hunk wczytywanego pliku +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +funkcja nie jest zaimplementowana +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +rekord nie jest zablokowany +; record not locked +; +MSG_ERROR_LOCK_COLLISION +nie mogę zablokować rekordu +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +przekroczony czas oczekiwania na zablokowanie rekordu +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +błąd odblokowywania obiektu +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +bufor przepełniony +; buffer overflow +; +MSG_ERROR_BREAK +***Przerwano +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +plik nie jest wykonywalny +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Wolumen \"%s\" nie jest zaktualizowany +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Wolumen \"%s\' jest zabezpieczony przed zapisem +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Proszę włożyć wolumen \"%s\" do dowolnego napędu +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Proszę wymienić wolumen \"%s\" w dowolnym napędzie +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Proszę wymienić wolumen \"%s\" w \"%s\" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Wolumen \"%s\" jest pełen +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Niedosowy dysk w \"%s\" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Brak dysku w \"%s\" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +Musisz wymienić wolumen \"%s\" w \"%s\"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Wolumen \"%s\" ma błędy zapisu/odczytu +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Ponów +; Retry +; +MSG_STRING_CANCEL +Poniechaj +; Cancel +; +MSG_STRING_REQUESTTITLE +Komunikat systemowy +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +brak pasujących poleceń Else lub Endif +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +to polecenie jest przeznaczone do używania jedynie w plikach poleceń +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +nieokreślony błąd +; undefined error +; diff --git a/rom/dos/catalogs/russian.ct b/rom/dos/catalogs/russian.ct new file mode 100644 index 00000000000..fcb14b736b6 --- /dev/null +++ b/rom/dos/catalogs/russian.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.1 (30.07.2007) +## language russian +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +Недостаточно свободной памяти +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +Переполнена таблица процессов +; process table full +; +MSG_ERROR_BAD_TEMPLATE +Неверный шаблон +; bad template +; +MSG_ERROR_BAD_NUMBER +Неверный номер +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +Отсутствует необходимый параметр +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +Отсутствует значение указанного параметра +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +Неверное число аргументов +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +Не закрыты кавычки +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +Список аргументов неверен или переполнен +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +Файл не является исполняемым +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +Ошибка в резидентной библиотеке +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +Ошибка 201 +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +Обьект занят +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +Обьект уже существует +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +Каталог не найден +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +Объект не найден +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +Ошибка в описании окна +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +Объект слишком велик +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +Неизвестный тип файловой системы +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +Ошибка в имени объекта +; object name invalid +; +MSG_ERROR_INVALID_LOCK +Ошибка блокировки объекта +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +Объект неподходящего типа +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +Диск не прошёл проверку +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +Диск защищён от записи +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +Попытка переименования между устройствами +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +Каталог не пуст +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +Превышено число вложенных уровней +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +Устройство (том) не смонтировано +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +Ошибка чтения +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +Превышена длина комментария +; comment is too long +; +MSG_ERROR_DISK_FULL +Диск переполнен +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +Объект защищён от удаления +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +Файл защищён от записи +; file is write protected +; +MSG_ERROR_READ_PROTECTED +Файл защищен от чтения +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +Неверный диск DOS +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +Нет диска в приводе +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +Превышено число объектов в каталоге +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +Объект является "мягкой" ссылкой +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +Объект имеет ссылки +; object is linked +; +MSG_ERROR_BAD_HUNK +Ошибка в заголовке +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +Функция ещё не внедрена +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +Запись не заблокирована +; record not locked +; +MSG_ERROR_LOCK_COLLISION +Запись уже заблокирована +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +Истек срок защиты записи +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +Ошибка при разблокировании записи +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +Переполнение буфера +; buffer overflow +; +MSG_ERROR_BREAK +*** Останов +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +Файл не является исполняемым +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Том "%s" не прошёл проверку +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Том "%s" защищён от записи +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Пожалуйста, вставьте том "%s" в любой привод +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Пожалуйста, замените том "%s" в любом приводе +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Пожалуйста, замените том "%s" на "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Том "%s" переполнен +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Неверный диск DOS в "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +Нет диска в "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +НЕОБХОДИМО заменить том "%s" в "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Том "%s" имеет ошибки чтения/записи +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Повторить +; Retry +; +MSG_STRING_CANCEL +Отменить +; Cancel +; +MSG_STRING_REQUESTTITLE +Диалог запроса +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +Не найден замыкающий оператор ELSE или ENDIF +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +Эта команда должна применяться только в скриптах +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +Неизвестная ошибка +; undefined error +; diff --git a/rom/dos/catalogs/spanish.ct b/rom/dos/catalogs/spanish.ct new file mode 100644 index 00000000000..ec8bbe9438b --- /dev/null +++ b/rom/dos/catalogs/spanish.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.1 (28.09.2007) +## language español +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +no hay suficiente memoria libre +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +tabla de procesos llena +; process table full +; +MSG_ERROR_BAD_TEMPLATE +plantilla incorrecta +; bad template +; +MSG_ERROR_BAD_NUMBER +número incorrecto +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +falta un argumento requerido +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +falta el valor después de la palabra clave +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +cantidad equivocada de argumentos +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +comillas faltantes +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +renglón de argumento inválido o demasiado largo +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +el archivo no es ejecutable +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +biblioteca residente inválida +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +error 201 +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +el objeto está en uso +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +el objeto ya existe +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +no se halló al directorio +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +no se halló al objeto +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +descripción de ventana inválida +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +el objeto es demasiado grande +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +tipo de acción del sistema de archivos desconocido +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +nombre de objeto inválido +; object name invalid +; +MSG_ERROR_INVALID_LOCK +bloqueo de objeto inválido +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +el objeto no es del tipo requerido +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +el disco no está validado +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +el disco está protegido contra escritura +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +se intentó renombrar los dispositivos +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +el directorio no está vacío +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +son demasiados niveles +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +el dispositivo (o volumen) no está montado +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +ocurrió una falla en la búsqueda +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +el comentario es demasiado largo +; comment is too long +; +MSG_ERROR_DISK_FULL +el disco está lleno +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +el objeto está protegido de ser borrado +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +el archivo está protegido contra la escritura +; file is write protected +; +MSG_ERROR_READ_PROTECTED +el archivo está protegido contra la lectura +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +no es un disco DOS válido +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +no hay un disco en la unidad +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +no hay más entradas en el directorio +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +el objeto es un softlink +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +el objeto está enlazado +; object is linked +; +MSG_ERROR_BAD_HUNK +bad loadfile hunk +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +la función no está implementada +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +el registro no está bloqueado +; record not locked +; +MSG_ERROR_LOCK_COLLISION +colisión en el bloqueo del registro +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +vencido el bloqueo del registro +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +error al desbloquear el registro +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +desbordamiento del búfer +; buffer overflow +; +MSG_ERROR_BREAK +***Break +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +el archivo no es ejecutable +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +El volumen "%s" no está validado +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +El volumen "%s" está protegido contra la escritura +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Por favor inserte el volumen "%s" en alguna unidad +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Por favor reemplace al volumen "%s" en cualquier unidad +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Por favor reemplace al volumen "%s" en "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +El volumen "%s" está lleno +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +No es un disco DOS el que está en "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +No hay un disco en "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +¡DEBES reemplazar el volumen "%s" en "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +El volumen "%s" tiene un error de lectura/escritura +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Intentar de nuevo +; Retry +; +MSG_STRING_CANCEL +Cancelar +; Cancel +; +MSG_STRING_REQUESTTITLE +Requester del sistema +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +no matching Else or EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +se supone que este comando se use solamente en archivos de comandos +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +error indefinido +; undefined error +; diff --git a/rom/dos/catalogs/swedish.ct b/rom/dos/catalogs/swedish.ct new file mode 100644 index 00000000000..4f5ea52284b --- /dev/null +++ b/rom/dos/catalogs/swedish.ct @@ -0,0 +1,260 @@ +## version $VER: dos.catalog 1.0 (13.03.2001) +## language svenska +## codeset 0 +; +MSG_ERROR_NO_FREE_STORE +otillräckligt minne +; not enough memory available +; +MSG_ERROR_TASK_TABLE_FULL +processtabellen är full +; process table full +; +MSG_ERROR_BAD_TEMPLATE +ogiltig syntax +; bad template +; +MSG_ERROR_BAD_NUMBER +ogiltigt nummer +; bad number +; +MSG_ERROR_REQUIRED_ARG_MISSING +nödvändigt argument saknas +; required argument missing +; +MSG_ERROR_KEY_NEEDS_ARG +värde efter nyckelord saknas +; value after keyword missing +; +MSG_ERROR_TOO_MANY_ARGS +felaktigt antal argument +; wrong number of arguments +; +MSG_ERROR_UNMATCHED_QUOTES +icke matchande citationstecken +; unmatched quotes +; +MSG_ERROR_LINE_TOO_LONG +argumentet ogiltigt eller för långt +; argument line invalid or too long +; +MSG_ERROR_FILE_NOT_OBJECT +filen kan inte köras +; file is not executable +; +MSG_ERROR_INVALID_RESIDENT_LIBRARY +ogiltigt resident bibliotek +; invalid resident library +; +MSG_ERROR_NO_DEFAULT_DIR +fel 201 +; no default directory +; +MSG_ERROR_OBJECT_IN_USE +objektet används +; object is in use +; +MSG_ERROR_OBJECT_EXISTS +objektet finns redan +; object already exists +; +MSG_ERROR_DIR_NOT_FOUND +lådan kan ej hittas +; directory not found +; +MSG_ERROR_OBJECT_NOT_FOUND +objektet kan ej hittas +; object not found +; +MSG_ERROR_BAD_STREAM_NAME +ogiltig fönsterbeskrivning +; invalid window description +; +MSG_ERROR_OBJECT_TOO_LARGE +objektet är för stort +; object too large +; +MSG_ERROR_ACTION_NOT_KNOWN +okänd typ av filsystemsåtgärd +; filesystem action type unknown +; +MSG_ERROR_INVALID_COMPONENT_NAME +ogiltigt objektnamn +; object name invalid +; +MSG_ERROR_INVALID_LOCK +ogiltigt objektlås +; invalid object lock +; +MSG_ERROR_OBJECT_WRONG_TYPE +objektet är ej av nödvändigt slag +; object is not of required type +; +MSG_ERROR_DISK_NOT_VALIDATED +disken är ej validerad +; disk not validated +; +MSG_ERROR_DISK_WRITE_PROTECTED +disken är skrivskyddad +; disk is write-protected +; +MSG_ERROR_RENAME_ACROSS_DEVICES +försök av namnbyte över enheter +; rename across devices attempted +; +MSG_ERROR_DIRECTORY_NOT_EMPTY +lådan är ej tom +; directory not empty +; +MSG_ERROR_TOO_MANY_LEVELS +för många nivåer +; too many levels +; +MSG_ERROR_DEVICE_NOT_MOUNTED +enhet (eller volym) är ej monterad +; device (or volume) is not mounted +; +MSG_ERROR_SEEK_ERROR +sökfel +; seek failure +; +MSG_ERROR_COMMENT_TOO_BIG +för lång kommentar +; comment is too long +; +MSG_ERROR_DISK_FULL +disken är full +; disk is full +; +MSG_ERROR_DELETE_PROTECTED +objektet är raderingsskyddat +; object is protected from deletion +; +MSG_ERROR_WRITE_PROTECTED +filen är skrivskyddad +; file is write protected +; +MSG_ERROR_READ_PROTECTED +filen är lässkyddad +; file is read protected +; +MSG_ERROR_NOT_A_DOS_DISK +icke valid DOS disk +; not a valid DOS disk +; +MSG_ERROR_NO_DISK +ingen disk i enheten +; no disk in drive +; +MSG_ERROR_NO_MORE_ENTRIES +inga fler poster i lådan +; no more entries in directory +; +MSG_ERROR_IS_SOFT_LINK +objektet är en mjuk länk +; object is soft link +; +MSG_ERROR_OBJECT_LINKED +objektet är länkat +; object is linked +; +MSG_ERROR_BAD_HUNK +ogiltig filhunk +; bad loadfile hunk +; +MSG_ERROR_NOT_IMPLEMENTED +ej implementerad funktion +; function not implemented +; +MSG_ERROR_RECORD_NOT_LOCKED +olåst resultat +; record not locked +; +MSG_ERROR_LOCK_COLLISION +låskonflikt i resultat +; record lock collision +; +MSG_ERROR_LOCK_TIMEOUT +timeout av resultatslås +; record lock timeout +; +MSG_ERROR_UNLOCK_ERROR +upplåsningsfel i resultat +; record unlock error +; +MSG_ERROR_BUFFER_OVERFLOW +överflöde i buffer +; buffer overflow +; +MSG_ERROR_BREAK +***Avbrott +; ***Break +; +MSG_ERROR_NOT_EXECUTABLE +filen kan ej köras +; file not executable +; +MSG_STRING_DISK_NOT_VALIDATED +Volume "%s" is not validated +; Volume "%s" is not validated +; +MSG_STRING_DISK_WRITE_PROTECTED +Volume "%s" is write protected +; Volume "%s" is write protected +; +MSG_STRING_DEVICE_NOT_MOUNTED_INSERT +Please insert volume "%s" in any drive +; Please insert volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE +Please replace volume "%s" in any drive +; Please replace volume "%s" in any drive +; +MSG_STRING_DEVICE_NOT_MOUNTED_REPLACE_TARGET +Please replace volume "%s" in "%s" +; Please replace volume "%s" in "%s" +; +MSG_STRING_DISK_FULL +Volume "%s" is full +; Volume "%s" is full +; +MSG_STRING_NOT_A_DOS_DISK +Not a DOS disk in "%s" +; Not a DOS disk in "%s" +; +MSG_STRING_NO_DISK +No disk present in "%s" +; No disk present in "%s" +; +MSG_STRING_ABORT_BUSY +You MUST replace volume "%s" in "%s"! +; You MUST replace volume "%s" in "%s"! +; +MSG_STRING_ABORT_DISK_ERROR +Volume "%s" has a read/write error +; Volume "%s" has a read/write error +; +MSG_STRING_RETRY +Försök igen +; Retry +; +MSG_STRING_CANCEL +Avbryt +; Cancel +; +MSG_STRING_REQUESTTITLE +Systemdialog +; System requester +; +MSG_ERROR_NO_MATCHING_ELSEENDIF +icke matchande Else eller EndIf +; no matching Else or EndIf +; +MSG_ERROR_SCRIPT_ONLY +det här kommandot är bara tänkt att användas i skriptfiler +; this command is supposed to be used in command files only +; +MSG_ERROR_UNKNOWN +odefinierat fel +; undefined error +; diff --git a/rom/dos/dos_init.c b/rom/dos/dos_init.c index ca37b4c0b48..289a20c485c 100644 --- a/rom/dos/dos_init.c +++ b/rom/dos/dos_init.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: Header for dos.library @@ -26,6 +26,8 @@ #include "dos_intern.h" + + static const UBYTE version[]; extern const char LIBEND; diff --git a/rom/dos/dos_intern.h b/rom/dos/dos_intern.h index 25d0df06580..1a673de6a4c 100644 --- a/rom/dos/dos_intern.h +++ b/rom/dos/dos_intern.h @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: Internal types and stuff for dos @@ -21,6 +21,21 @@ #include "fs_driver.h" +#if APOLLO_DEBUG +#define DEBUG 0 +#else +#define DEBUG 0 +#endif + +#if DEBUG +#define D(x) x +#define DD(x) +#define bug kprintf +#else +#define D(x) +#define DD(x) +#endif + /* * These bases are historically placed in public portion of DOSBase. * We won't change this. diff --git a/rom/dos/internalloadseg.c b/rom/dos/internalloadseg.c index bd03b57440e..11994104c62 100644 --- a/rom/dos/internalloadseg.c +++ b/rom/dos/internalloadseg.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: DOS function InternalLoadSeg() @@ -82,7 +82,7 @@ D(CONST_STRPTR format;) } segfunc_t; - #define SEGFUNC(id, format) {id, InternalLoadSeg_##format D(, (STRPTR)#format)} + #define SEGFUNC(id, format) {id, InternalLoadSeg_##format } //D(, (STRPTR)#format)} static const segfunc_t funcs[] = { diff --git a/rom/dosboot/bootanim.c b/rom/dosboot/bootanim.c index 9d3f5b7b77a..75802c8eea0 100644 --- a/rom/dosboot/bootanim.c +++ b/rom/dosboot/bootanim.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ */ @@ -14,9 +14,11 @@ #include #include "dosboot_intern.h" -#include "nomedia_image.h" +//#include "nomedia_image.h" #include "nomedia_anim.h" +/* + struct AnimData { UBYTE *picture; @@ -90,7 +92,7 @@ APTR anim_Init(struct Screen *scr, struct DOSBootBase *DOSBootBase) ad->frame = 0; DOSBootBase->animData = ad; - DOSBootBase->delayTicks = 25; /* We run at 2 frames per second */ + DOSBootBase->delayTicks = 25; //* We run at 2 frames per second return ad; } FreeMem(ad, sizeof(struct AnimData)); @@ -102,7 +104,7 @@ APTR anim_Init(struct Screen *scr, struct DOSBootBase *DOSBootBase) void anim_Animate(struct Screen *scr, struct DOSBootBase *DOSBootBase) { struct AnimData *ad = DOSBootBase->animData; -/* + ad->frame = !ad->frame; if (ad->frame) RectFill(&scr->RastPort, ad->x + FLASH_X, ad->y + FLASH_Y, @@ -113,7 +115,7 @@ void anim_Animate(struct Screen *scr, struct DOSBootBase *DOSBootBase) ad->x + FLASH_X + FLASH_WIDTH - 1, ad->y + FLASH_Y + FLASH_HEIGHT - 1, ad->picture + FLASH_X, NOMEDIA_WIDTH); } -*/ + } void anim_Stop(struct DOSBootBase *DOSBootBase) @@ -128,3 +130,5 @@ void anim_Stop(struct DOSBootBase *DOSBootBase) DOSBootBase->animData = NULL; } } + +*/ \ No newline at end of file diff --git a/rom/dosboot/bootscan.c b/rom/dosboot/bootscan.c index 9e3818416bf..ef1ceda94a1 100644 --- a/rom/dosboot/bootscan.c +++ b/rom/dosboot/bootscan.c @@ -40,6 +40,7 @@ #define uppercase(x) ((x >= 'a' && x <= 'z') ? (x & 0xdf) : x) + static ULONG GetOffset(struct Library *PartitionBase, struct PartitionHandle *ph) { IPTR tags[3]; @@ -77,7 +78,7 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra BOOL appended, changed; struct Node *fsnode; - D(bug("[Boot] AddPartitionVolume\n")); + D(bug("[BOOT] AddPartitionVolume\n")); GetPartitionTableAttrsTags(table, PTT_TYPE, &pttype, TAG_DONE); attrs = QueryPartitionAttrs(table); @@ -86,7 +87,7 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra if (attrs->attribute != TAG_DONE) { - D(bug("[Boot] RDB/GPT partition\n")); + D(bug("[BOOT] RDB/GPT partition\n")); /* partition has a name => RDB/GPT partition */ tags[0] = PT_NAME; @@ -100,17 +101,17 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra tags[8] = TAG_DONE; GetPartitionAttrs(pn, (struct TagItem *)tags); - D(bug("[Boot] Partition name: %s bootable: %d automount: %d\n", name, bootable, automount)); + D(bug("[BOOT] Partition name: %s | Bootable: %d | Automount: %d\n", name, bootable, automount)); if (automount == FALSE) { - D(bug("[Boot] Skipping %s so NOMOUNT is SET\n", name)); + D(bug("[BOOT] Skipping %s so NOMOUNT is SET\n", name)); return; } } else { - D(bug("[Boot] MBR/EBR partition\n")); + D(bug("[BOOT] MBR/EBR partition\n")); /* partition doesn't have a name => MBR/EBR partition */ tags[0] = PT_POSITION; @@ -120,12 +121,9 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra tags[4] = TAG_DONE; GetPartitionAttrs(pn, (struct TagItem *)tags); - /* - * 'Active' is not the same as 'Bootable'. Theoretically we can set Active flag for multiple - * partitions, but this may screw up Microsoft system software which expects to see only one - * active partition. - */ + // Default behaviour is to give BOOT priority to RDB disks (user can choose in Early Startup) bootable = TRUE; + pp[4 + DE_BOOTPRI] = -1; /* make the name */ devname = AROS_BSTR_ADDR(fssm->fssm_Device); @@ -136,18 +134,23 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra name[i] = (UBYTE)uppercase(*devname); devname++; } + if ((fssm->fssm_Unit / 10)) name[i++] = '0' + (UBYTE)(fssm->fssm_Unit / 10); + name[i++] = '0' + (UBYTE)(fssm->fssm_Unit % 10); name[i++] = 'P'; + if (table->table->type == PHPTT_EBR) ppos += 4; + if ((ppos / 10)) name[i++] = '0' + (UBYTE)(ppos / 10); - name[i++] = '0' + (UBYTE)(ppos % 10); + + name[i++] = '0' + (UBYTE)(ppos % 10); name[i] = '\0'; - D(bug("[Boot] Partition name: %s\n", name)); + D(bug("[BOOT] Partition name: %s\n", name)); } if ((pp[4 + DE_TABLESIZE] < DE_DOSTYPE) || (pp[4 + DE_DOSTYPE] == 0)) @@ -159,7 +162,7 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra * Here we ignore partitions with DosType == 0 and won't enter them into * mountlist. */ - D(bug("[Boot] Unknown DosType for %s, skipping partition\n")); + D(bug("[BOOT] Unknown DosType for %s, skipping partition\n")); return; } @@ -202,7 +205,7 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra blockspercyl = pp[4 + DE_BLKSPERTRACK] * pp[4 + DE_NUMHEADS]; if (i % blockspercyl != 0) { - D(bug("[Boot] Start block of subtable not on cylinder boundary: " + D(bug("[BOOT] Start block of subtable not on cylinder boundary: " "%ld (Blocks per Cylinder = %ld)\n", i, blockspercyl)); return; } @@ -235,36 +238,50 @@ static VOID AddPartitionVolume(struct ExpansionBase *ExpansionBase, struct Libra fsnode = FindFileSystem(table, FST_ID, pp[4 + DE_DOSTYPE], TAG_DONE); if (fsnode) { - D(bug("[Boot] Found on-disk filesystem 0x%08x\n", pp[4 + DE_DOSTYPE])); + D(bug("[BOOT] Found on-disk filesystem 0x%08x\n", pp[4 + DE_DOSTYPE])); AddBootFileSystem(fsnode); } devnode = MakeDosNode(pp); + + struct FileSysStartupMsg *fssm_devnode = BADDR(devnode->dn_Startup); + struct DosEnvec *de_devnode = BADDR(fssm->fssm_Environ); + + D(bug("\n[BOOT] [%s] Current glob->fssm->fssm_Environ (DOSENVEC):\n",__FUNCTION__)); + D(bug("[BOOT] [%s] de_SizeBlock : %d\n",__FUNCTION__ , de_devnode->de_SizeBlock)); + D(bug("[BOOT] [%s] de_Surfaces : %d\n",__FUNCTION__ , de_devnode->de_Surfaces)); + D(bug("[BOOT] [%s] de_BlocksPerTrack : %d\n",__FUNCTION__ , de_devnode->de_BlocksPerTrack)); + D(bug("[BOOT] [%s] dg_LowCyl : %d\n",__FUNCTION__ , de_devnode->de_LowCyl)); + D(bug("[BOOT] [%s] dg_HighCyl : %d\n\n",__FUNCTION__ , de_devnode->de_HighCyl)); + + if (devnode != NULL) { AddBootNode(bootable ? pp[4 + DE_BOOTPRI] : -128, ADNF_STARTPROC, devnode, NULL); - D(bug("[Boot] AddBootNode(%b, 0, 0x%p, NULL)\n", devnode->dn_Name, pp[4 + DE_DOSTYPE])); + D(bug("[BOOT] AddBootNode(%b, 0, 0x%p, NULL)\n", devnode->dn_Name, pp[4 + DE_DOSTYPE])); return; } } -static BOOL CheckTables(struct ExpansionBase *ExpansionBase, struct Library *PartitionBase, - struct FileSysStartupMsg *fssm, struct PartitionHandle *table, - struct ExecBase *SysBase) +static BOOL CheckTables(struct ExpansionBase *ExpansionBase, struct Library *PartitionBase, struct FileSysStartupMsg *fssm, struct PartitionHandle *table, struct ExecBase *SysBase) { BOOL retval = FALSE; struct PartitionHandle *ph; - /* Traverse partition tables recursively, and attempt to add a BootNode - for any non-subtable partitions found */ + D(bug("\n[BOOT] CheckTables - Start\n")); + + /* Traverse partition tables recursively, and attempt to add a BootNode for any non-subtable partitions found */ if (OpenPartitionTable(table) == 0) { ph = (struct PartitionHandle *)table->table->list.lh_Head; + + D(bug("\n[BOOT] CheckTables - Table Type = %d\n", table->table->type)); + if (table->table->type == 2) return FALSE; // Skipping FAT tables (handled by fat-handler) + while (ph->ln.ln_Succ) { - /* Attempt to add partition to system if it isn't a subtable */ - if (!CheckTables(ExpansionBase, PartitionBase, fssm, ph, SysBase)) - AddPartitionVolume(ExpansionBase, PartitionBase, fssm, table, - ph, SysBase); + + /* Attempt to add partition to system if it isn't a subtable or a FAT table */ + if (!CheckTables(ExpansionBase, PartitionBase, fssm, ph, SysBase)) AddPartitionVolume(ExpansionBase, PartitionBase, fssm, table, ph, SysBase); ph = (struct PartitionHandle *)ph->ln.ln_Succ; } retval = TRUE; @@ -278,36 +295,31 @@ static VOID CheckPartitions(struct ExpansionBase *ExpansionBase, struct Library struct DeviceNode *dn = bn->bn_DeviceNode; BOOL res = FALSE; - D(bug("CheckPartitions('%b') handler seglist = %x, handler = %s\n", dn->dn_Name, - dn->dn_SegList, AROS_BSTR_ADDR(dn->dn_Handler))); - - /* Examples: - * ata.device registers a HDx device describing whole disk with no handler name and no seglist - * massstorage.class registers each partition giving it a handler name but not seglist - */ + D(bug("\n[BOOT] CheckPartitions('%b') handler seglist = %x, handler = %s\n", dn->dn_Name, dn->dn_SegList, AROS_BSTR_ADDR(dn->dn_Handler))); /* If we already have filesystem handler, don't do anything */ if (dn->dn_SegList == BNULL && dn->dn_Handler == BNULL) { struct FileSysStartupMsg *fssm = BADDR(dn->dn_Startup); - if (fssm && fssm->fssm_Device) - { + if (fssm && fssm->fssm_Device) + { struct PartitionHandle *pt = OpenRootPartition(AROS_BSTR_ADDR(fssm->fssm_Device), fssm->fssm_Unit); - - if (pt) + + if (pt) { res = CheckTables(ExpansionBase, PartitionBase, fssm, pt, SysBase); + CloseRootPartition(pt); + } - CloseRootPartition(pt); - } } } - + + //* Cleanup Device Node and if no partitions were found for the DeviceNode or device is SDx: then we put it back Remove(&bn->bn_Node); - if (!res) + if (!res || (AROS_BSTR_ADDR(dn->dn_Name)[0] == 'S' && AROS_BSTR_ADDR(dn->dn_Name)[1] == 'D' + && AROS_BSTR_ADDR(dn->dn_Name)[2] == 'R' && AROS_BSTR_ADDR(dn->dn_Name)[3] == 'O' && AROS_BSTR_ADDR(dn->dn_Name)[4] == 'M') ) { - /* If no partitions were found for the DeviceNode, put it back */ Enqueue(&ExpansionBase->MountList, &bn->bn_Node); } } @@ -318,33 +330,33 @@ void dosboot_BootScan(LIBBASETYPEPTR DOSBootBase) struct ExpansionBase *ExpansionBase = DOSBootBase->bm_ExpansionBase; APTR PartitionBase; struct BootNode *bootNode, *temp; + struct DeviceNode *deviceNode; struct List rootList; + D(bug("\n[BOOT] dosboot_BootScan START\n")); + /* If we have partition.library, we can look for partitions */ PartitionBase = OpenLibrary("partition.library", 2); if (PartitionBase) { ObtainSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); - /* Transfer all bootnodes in the mountlist into a temporary list. - The assumption is that all bootnodes created before now represent - entire disks */ + /* Transfer all bootnodes in the mountlist into a temporary list. The assumption is that all bootnodes created before now represent entire disks */ NewList(&rootList); - while ((temp = (struct BootNode *)RemHead(&ExpansionBase->MountList)) - != NULL) + while ((temp = (struct BootNode *)RemHead(&ExpansionBase->MountList)) != NULL) AddTail(&rootList, (struct Node *) temp); ForeachNodeSafe (&rootList, bootNode, temp) { - struct DeviceNode *deviceNode = bootNode->bn_DeviceNode; - char deviceName[ 256 ]; - UBYTE deviceNameLength = *(char*)deviceNode->dn_Name; - if( deviceNameLength) { CopyMem( (char*)deviceNode->dn_Name, deviceName, deviceNameLength ); deviceName[ deviceNameLength ] = 0; } CheckPartitions(ExpansionBase, PartitionBase, SysBase, bootNode); } ReleaseSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); - CloseLibrary(PartitionBase); + CloseLibrary(PartitionBase); } + + D(bug("[BOOT] dosboot_BootScan FINISH\n\n")); } + + diff --git a/rom/dosboot/bootscreen.c b/rom/dosboot/bootscreen.c index d18a2cd9e92..263dc1329e9 100644 --- a/rom/dosboot/bootscreen.c +++ b/rom/dosboot/bootscreen.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ */ @@ -15,47 +15,35 @@ #include "dosboot_intern.h" +#define VREG_SAGACTRL1 0xdff3ec /* AGA, Scanlines, Zoom modes */ +#define VREG_SAGACTRL2 0xdff3ee /* AGA, Zoom shift */ + static struct Screen *OpenBootScreenType(struct DOSBootBase *DOSBootBase, BYTE MinDepth, BYTE SquarePixels) { - UWORD height; ULONG mode; GfxBase = (void *)TaggedOpenLibrary(TAGGEDOPEN_GRAPHICS); IntuitionBase = (void *)TaggedOpenLibrary(TAGGEDOPEN_INTUITION); - if ((!IntuitionBase) || (!GfxBase)) - /* We failed to open one of system libraries. AROS is in utterly broken state */ - Alert(AT_DeadEnd|AN_BootStrap|AG_OpenLib); - - height = 240; - mode = BestModeID(BIDTAG_DesiredWidth, 640, BIDTAG_DesiredHeight, height, - BIDTAG_Depth, MinDepth, TAG_DONE); - if (mode == INVALID_ID) - Alert(AN_SysScrnType); + if ((!IntuitionBase) || (!GfxBase)) Alert(AT_DeadEnd|AN_BootStrap|AG_OpenLib); - /* Set PAL or NTSC default height if we are running on Amiga(tm) hardware. - * We also need to check if this is really PAL or NTSC mode because we have to - * use PC 640x480 mode if user has Amiga hardware + RTG board. - * Check DisplayFlags first because non-Amiga modeIDs use different format. - */ + mode = BestModeID(BIDTAG_DesiredWidth, 640, BIDTAG_DesiredHeight, 256, BIDTAG_Depth, MinDepth, TAG_DONE); - /* We want the screen to occupy the whole display, so we find best maching - mode ID and then open a screen with that mode */ - mode = BestModeID(BIDTAG_DesiredWidth, 640, BIDTAG_DesiredHeight, height, - BIDTAG_Depth, MinDepth, TAG_DONE); + *((volatile UWORD*)VREG_SAGACTRL1) = 0x0024; + *((volatile UWORD*)VREG_SAGACTRL1) = 0x8024; // SAGA ZoomMode 320x256 + *((volatile UWORD*)VREG_SAGACTRL2) = 0x1010; // SAGA Vertical/Horizontal Shift if (mode != INVALID_ID) { - struct Screen *scr = OpenScreenTags(NULL, SA_DisplayID, mode, SA_Draggable, FALSE, - SA_Quiet, TRUE, SA_Depth, MinDepth, TAG_DONE); + struct Screen *scr = OpenScreenTags(NULL, SA_DisplayID, mode, SA_Draggable, FALSE, SA_Quiet, TRUE, SA_Depth, MinDepth, TAG_DONE); - if (scr) - return scr; - } - /* We can't open a screen. Likely there are no display modes in the database at all */ + if (scr) return scr; + } + Alert(AN_SysScrnType); return NULL; } + static struct Screen *OpenBootScreenType2(struct DOSBootBase *DOSBootBase, BYTE MinDepth, BYTE SquarePixels) { UWORD height; @@ -97,9 +85,10 @@ struct Screen *OpenBootScreen(struct DOSBootBase *DOSBootBase) return OpenBootScreenType(DOSBootBase, 2, FALSE); } +/* struct Screen *NoBootMediaScreen(struct DOSBootBase *DOSBootBase) { - /* Boot anim requires 16+ color screen and 1:1 pixels */ + // Boot anim requires 16+ color screen and 1:1 pixels struct Screen *scr = OpenBootScreenType2(DOSBootBase, 4, TRUE); if (!anim_Init(scr, DOSBootBase)) @@ -110,7 +99,7 @@ struct Screen *NoBootMediaScreen(struct DOSBootBase *DOSBootBase) } return scr; -} +}*/ void CloseBootScreen(struct Screen *scr, struct DOSBootBase *DOSBootBase) { diff --git a/rom/dosboot/bootstrap.c b/rom/dosboot/bootstrap.c index 48334f7b46b..e1cb91493e9 100644 --- a/rom/dosboot/bootstrap.c +++ b/rom/dosboot/bootstrap.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2016, The AROS Development Team. All rights reserved. + Copyright � 1995-2016, The AROS Development Team. All rights reserved. $Id$ Desc: Boot AROS @@ -9,7 +9,7 @@ #include #include -#include +//#include #include #include #include @@ -52,6 +52,7 @@ extern void dosboot_BootPoint(struct BootNode *bn); #endif + static BOOL GetBootNodeDeviceUnit(struct BootNode *bn, BPTR *device, IPTR *unit, ULONG *bootblocks) { struct DeviceNode *dn; @@ -59,26 +60,46 @@ static BOOL GetBootNodeDeviceUnit(struct BootNode *bn, BPTR *device, IPTR *unit, struct DosEnvec *de; if (bn == NULL) + { + D(bug("GetBootNodeDeviceUnit - FALSE -> bn == NULL\n")); return FALSE; + } dn = bn->bn_DeviceNode; + if (dn == NULL) + { + D(bug("GetBootNodeDeviceUnit - FALSE -> dn == NULL\n")); return FALSE; + } fssm = BADDR(dn->dn_Startup); if (fssm == NULL) + { + D(bug("GetBootNodeDeviceUnit - FALSE -> fssm == NULL\n")); return FALSE; + } *unit = fssm->fssm_Unit; *device = fssm->fssm_Device; de = BADDR(fssm->fssm_Environ); + /* Following check from Guru Book */ + D(bug("GetBootNodeDeviceUnit - Tablesize = %d\n", de->de_TableSize)); if (de == NULL || (de->de_TableSize & 0xffffff00) != 0 || de->de_TableSize < DE_BOOTBLOCKS) - return FALSE; + { + D(bug("GetBootNodeDeviceUnit - FALSE -> Guru Book\n")); + return FALSE; + } + *bootblocks = de->de_BootBlocks * de->de_SizeBlock * sizeof(ULONG); if (*bootblocks == 0) - return FALSE; + { + D(bug("GetBootNodeDeviceUnit - FALSE -> *bootblocks == 0\n")); + return FALSE; + } + return TRUE; } @@ -98,7 +119,7 @@ static BOOL BootBlockCheckSum(UBYTE *bootblock, ULONG bootblock_size) crc += v; } crc ^= 0xffffffff; - D(bug("[Strap] bootblock %08x checksum %s (%08x %08x)\n", + D(bug("[BOOT] bootblock %08x checksum %s (%08x %08x)\n", AROS_LONG2BE(*(ULONG*)bootblock), crc == crc2 ? "ok" : "error", crc, crc2)); return crc == crc2; } @@ -118,7 +139,7 @@ static BOOL BootBlockCheck(UBYTE *bootblock, ULONG bootblock_size) if (fse->fse_DosType == dostype) return TRUE; } - D(bug("[Strap] unknown bootblock dostype %08x\n", dostype)); + D(bug("[BOOT] unknown bootblock dostype %08x\n", dostype)); return FALSE; } @@ -157,15 +178,16 @@ static BOOL dosboot_BootBlock(struct BootNode *bn, struct ExpansionBase *Expansi VOID_FUNC init = NULL; UBYTE *buffer; - if (!GetBootNodeDeviceUnit(bn, &device, &unit, &bootblock_size)) - return FALSE; + + + if (!GetBootNodeDeviceUnit(bn, &device, &unit, &bootblock_size)) return FALSE; D(bug("%s: Probing for boot block on %b.%d\n", __func__, device, unit)); /* memf_chip not required but more compatible with old bootblocks */ buffer = AllocMem(bootblock_size, MEMF_CHIP); if (buffer != NULL) { - D(bug("[Strap] bootblock address %p\n", buffer)); + D(bug("[BOOT] bootblock address %p\n", buffer)); if ((msgport = CreateMsgPort())) { if ((io = CreateIORequest(msgport, sizeof(struct IOStdReq)))) @@ -177,12 +199,12 @@ static BOOL dosboot_BootBlock(struct BootNode *bn, struct ExpansionBase *Expansi io->io_Data = buffer; io->io_Offset = 0; io->io_Command = CMD_READ; - D(bug("[Strap] %b.%d bootblock read (%d bytes)\n", device, unit, bootblock_size)); + D(bug("[BOOT] %b.%d bootblock read (%d bytes)\n", device, unit, bootblock_size)); DoIO((struct IORequest*)io); if (io->io_Error == 0) { - D(bug("[Strap] %b.%d bootblock read to %p ok\n", device, unit, buffer)); + D(bug("[BOOT] %b.%d bootblock read to %p ok\n", device, unit, buffer)); if (BootBlockCheck(buffer, bootblock_size)) { SetBootNodeDosType(bn, AROS_LONG2BE(*(LONG *)buffer)); @@ -191,10 +213,10 @@ static BOOL dosboot_BootBlock(struct BootNode *bn, struct ExpansionBase *Expansi } else { - D(bug("[Strap] Not a valid bootblock\n")); + D(bug("[BOOT] Not a valid bootblock\n")); } } else { - D(bug("[Strap] io_Error %d\n", io->io_Error)); + D(bug("[BOOT] io_Error %d\n", io->io_Error)); } io->io_Command = TD_MOTOR; io->io_Length = 0; @@ -245,6 +267,8 @@ static inline void dosboot_BootDos(void) { struct Resident *DOSResident; + D(bug("[BOOT] dosboot_BootDos - Initialising dos.library so Filesystems can be loaded before boot\n")); + /* Initialize dos.library manually. This is what Workbench floppy bootblocks do. */ DOSResident = FindResident( "dos.library" ); @@ -255,32 +279,29 @@ static inline void dosboot_BootDos(void) /* InitResident() of dos.library will not return on success. */ InitResident( DOSResident, BNULL ); + + D(bug("[BOOT] dosboot_BootDos - Initialized dos.library Finished\n")); } -/* Attempt to boot, first from the BootNode boot blocks, - * then via the DOS handlers - */ +/* Attempt to boot, first from the BootNode boot blocks, then via the DOS handlers */ LONG dosboot_BootStrap(LIBBASETYPEPTR LIBBASE) { struct ExpansionBase *ExpansionBase = LIBBASE->bm_ExpansionBase; struct BootNode *bn; + struct DeviceNode *dn; int i, nodes; + char *bootdevice; - /* - * Try to boot from any device in the boot list, - * highest priority first. - */ + // Try to boot from any device in the boot list, highest priority first. ListLength(&ExpansionBase->MountList, nodes); for (i = 0; i < nodes; i++) { bn = (struct BootNode *)GetHead(&ExpansionBase->MountList); - if (bn->bn_Node.ln_Type != NT_BOOTNODE || - bn->bn_Node.ln_Pri <= -128 || - bn->bn_DeviceNode == NULL) + if (bn->bn_Node.ln_Type != NT_BOOTNODE || bn->bn_Node.ln_Pri <= -128 || bn->bn_DeviceNode == NULL) { - D(bug("%s: Ignoring %p, not a bootable node\n", __func__, bn)); + D(bug("[BOOT] %s: Ignoring %p, not a bootable node\n", __func__, bn)); ObtainSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); REMOVE(bn); ADDTAIL(&ExpansionBase->MountList, bn); @@ -288,45 +309,32 @@ LONG dosboot_BootStrap(LIBBASETYPEPTR LIBBASE) continue; } - /* For each attempt, this node is at the head - * of the MountList, so that DOS will try to - * use it as SYS: if the strap works - */ - - /* First try as a BootBlock. - * dosboot_BootBlock returns TRUE if it *was* - * a BootBlock device, but couldn't be booted. - * Returns FALSE if not a bootblock device, - * and doesn't return at all if the bootblock - * was successful. - */ - D(bug("%s: Attempting %b as BootBlock\n",__func__, ((struct DeviceNode *)bn->bn_DeviceNode)->dn_Name)); - if (!dosboot_BootBlock(bn, ExpansionBase)) { - /* Then as a BootPoint node */ - D(bug("%s: Attempting %b as BootPoint\n", __func__, ((struct DeviceNode *)bn->bn_DeviceNode)->dn_Name)); - dosboot_BootPoint(bn); - - /* And finally with DOS */ - D(bug("%s: Attempting %b with DOS\n", __func__, ((struct DeviceNode *)bn->bn_DeviceNode)->dn_Name)); + // Select Boot Method - DFx device = BootBlock - Other devices = Dos.Library + dn = bn->bn_DeviceNode; + bootdevice = AROS_BSTR_ADDR(dn->dn_Name); + + // For each attempt, this node is at the head of the MountList, so that DOS will try to use it as SYS: if the strap works + D(bug("[BOOT] %s: Processing BootNode %s using Boot Method: ",__func__, bootdevice)); + + if ( (bootdevice[0] == 'D') && (bootdevice[1] == 'F') ) + { + D(bug("BOOTBLOCK\n")); + dosboot_BootBlock(bn, ExpansionBase); + } else { + D(bug("DOS.Library\n")); dosboot_BootDos(); } /* Didn't work. Next! */ - D(bug("%s: DeviceNode %b (%d) was not bootable\n", __func__, - ((struct DeviceNode *)bn->bn_DeviceNode)->dn_Name, - bn->bn_Node.ln_Pri)); - + D(bug("[BOOT] %s: DeviceNode %b (%d) was not bootable\n", __func__, ((struct DeviceNode *)bn->bn_DeviceNode)->dn_Name, bn->bn_Node.ln_Pri)); ObtainSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); REMOVE(bn); ADDTAIL(&ExpansionBase->MountList, bn); ReleaseSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); } - D(bug("%s: No BootBlock, BootPoint, or BootDos nodes found\n",__func__)); - - /* At this point we now know that we were unable to - * strap any bootable devices. - */ + D(bug("[BOOT] %s: No BootBlock, BootPoint, or BootDos nodes found\n",__func__)); + /* At this point we now know that we were unable to strap any bootable devices. */ return ERROR_NO_DISK; } diff --git a/rom/dosboot/cleanup.c b/rom/dosboot/cleanup.c index cb3f19ec6d1..6bca52836b6 100644 --- a/rom/dosboot/cleanup.c +++ b/rom/dosboot/cleanup.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2013, The AROS Development Team. All rights reserved. + Copyright � 1995-2013, The AROS Development Team. All rights reserved. $Id$ */ @@ -56,7 +56,8 @@ AROS_UFH3(static APTR, dosboot_Cleanup, /* Close "No boot media" screen. This is actually what we are here for. */ CloseBootScreen(base->bm_Screen, base); } - anim_Stop(base); + + //anim_Stop(base); /* Well, since we are here, let's completely expunge. :) */ CloseLibrary(&base->bm_ExpansionBase->LibNode); diff --git a/rom/dosboot/dosboot_init.c b/rom/dosboot/dosboot_init.c index eedf3ea3957..1d52035eaf7 100644 --- a/rom/dosboot/dosboot_init.c +++ b/rom/dosboot/dosboot_init.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: Boot AROS @@ -92,9 +92,7 @@ static void selectBootDevice(LIBBASETYPEPTR DOSBootBase, STRPTR bootDeviceName) { struct BootNode *bn = NULL; - if (bootDeviceName == NULL && - DOSBootBase->db_BootNode != NULL) - return; + if (bootDeviceName == NULL && DOSBootBase->db_BootNode != NULL) return; Forbid(); /* .. access to ExpansionBase->MountList */ @@ -137,14 +135,14 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) DOSBootBase->delayTicks = 50; - D(bug("dosboot_Init: GO GO GO!\n")); + D(bug("[BOOT] Init: GO GO GO!\n")); ExpansionBase = (APTR)TaggedOpenLibrary(TAGGEDOPEN_EXPANSION); - D(bug("[Strap] ExpansionBase 0x%p\n", ExpansionBase)); + D(bug("[BOOT] ExpansionBase 0x%p\n", ExpansionBase)); if( ExpansionBase == NULL ) { - D(bug( "Could not open expansion.library, something's wrong!\n")); + D(bug( "[BOOT] Could not open expansion.library, something's wrong!\n")); Alert(AT_DeadEnd | AG_OpenLib | AN_BootStrap | AO_ExpansionLib); } @@ -170,13 +168,13 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) { ULONG delay = atoi(&node->ln_Name[10]); - D(bug("[Boot] delay of %d seconds requested.", delay)); + D(bug("[BOOT] delay of %d seconds requested.", delay)); if (delay) bootDelay(delay * 50); } else if (0 == stricmp(node->ln_Name, "bootmenu")) { - D(bug("[BootMenu] bootmenu_Init: Forced with bootloader argument\n")); + D(bug("[BOOT] bootmenu_Init: Forced with bootloader argument\n")); WantBootMenu = TRUE; } /* @@ -198,7 +196,7 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) else if (0 == stricmp(node->ln_Name, "econsole")) { DOSBootBase->db_BootFlags |= BF_EMERGENCY_CONSOLE; - D(bug("[Boot] Emergency console selected\n")); + D(bug("[BOOT] Emergency console selected\n")); } } IntExpBase(ExpansionBase)->BootFlags = DOSBootBase->db_BootFlags; @@ -211,8 +209,7 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) /* Select the initial boot device, so that the choice is available in the menu */ selectBootDevice(DOSBootBase, bootDeviceName); - - // Set all devices ENALBED by default + // Set all devices ENABLED by default { ListLength(&ExpansionBase->MountList, DOSBootBase->devicesCount); @@ -227,14 +224,10 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) } } - /* Show the boot menu if needed */ bootmenu_Init(DOSBootBase, WantBootMenu); - - // Disable selected Devices - // and - // Set final boot device + // Disable selected Devices and Set final boot device if (DOSBootBase->devicesCount > 0) { struct List tempList; @@ -273,7 +266,6 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) ReleaseSemaphore(&IntExpBase(ExpansionBase)->BootSemaphore); - if (DOSBootBase->devicesEnabled != NULL) { FreeVec(DOSBootBase->devicesEnabled); @@ -281,22 +273,22 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) } - /* updates the boot flags */ IntExpBase(DOSBootBase->bm_ExpansionBase)->BootFlags = DOSBootBase->db_BootFlags; - /* We want to be able to find ourselves in RTF_AFTERDOS */ DOSBootBase->bm_Screen = NULL; AddResource(&DOSBootBase->db_Node); + D(bug("\n[BOOT] ApolloOS BootStrap\n")); + /* Attempt to boot until we succeed */ for (;;) { dosboot_BootStrap(DOSBootBase); - if (!DOSBootBase->bm_Screen) - DOSBootBase->bm_Screen = NoBootMediaScreen(DOSBootBase); + if (!DOSBootBase->bm_Screen) Alert(0x0700000a); + //DOSBootBase->bm_Screen = NoBootMediaScreen(DOSBootBase); D(bug("No bootable disk was found.\n")); D(bug("Please insert a bootable disk in any drive.\n")); @@ -305,9 +297,7 @@ int dosboot_Init(LIBBASETYPEPTR DOSBootBase) for (t = 0; t < 150; t += DOSBootBase->delayTicks) { bootDelay(DOSBootBase->delayTicks); - - if (DOSBootBase->bm_Screen) - anim_Animate(DOSBootBase->bm_Screen, DOSBootBase); + //if (DOSBootBase->bm_Screen) anim_Animate(DOSBootBase->bm_Screen, DOSBootBase); } } diff --git a/rom/dosboot/dosboot_intern.h b/rom/dosboot/dosboot_intern.h index 4d8e28f57a9..a36dd7c3409 100644 --- a/rom/dosboot/dosboot_intern.h +++ b/rom/dosboot/dosboot_intern.h @@ -2,7 +2,7 @@ #define DOSBOOT_INTERN_H /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ Desc: Internal definitions for dosboot @@ -18,6 +18,13 @@ #define BUFSIZE 100 +#if APOLLO_DEBUG +#define DEBUG 1 +#else +#define DEBUG 0 +#endif + + struct BootConfig { /* default hidds used in bootmenu and for fallback mode */ @@ -57,13 +64,13 @@ void InitBootConfig(struct BootConfig *bootcfg); LONG dosboot_BootStrap(struct DOSBootBase *DOSBootBase); void dosboot_BootScan(struct DOSBootBase *DOSBootBase); -struct Screen *NoBootMediaScreen(struct DOSBootBase *DOSBootBase); +//struct Screen *NoBootMediaScreen(struct DOSBootBase *DOSBootBase); struct Screen *OpenBootScreen(struct DOSBootBase *DOSBootBase); void CloseBootScreen(struct Screen *scr, struct DOSBootBase *DOSBootBase); -APTR anim_Init(struct Screen *scr, struct DOSBootBase *DOSBootBase); -void anim_Stop(struct DOSBootBase *DOSBootBase); -void anim_Animate(struct Screen *scr, struct DOSBootBase *DOSBootBase); +//APTR anim_Init(struct Screen *scr, struct DOSBootBase *DOSBootBase); +//void anim_Stop(struct DOSBootBase *DOSBootBase); +//void anim_Animate(struct Screen *scr, struct DOSBootBase *DOSBootBase); #define IntuitionBase DOSBootBase->bm_IntuitionBase #define GadToolsBase DOSBootBase->bm_GadToolsBase diff --git a/rom/dosboot/menu.c b/rom/dosboot/menu.c index 6687e41e282..d9c4262710f 100644 --- a/rom/dosboot/menu.c +++ b/rom/dosboot/menu.c @@ -44,18 +44,22 @@ #define PAGE_EXPANSION 4 #define EXIT_BOOT 5 #define EXIT_BOOT_WNSS 6 +#define PAGE_APOLLOFLOPPY 7 #define BUTTON_BOOT 1 #define BUTTON_BOOT_WNSS 2 #define BUTTON_BOOT_OPTIONS 3 -#define BUTTON_DISPLAY_OPTIONS 4 -#define BUTTON_EXPBOARDDIAG 5 +#define BUTTON_APOLLOFLOPPY 4 + #define BUTTON_USE 6 #define BUTTON_CANCEL 7 #define BUTTON_CONTINUE 8 #define BUTTONLIST_BOOT 10 #define BUTTONLIST_DEVICES 11 +#define BUTTON_APOLLOFLOPPY_DF0 12 +#define BUTTON_APOLLOFLOPPY_DF1 13 +#define MAX_PATH_LEN 512 #if (AROS_FLAVOUR & AROS_FLAVOUR_STANDALONE) #ifdef __ppc__ @@ -63,58 +67,7 @@ #endif #endif -#ifdef INITHIDDS_KLUDGE - -/* - * This is an extremely obsolete kludge. - * It's still needed for ATI driver on PowerPC native. - */ - -static BOOL init_gfx(STRPTR gfxclassname, BOOL bootmode, LIBBASETYPEPTR DOSBootBase) -{ - OOP_Class *gfxclass; - BOOL success = FALSE; - - D(bug("[BootMenu] init_gfx('%s')\n", gfxclassname)); - - GfxBase = (void *)TaggedOpenLibrary(TAGGEDOPEN_GRAPHICS); - if (GfxBase) - { - struct Library *OOPBase = OpenLibrary("oop.library", 0); - if (OOPBase) - { - gfxclass = OOP_FindClass(gfxclassname); - if (gfxclass) - { - if (!AddDisplayDriver(gfxclass, NULL, DDRV_BootMode, bootmode, TAG_DONE)) - success = TRUE; - } - CloseLibrary(OOPBase); - } - CloseLibrary(&GfxBase->LibNode); - } - ReturnBool ("init_gfxhidd", success); -} - -static BOOL initHidds(LIBBASETYPEPTR DOSBootBase) -{ - struct BootConfig *bootcfg = &DOSBootBase->bm_BootConfig; - - D(bug("[BootMenu] initHidds()\n")); - - if (bootcfg->gfxhidd) { - if (!OpenLibrary(bootcfg->gfxlib, 0)) - return FALSE; - - if (!init_gfx(bootcfg->gfxhidd, bootcfg->bootmode, DOSBootBase)) - return FALSE; - } - - D(bug("[BootMenu] initHidds: Hidds initialised\n")); - return TRUE; -} - -#endif +THIS_PROGRAM_HANDLES_SYMBOLSET(LIBS) static LONG centerx(LIBBASETYPEPTR DOSBootBase, LONG width) { @@ -126,9 +79,6 @@ static LONG rightto(LIBBASETYPEPTR DOSBootBase, LONG width, LONG right) return DOSBootBase->bm_Screen->Width - width - right; } - - - static void centertext(LIBBASETYPEPTR DOSBootBase, BYTE pen, WORD y, const char *text) { struct Window *win = DOSBootBase->bm_Window; @@ -137,6 +87,11 @@ static void centertext(LIBBASETYPEPTR DOSBootBase, BYTE pen, WORD y, const char Text(win->RPort, text, strlen(text)); } +BOOL ApolloFloppy(int drive) +{ + D(bug("[BootMenu] ApolloFloppy: %d\n", drive)); +} + ////////////////////////////////////////////////////////////////////////// @@ -145,9 +100,9 @@ static BOOL populateGadgets_PageMain(LIBBASETYPEPTR DOSBootBase, struct Gadget * { struct NewGadget ng; - LONG cx = centerx((struct DOSBootBase *)DOSBootBase, 280); + LONG cx = centerx((struct DOSBootBase *)DOSBootBase, 200); - ng.ng_Width = 280; + ng.ng_Width = 200; ng.ng_Height = 15; ng.ng_TextAttr = NULL; ng.ng_Flags = 0; @@ -156,17 +111,42 @@ static BOOL populateGadgets_PageMain(LIBBASETYPEPTR DOSBootBase, struct Gadget * if (gadget != NULL) { - ng.ng_GadgetText = "Boot Options..."; + ng.ng_GadgetText = "Boot Options"; ng.ng_GadgetID = BUTTON_BOOT_OPTIONS; ng.ng_LeftEdge = cx; - ng.ng_TopEdge = 63; + ng.ng_TopEdge = 84; gadget = CreateGadgetA(BUTTON_KIND, gadget, &ng, NULL); } if (gadget != NULL) { - ng.ng_GadgetText = "Display Options..."; - ng.ng_GadgetID = BUTTON_DISPLAY_OPTIONS; + ng.ng_GadgetText = "ApolloFloppy"; + ng.ng_GadgetID = BUTTON_APOLLOFLOPPY; + ng.ng_LeftEdge = cx; + ng.ng_TopEdge = 105; + gadget = CreateGadgetA(BUTTON_KIND, gadget, &ng, NULL); + } + + return (gadget != NULL); +} + +static BOOL populateGadgets_PageApolloFloppy(LIBBASETYPEPTR DOSBootBase, struct Gadget *gadget) +{ + struct NewGadget ng; + + LONG cx = centerx((struct DOSBootBase *)DOSBootBase, 200); + + ng.ng_Width = 200; + ng.ng_Height = 15; + ng.ng_TextAttr = NULL; + ng.ng_Flags = 0; + ng.ng_VisualInfo = DOSBootBase->bm_VisualInfo; + ng.ng_UserData = 0; + + if (gadget != NULL) + { + ng.ng_GadgetText = "DF0:"; + ng.ng_GadgetID = BUTTON_APOLLOFLOPPY_DF0; ng.ng_LeftEdge = cx; ng.ng_TopEdge = 84; gadget = CreateGadgetA(BUTTON_KIND, gadget, &ng, NULL); @@ -174,8 +154,8 @@ static BOOL populateGadgets_PageMain(LIBBASETYPEPTR DOSBootBase, struct Gadget * if (gadget != NULL) { - ng.ng_GadgetText = "Expansion Board Diagnostic..."; - ng.ng_GadgetID = BUTTON_EXPBOARDDIAG; + ng.ng_GadgetText = "DF1:"; + ng.ng_GadgetID = BUTTON_APOLLOFLOPPY_DF1; ng.ng_LeftEdge = cx; ng.ng_TopEdge = 105; gadget = CreateGadgetA(BUTTON_KIND, gadget, &ng, NULL); @@ -185,7 +165,6 @@ static BOOL populateGadgets_PageMain(LIBBASETYPEPTR DOSBootBase, struct Gadget * } - static BOOL populateGadgets_PageBoot(LIBBASETYPEPTR DOSBootBase, struct Gadget *gadget) { // backup of devicesEnabled to be used if user CANCEL your changes @@ -194,223 +173,209 @@ static BOOL populateGadgets_PageBoot(LIBBASETYPEPTR DOSBootBase, struct Gadget * DOSBootBase->devicesEnabled[DOSBootBase->devicesCount + i] = DOSBootBase->devicesEnabled[i]; } + struct List *bootList; + struct List *devicesList; - { - struct List *bootList; - struct List *devicesList; - - struct Node *listNode; - - UWORD bootNodeSelected = 0; - - struct BootNode *bn; - UWORD listIndex = 0; - - NEWLIST (&DOSBootBase->bootList); - NEWLIST (&DOSBootBase->devicesList); - - bootList = &DOSBootBase->bootList; - devicesList = &DOSBootBase->devicesList; - - - ForeachNode(&DOSBootBase->bm_ExpansionBase->MountList, bn) - { - struct DeviceNode *dn = bn->bn_DeviceNode; - struct FileSysStartupMsg *fssm = BADDR(dn->dn_Startup); - struct DosEnvec *de = NULL; - struct IOStdReq *io; - struct MsgPort *port; - char dostype[5]; - UBYTE i; - ULONG size; - BOOL devopen, ismedia; - - - if (!fssm || !fssm->fssm_Device) - { - listIndex++; - continue; - } - - if (fssm->fssm_Environ > (BPTR)0x64) - { - de = BADDR(fssm->fssm_Environ); - - if (de->de_TableSize < 15) - { - de = NULL; - } - } - - - if (IsBootableNode(bn)) - { - if (listNode = AllocVec(sizeof(struct Node), MEMF_FAST) ) - { - listNode->ln_Name = AROS_BSTR_ADDR(dn->dn_Name); - listNode->ln_Type = 100L; - listNode->ln_Pri = 0; - AddTail (bootList, listNode); - } - - if (DOSBootBase->db_BootNode == bn) - { - bootNodeSelected = listIndex; - } - } - - - if (listNode = AllocVec(sizeof(struct Node) + 96, MEMF_FAST|MEMF_CLEAR) ) - { - listNode->ln_Name = (char *)(listNode + 1); - listNode->ln_Type = 100L; - listNode->ln_Pri = 0; - AddTail (devicesList, listNode); - } - - - devopen = ismedia = FALSE; - if ((port = (struct MsgPort*)CreateMsgPort())) - { - if ((io = (struct IOStdReq*)CreateIORequest(port, sizeof(struct IOStdReq)))) - { - if (!OpenDevice(AROS_BSTR_ADDR(fssm->fssm_Device), fssm->fssm_Unit, (struct IORequest*)io, fssm->fssm_Flags)) - { - devopen = TRUE; - io->io_Command = TD_CHANGESTATE; - io->io_Actual = 1; - DoIO((struct IORequest*)io); - - if (!io->io_Error && io->io_Actual == 0) - ismedia = TRUE; - - CloseDevice((struct IORequest*)io); - } - DeleteIORequest((struct IORequest*)io); - } - DeleteMsgPort(port); - } - - - if (de && ismedia) - { - STRPTR sunit = "kMGT"; - - for (i = 0; i < 4; i++) - { - dostype[i] = (de->de_DosType >> ((3 - i) * 8)) & 0xff; - - if (dostype[i] < 9) - dostype[i] += '0'; - else if (dostype[i] < 32) - dostype[i] = '.'; - } - dostype[4] = 0; - - - size = (de->de_HighCyl - de->de_LowCyl + 1) * de->de_Surfaces * de->de_BlocksPerTrack; - - /* try to prevent ULONG overflow */ - if (de->de_SizeBlock <= 128) - size /= 2; - else - size *= de->de_SizeBlock / 256; - - while(size > 1024 * 10) /* Wrap on 10x unit to be more precise in displaying */ - { - size /= 1024; - sunit++; - } - - - NewRawDoFmt("%s%6s: %s [%08lx]%5d%c %4d %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, - (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), - AROS_BSTR_ADDR(dn->dn_Name), - dostype, - de->de_DosType, - size, - (*sunit), - bn->bn_Node.ln_Pri, - AROS_BSTR_ADDR(fssm->fssm_Device), - fssm->fssm_Unit); - } - else if (!devopen) - { - NewRawDoFmt("%s%6s: [device open error] %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, - (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), - AROS_BSTR_ADDR(dn->dn_Name), - AROS_BSTR_ADDR(fssm->fssm_Device), - fssm->fssm_Unit); - } - else if (!ismedia) - { - NewRawDoFmt("%s%6s: [no media] %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, - (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), - AROS_BSTR_ADDR(dn->dn_Name), - AROS_BSTR_ADDR(fssm->fssm_Device), - fssm->fssm_Unit); - } - - - listIndex++; - } - - - if (gadget != NULL) - { - struct TagItem bootTAGS[] = - { - { GTLV_Labels, (IPTR)bootList }, // (IPTR) - { GTLV_ShowSelected, 0 }, - { GTLV_Selected, bootNodeSelected }, - { GTLV_MakeVisible, 0}, - { TAG_DONE } - }; - - struct NewGadget bootGadget; - - bootGadget.ng_LeftEdge = 10; - bootGadget.ng_TopEdge = 40; - bootGadget.ng_Width = 100; - bootGadget.ng_Height = 100; - bootGadget.ng_GadgetText = "Boot from:"; - bootGadget.ng_TextAttr = NULL; - bootGadget.ng_GadgetID = BUTTONLIST_BOOT; - bootGadget.ng_Flags = 0; - bootGadget.ng_VisualInfo = DOSBootBase->bm_VisualInfo; - bootGadget.ng_UserData = 0; - - gadget = CreateGadgetA(LISTVIEW_KIND, gadget, &bootGadget, bootTAGS); - } - - - if (gadget != NULL) - { - struct TagItem devicesTAGS[] = - { - { GTLV_Labels, (IPTR)devicesList }, // (IPTR) + struct Node *listNode; + + UWORD bootNodeSelected = 0; + + struct BootNode *bn; + UWORD listIndex = 0; + + NEWLIST (&DOSBootBase->bootList); + NEWLIST (&DOSBootBase->devicesList); + + bootList = &DOSBootBase->bootList; + devicesList = &DOSBootBase->devicesList; + + ForeachNode(&DOSBootBase->bm_ExpansionBase->MountList, bn) + { + struct DeviceNode *dn = bn->bn_DeviceNode; + struct FileSysStartupMsg *fssm = BADDR(dn->dn_Startup); + struct DosEnvec *de = NULL; + struct IOStdReq *io; + struct MsgPort *port; + char dostype[5]; + UBYTE i; + ULONG size; + BOOL devopen, ismedia; + + if (!fssm || !fssm->fssm_Device) + { + listIndex++; + continue; + } + + if (fssm->fssm_Environ > (BPTR)0x64) + { + de = BADDR(fssm->fssm_Environ); + + if (de->de_TableSize < 15) + { + de = NULL; + } + } + + if (IsBootableNode(bn)) + { + if (listNode = AllocVec(sizeof(struct Node), MEMF_FAST) ) + { + listNode->ln_Name = AROS_BSTR_ADDR(dn->dn_Name); + listNode->ln_Type = 100L; + listNode->ln_Pri = 0; + AddTail (bootList, listNode); + } + + if (DOSBootBase->db_BootNode == bn) + { + bootNodeSelected = listIndex; + } + } + + if (listNode = AllocVec(sizeof(struct Node) + 96, MEMF_FAST|MEMF_CLEAR) ) + { + listNode->ln_Name = (char *)(listNode + 1); + listNode->ln_Type = 100L; + listNode->ln_Pri = 0; + AddTail (devicesList, listNode); + } + + devopen = ismedia = FALSE; + if ((port = (struct MsgPort*)CreateMsgPort())) + { + if ((io = (struct IOStdReq*)CreateIORequest(port, sizeof(struct IOStdReq)))) + { + if (!OpenDevice(AROS_BSTR_ADDR(fssm->fssm_Device), fssm->fssm_Unit, (struct IORequest*)io, fssm->fssm_Flags)) + { + devopen = TRUE; + io->io_Command = TD_CHANGESTATE; + io->io_Actual = 1; + DoIO((struct IORequest*)io); + + if (!io->io_Error && io->io_Actual == 0) + ismedia = TRUE; + + CloseDevice((struct IORequest*)io); + } + DeleteIORequest((struct IORequest*)io); + } + DeleteMsgPort(port); + } + + if (de && ismedia) + { + STRPTR sunit = "kMGT"; + + for (i = 0; i < 4; i++) + { + dostype[i] = (de->de_DosType >> ((3 - i) * 8)) & 0xff; + + if (dostype[i] < 9) + dostype[i] += '0'; + else if (dostype[i] < 32) + dostype[i] = '.'; + } + dostype[4] = 0; + + size = (de->de_HighCyl - de->de_LowCyl + 1) * de->de_Surfaces * de->de_BlocksPerTrack; + + /* try to prevent ULONG overflow */ + if (de->de_SizeBlock <= 128) + size /= 2; + else + size *= de->de_SizeBlock / 256; + + while(size > 1024 * 10) /* Wrap on 10x unit to be more precise in displaying */ + { + size /= 1024; + sunit++; + } + + NewRawDoFmt("%s%6s: %s [%08lx]%5d%c %4d %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, + (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), + AROS_BSTR_ADDR(dn->dn_Name), + dostype, + de->de_DosType, + size, + (*sunit), + bn->bn_Node.ln_Pri, + AROS_BSTR_ADDR(fssm->fssm_Device), + fssm->fssm_Unit); + } + else if (!devopen) + { + NewRawDoFmt("%s%6s: [device open error] %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, + (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), + AROS_BSTR_ADDR(dn->dn_Name), + AROS_BSTR_ADDR(fssm->fssm_Device), + fssm->fssm_Unit); + } + else if (!ismedia) + { + NewRawDoFmt("%s%6s: [no media] %s-%ld", RAWFMTFUNC_STRING, listNode->ln_Name, + (DOSBootBase->devicesEnabled[listIndex]? "Enabled: " : "Disabled:"), + AROS_BSTR_ADDR(dn->dn_Name), + AROS_BSTR_ADDR(fssm->fssm_Device), + fssm->fssm_Unit); + } + + listIndex++; + } + + if (gadget != NULL) + { + struct TagItem bootTAGS[] = + { + { GTLV_Labels, (IPTR)bootList }, // (IPTR) + { GTLV_ShowSelected, 0 }, + { GTLV_Selected, bootNodeSelected }, + { GTLV_MakeVisible, 0}, + { TAG_DONE } + }; + + struct NewGadget bootGadget; + + bootGadget.ng_LeftEdge = 10; + bootGadget.ng_TopEdge = 40; + bootGadget.ng_Width = 100; + bootGadget.ng_Height = 100; + bootGadget.ng_GadgetText = "Boot from:"; + bootGadget.ng_TextAttr = NULL; + bootGadget.ng_GadgetID = BUTTONLIST_BOOT; + bootGadget.ng_Flags = 0; + bootGadget.ng_VisualInfo = DOSBootBase->bm_VisualInfo; + bootGadget.ng_UserData = 0; + + gadget = CreateGadgetA(LISTVIEW_KIND, gadget, &bootGadget, bootTAGS); + } + + if (gadget != NULL) + { + struct TagItem devicesTAGS[] = + { + { GTLV_Labels, (IPTR)devicesList }, // (IPTR) // { GTLV_ShowSelected, 0 }, // { GTLV_Selected, 0 }, // { GTLV_MakeVisible, 0}, - { TAG_DONE } - }; - - struct NewGadget devicesGadget; - - devicesGadget.ng_LeftEdge = 120; - devicesGadget.ng_TopEdge = 40; - devicesGadget.ng_Width = 510; - devicesGadget.ng_Height = 100; - devicesGadget.ng_GadgetText = "Devices List"; - devicesGadget.ng_TextAttr = NULL; - devicesGadget.ng_GadgetID = BUTTONLIST_DEVICES; - devicesGadget.ng_Flags = 0; - devicesGadget.ng_VisualInfo = DOSBootBase->bm_VisualInfo; - devicesGadget.ng_UserData = 0; - - gadget = CreateGadgetA(LISTVIEW_KIND, gadget, &devicesGadget, devicesTAGS); - } - } + { TAG_DONE } + }; + + struct NewGadget devicesGadget; + + devicesGadget.ng_LeftEdge = 120; + devicesGadget.ng_TopEdge = 40; + devicesGadget.ng_Width = 510; + devicesGadget.ng_Height = 100; + devicesGadget.ng_GadgetText = "Devices List"; + devicesGadget.ng_TextAttr = NULL; + devicesGadget.ng_GadgetID = BUTTONLIST_DEVICES; + devicesGadget.ng_Flags = 0; + devicesGadget.ng_VisualInfo = DOSBootBase->bm_VisualInfo; + devicesGadget.ng_UserData = 0; + + gadget = CreateGadgetA(LISTVIEW_KIND, gadget, &devicesGadget, devicesTAGS); + } return (gadget != NULL); } @@ -425,7 +390,6 @@ static void freeGadgets_PageBoot(LIBBASETYPEPTR DOSBootBase) FreeVec(node); } - while ((node = RemHead(&DOSBootBase->devicesList)) != NULL) { FreeVec(node); @@ -445,7 +409,6 @@ static BOOL populateGadgets(LIBBASETYPEPTR DOSBootBase, struct Gadget *gadget, W ng.ng_VisualInfo = DOSBootBase->bm_VisualInfo; ng.ng_UserData = 0; - if (gadget != NULL) { ng.ng_GadgetText = (page == PAGE_MAIN ? "Boot" : "Use"); @@ -464,25 +427,21 @@ static BOOL populateGadgets(LIBBASETYPEPTR DOSBootBase, struct Gadget *gadget, W gadget = CreateGadgetA(BUTTON_KIND, gadget, &ng, NULL); } - switch (page) { - case PAGE_MAIN: populateGadgets_PageMain(DOSBootBase, gadget); break; - case PAGE_BOOT: populateGadgets_PageBoot(DOSBootBase, gadget); break; -// case PAGE_DISPLAY: populateGadgets_PageDisplay(DOSBootBase, gadget); break; -// case PAGE_EXPANSION: populateGadgets_PageExpansion(DOSBootBase, gadget); break; + case PAGE_MAIN: populateGadgets_PageMain(DOSBootBase, gadget); break; + case PAGE_BOOT: populateGadgets_PageBoot(DOSBootBase, gadget); break; + case PAGE_APOLLOFLOPPY: populateGadgets_PageApolloFloppy(DOSBootBase, gadget); break; } return (gadget != NULL); } + static void freeGadgets(LIBBASETYPEPTR DOSBootBase, WORD page) { switch (page) { -// case PAGE_MAIN: freeGadgets_PageMain(DOSBootBase); break; - case PAGE_BOOT: freeGadgets_PageBoot(DOSBootBase); break; -// case PAGE_DISPLAY: freeGadgets_PageDisplay(DOSBootBase); break; -// case PAGE_EXPANSION: freeGadgets_PageExpansion(DOSBootBase); break; + case PAGE_BOOT: freeGadgets_PageBoot(DOSBootBase); break; } } @@ -517,38 +476,9 @@ static UWORD msgLoop(LIBBASETYPEPTR DOSBootBase, struct Window *win, WORD page) { if (msg->Class == IDCMP_VANILLAKEY) { - if (msg->Code == 27) - exit = PAGE_MAIN; - else if (msg->Code >= '1' && msg->Code <= '3') - exit = PAGE_MAIN + msg->Code - '0'; -/* else if (msg->Code >= 'a' && msg->Code <='j') - { - BYTE pos = msg->Code - 'a', i = 0; - struct BootNode *bn; - DOSBootBase->bm_BootNode = NULL; - - Forbid(); // .. access to ExpansionBase->MountList - ForeachNode(&DOSBootBase->bm_ExpansionBase->MountList, bn) - { - if (i++ == pos) - { - DOSBootBase->bm_BootNode = bn; - break; - } - } - Permit(); - - if (DOSBootBase->bm_BootNode != NULL) - { - // Refresh itself - exit = PAGE_BOOT; - break; - } - } -*/ else - { - toggleMode(DOSBootBase); - } + if (msg->Code == 27) exit = PAGE_MAIN; + else if (msg->Code >= '1' && msg->Code <= '3') exit = PAGE_MAIN + msg->Code - '0'; + else toggleMode(DOSBootBase); } else if (msg->Class == IDCMP_GADGETUP) { @@ -593,13 +523,17 @@ static UWORD msgLoop(LIBBASETYPEPTR DOSBootBase, struct Window *win, WORD page) exit = PAGE_BOOT; break; - case BUTTON_EXPBOARDDIAG: - exit = PAGE_EXPANSION; + case BUTTON_APOLLOFLOPPY: + exit = PAGE_APOLLOFLOPPY; break; - case BUTTON_DISPLAY_OPTIONS: - exit = PAGE_DISPLAY; - break; + case BUTTON_APOLLOFLOPPY_DF0: + ApolloFloppy(BUTTON_APOLLOFLOPPY_DF0); + break; + + case BUTTON_APOLLOFLOPPY_DF1: + ApolloFloppy(BUTTON_APOLLOFLOPPY_DF1); + break; case BUTTONLIST_BOOT: { @@ -698,33 +632,31 @@ static void initPageExpansion(LIBBASETYPEPTR DOSBootBase) static void initPage(LIBBASETYPEPTR DOSBootBase, WORD page) { UBYTE *text; + UWORD* const ApolloCore_Pointer = (UWORD*)0xDFF3EA; + char ApolloROM_Release[80]; + char ApolloCore_Release[80]; - if (page == PAGE_DISPLAY) - text = "Display Options"; - else if (page == PAGE_EXPANSION) - text = "Expansion Board Diagnostic"; - else if (page == PAGE_BOOT) - text = "Boot Options"; - else - text = __DISTRONAME__ " Early Startup Control"; + if (page == PAGE_BOOT) text = "Boot Options"; + else if (page == PAGE_APOLLOFLOPPY) text = "ApolloFloppy Options"; + else text = __DISTRONAME__ " Boot Menu"; centertext(DOSBootBase, 2, 10, text); if (page == PAGE_BOOT) { - /* Set the default */ - if (DOSBootBase->bm_BootNode == NULL) - DOSBootBase->bm_BootNode = DOSBootBase->db_BootNode; + if (DOSBootBase->bm_BootNode == NULL) DOSBootBase->bm_BootNode = DOSBootBase->db_BootNode; } - else if (page == PAGE_EXPANSION) - initPageExpansion(DOSBootBase); - if (page == PAGE_MAIN && (GfxBase->DisplayFlags & (NTSC | PAL))) { - ULONG modeid = GetVPModeID(&DOSBootBase->bm_Screen->ViewPort); - if (modeid != INVALID_ID && (((modeid & MONITOR_ID_MASK) == NTSC_MONITOR_ID) || ((modeid & MONITOR_ID_MASK) == PAL_MONITOR_ID))) { - centertext(DOSBootBase, 1, 30, "(" __DISTROVERSION__ ", " __DISTRODATE__ ")"); + if (page == PAGE_MAIN && (GfxBase->DisplayFlags & (NTSC | PAL))) + { + ULONG modeid = GetVPModeID(&DOSBootBase->bm_Screen->ViewPort); + if (modeid != INVALID_ID && (((modeid & MONITOR_ID_MASK) == NTSC_MONITOR_ID) || ((modeid & MONITOR_ID_MASK) == PAL_MONITOR_ID))) + { + sprintf(ApolloROM_Release, "ApolloROM %s", __DISTROVERSION__); + centertext(DOSBootBase, 1, 30, ApolloROM_Release ); + sprintf(ApolloCore_Release, "ApolloCore Release %d", *ApolloCore_Pointer); + centertext(DOSBootBase, 1, 50, ApolloCore_Release ); } } - } static WORD initWindow(LIBBASETYPEPTR DOSBootBase, struct BootConfig *bcfg, WORD page) @@ -738,7 +670,6 @@ static WORD initWindow(LIBBASETYPEPTR DOSBootBase, struct BootConfig *bcfg, WORD firstGadget = CreateContext(&gadlist); - if (populateGadgets(DOSBootBase, firstGadget, page)) { struct NewWindow nw = @@ -795,10 +726,11 @@ static BOOL initScreen(LIBBASETYPEPTR DOSBootBase, struct BootConfig *bcfg) DOSBootBase->bm_Screen = OpenBootScreen(DOSBootBase); if (DOSBootBase->bm_Screen) { - DOSBootBase->bottomY = 190; + DOSBootBase->bottomY = 256 - 15 - 10; page = PAGE_MAIN; - do { + do + { page = initWindow(DOSBootBase, bcfg, page); } while (page != EXIT_BOOT && page != EXIT_BOOT_WNSS); CloseBootScreen(DOSBootBase->bm_Screen, DOSBootBase); @@ -877,25 +809,13 @@ int bootmenu_Init(LIBBASETYPEPTR DOSBootBase, BOOL WantBootMenu) D(bug("[BootMenu] bootmenu_Init()\n")); -#ifdef INITHIDDS_KLUDGE - /* - * PCI hardware display drivers still need external initialization. - * This urgently needs to be fixed. After fixing this kludge - * will not be needed any more. - */ - InitBootConfig(&LIBBASE->bm_BootConfig); - if (!initHidds(LIBBASE)) - return FALSE; -#endif - /* check keyboard if needed */ - if (!WantBootMenu) - WantBootMenu = buttonsPressed(DOSBootBase); + if (!WantBootMenu) WantBootMenu = buttonsPressed(DOSBootBase); /* Bring up early startup menu if requested */ if (WantBootMenu) { - D(kprintf("[BootMenu] bootmenu_Init: Entering Boot Menu ...\n")); + D(bug("[BootMenu] bootmenu_Init: Entering Boot Menu ...\n")); bmi_RetVal = initScreen(DOSBootBase, &DOSBootBase->bm_BootConfig); } diff --git a/rom/dosboot/mmakefile.src b/rom/dosboot/mmakefile.src index 18367a40486..fb335d88f56 100644 --- a/rom/dosboot/mmakefile.src +++ b/rom/dosboot/mmakefile.src @@ -21,10 +21,4 @@ USER_LDFLAGS := -static modname=dosboot modtype=resource \ files="$(FILES)" uselibs="hiddstubs" -$(GENDIR)/$(CURDIR)/dosboot/bootanim.d : $(GENDIR)/$(CURDIR)/dosboot/nomedia_image.h - -$(GENDIR)/$(CURDIR)/dosboot/nomedia_image.h : $(NOMEDIA_IMAGE).ilbm - @$(ECHO) "Creating $@..." - @$(ILBMTOC) $< >$@ - %common diff --git a/rom/dosboot/nomedia.ilbm b/rom/dosboot/nomedia.ilbm index 2118d6bdb67..c5dda83df3a 100644 Binary files a/rom/dosboot/nomedia.ilbm and b/rom/dosboot/nomedia.ilbm differ diff --git a/rom/exec/initkicktags.c b/rom/exec/initkicktags.c index 316b76b50d4..e47f63c4a62 100644 --- a/rom/exec/initkicktags.c +++ b/rom/exec/initkicktags.c @@ -1,14 +1,18 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. + Copyright � 1995-2011, The AROS Development Team. All rights reserved. $Id: initkicktags.c Desc: Handle CoolCapture and KickTags (reset proof residents) Lang: english */ -#if AROS_SERIAL_DEBUG -#define PRINT_LIST #define DEBUG 1 + +#if DEBUG +#define D(x) x +#define PRINT_LIST +#else +#define D(x) #endif #include @@ -41,12 +45,12 @@ static IPTR *CopyResidents(IPTR *list, IPTR *dst, IPTR *oldlist) RomTag = (struct Resident*)*list; #ifdef PRINT_LIST - bug("* %p: %4d %02x %3d \"%s\"\n", + D(bug("* %p: %4d %02x %3d \"%s\"\n", RomTag, RomTag->rt_Pri, RomTag->rt_Flags, RomTag->rt_Version, - RomTag->rt_Name); + RomTag->rt_Name)); #endif /* Try to find a resident with this name in original list */ diff --git a/rom/exec/obtainsemaphore.c b/rom/exec/obtainsemaphore.c index b14e9ae83e7..9caa0ca31b7 100644 --- a/rom/exec/obtainsemaphore.c +++ b/rom/exec/obtainsemaphore.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2015, The AROS Development Team. All rights reserved. + Copyright � 1995-2015, The AROS Development Team. All rights reserved. $Id$ Desc: Lock a semaphore. diff --git a/rom/exec/releasesemaphore.c b/rom/exec/releasesemaphore.c index 509ae0b3e33..137c7d2ef93 100644 --- a/rom/exec/releasesemaphore.c +++ b/rom/exec/releasesemaphore.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2015, The AROS Development Team. All rights reserved. + Copyright � 1995-2015, The AROS Development Team. All rights reserved. $Id$ Desc: Release a semaphore. @@ -13,7 +13,7 @@ #include "exec_util.h" #include "semaphores.h" -#define CHECK_TASK 0 /* it seems to be legal to call ObtainSemaphore in one task and ReleaseSemaphore in another */ +#define CHECK_TASK 1 /* it seems to be legal to call ObtainSemaphore in one task and ReleaseSemaphore in another */ /*****************************************************************************/ #undef Exec @@ -63,6 +63,9 @@ struct TraceLocation tp = CURRENT_LOCATION("ReleaseSemaphore"); struct Task *ThisTask = GET_THIS_TASK; + + + /* We can be called from within exec's pre-init code. It's okay. */ if (!ThisTask) return; @@ -70,8 +73,8 @@ if (ThisTask->tc_State == TS_REMOVED) return; - if (!CheckSemaphore(sigSem, &tp, SysBase)) - return; + //if (!CheckSemaphore(sigSem, &tp, SysBase)) + // return; /* Protect the semaphore structure from multiple access. */ Forbid(); @@ -80,6 +83,8 @@ sigSem->ss_NestCount--; sigSem->ss_QueueCount--; + //kprintf("SEMAPHORE] ReleaseSemaphore \t%s\t%d\t%d\n", ThisTask->tc_Node.ln_Name, sigSem->ss_NestCount, sigSem->ss_QueueCount); + if(sigSem->ss_NestCount == 0) { /* @@ -95,6 +100,7 @@ If it is not, there is a chance that the semaphore is corrupt. It will be afterwards anyway :-) */ + D(bug("Alert(AN_SemCorrupt) - SHould NOT happen\n")); Alert( AN_SemCorrupt ); } #endif @@ -187,17 +193,16 @@ sigSem->ss_Owner = NULL; sigSem->ss_QueueCount = -1; - D(bug("ReleaseSemaphore(): No tasks - ss_NestCount == %ld\n", - sigSem->ss_NestCount);) + D(bug("ReleaseSemaphore(): No tasks - ss_NestCount == %ld\n", sigSem->ss_NestCount);) } } else if(sigSem->ss_NestCount < 0) { - /* - This can't happen. It means that somebody has released - more times than they have obtained. - */ + // This can't happen. It means that somebody has released times than they have obtained. + + kprintf("ReleaseSemaphore(): sigSem->ss_NestCount < 0 = ILLEGAL | Task = %s\n", ThisTask->tc_Node.ln_Name); Alert( AN_SemCorrupt ); + while(TRUE); } /* All done. */ diff --git a/rom/exec/semaphores.c b/rom/exec/semaphores.c index 30b55a4f3d7..2a43d334c73 100644 --- a/rom/exec/semaphores.c +++ b/rom/exec/semaphores.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ Desc: Semaphore internal handling @@ -24,8 +24,7 @@ BOOL CheckSemaphore(struct SignalSemaphore *sigSem, struct TraceLocation *caller /* FindTask() is called only here, for speedup */ struct Task *ThisTask = GET_THIS_TASK; - kprintf("%s called in supervisor mode!!!\n" - "sem = 0x%p task = 0x%p (%s)\n\n", caller->function, sigSem, ThisTask, ThisTask->tc_Node.ln_Name); + kprintf("%s called in supervisor mode!!!\nsem = 0x%p task = 0x%p (%s)\n\n", caller->function, sigSem, ThisTask, ThisTask->tc_Node.ln_Name); Exec_ExtAlert(ACPU_PrivErr & ~AT_DeadEnd, __builtin_return_address(0), CALLER_FRAME, 0, NULL, SysBase); return FALSE; @@ -37,8 +36,7 @@ BOOL CheckSemaphore(struct SignalSemaphore *sigSem, struct TraceLocation *caller { struct Task *ThisTask = GET_THIS_TASK; - kprintf("%s called on a not initialized semaphore!!!\n" - "sem = 0x%p task = 0x%p (%s)\n\n", caller->function, sigSem, ThisTask, ThisTask->tc_Node.ln_Name); + kprintf("%s called on a not initialized semaphore!!!\nsem = 0x%p task = 0x%p (%s)\n\n", caller->function, sigSem, ThisTask, ThisTask->tc_Node.ln_Name); Exec_ExtAlert(AN_SemCorrupt, __builtin_return_address(0), CALLER_FRAME, 0, NULL, SysBase); return FALSE; @@ -67,8 +65,8 @@ void InternalObtainSemaphore(struct SignalSemaphore *sigSem, struct Task *owner, if (ThisTask->tc_State == TS_REMOVED) return; - if (!CheckSemaphore(sigSem, caller, SysBase)) - return; /* A crude attempt to recover... */ + //if (!CheckSemaphore(sigSem, caller, SysBase)) + // return; /* A crude attempt to recover... */ /* * Arbitrate for the semaphore structure. @@ -136,6 +134,8 @@ void InternalObtainSemaphore(struct SignalSemaphore *sigSem, struct Task *owner, Wait(SIGF_SINGLE); } + //kprintf("SEMAPHORE] ObtainSemaphore \t%s\t%d\t%d\n", ThisTask->tc_Node.ln_Name, sigSem->ss_NestCount, sigSem->ss_QueueCount); + /* All Done! */ Permit(); } @@ -145,8 +145,8 @@ ULONG InternalAttemptSemaphore(struct SignalSemaphore *sigSem, struct Task *owne struct Task *ThisTask = GET_THIS_TASK; ULONG retval = TRUE; - if (!CheckSemaphore(sigSem, caller, SysBase)) - return FALSE; /* A crude attempt to recover... */ + //if (!CheckSemaphore(sigSem, caller, SysBase)) + // return FALSE; /* A crude attempt to recover... */ /* * Arbitrate for the semaphore structure. diff --git a/rom/exec/taggedopenlibrary.c b/rom/exec/taggedopenlibrary.c index 984d8a500af..19d8dd68371 100644 --- a/rom/exec/taggedopenlibrary.c +++ b/rom/exec/taggedopenlibrary.c @@ -28,10 +28,10 @@ static const char * const libnames[] = static const char * const copyrights[] = { "AROS Research Operating System (AROS)", - "ApolloOS created by Apollo Development Team ", - "Parts based on AROS Research Operating System (AROS) ", - "https://apollo-computer.com Copyright 1995-2025", - "APOLLO", + ""__DISTRONAME__" "__DISTROVERSION__" by Apollo Team. ", + "Parts based on AROS Research Operating System. ", + "https://apollo-computer.com (Copyright 1995-2025). ", + "Apollo", MOD_NAME_STRING, "exec " MOD_VERS_STRING " (" MOD_DATE_STRING ")\r\n" }; diff --git a/rom/filesys/SFS/FS/adminspaces.c b/rom/filesys/SFS/FS/adminspaces.c index 8ca220533a8..7513de0cc86 100644 --- a/rom/filesys/SFS/FS/adminspaces.c +++ b/rom/filesys/SFS/FS/adminspaces.c @@ -148,7 +148,7 @@ LONG freeadminspace(BLCK block) { BLCK adminspaceblock=globals->block_adminspace; LONG errorcode; - _DEBUG(("freeadminspace: Entry -- freeing block %ld\n",block)); + _DEBUG("freeadminspace: Entry -- freeing block %ld\n",block); while((errorcode=readcachebuffercheck(&cb,adminspaceblock,ADMINSPACECONTAINER_ID))==0) { struct fsAdminSpaceContainer *asc=cb->data; @@ -161,7 +161,7 @@ LONG freeadminspace(BLCK block) { /* block to be freed has been located */ - _DEBUG(("freeadminspace: Block to be freed is located in AdminSpaceContainer block at %ld\n",adminspaceblock)); + _DEBUG("freeadminspace: Block to be freed is located in AdminSpaceContainer block at %ld\n",adminspaceblock); preparecachebuffer(cb); diff --git a/rom/filesys/SFS/FS/bitmap.c b/rom/filesys/SFS/FS/bitmap.c index d7e86781dbe..507ff1ac692 100644 --- a/rom/filesys/SFS/FS/bitmap.c +++ b/rom/filesys/SFS/FS/bitmap.c @@ -81,9 +81,9 @@ LONG markspace(BLCK block,ULONG blocks) { ULONG freeblocks; LONG errorcode; - _XDEBUG((DEBUG_BITMAP,"markspace: Marking %ld blocks from block %ld\n",blocks,block)); + _XDEBUG(DEBUG_BITMAP,"markspace: Marking %ld blocks from block %ld\n",blocks,block); - if((availablespace(block, blocks))data; - if((bitend=bmffz(b->bitmap,longs,bitstart))<(32*longs)) { + if((bitend=bmffz(b->bitmap,longs,bitstart))< ((LONG)(32*longs))) { blocksfound+=bitend-bitstart; return(blocksfound); } blocksfound+=globals->blocks_inbitmap-bitstart; - if(blocksfound>=maxneeded) { + if((ULONG)blocksfound>=maxneeded) { return(blocksfound); } @@ -292,13 +292,13 @@ LONG allocatedspace(BLCK block,ULONG maxneeded) { while(nextblockdata; - if((bitend=bmffo(b->bitmap,longs,bitstart))<(32*longs)) { + if((bitend=bmffo(b->bitmap,longs,bitstart))<((LONG)(32*longs))) { blocksfound+=bitend-bitstart; return(blocksfound); } blocksfound+=globals->blocks_inbitmap-bitstart; - if(blocksfound>=maxneeded) { + if((ULONG)blocksfound>=maxneeded) { return(blocksfound); } @@ -386,11 +386,11 @@ LONG findspace2(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_block, ULO free blocks at the start of this bitmap block, space will be set to zero, since in that case the space isn't adjacent. */ - while((bitstart=bmffo(b->bitmap, longs, bitend))blocks_inbitmap) { + while((bitstart=bmffo(b->bitmap, longs, bitend)) < (LONG)globals->blocks_inbitmap) { /* found the start of an empty space, now find out how large it is */ - if(bitstart >= localbreakpoint) { // Oct 3 1999: Check if the start of this empty space is within bounds. + if((ULONG)bitstart >= localbreakpoint) { // Oct 3 1999: Check if the start of this empty space is within bounds. break; } @@ -400,7 +400,7 @@ LONG findspace2(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_block, ULO bitend=bmffz(b->bitmap, longs, bitstart); - if(bitend > localbreakpoint) { + if((ULONG)bitend > localbreakpoint) { bitend=localbreakpoint; } @@ -415,7 +415,7 @@ LONG findspace2(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_block, ULO *returned_blocks=space; } - if(bitend>=localbreakpoint) { + if((ULONG)bitend>=localbreakpoint) { break; } } @@ -426,7 +426,7 @@ LONG findspace2(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_block, ULO /* no (more) empty spaces found in this block */ - if(bitend!=globals->blocks_inbitmap) { + if((ULONG)bitend!=globals->blocks_inbitmap) { space=0; } @@ -458,7 +458,7 @@ LONG findspace(ULONG blocksneeded,BLCK startblock,BLCK endblock,BLCK *returned_b if((errorcode=findspace2(blocksneeded, startblock, endblock, returned_block, &blocks))==0) { if(blocks!=blocksneeded) { - _DEBUG(("findspace: %ld != %ld\n", blocks, blocksneeded)); + _DEBUG("findspace: %ld != %ld\n", blocks, blocksneeded); return(ERROR_DISK_FULL); } } @@ -493,7 +493,7 @@ LONG findspace(ULONG blocksneeded, BLCK startblock, BLCK endblock, BLCK *returne if((errorcode=findspace2(blocksneeded, startblock, endblock, returned_block, &blocks))==0) { if(blocks!=blocksneeded) { - _DEBUG(("findspace: %ld != %ld\n", blocks, blocksneeded)); + _DEBUG("findspace: %ld != %ld\n", blocks, blocksneeded); return(ERROR_DISK_FULL); } } @@ -557,10 +557,10 @@ LONG smartfindandmarkspace(BLCK startblock,ULONG blocksneeded) { while(entry0) { - if(freeblocks>=blocksneeded) { + if((ULONG)freeblocks>=blocksneeded) { entry=0; globals->spacelist[entry].block=block; globals->spacelist[entry++].blocks=freeblocks; @@ -594,10 +594,10 @@ LONG smartfindandmarkspace(BLCK startblock,ULONG blocksneeded) { } allocblocks=allocatedspace(block,globals->blocks_inbitmap*2); - _XDEBUG((DEBUG_BITMAP,"sfams: allocatedspace returned %ld for block %ld while we needed %ld blocks\n",allocblocks,block,globals->blocks_inbitmap*2)); + _XDEBUG(DEBUG_BITMAP,"sfams: allocatedspace returned %ld for block %ld while we needed %ld blocks\n",allocblocks,block,globals->blocks_inbitmap*2); if(allocblocks<0) { - _DEBUG(("sfams: disk full 1\n")); + _DEBUG("sfams: disk full 1\n"); return(ERROR_DISK_FULL); } else if(block=startblock) { @@ -614,7 +614,7 @@ LONG smartfindandmarkspace(BLCK startblock,ULONG blocksneeded) { } if(entry==0) { - _DEBUG(("sfams: disk full 2\n")); + _DEBUG("sfams: disk full 2\n"); return(ERROR_DISK_FULL); } @@ -673,7 +673,7 @@ LONG smartfindandmarkspace(BLCK startblock,ULONG blocksneeded) { } } else { - _DEBUG(("sfams: disk full 3\n")); + _DEBUG("sfams: disk full 3\n"); return(ERROR_DISK_FULL); } @@ -743,7 +743,7 @@ LONG findspace2_backwards(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_ struct fsBitmap *b=cb->data; LONG localbreakpoint=breakpoint-block; - if(localbreakpoint<0 || localbreakpoint>=globals->blocks_inbitmap) { + if(localbreakpoint<0 || (ULONG)localbreakpoint>=globals->blocks_inbitmap) { localbreakpoint=0; } @@ -755,7 +755,7 @@ LONG findspace2_backwards(ULONG maxneeded, BLCK start, BLCK end, BLCK *returned_ break; } - if(bitend!=globals->blocks_inbitmap-1) { + if((ULONG)bitend!=globals->blocks_inbitmap-1) { space=0; } diff --git a/rom/filesys/SFS/FS/btreenodes.c b/rom/filesys/SFS/FS/btreenodes.c index 515ff9ae71e..c0af49b5664 100644 --- a/rom/filesys/SFS/FS/btreenodes.c +++ b/rom/filesys/SFS/FS/btreenodes.c @@ -57,13 +57,13 @@ void removebnode(ULONG key,struct BTreeContainer *btc); -static void __inline copywordsforward(UWORD *src,UWORD *dst,UWORD len) { +__inline static void copywordsforward(UWORD *src,UWORD *dst,UWORD len) { while(len-->0) { *dst++=*src++; } } -static void __inline copywordsbackward(UWORD *src,UWORD *dst,UWORD len) { +__inline static void copywordsbackward(UWORD *src,UWORD *dst,UWORD len) { while(len-->0) { *--dst=*--src; } @@ -76,7 +76,7 @@ LONG getparentbtreecontainer(BLCK rootblock,struct CacheBuffer **io_cb) { BLCK childblock=(*io_cb)->blckno; LONG errorcode=0; - _XDEBUG((DEBUG_NODES,"getparentbtreecontainer: Getting parent of block %ld\n",(*io_cb)->blckno)); + _XDEBUG(DEBUG_NODES,"getparentbtreecontainer: Getting parent of block %ld\n",(*io_cb)->blckno); /* This function gets the BTreeContainer parent of the passed in CacheBuffer. If there is no parent this function sets io_cb to 0 */ @@ -119,7 +119,7 @@ LONG getparentbtreecontainer(BLCK rootblock,struct CacheBuffer **io_cb) { LONG createbnode(BLCK rootblock,ULONG key,struct CacheBuffer **returned_cb,struct BNode **returned_bnode) { LONG errorcode; - _XDEBUG((DEBUG_NODES,"createbnode: Creating BNode with key %ld, using %ld as root.\n",key,rootblock)); + _XDEBUG(DEBUG_NODES,"createbnode: Creating BNode with key %ld, using %ld as root.\n",key,rootblock); while((errorcode=findbnode(rootblock, key, returned_cb, returned_bnode))==0) { struct fsBNodeContainer *bnc=(*returned_cb)->data; @@ -133,12 +133,12 @@ LONG createbnode(BLCK rootblock,ULONG key,struct CacheBuffer **returned_cb,struc } #endif - _XDEBUG((DEBUG_NODES,"createbnode: findbnode found block %ld\n",(*returned_cb)->blckno)); + _XDEBUG(DEBUG_NODES,"createbnode: findbnode found block %ld\n",(*returned_cb)->blckno); if(BE2W(btc->be_nodecount)blckno)); + _XDEBUG(DEBUG_NODES,"splitbtreecontainer: splitting block %ld\n",cb->blckno); lockcachebuffer(cb); @@ -174,7 +174,7 @@ LONG splitbtreecontainer(BLCK rootblock,struct CacheBuffer *cb) { if(cbparent==0) { /* We need to create Root tree-container */ - _XDEBUG((DEBUG_NODES,"splitbtreecontainer: creating root tree-container\n")); + _XDEBUG(DEBUG_NODES,"splitbtreecontainer: creating root tree-container\n"); cbparent=cb; if((errorcode=allocadminspace(&cb))==0) { @@ -185,7 +185,7 @@ LONG splitbtreecontainer(BLCK rootblock,struct CacheBuffer *cb) { CopyMemQuick(cbparent->data,cb->data,globals->bytes_block); bnc->bheader.be_ownblock=L2BE(cb->blckno); - _XDEBUG((DEBUG_NODES,"splitbtreecontainer: allocated admin space for root\n")); + _XDEBUG(DEBUG_NODES,"splitbtreecontainer: allocated admin space for root\n"); lockcachebuffer(cb); /* Lock cachebuffer which now contains the data previously in root. It must be locked here, otherwise preparecachebuffer below could @@ -303,7 +303,7 @@ LONG findbnode(BLCK rootblock, ULONG key, struct CacheBuffer **returned_cb, stru Any error will be returned. If non-zero then don't rely on the contents of *returned_cb and *returned_bnode. */ - _XDEBUG((DEBUG_NODES,"findbnode: Looking for BNode with key %ld, from root %ld\n",key,rootblock)); + _XDEBUG(DEBUG_NODES,"findbnode: Looking for BNode with key %ld, from root %ld\n",key,rootblock); while((errorcode=readcachebuffercheck(returned_cb, rootblock, BNODECONTAINER_ID))==0) { struct fsBNodeContainer *bnc=(*returned_cb)->data; @@ -321,7 +321,7 @@ LONG findbnode(BLCK rootblock, ULONG key, struct CacheBuffer **returned_cb, stru rootblock=BE2L((*returned_bnode)->be_data); } - _XDEBUG((DEBUG_NODES,"findbnode: *returned_cb->blckno = %ld, Exiting with errorcode %ld\n",(*returned_cb)->blckno,errorcode)); + _XDEBUG(DEBUG_NODES,"findbnode: *returned_cb->blckno = %ld, Exiting with errorcode %ld\n",(*returned_cb)->blckno,errorcode); return(errorcode); } @@ -411,7 +411,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { /* Now checks if the container still contains enough nodes, and takes action accordingly. */ - _XDEBUG((DEBUG_NODES,"deleteinternalnode: branches = %ld, btc->nodecount = %ld\n",branches,BE2W(btc->be_nodecount))); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: branches = %ld, btc->nodecount = %ld\n",branches,BE2W(btc->be_nodecount)); if(BE2W(btc->be_nodecount)<(branches+1)/2) { struct CacheBuffer *cbparent=cb; @@ -431,7 +431,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { struct BTreeContainer *btcparent=&bncparent->btc; WORD n; - _XDEBUG((DEBUG_NODES,"deleteinternalnode: get parent returned block %ld.\n",cbparent->blckno)); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: get parent returned block %ld.\n",cbparent->blckno); for(n=0; nbe_nodecount); n++) { if(BE2L(btcparent->bnode[n].be_data)==cb->blckno) { @@ -446,7 +446,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { if(nbe_nodecount)-1) { // Check if we have a next neighbour. struct CacheBuffer *cb_next; - _XDEBUG((DEBUG_NODES,"deleteinternalnode: using next container.\n")); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: using next container.\n"); if((errorcode=readcachebuffercheck(&cb_next,BE2L(btcparent->bnode[n+1].be_data),BNODECONTAINER_ID))==0) { struct fsBNodeContainer *bnc_next=cb_next->data; @@ -498,7 +498,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { else if(n>0) { // Check if we have a previous neighbour. struct CacheBuffer *cb2; - _XDEBUG((DEBUG_NODES,"deleteinternalnode: using prev container.\n")); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: using prev container.\n"); if((errorcode=readcachebuffercheck(&cb2,BE2L(btcparent->bnode[n-1].be_data),BNODECONTAINER_ID))==0) { struct fsBNodeContainer *bnc2=cb2->data; @@ -560,7 +560,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { else if(BE2W(btc->be_nodecount)==1) { /* No parent, so must be root. */ - _XDEBUG((DEBUG_NODES,"deleteinternalnode: no parent so must be root\n")); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: no parent so must be root\n"); if(btc->isleaf==FALSE) { struct CacheBuffer *cb2; @@ -588,7 +588,7 @@ LONG deleteinternalnode(BLCK rootblock,struct CacheBuffer *cb,ULONG key) { /* If not, then root contains leafs. */ } - _XDEBUG((DEBUG_NODES,"deleteinternalnode: almost done\n")); + _XDEBUG(DEBUG_NODES,"deleteinternalnode: almost done\n"); /* otherwise, it must be the root, and the root is allowed to contain less than the minimum amount of nodes. */ @@ -618,7 +618,7 @@ LONG deletebnode(BLCK rootblock,ULONG key) { } #endif - _XDEBUG((DEBUG_NODES,"deletebnode: key %ld\n",key)); + _XDEBUG(DEBUG_NODES,"deletebnode: key %ld\n",key); errorcode=deleteinternalnode(rootblock,cb,key); } @@ -632,7 +632,7 @@ void removebnode(ULONG key,struct BTreeContainer *btc) { struct BNode *bn=btc->bnode; WORD n=0; - _XDEBUG((DEBUG_NODES,"removebnode: key %ld\n",key)); + _XDEBUG(DEBUG_NODES,"removebnode: key %ld\n",key); /* This routine removes a node from a BTreeContainer indentified by its key. If no such key exists this routine does nothing. diff --git a/rom/filesys/SFS/FS/cachebuffers.c b/rom/filesys/SFS/FS/cachebuffers.c index 813f15680fc..59d8dddfe44 100644 --- a/rom/filesys/SFS/FS/cachebuffers.c +++ b/rom/filesys/SFS/FS/cachebuffers.c @@ -37,15 +37,18 @@ LONG initcachebuffers(void) { -static void checkcb(struct CacheBuffer *cb,UBYTE *string) { +static void checkcb(struct CacheBuffer *cb,UBYTE *string) +{ // if(cb->id!=0x4A48 || cb->data!=&cb->attached_data[0] || (cb->bits & (CB_ORIGINAL|CB_EMPTY))==(CB_ORIGINAL|CB_EMPTY) || (cb->bits & (CB_ORIGINAL|CB_LATEST))==(CB_ORIGINAL|CB_LATEST) || (cb->bits & (CB_ORIGINAL|CB_LATEST|CB_EMPTY))==CB_EMPTY) { - if(cb->id!=0x4A48 || cb->data!=&cb->attached_data[0] || (cb->bits & (CB_ORIGINAL|CB_EMPTY))==(CB_ORIGINAL|CB_EMPTY) || (cb->bits & (CB_ORIGINAL|CB_LATEST|CB_EMPTY))==CB_EMPTY) { + + if(cb->id!=0x4A48 || cb->data!=&cb->attached_data[0] || (cb->bits & (CB_ORIGINAL|CB_EMPTY))==(CB_ORIGINAL|CB_EMPTY) || (cb->bits & (CB_ORIGINAL|CB_LATEST|CB_EMPTY))==CB_EMPTY) + { /* Aargh, this doesn't seem to be a REAL cachebuffer... */ req_unusual("Function '%s' detected an invalid CacheBuffer!", string); - _DEBUG(("checkcb: *** Not a valid cachebuffer!! ***\nDetected by function '%s'\n",string)); + _DEBUG("checkcb: *** Not a valid cachebuffer!! ***\nDetected by function '%s'\n",string); outputcachebuffer(cb); dumpcachebuffers(); } @@ -105,7 +108,7 @@ LONG readcachebuffer(struct CacheBuffer **returned_cb, BLCK block) { modified and returns that if found. Otherwise it reads the original cachebuffer and applies the most recent changes to it. */ - _XDEBUG((DEBUG_CACHEBUFFER," readcb: block %ld\n",block)); + _XDEBUG(DEBUG_CACHEBUFFER," readcb: block %ld\n",block); globals->statistics.cache_accesses++; @@ -138,13 +141,13 @@ LONG readoriginalcachebuffer(struct CacheBuffer **returned_cb,BLCK blckno) { if((cb=findoriginalcachebuffer(blckno))!=0) { /* We managed to find the original! */ - _XDEBUG((DEBUG_CACHEBUFFER," readorgcb: block %ld (from cache)\n",blckno)); + _XDEBUG(DEBUG_CACHEBUFFER," readorgcb: block %ld (from cache)\n",blckno); mrucachebuffer(cb); } else if((cb=getcachebuffer())!=0) { - _XDEBUG((DEBUG_CACHEBUFFER," readorgcb: block %ld (from disk)\n",blckno)); + _XDEBUG(DEBUG_CACHEBUFFER," readorgcb: block %ld (from disk)\n",blckno); #ifdef CHECKCODE if(findlatestcachebuffer(blckno)!=0) { @@ -192,18 +195,20 @@ void emptyoriginalcachebuffer(BLCK blckno) { -void resetcachebuffer(struct CacheBuffer *cb) { +void resetcachebuffer(struct CacheBuffer *cb) +{ /* Resets the CacheBuffer to its default state. All fields are resetted to their defaults, the CacheBuffer will be properly delinked */ checkcb(cb,"resetcachebuffer"); - #ifdef CHECKCODE - if(cb->locked!=0) { + /*#ifdef CHECKCODE + if(cb->locked!=0) + { dreq("resetcachebuffer: CacheBuffer is still locked!\nPlease notify the author!"); outputcachebuffer(cb); } - #endif + #endif*/ if(cb->hashnode.mln_Succ!=0 && cb->hashnode.mln_Pred!=0) { removem(&cb->hashnode); @@ -530,13 +535,13 @@ LONG changecachebuffer(struct CacheBuffer *cb, UBYTE *modifiedblocks) { BEGIN(); if((o=getlatestoperation(cb->blckno))==0) { - _DEBUG(("changecachebuffer: Using storecachebuffer()\n")); + _DEBUG("changecachebuffer: Using storecachebuffer()\n"); return(storecachebuffer(cb)); } END("getlatestoperation()"); -// _DEBUG(("changecachebuffer: Using mergediffs()\n")); +// _DEBUG("changecachebuffer: Using mergediffs()\n"); BEGIN(); @@ -676,7 +681,7 @@ struct CacheBuffer *getcachebuffer() { } while((cb->locked>0 || ((cb->bits & (CB_ORIGINAL|CB_LATEST))==CB_ORIGINAL && findlatestcachebuffer(cb->blckno)!=0)) && buffers-->0); if(buffers<=0) { - _XDEBUG((DEBUG_CACHEBUFFER,"getcachebuffer: No more cachebuffers available!\n")); + _XDEBUG(DEBUG_CACHEBUFFER,"getcachebuffer: No more cachebuffers available!\n"); dumpcachebuffers(); req_unusual("SFS has ran out of cache buffers."); @@ -720,14 +725,14 @@ void dumpcachebuffers(void) { cb=(struct CacheBuffer *)globals->cblrulist.mlh_Head; - _DEBUG(("Blck-- Lock Bits Data---- ID------ cb-adr-- Hashed?\n")); + _DEBUG("Blck-- Lock Bits Data---- ID------ cb-adr-- Hashed?\n"); while(cb->node.mln_Succ!=0) { - _DEBUG(("%6ld %4ld %4ld %08lx %08lx %08lx ",cb->blckno,(LONG)cb->locked,(LONG)cb->bits,cb->data,*(ULONG *)cb->data,cb)); + _DEBUG("%6ld %4ld %4ld %08lx %08lx %08lx ",cb->blckno,(LONG)cb->locked,(LONG)cb->bits,cb->data,*(ULONG *)cb->data,cb); if(cb->hashnode.mln_Succ==0 && cb->hashnode.mln_Pred==0) { - _DEBUG(("No\n")); + _DEBUG("No\n"); } else { - _DEBUG(("Yes\n")); + _DEBUG("Yes\n"); } cb=(struct CacheBuffer *)(cb->node.mln_Succ); @@ -748,7 +753,7 @@ static void dumpcachebuffers2(void) { } if(cnt!=globals->totalbuffers) { - _DEBUG(("------------ cachebuffers have been killed!! ---------------\n")); + _DEBUG("------------ cachebuffers have been killed!! ---------------\n"); dumpcachebuffers(); } } @@ -780,10 +785,10 @@ LONG addcachebuffers(LONG buffers) { } if(buffers>0) { - _DEBUG(("Allocating buffers\n")); + _DEBUG("Allocating buffers\n"); while(buffers!=0 && (cb=AllocMem(globals->bytes_block+sizeof(struct CacheBuffer),MEMF_CLEAR|globals->bufmemtype))!=0) { - _DEBUG(("*")); + _DEBUG("*"); counter++; addtailm(&globals->cblrulist,&cb->node); buffers--; @@ -791,10 +796,10 @@ LONG addcachebuffers(LONG buffers) { cb->data=&cb->attached_data[0]; cb->id=0x4A48; } - _DEBUG((" end\n")); + _DEBUG(" end\n"); if(buffers!=0) { - _DEBUG(("Allocation failed!\n")); + _DEBUG("Allocation failed!\n"); buffers=-counter; /* This makes sure that the already allocated buffers are freed again */ newbuffers=globals->totalbuffers; @@ -821,7 +826,8 @@ LONG addcachebuffers(LONG buffers) { void invalidatecachebuffers() { struct CacheBuffer *cb; - for(cb=(struct CacheBuffer *)globals->cblrulist.mlh_Head; cb!=(struct CacheBuffer *)&globals->cblrulist.mlh_Tail; cb=(struct CacheBuffer *)cb->node.mln_Succ) { + for(cb=(struct CacheBuffer *)globals->cblrulist.mlh_Head; cb!=(struct CacheBuffer *)&globals->cblrulist.mlh_Tail; cb=(struct CacheBuffer *)cb->node.mln_Succ) + { resetcachebuffer(cb); } } diff --git a/rom/filesys/SFS/FS/cachedio.c b/rom/filesys/SFS/FS/cachedio.c index 2272edb8d45..947e92c1dd3 100644 --- a/rom/filesys/SFS/FS/cachedio.c +++ b/rom/filesys/SFS/FS/cachedio.c @@ -424,19 +424,19 @@ LONG validateiocache(struct IOCache *ioc, ULONG blockoffset, ULONG blocks) { return(0); } -// _DEBUG(("validateiocache: ioc->block = %ld, ioc->blocks = %ld, ioc->dirty = 0x%08lx, ioc->valid = 0x%08lx\n", ioc->block, ioc->blocks, ioc->dirty[0], ioc->valid[0])); +// _DEBUG("validateiocache: ioc->block = %ld, ioc->blocks = %ld, ioc->dirty = 0x%08lx, ioc->valid = 0x%08lx\n", ioc->block, ioc->blocks, ioc->dirty[0], ioc->valid[0]); if((errorcode=transfer(DIO_READ, globals->ioc_buffer->data, ioc->block, ioc->blocks))==0) { LONG i=globals->iocache_sizeinblocks; -// _DEBUG(("validateiocache: BMCNTO returned %ld\n", BMCNTO(ioc->dirty, 0, ioc->blocks))); +// _DEBUG("validateiocache: BMCNTO returned %ld\n", BMCNTO(ioc->dirty, 0, ioc->blocks)); if(bmcnto(ioc->dirty, 0, ioc->blocks) < globals->iocache_sizeinblocks/2) { void *data; /* Copying the dirty blocks to the new IOCache. */ -// _DEBUG(("validateiocache: Using new IOCache\n")); +// _DEBUG("validateiocache: Using new IOCache\n"); while(--i>=0) { if(bmtsto(ioc->dirty, i, 1)!=FALSE) { @@ -452,7 +452,7 @@ LONG validateiocache(struct IOCache *ioc, ULONG blockoffset, ULONG blocks) { /* Copying the newly read blocks to the existing IOCache. */ -// _DEBUG(("validateiocache: Using existing IOCache\n")); +// _DEBUG("validateiocache: Using existing IOCache\n"); while(--i>=0) { if(bmtstz(ioc->dirty, i, 1)!=FALSE) { @@ -482,21 +482,21 @@ static LONG copybackiocache(struct IOCache *ioc) { disk-access also flush any buffers following this one, to avoid physical head movement. */ -// _DEBUG(("copybackiocache: ioc->block = %ld\n", ioc->block)); +// _DEBUG("copybackiocache: ioc->block = %ld\n", ioc->block); while(ioc!=0 && ioc->blocks!=0 && (ioc->bits & IOC_DIRTY)!=0) { - _DEBUG(("copybackiocache: ioc->dirty=%p (@=%08x) ioc->blocks-1=%d\n", ioc->dirty, AROS_BE2LONG(*(ULONG*)ioc->dirty), ioc->blocks-1)); + _DEBUG("copybackiocache: ioc->dirty=%p (@=%08x) ioc->blocks-1=%d\n", ioc->dirty, AROS_BE2LONG(*(ULONG*)ioc->dirty), ioc->blocks-1); if((dirtyhigh=bmflo(ioc->dirty, ioc->blocks-1))<0) { - _DEBUG(("copybackiocache: Say what?\n")); + _DEBUG("copybackiocache: Say what?\n"); break; // dirtyhigh = ioc->blocks-1; } dirtylow=bmffo(ioc->dirty, 4, 0); -// _DEBUG(("copybackiocache: dirtylow = %ld, dirtyhigh = %ld, ioc->dirty = 0x%08lx\n", dirtylow, dirtyhigh, ioc->dirty[0])); +// _DEBUG("copybackiocache: dirtylow = %ld, dirtyhigh = %ld, ioc->dirty = 0x%08lx\n", dirtylow, dirtyhigh, ioc->dirty[0]); /* dirtylow and dirtyhigh are known. Now, to check if we can write all these changes in a single write we check if all the blocks @@ -504,7 +504,7 @@ static LONG copybackiocache(struct IOCache *ioc) { most of them probably will be dirty). */ if(bmffz(ioc->valid, 4, dirtylow)blocks))!=0) { break; } @@ -552,7 +552,7 @@ LONG flushiocache(void) { update(); } -// _DEBUG(("flushiocache: errorcode = %ld\n", errorcode)); +// _DEBUG("flushiocache: errorcode = %ld\n", errorcode); return(errorcode); } @@ -820,7 +820,7 @@ void writethroughoverlappingiocaches(BLCK block, ULONG blocks, UBYTE *buffer) { UBYTE *dst; ULONG maxinline, overlappedblocks; -// _DEBUG(("IOCACHE: found overlapping cache (%ld-%ld) for block %ld of %ld blocks\n",ioc->block,ioc->block+ioc->blocks-1,block,blocks)); +// _DEBUG("IOCACHE: found overlapping cache (%ld-%ld) for block %ld of %ld blocks\n",ioc->block,ioc->block+ioc->blocks-1,block,blocks); /* |-------| |-----| |-------| |---------| |=======| |=========| |=======| |=====| @@ -938,12 +938,14 @@ LONG write(BLCK block, UBYTE *buffer, ULONG blocks) { LONG getbuffer(UBYTE **tempbuffer, ULONG *maxblocks) { - struct IOCache *ioc; - - lruiocache(&ioc); /** Might fail!! Make sure it never does! */ - reuseiocache(ioc); - *tempbuffer=ioc->data; - *maxblocks=globals->iocache_sizeinblocks; + struct IOCache *ioc = NULL; + LONG errorcode; - return(0); + if ((errorcode = lruiocache(&ioc))==0) + { + reuseiocache(ioc); + *tempbuffer=ioc->data; + *maxblocks=globals->iocache_sizeinblocks; + } + return errorcode; } diff --git a/rom/filesys/SFS/FS/debug.c b/rom/filesys/SFS/FS/debug.c index 6fd3a130477..b6c8cc485ea 100644 --- a/rom/filesys/SFS/FS/debug.c +++ b/rom/filesys/SFS/FS/debug.c @@ -22,7 +22,7 @@ #endif void BEGIN(void) { - _DEBUG(("BEGIN...")); + _DEBUG("BEGIN..."); ReadEClock(&globals->ecv); } @@ -39,7 +39,7 @@ void END(UBYTE *name) { diff=-diff; } - _DEBUG(("%s: ticks %ld (f=%ld)\n",name,diff,freq)); + _DEBUG("%s: ticks %ld (f=%ld)\n",name,diff,freq); } #ifndef __AROS__ diff --git a/rom/filesys/SFS/FS/debug.h b/rom/filesys/SFS/FS/debug.h index 1920eabc974..d057e31b107 100644 --- a/rom/filesys/SFS/FS/debug.h +++ b/rom/filesys/SFS/FS/debug.h @@ -9,53 +9,64 @@ #include "fs.h" #include "globals.h" -#ifdef __AROS__ -#include +#if APOLLO_DEBUG +#define DEBUG 1 #else +#define DEBUG 0 +#endif -#ifdef DEBUG -#define D(x) x +#if DEBUG +#define DD(x) x +#define D(x) +#define bug kprintf #else +#define DD(x) #define D(x) #endif -#define bug _DEBUG - -#endif - #ifdef DEBUGCODE - -#define _TDEBUG(x) \ -do { \ - struct DateStamp ds; \ - DateStamp(&ds); \ - KPrintF("%4ld.%4ld ", ds.ds_Minute, ds.ds_Tick*2); \ - KPrintF x; \ +#if 0 +#define _DEBUG(fmt,args...) \ + if (globals->logHandle) { \ + logAddEntry((LOGF_Flag_Type_Debug | 50), globals->logHandle, "", __func__, 0, fmt, ##args); \ + } +#define _TDEBUG _DEBUG +#define _XDEBUG(type,fmt,args...) \ +do { \ + ULONG debug=globals->mask_debug; \ + ULONG debugdetailed=globals->mask_debug & ~(DEBUG_CACHEBUFFER|DEBUG_NODES|DEBUG_LOCK|DEBUG_BITMAP); \ + if((debugdetailed & type)!=0 || ((type & 1)==0 && (debug & type)!=0)) \ + { \ + if (globals->logHandle) { \ + logAddEntry((LOGF_Flag_Type_Debug | 50), globals->logHandle, "", __func__, 0, fmt, ##args); \ + } \ + } \ } while (0) - -#define _DEBUG(x) KPrintF("[SFS] "); KPrintF x - -#define xdebug(type,x...) \ -do { \ - ULONG debug=globals->mask_debug; \ - ULONG debugdetailed=globals->mask_debug & ~(DEBUG_CACHEBUFFER|DEBUG_NODES|DEBUG_LOCK|DEBUG_BITMAP); \ - if((debugdetailed & type)!=0 || ((type & 1)==0 && (debug & type)!=0)) \ - { \ - KPrintF(x); \ - } \ +#else +#define _TDEBUG(fmt,args...) \ +do { \ + struct DateStamp ds; \ + DateStamp(&ds); \ + KPrintF("%4ld.%4ld ", ds.ds_Minute, ds.ds_Tick*2); \ + KPrintF(fmt,##args); \ } while (0) - -#define _XDEBUG(x) xdebug x - +#define _DEBUG(fmt,args...) KPrintF("[SFS] "); KPrintF(fmt,##args) +#define _XDEBUG(type,fmt,args...) \ +do { \ + ULONG debug=globals->mask_debug; \ + ULONG debugdetailed=globals->mask_debug & ~(DEBUG_CACHEBUFFER|DEBUG_NODES|DEBUG_LOCK|DEBUG_BITMAP); \ + if((debugdetailed & type)!=0 || ((type & 1)==0 && (debug & type)!=0)) \ + { \ + KPrintF(fmt,##args); \ + } \ +} while (0) +#endif #else - -#define _TDEBUG(x) -#define _DEBUG(x) -#define _XDEBUG(x) - +#define _TDEBUG(fmt,args...) +#define _DEBUG(fmt,args...) +#define _XDEBUG(type,fmt,args...) #endif - #define DEBUG_DETAILED (1) #define DEBUG_CACHEBUFFER (2) diff --git a/rom/filesys/SFS/FS/deviceio.c b/rom/filesys/SFS/FS/deviceio.c index f1c10ea579e..ba7cdad4231 100644 --- a/rom/filesys/SFS/FS/deviceio.c +++ b/rom/filesys/SFS/FS/deviceio.c @@ -1,7 +1,3 @@ -/* -#define DEBUG 1 -#define DEBUGCODE -*/ #include #include @@ -18,6 +14,8 @@ #include #endif +#include + #include "deviceio.h" #include "deviceio_protos.h" #include "debug.h" @@ -51,7 +49,7 @@ extern void starttimeout(void); void update(void) { - _TDEBUG(("UPDATE\n")); + _TDEBUG("UPDATE\n"); globals->ioreq->io_Command=CMD_UPDATE; globals->ioreq->io_Length=0; DoIO((struct IORequest *)globals->ioreq); @@ -59,7 +57,7 @@ void update(void) void motoroff(void) { - _TDEBUG(("MOTOR OFF\n")); + _TDEBUG("MOTOR OFF\n"); globals->ioreq->io_Command=TD_MOTOR; globals->ioreq->io_Length=0; DoIO((struct IORequest *)globals->ioreq); @@ -265,7 +263,7 @@ void changegeometry(struct DosEnvec *de) globals->bytes_sector = de->de_SizeBlock<<2; globals->bytes_block = globals->bytes_sector * de->de_SectorPerBlock; - _DEBUG(("%u sectors per block, %u bytes per sector, %u bytes per block\n", globals->sectors_block, globals->bytes_sector, globals->bytes_block)); + _DEBUG("%u sectors per block, %u bytes per sector, %u bytes per block\n", globals->sectors_block, globals->bytes_sector, globals->bytes_block); bs = globals->bytes_block; @@ -277,7 +275,7 @@ void changegeometry(struct DosEnvec *de) globals->mask_block = globals->bytes_block-1; - _DEBUG(("Block shift: %u, mask: 0x%08X\n", globals->shifts_block, globals->mask_block)); + _DEBUG("Block shift: %u, mask: 0x%08X\n", globals->shifts_block, globals->mask_block); /* Absolute offset on the entire disk are expressed in Sectors; Offset relative to the start of the partition are expressed in Blocks */ @@ -288,7 +286,7 @@ void changegeometry(struct DosEnvec *de) globals->sector_low = sectorspercilinder * de->de_LowCyl; globals->sector_high = sectorspercilinder * (de->de_HighCyl+1); - _DEBUG(("%u sectors per cylinder, start sector %u, end sector %u\n", sectorspercilinder, globals->sector_low, globals->sector_high)); + _DEBUG("%u sectors per cylinder, start sector %u, end sector %u\n", sectorspercilinder, globals->sector_low, globals->sector_high); /* * If our device starts from sector 0, we assume we are serving the whole device. @@ -325,8 +323,8 @@ void changegeometry(struct DosEnvec *de) globals->byte_low = (UQUAD)globals->sector_low * globals->bytes_sector; globals->byte_high = (UQUAD)globals->sector_high * globals->bytes_sector; - _DEBUG(("Total: %u sectors, %u blocks\n", globals->sectors_total, globals->blocks_total)); - _DEBUG(("Start offset 0x%llu, end offset 0x%llu\n", globals->byte_low, globals->byte_high)); + _DEBUG("Total: %u sectors, %u blocks\n", globals->sectors_total, globals->blocks_total); + _DEBUG("Start offset 0x%llu, end offset 0x%llu\n", globals->byte_low, globals->byte_high); } #ifdef DEBUGCODE @@ -411,7 +409,7 @@ LONG initdeviceio(UBYTE *devicename, IPTR unit, ULONG flags, struct DosEnvec *de globals->newstyledevice=TRUE; -// _DEBUG(("Device is a new style device\n")); +// _DEBUG("Device is a new style device\n"); /* Is it safe to use 64 bits with this driver? We can reject bad mounts pretty easily via this check. */ @@ -421,7 +419,7 @@ LONG initdeviceio(UBYTE *devicename, IPTR unit, ULONG flags, struct DosEnvec *de /* This trackdisk style device supports the complete 64-bit command set without returning IOERR_NOCMD! */ -// _DEBUG(("Device supports 64-bit commands\n")); +// _DEBUG("Device supports 64-bit commands\n"); globals->does64bit=TRUE; globals->cmdread=NSCMD_TD_READ64; @@ -577,12 +575,12 @@ void setiorequest(struct fsIORequest *fsi, UWORD action, UBYTE *buffer, ULONG bl { struct IOStdReq *ioreq=fsi->ioreq; - _DEBUG(("setiorequest(0x%p, %u, %u)\n", buffer, blockoffset, blocks)); + _DEBUG("setiorequest(0x%p, %u, %u)\n", buffer, blockoffset, blocks); fsi->next=0; fsi->action=action; - _DEBUG(("Use DirectSCSI: %d\n", globals->scsidirect)); + _DEBUG("Use DirectSCSI: %d\n", globals->scsidirect); if (globals->scsidirect==TRUE) { @@ -638,7 +636,7 @@ LONG transfer_buffered(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG blo if ((errorcode = getbuffer(&tempbuffer, &maxblocks)) != 0) { - _DEBUG(("Buffered transfer: getbuffer() error %d\n", errorcode)); + _DEBUG("Buffered transfer: getbuffer() error %d\n", errorcode); return errorcode; } @@ -661,11 +659,11 @@ LONG transfer_buffered(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG blo while ((errorcode=DoIO((struct IORequest *)globals->fsioreq.ioreq)) != 0) { - _DEBUG(("Buffered transfer: I/O error %d\n", errorcode)); + _DEBUG("Buffered transfer: I/O error %d\n", errorcode); if ((errorcode = handleioerror(errorcode, action, globals->fsioreq.ioreq)) != 0) { - _DEBUG(("Buffered transfer: SFS error %d\n", errorcode)); + _DEBUG("Buffered transfer: SFS error %d\n", errorcode); return(errorcode); } } @@ -767,19 +765,19 @@ static LONG asynctransfer(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG LONG transfer(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG blocklength) { - _TDEBUG(("TRANSFER: %ld, buf=0x%p, block=%ld, blocks=%ld...\n", action, buffer, blockoffset, blocklength)); + _TDEBUG("TRANSFER: %ld, buf=0x%p, block=%ld, blocks=%ld...\n", action, buffer, blockoffset, blocklength); if ((blockoffset < globals->blocks_total) && (blockoffset + blocklength <= globals->blocks_total)) { ULONG maxblocks = globals->blocks_maxtransfer; LONG errorcode; - _DEBUG(("MaxTransfer: %d\n", maxblocks)); + _DEBUG("MaxTransfer: %d\n", maxblocks); // Buffered transfer needed? if (((IPTR)buffer & ~globals->mask_mask) !=0 ) { - _DEBUG(("Buffer 0x%p, mask 0x%p. Buffered transfer needed.\n", buffer, globals->mask_mask)); + _DEBUG("Buffer 0x%p, mask 0x%p. Buffered transfer needed.\n", buffer, globals->mask_mask); return transfer_buffered(action, buffer, blockoffset, blocklength); } @@ -799,11 +797,11 @@ LONG transfer(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG blocklength) while ((errorcode=DoIO((struct IORequest *)globals->fsioreq.ioreq)) != 0) { - _DEBUG(("Direct transfer: I/O error %d\n", errorcode)); + _DEBUG("Direct transfer: I/O error %d\n", errorcode); if ((errorcode=handleioerror(errorcode, action, globals->fsioreq.ioreq)) != 0) { - _DEBUG(("Direct transfer: SFS error %d\n", errorcode)); + _DEBUG("Direct transfer: SFS error %d\n", errorcode); return errorcode; } @@ -814,8 +812,8 @@ LONG transfer(UWORD action, UBYTE *buffer, ULONG blockoffset, ULONG blocklength) buffer+=blocks<shifts_block; } - _DEBUG(("...")); - _TDEBUG(("\n")); + _DEBUG("..."); + _TDEBUG("\n"); return(0); } diff --git a/rom/filesys/SFS/FS/filesystemmain.c b/rom/filesys/SFS/FS/filesystemmain.c index 4553c1f0229..9ddfcc0b173 100644 --- a/rom/filesys/SFS/FS/filesystemmain.c +++ b/rom/filesys/SFS/FS/filesystemmain.c @@ -26,10 +26,7 @@ #include #include #include -/* -#define DEBUG 1 -#define DEBUGCODE -*/ + #include #include "sysdep.h" @@ -72,7 +69,7 @@ LONG step(void); #define BLCKFACCURACY (5) /* 2^5 = 32 */ -#define ID_BUSY AROS_LONG2BE(MAKE_ID('B','U','S','Y')) +#define ID_BUSY MAKE_ID('B','U','S','Y') /* Our own usage of NotifyRequest private data */ #define nr_Next nr_Reserved[2] @@ -83,16 +80,16 @@ LONG step(void); #define SFSM_REMOVE_VOLUMENODE (2) struct SFSMessage { - struct Message msg; - ULONG command; - IPTR data; - LONG errorcode; + struct Message msg; + ULONG command; + IPTR data; + LONG errorcode; }; struct DefragmentStep { - ULONG id; // id of the step ("MOVE", "DONE" or 0) - ULONG length; // length in longwords (can be 0) - ULONG data[0]; // size of this array is determined by length. + ULONG id; // id of the step ("MOVE", "DONE" or 0) + ULONG length; // length in longwords (can be 0) + ULONG data[0]; // size of this array is determined by length. }; @@ -101,26 +98,26 @@ struct DefragmentStep { #include "globals.h" #ifndef __AROS__ -struct SFSBase *globals=NULL; +struct SFSBase *globals = NULL; #endif /* Prototypes */ static struct DosPacket *getpacket(struct Process *); static struct DosPacket *waitpacket(struct Process *); -static void returnpacket(SIPTR,LONG); +static void returnpacket(SIPTR, SIPTR); static void sdlhtask(void); /* Prototypes of cachebuffer related functions */ -LONG readcachebuffercheck(struct CacheBuffer **,ULONG,ULONG); +LONG readcachebuffercheck(struct CacheBuffer **, ULONG, ULONG); void outputcachebuffer(struct CacheBuffer *cb); /* Prototypes of node related functions */ LONG deleteextents(ULONG key); -static LONG findextentbnode(ULONG key,struct CacheBuffer **returned_cb,struct fsExtentBNode **returned_bnode); -static LONG createextentbnode(ULONG key,struct CacheBuffer **returned_cb,struct fsExtentBNode **returned_bnode); +static LONG findextentbnode(ULONG key, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_bnode); +static LONG createextentbnode(ULONG key, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_bnode); /* Prototypes of debug functions */ @@ -138,16 +135,17 @@ BOOL freeupspace(void); BOOL checkchecksum(struct CacheBuffer *); void setchecksum(struct CacheBuffer *); -void checknotifyforobject(struct CacheBuffer *cb,struct fsObject *o,UBYTE notifyparent); -void checknotifyforpath(UBYTE *path,UBYTE notifyparent); +void checknotifyforobject(struct CacheBuffer *cb, struct fsObject *o, UBYTE notifyparent); +void checknotifyforpath(UBYTE *path, UBYTE notifyparent); void notify(struct NotifyRequest *nr); -UBYTE *fullpath(struct CacheBuffer *cbstart,struct fsObject *o); +UBYTE *fullpath(struct CacheBuffer *cbstart, struct fsObject *o); LONG initdisk(void); static void deinitdisk(void); +static BOOL trydestroyvolumenode(struct DeviceList *argvn); LONG handlesimplepackets(struct DosPacket *packet); -static LONG dumppackets(struct DosPacket *packet,LONG); +static LONG dumppackets(struct DosPacket *packet, LONG); #ifdef DEBUGCODE static void dumppacket(void); #endif @@ -155,22 +153,22 @@ static void actioncurrentvolume(struct DosPacket *); static void actionsamelock(struct DosPacket *); static void actiondiskinfo(struct DosPacket *); static void fillinfodata(struct InfoData *); -static void fillfib(struct FileInfoBlock *,struct fsObject *); +static void fillfib(struct FileInfoBlock *, struct fsObject *); static void diskchangenotify(ULONG class); /* Prototypes of high-level filesystem functions */ -LONG setfilesize(struct ExtFileLock *lock,ULONG bytes); -static LONG seek(struct ExtFileLock *lock,ULONG offset); +LONG setfilesize(struct ExtFileLock *lock, ULONG bytes); +static LONG seek(struct ExtFileLock *lock, ULONG offset); LONG seektocurrent(struct ExtFileLock *lock); -LONG seekextent(struct ExtFileLock *lock,ULONG offset,struct CacheBuffer **returned_cb,struct fsExtentBNode **returned_ebn,ULONG *returned_extentoffset); +LONG seekextent(struct ExtFileLock *lock, ULONG offset, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_ebn, ULONG *returned_extentoffset); void seekforward(struct ExtFileLock *lock, UWORD ebn_blocks, BLCK ebn_next, ULONG bytestoseek); LONG writetofile(struct ExtFileLock *lock, UBYTE *buffer, ULONG bytestowrite); -static LONG extendblocksinfile(struct ExtFileLock *lock,ULONG blocks); +static LONG extendblocksinfile(struct ExtFileLock *lock, ULONG blocks); static LONG addblocks(UWORD blocks, BLCK newspace, NODE objectnode, BLCK *io_lastextentbnode); LONG deletefileslowly(struct CacheBuffer *cbobject, struct fsObject *o); - + void mainloop(void); /* ASM prototypes */ @@ -179,9 +177,9 @@ void mainloop(void); #define MINOR_VERSION (84) #ifdef __GNUC__ -const char ver_version[]="\0$VER: " PROGRAMNAMEVER " 1.84 (" ADATE ")\r\n"; +const char ver_version[] = "\0$VER: " PROGRAMNAMEVER " 1.85 (" ADATE ")\r\n"; #else -static const char ver_version[]={"\0$VER: " PROGRAMNAMEVER " 1.84 " __AMIGADATE__ "\r\n"}; +static const char ver_version[] = {"\0$VER: " PROGRAMNAMEVER " 1.85 " __AMIGADATE__ "\r\n"}; #endif #ifdef __AROS__ @@ -191,11 +189,10 @@ static const char ver_version[]={"\0$VER: " PROGRAMNAMEVER " 1.84 " __AMIGADATE_ /* ROMTag is useful for C:Version. */ #define res_Init NULL -const struct Resident resident = -{ +const struct Resident resident = { RTC_MATCHWORD, &resident, - (APTR)&resident + sizeof(struct Resident), + (APTR) &resident + sizeof(struct Resident), RTF_COLDSTART, MAJOR_VERSION, 0, @@ -222,21 +219,19 @@ LONG mainprogram(struct ExecBase *); #endif #ifndef __AROS__ -LONG __saveds trampoline(void) -{ +LONG __saveds trampoline(void) { struct ExecBase *sBase = (*((struct ExecBase **)4)); - + return mainprogram(sBase); } -LONG start(void) -{ - return(STACKSWAP(4096, trampoline)); -/* if(STACKSWAP()==0) { - return(ERROR_NO_FREE_STORE); - } +LONG start(void) { + return(STACKSWAP(4096, trampoline)); + /* if(STACKSWAP()==0) { + return(ERROR_NO_FREE_STORE); + } - return(mainprogram()); */ + return(mainprogram()); */ } #endif @@ -244,3688 +239,3709 @@ void request2(UBYTE *text); // #define STARTDEBUG -LONG mainprogram(struct ExecBase *SysBase) -{ +LONG mainprogram(struct ExecBase *SysBase) { #ifndef __AROS__ - ULONG reslen; - APTR old_a4; - APTR newdata; + ULONG reslen; + APTR old_a4; + APTR newdata; #endif - D(bug("[SFS] Filesystem main\n")); - - globals = AllocMem(sizeof(struct SFSBase), MEMF_PUBLIC | MEMF_CLEAR); + globals = AllocMem(sizeof(struct SFSBase), MEMF_PUBLIC | MEMF_CLEAR); #ifndef __AROS__ - globals->sysBase = SysBase; + globals->sysBase = SysBase; +#endif + initGlobals(); +#if defined(AROS_USE_LOGRES) + globals->logresBase = OpenResource("log.resource"); + if (globals->logresBase) + { + globals->sfsNode.ln_Name = "SFS"; + globals->logHandle = logInitialise(&globals->sfsNode); + } #endif - initGlobals(); + +DD(bug("\n----------------------------------------------------------------\n")); +DD(bug("[SFS] Filesystem main\n")); #ifndef __AROS__ #undef SysBase #define SysBase (globals->sysBase) - old_a4=(APTR)getreg(REG_A4); - reslen=((ULONG)&RESLEN-(ULONG)old_a4)+64; + old_a4 = (APTR)getreg(REG_A4); + reslen = ((ULONG)&RESLEN - (ULONG)old_a4) + 64; - newdata=AllocMem(reslen,MEMF_CLEAR|MEMF_PUBLIC); + newdata = AllocMem(reslen, MEMF_CLEAR | MEMF_PUBLIC); - CopyMem(old_a4,newdata,*(((ULONG *)old_a4)-2)); + CopyMem(old_a4, newdata, *(((ULONG *)old_a4) - 2)); - putreg(REG_A4,(LONG)newdata); + putreg(REG_A4, (LONG)newdata); #endif - - if((DOSBase=(struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS))!=0) { - D(bug("[SFS] DOSBase = %p\n", DOSBase)); - - globals->mytask=(struct Process *)FindTask(0); - D(bug("[SFS] mytask = %p\n", globals->mytask)); - globals->packet=waitpacket(globals->mytask); - D(bug("[SFS] packet = %p\n", globals->packet)); + if((DOSBase = (struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS)) != 0) { + globals->mytask = (struct Process *)FindTask(0); + globals->packet = waitpacket(globals->mytask); + globals->devnode = (struct DeviceNode *)BADDR(globals->packet->dp_Arg3); + globals->devnode->dn_Task = &globals->mytask->pr_MsgPort; + globals->startupmsg = BADDR(globals->devnode->dn_Startup); - globals->devnode=(struct DeviceNode *)BADDR(globals->packet->dp_Arg3); - globals->devnode->dn_Task=&globals->mytask->pr_MsgPort; - globals->startupmsg=BADDR(globals->devnode->dn_Startup); - D(bug("[SFS] devnode = %p\n", globals->devnode)); - D(bug("[SFS] startupmsg = %p\n", globals->startupmsg)); + DD(bug("[SFS] DEVICE = %s\n", AROS_BSTR_ADDR(globals->devnode->dn_Name))); + DD(bug("[SFS] DOSBase = %p\n", DOSBase)); + DD(bug("[SFS] mytask = %p\n", globals->mytask)); + DD(bug("[SFS] packet = %p\n", globals->packet)); + DD(bug("[SFS] devnode = %p\n", globals->devnode)); + DD(bug("[SFS] startupmsg = %p\n", globals->startupmsg)); - if(initcachebuffers()==0) { + if(initcachebuffers() == 0) { - if((IntuitionBase=(APTR)TaggedOpenLibrary(TAGGEDOPEN_INTUITION))!=0) { - -#ifdef STARTDEBUG - dreq("(1) Filesystem initializing..."); -#endif + if((IntuitionBase = (APTR)TaggedOpenLibrary(TAGGEDOPEN_INTUITION)) != 0) { - if((UtilityBase=(APTR)OpenLibrary("utility.library",37))!=0) { + DD(bug("[SFS] (1 ) Filesystem initializing\n")); - /* Create a msgport and iorequest for opening timer.device */ + if((UtilityBase = (APTR)OpenLibrary("utility.library", 37)) != 0) { - if((globals->msgportnotify=CreateMsgPort())!=0) { - if((globals->msgporttimer=CreateMsgPort())!=0) { - if((globals->msgportflushtimer=CreateMsgPort())!=0) { - if((globals->inactivitytimer_ioreq=(struct timerequest *)CreateIORequest(globals->msgporttimer, sizeof(struct timerequest)))!=0) { - if((globals->activitytimer_ioreq=(struct timerequest *)CreateIORequest(globals->msgportflushtimer, sizeof(struct timerequest)))!=0) { + /* Create a msgport and iorequest for opening timer.device */ -#ifdef STARTDEBUG - dreq("(2) Message ports and iorequests created"); -#endif + if((globals->msgportnotify = CreateMsgPort()) != 0) { + if((globals->msgporttimer = CreateMsgPort()) != 0) { + if((globals->msgportflushtimer = CreateMsgPort()) != 0) { + if((globals->inactivitytimer_ioreq = (struct timerequest *)CreateIORequest(globals->msgporttimer, sizeof(struct timerequest))) != 0) { + if((globals->activitytimer_ioreq = (struct timerequest *)CreateIORequest(globals->msgportflushtimer, sizeof(struct timerequest))) != 0) { - if(OpenDevice("timer.device",UNIT_VBLANK,&globals->inactivitytimer_ioreq->tr_node,0)==0) { - if(OpenDevice("timer.device",UNIT_VBLANK,&globals->activitytimer_ioreq->tr_node,0)==0) { + DD(bug("[SFS] (2 ) Message ports and iorequests created\n")); - globals->dosenvec=(struct DosEnvec *)BADDR(globals->startupmsg->fssm_Environ); + if(OpenDevice("timer.device", UNIT_VBLANK, &globals->inactivitytimer_ioreq->tr_node, 0) == 0) { + if(OpenDevice("timer.device", UNIT_VBLANK, &globals->activitytimer_ioreq->tr_node, 0) == 0) { - globals->timerBase=(struct Device *)globals->inactivitytimer_ioreq->tr_node.io_Device; + globals->dosenvec = (struct DosEnvec *)BADDR(globals->startupmsg->fssm_Environ); - /* Create a msgport and iorequest for opening the filesystem device */ + globals->timerBase = (struct Device *)globals->inactivitytimer_ioreq->tr_node.io_Device; - initlist((struct List *)&globals->globalhandles); + /* Create a msgport and iorequest for opening the filesystem device */ -#ifdef STARTDEBUG - dreq("(3) Timer.device opened"); -#endif + initlist((struct List *)&globals->globalhandles); - if(initcachedio(AROS_BSTR_ADDR(globals->startupmsg->fssm_Device), globals->startupmsg->fssm_Unit, globals->startupmsg->fssm_Flags, globals->dosenvec)==0) { -#ifdef STARTDEBUG - dreq("(4) Cached IO layer started"); -#endif + DD(bug("[SFS] (3 ) Timer.device opened\n")); - globals->shifts_block32=globals->shifts_block-BLCKFACCURACY; + if(initcachedio(AROS_BSTR_ADDR(globals->startupmsg->fssm_Device), globals->startupmsg->fssm_Unit, globals->startupmsg->fssm_Flags, globals->dosenvec) == 0) { + DD(bug("[SFS] (4 ) Cached IO layer started\n")); - globals->mask_block32=(1<shifts_block32)-1; - globals->blocks_inbitmap=(globals->bytes_block-sizeof(struct fsBitmap))<<3; /* must be a multiple of 32 !! */ - globals->blocks_bitmap=(globals->blocks_total+globals->blocks_inbitmap-1)/globals->blocks_inbitmap; - globals->blocks_admin=32; + globals->shifts_block32 = globals->shifts_block - BLCKFACCURACY; - globals->blocks_reserved_start=MAX(globals->dosenvec->de_Reserved,1); - globals->blocks_reserved_end=MAX(globals->dosenvec->de_PreAlloc,1); + globals->mask_block32 = (1 << globals->shifts_block32) - 1; + globals->blocks_inbitmap = (globals->bytes_block - sizeof(struct fsBitmap)) << 3; /* must be a multiple of 32 !! */ + globals->blocks_bitmap = (globals->blocks_total + globals->blocks_inbitmap - 1) / globals->blocks_inbitmap; + globals->blocks_admin = 32; - { - ULONG blocks512, reserve; + globals->blocks_reserved_start = MAX(globals->dosenvec->de_Reserved, 1); + globals->blocks_reserved_end = MAX(globals->dosenvec->de_PreAlloc, 1); - blocks512=globals->blocks_total<<(globals->shifts_block-9); - reserve=SQRT(blocks512); - reserve=(reserve<<2) + reserve; + { + ULONG blocks512, reserve; - if(reserve > blocks512/100) { // Do not use more than 1% of the disk. - reserve = blocks512/100; - } + blocks512 = globals->blocks_total << (globals->shifts_block - 9); + reserve = SQRT(blocks512); + reserve = (reserve << 2) + reserve; - if(reserve < globals->blocks_admin) { // Use atleast 32 blocks, even if it is more than 1%. - reserve = globals->blocks_admin; - if(reserve > globals->blocks_total>>1) { - reserve = 0; - } - } + if(reserve > blocks512 / 100) { // Do not use more than 1% of the disk. + reserve = blocks512 / 100; + } - globals->block_rovingblockptr=globals->blocks_reserved_start + globals->blocks_admin + globals->blocks_bitmap + reserve; + if(reserve < globals->blocks_admin) { // Use atleast 32 blocks, even if it is more than 1%. + reserve = globals->blocks_admin; + if(reserve > globals->blocks_total >> 1) { + reserve = 0; + } + } - _DEBUG(("RovingBlockPtr = %ld, reserve = %ld\n", globals->block_rovingblockptr, reserve)); + globals->block_rovingblockptr = globals->blocks_reserved_start + globals->blocks_admin + globals->blocks_bitmap + reserve; - // block_rovingblockptr=0; - } + //DD(bug("[SFS] RovingBlockPtr = %ld, reserve = %ld\n", globals->block_rovingblockptr, reserve)); - globals->mask_debug=0x00000000; + // block_rovingblockptr=0; + } - globals->node_containers=(globals->bytes_block-sizeof(struct fsNodeContainer))/sizeof(BLCKn); + globals->mask_debug = 0x00000000; - addchangeint((struct Task *)globals->mytask, 1<mytask->pr_MsgPort.mp_SigBit); + globals->node_containers = (globals->bytes_block - sizeof(struct fsNodeContainer)) / sizeof(BLCKn); - _DEBUG(("Initializing transactions\n")); + addchangeint((struct Task *)globals->mytask, 1 << globals->mytask->pr_MsgPort.mp_SigBit); - if(inittransactions()==0) { + if(inittransactions() == 0) + { + DD(bug("[SFS] (5 ) Transaction layer started\n")); - #ifdef STARTDEBUG - dreq("(5) Transaction layer started"); - #endif + if(addcachebuffers(globals->dosenvec->de_NumBuffers) == 0) { - if(addcachebuffers(globals->dosenvec->de_NumBuffers)==0) { + /* return startup-packet, the handler runs now */ - #ifdef STARTDEBUG - dreq("(6) Filesystem started succesfully!"); - #endif + DD(bug("[SFS] (6 ) Filesystem started! Volumenode = 0x%8lx\n", globals->volumenode)); - /* return startup-packet, the handler runs now */ + DD(bug("[SFS] (6A) Mountlist entry says: Allocate %ld buffers of memtype 0x%08lx\n", globals->dosenvec->de_NumBuffers, globals->dosenvec->de_BufMemType)); - _DEBUG(("Filesystem started! Volumenode = %ld\n",globals->volumenode)); - _DEBUG(("Mountlist entry says: Allocate %ld buffers of memtype 0x%08lx\n",globals->dosenvec->de_NumBuffers,globals->dosenvec->de_BufMemType)); + DD(bug("\n[SFS] [%s] Current glob->fssm->fssm_Environ (DOSENVEC):\n",__FUNCTION__)); + DD(bug("[SFS] [%s] de_SizeBlock : %d\n",__FUNCTION__ , globals->dosenvec->de_SizeBlock)); + DD(bug("[SFS] [%s] de_Surfaces : %d\n",__FUNCTION__ , globals->dosenvec->de_Surfaces)); + DD(bug("[SFS] [%s] de_BlocksPerTrack : %d\n",__FUNCTION__ , globals->dosenvec->de_BlocksPerTrack)); + DD(bug("[SFS] [%s] dg_LowCyl : %d\n",__FUNCTION__ , globals->dosenvec->de_LowCyl)); + DD(bug("[SFS] [%s] dg_HighCyl : %d\n\n",__FUNCTION__ , globals->dosenvec->de_HighCyl)); - // returnpacket(DOSTRUE,0); // Sep 19 1999: Moved down again. + // returnpacket(DOSTRUE,0); // Sep 19 1999: Moved down again. - _DEBUG(("CreateNewProc...")); + DD(bug("[SFS] (6B) CreateNewProc...")); - const struct TagItem tags[]= - { - {NP_Entry , (IPTR)sdlhtask }, - {NP_Name , (IPTR)"SFS DosList handler"}, - {NP_Priority , 19 }, - {TAG_DONE , 0 } - }; + const struct TagItem tags[] = { + {NP_Entry, (IPTR)sdlhtask }, + {NP_Name, (IPTR)"SFS DosList handler"}, + {NP_Priority, 19 }, + {TAG_DONE, 0 } + }; - if(CreateNewProc(tags)!=0) { + if(CreateNewProc(tags) != 0) { - _DEBUG(("ok\n")); + DD(bug("SFS DosList handler installed\n")); - while((globals->sdlhport=FindPort("SFS DosList handler"))==0) { - Delay(2); - } + while((globals->sdlhport = FindPort("SFS DosList handler")) == 0) { + Delay(2); + } - if(isdiskpresent()!=FALSE) { - #ifdef STARTDEBUG - dreq("There is a disk present."); - #endif + if(isdiskpresent() != FALSE) { + DD(bug("[SFS] (6C) Detect Medium: Disk Present\n")); + initdisk(); + } else { + DD(bug("[SFS] (6C) Detect Medium: NO Disk Present\n")); + globals->disktype = ID_NO_DISK_PRESENT; + } - initdisk(); - } - else { - #ifdef STARTDEBUG - dreq("No disk inserted."); - #endif + returnpacket(DOSTRUE, 0); // Jul 4 1999: Moved up... - globals->disktype=ID_NO_DISK_PRESENT; - } + DD(bug("[SFS] (7 ) Informed DOS about the new partition!\n")); - returnpacket(DOSTRUE,0); // Jul 4 1999: Moved up... + mainloop(); + } + } - #ifdef STARTDEBUG - dreq("(7) Informed DOS about the new partition!"); - #endif + cleanuptransactions(); + } - mainloop(); - } + removechangeint(); + cleanupcachedio(); + } + CloseDevice(&globals->activitytimer_ioreq->tr_node); + } + CloseDevice(&globals->inactivitytimer_ioreq->tr_node); + } + DeleteIORequest((struct IORequest *)globals->activitytimer_ioreq); + } + DeleteIORequest((struct IORequest *)globals->inactivitytimer_ioreq); + } + DeleteMsgPort(globals->msgportflushtimer); } - - cleanuptransactions(); - } - - removechangeint(); - cleanupcachedio(); + DeleteMsgPort(globals->msgporttimer); } - CloseDevice(&globals->activitytimer_ioreq->tr_node); - } - CloseDevice(&globals->inactivitytimer_ioreq->tr_node); + DeleteMsgPort(globals->msgportnotify); } - DeleteIORequest((struct IORequest *)globals->activitytimer_ioreq); - } - DeleteIORequest((struct IORequest *)globals->inactivitytimer_ioreq); + CloseLibrary((struct Library *)UtilityBase); } - DeleteMsgPort(globals->msgportflushtimer); - } - DeleteMsgPort(globals->msgporttimer); - } - DeleteMsgPort(globals->msgportnotify); - } - CloseLibrary((struct Library *)UtilityBase); - } - #ifdef STARTDEBUG - dreq("Filesystem failed.. exiting."); - #endif + DD(bug("[SFS] Filesystem failed.. exiting\n")); - CloseLibrary((struct Library *)IntuitionBase); - } - } + CloseLibrary((struct Library *)IntuitionBase); + } + } - _DEBUG(("Returning startup packet with DOSFALSE\n")); + DD(bug("[SFS] Returning startup packet with DOSFALSE\n")); - returnpacket(DOSFALSE,ERROR_NO_FREE_STORE); + returnpacket(DOSFALSE, ERROR_NO_FREE_STORE); - CloseLibrary((struct Library *)DOSBase); - } + CloseLibrary((struct Library *)DOSBase); + } - FreeMem(globals, sizeof(struct SFSBase)); - _DEBUG(("Exiting filesystem\n")); + FreeMem(globals, sizeof(struct SFSBase)); + DD(bug("[SFS] Exiting filesystem\n")); - return(ERROR_NO_FREE_STORE); + return(ERROR_NO_FREE_STORE); } +/* Helper to make sure BSTR's are copied and NULL terminated, + * without generating compiler warnings! + */ +static void sfsCopyBSTRSafe(BSTR src, char *dst, ULONG len) { + ULONG end = copybstrasstr(src, dst, len) + 1; + dst[end] = 0; +} -void mainloop(void) { - ULONG signalbits; - struct MsgPort *msgportpackets; - struct Message *msg; - - msgportpackets=&globals->mytask->pr_MsgPort; /* get port of our process */ - signalbits=1<mp_SigBit; - signalbits|=1<msgporttimer->mp_SigBit; - signalbits|=1<msgportnotify->mp_SigBit; - signalbits|=1<msgportflushtimer->mp_SigBit; - - #ifdef STARTDEBUG - dreq("Entering packet loop."); - #endif +static int sfsExamineAll(struct ExAllControl *eac, + struct ExAllData **ead, + struct ExAllData **prevead, + struct CacheBuffer *cb, + struct fsObject **o, + char *oname, + ULONG *eadsize, + ULONG *stringsize, + LONG *spaceleft, + LONG *errorcode) { + WORD namelength = strlen(oname); + WORD keepentry; + + *stringsize = 0; + *eadsize = 0; + + switch(globals->packet->dp_Arg4) { + default: + case ED_OWNER: + *eadsize += 4; /* ed_OwnedGID, ed_OwnedUID */ + // fall through + case ED_COMMENT: + *stringsize += strlen((char *)((IPTR)oname + namelength + 1)) + 1; + *eadsize += sizeof(UBYTE *); /* ed_Comment */ + // fall through + case ED_DATE: + *eadsize += 12; /* ed_Ticks, ed_Mins, ed_Days */ + // fall through + case ED_PROTECTION: + *eadsize += 4; /* ed_Prot */ + // fall through + case ED_SIZE: + *eadsize += 4; /* ed_Size */ + // fall through + case ED_TYPE: + *eadsize += 4; + // fall through + case ED_NAME: + *stringsize += namelength + 1; + *eadsize += sizeof(APTR) * 2; /* ed_Name, ed_Next */ + break; + } - for(;;) { + // _DEBUG("ACTION_EXAMINE_ALL: *eadsize = %ld, *stringsize = %ld, *spaceleft = %ld, packet->dp_Arg4 = %ld\n",*eadsize,*stringsize,*spaceleft,packet->dp_Arg4); - Wait(signalbits); + if(*spaceleft < (LONG)(*eadsize + *stringsize)) { + return 0; + } - do { - while((msg=GetMsg(globals->msgportflushtimer))!=0) { - _TDEBUG(("mainloop: activity timeout -> flushed transaction\n")); - flushtransaction(); - globals->activitytimeractive=FALSE; - } + switch(globals->packet->dp_Arg4) { + default: + case ED_OWNER: + (*ead)->ed_OwnerUID = BE2W((*o)->be_owneruid); + (*ead)->ed_OwnerGID = BE2W((*o)->be_ownergid); + // fall through + case ED_COMMENT: { + UBYTE *src = (UBYTE *)((IPTR)oname + namelength + 1); + UBYTE *dest = (UBYTE *)((IPTR) * ead + *eadsize); + + (*ead)->ed_Comment = dest; + + while(*src != 0) { + *dest++ = *src++; + *eadsize += 1; + } - while((msg=GetMsg(globals->msgporttimer))!=0) { - if(globals->timerreset==TRUE) { - /* There was another request during the timeout/2 period, so we extend the timeout a bit longer. */ - globals->pendingchanges=FALSE; - starttimeout(); + *dest = 0; + *eadsize += 1; + } + // fall through + case ED_DATE: + datetodatestamp(BE2L((*o)->be_datemodified), (struct DateStamp *) & (*ead)->ed_Days); + // fall through + case ED_PROTECTION: + (*ead)->ed_Prot = BE2L((*o)->be_protection) ^ (FIBF_READ | FIBF_WRITE | FIBF_EXECUTE | FIBF_DELETE); + // fall through + case ED_SIZE: + if(((*o)->bits & OTYPE_DIR) == 0) { + (*ead)->ed_Size = BE2L((*o)->object.file.be_size); + } else { + (*ead)->ed_Size = 0; } - else { - _TDEBUG(("mainloop: inactivity timeout -> flushed transaction\n")); - flushcaches(); - globals->pendingchanges=FALSE; + // fall through + case ED_TYPE: + _DEBUG("examine ED_TYPE, o->bits=%08x, o->objectnode=$%08x\n", (*o)->bits, BE2L((*o)->be_objectnode)); + if(((*o)->bits & OTYPE_LINK) != 0) { + (*ead)->ed_Type = ST_SOFTLINK; } - } + if(((*o)->bits & OTYPE_DIR) == 0) { + (*ead)->ed_Type = ST_FILE; + } else if ((*o)->be_objectnode == L2BE(ROOTNODE)) { + (*ead)->ed_Type = ST_ROOT; + } else { + (*ead)->ed_Type = ST_USERDIR; + } + // fall through + case ED_NAME: { + UBYTE *src = oname; + UBYTE *dest = (UBYTE *)((IPTR) * ead + *eadsize); - while((msg=GetMsg(globals->msgportnotify))!=0) { - FreeMem(msg,sizeof(struct NotifyMessage)); - } + (*ead)->ed_Name = dest; - if(getchange()!=0) { + while(*src != 0) { + *dest++ = *src++; + *eadsize += 1; + } - /* The disk was inserted or removed! */ + *dest = 0; + *eadsize += 1; + // _DEBUG("Stored entry %s\n",(*ead)->ed_Name); + } + } - _DEBUG(("mainloop: disk inserted or removed\n")); + if(eac->eac_MatchString != NULL) { + keepentry = MatchPatternNoCase(eac->eac_MatchString, (*ead)->ed_Name); + } else { + keepentry = DOSTRUE; + } - if(isdiskpresent()==FALSE) { - /* Disk was removed */ + if(keepentry == DOSTRUE && eac->eac_MatchFunc != NULL) { +#ifdef __AROS__ + keepentry = CALLHOOKPKT(eac->eac_MatchFunc, (APTR)globals->packet->dp_Arg4, *ead); +#else + LONG __asm(*hookfunc)(register __a0 struct Hook *, register __a1 struct ExAllData *, register __a2 ULONG)=(LONG __asm(*)(register __a0 struct Hook *, register __a1 struct ExAllData *, register __a2 ULONG))eac->eac_MatchFunc->h_Entry; + keepentry = hookfunc(eac->eac_MatchFunc, *ead, packet->dp_Arg4); +#endif + } - globals->disktype=ID_NO_DISK_PRESENT; /* Must be put before deinitdisk() */ - deinitdisk(); + if(keepentry == DOSTRUE && ((*o)->bits & OTYPE_HIDDEN) == 0) { + (*ead)->ed_Next = 0; + *eadsize = (*eadsize + sizeof(APTR) - 1) & ~(sizeof(APTR) - 1); + if(*prevead != NULL) { + (*prevead)->ed_Next = *ead; } - else { - /* Disk was inserted */ + *prevead = *ead; + *ead = (struct ExAllData *)((IPTR) * ead + *eadsize); + *spaceleft -= *eadsize; + eac->eac_Entries++; + } - initdisk(); - } - } + { + struct fsObjectContainer *oc = cb->data; + UBYTE *endadr; - if((msg=GetMsg(msgportpackets))!=0) { + *o = nextobject(*o); + oname = (char *) & (*o)->name[0]; + endadr = (UBYTE *)((IPTR)oc + globals->bytes_block - sizeof(struct fsObject) - 2); + if((UBYTE *)*o >= endadr || oname[0] == 0) { + if(oc->be_next != 0) { + if((*errorcode = readcachebuffercheck(&cb, BE2L(oc->be_next), OBJECTCONTAINER_ID)) == 0) { + struct fsObjectContainer *oc = cb->data; - // diskstate=writeprotection(); /* Don't do this too often!! It takes LOADS of time for scsi.device. */ + *o = oc->object; + eac->eac_LastKey = BE2L((*o)->be_objectnode); + } + } else { + *errorcode = ERROR_NO_MORE_ENTRIES; + } + return 0; + } else { + eac->eac_LastKey = BE2L((*o)->be_objectnode); + } + } + return 1; +} +void mainloop(void) { + ULONG signalbits; + struct MsgPort *msgportpackets; + struct Message *msg; -#ifdef CHECKCODE_SLOW - { - struct CacheBuffer *cb; + msgportpackets = &globals->mytask->pr_MsgPort; /* get port of our process */ + signalbits = 1 << msgportpackets->mp_SigBit; + signalbits |= 1 << globals->msgporttimer->mp_SigBit; + signalbits |= 1 << globals->msgportnotify->mp_SigBit; + signalbits |= 1 << globals->msgportflushtimer->mp_SigBit; - cb=(struct CacheBuffer *)cblrulist.mlh_Head; + DD(bug("[SFS] Entering packet loop\n")); + DD(bug("----------------------------------------------------------------\n\n")); - while(cb->node.mln_Succ!=0) { - if(cb->locked!=0) { - request(PROGRAMNAME " request","%s\n"\ - "mainloop: There was a locked CacheBuffer (lockcount = %ld, block = %ld, type = 0x%08lx)!\n"\ - "Nothing bad will happen, but let the author know.\n", - "Ok",AROS_BSTR_ADDR(devnode->dn_Name), cb->locked, cb->blckno, *((ULONG *)cb->data)); + for(;;) { - cb->locked=0; /* Nothing remains locked */ - } + Wait(signalbits); - cb=(struct CacheBuffer *)(cb->node.mln_Succ); - } - } -#endif + do { + while((msg = GetMsg(globals->msgportflushtimer)) != 0) + { + //DD(bug("[SFS] mainloop: activity timeout -> flushed transaction\n")); + flushtransaction(); + globals->activitytimeractive = FALSE; + } + while((msg = GetMsg(globals->msgporttimer)) != 0) + { + if(globals->timerreset == TRUE) { + /* There was another request during the timeout/2 period, so we extend the timeout a bit longer. */ + globals->pendingchanges = FALSE; + starttimeout(); + } else { + //DD(bug("[SFS] mainloop: inactivity timeout -> flushed transaction\n")); + flushcaches(); + globals->pendingchanges = FALSE; + } + } - globals->packet=(struct DosPacket *)msg->mn_Node.ln_Name; + while((msg = GetMsg(globals->msgportnotify)) != 0) { + FreeMem(msg, sizeof(struct NotifyMessage)); + } - #ifdef STARTDEBUG - dreq("Received packet 0x%08lx, %ld.",globals->packet,globals->packet->dp_Type); - #endif + if(getchange() != 0) { - switch(globals->packet->dp_Type) { - case ACTION_SFS_SET: - { - struct TagItem *taglist=(struct TagItem *)globals->packet->dp_Arg1; - struct TagItem *tag; + /* The disk was inserted or removed! */ - while((tag=NextTagItem(&taglist))!=NULL) { - LONG data=tag->ti_Data; + DD(bug("[SFS] mainloop: Disk Change\n")); - switch(tag->ti_Tag) { - case ASS_MAX_NAME_LENGTH: - if(data >= 30 && data <= 100) { - globals->max_name_length=data; - } - break; - case ASS_ACTIVITY_FLUSH_TIMEOUT: - if(data >= 5 && data <= 120) { - globals->activity_timeout=data; - } - break; - case ASS_INACTIVITY_FLUSH_TIMEOUT: - if(data >= 1 && data <= 5) { - globals->inactivity_timeout=data; + if(isdiskpresent() == FALSE) + { + /* Disk was removed */ + globals->disktype = ID_NO_DISK_PRESENT; /* Must be put before deinitdisk() */ + deinitdisk(); + } else { + /* Disk was inserted */ + initdisk(); } - break; - } } - returnpacket(DOSTRUE,0); - } - break; - case ACTION_SFS_QUERY: - { - struct TagItem *taglist=(struct TagItem *)globals->packet->dp_Arg1; - struct TagItem *tag; + if((msg = GetMsg(msgportpackets)) != 0) { - while((tag=NextTagItem(&taglist))) - { - switch(tag->ti_Tag) - { - case ASQ_START_BYTEH: - tag->ti_Data = globals->byte_low >> 32; - break; - case ASQ_START_BYTEL: - /* - * Explicitly cast to ULONG here because on 64 bits - * ti_Data is 64-bit wide, and this can confuse programs. - */ - tag->ti_Data = (ULONG)globals->byte_low; - break; + // diskstate=writeprotection(); /* Don't do this too often!! It takes LOADS of time for scsi.device. */ - case ASQ_END_BYTEH: - tag->ti_Data = globals->byte_high >> 32; - break; - case ASQ_END_BYTEL: - tag->ti_Data = (ULONG)globals->byte_high; - break; +#ifdef CHECKCODE_SLOW + { + struct CacheBuffer *cb; - case ASQ_DEVICE_API: - tag->ti_Data=deviceapiused(); - break; - case ASQ_BLOCK_SIZE: - tag->ti_Data=globals->bytes_block; - break; - case ASQ_TOTAL_BLOCKS: - tag->ti_Data=globals->blocks_total; - break; - case ASQ_ROOTBLOCK: - tag->ti_Data=globals->block_root; - break; - case ASQ_ROOTBLOCK_OBJECTNODES: - tag->ti_Data=globals->block_objectnoderoot; - break; - case ASQ_ROOTBLOCK_EXTENTS: - tag->ti_Data=globals->block_extentbnoderoot; - break; - case ASQ_FIRST_BITMAP_BLOCK: - tag->ti_Data=globals->block_bitmapbase; - break; - case ASQ_FIRST_ADMINSPACE: - tag->ti_Data=globals->block_adminspace; - break; - case ASQ_CACHE_LINES: - tag->ti_Data=queryiocache_lines(); - break; - case ASQ_CACHE_READAHEADSIZE: - tag->ti_Data=queryiocache_readaheadsize(); - break; - case ASQ_CACHE_MODE: - tag->ti_Data=queryiocache_copyback(); - break; - case ASQ_CACHE_BUFFERS: - tag->ti_Data=globals->totalbuffers; - break; - case ASQ_CACHE_ACCESSES: - tag->ti_Data=globals->statistics.cache_accesses; - break; - case ASQ_CACHE_MISSES: - tag->ti_Data=globals->statistics.cache_misses; - break; - case ASQ_OPERATIONS_DECODED: - tag->ti_Data=globals->statistics.cache_operationdecode; - break; - case ASQ_EMPTY_OPERATIONS_DECODED: - tag->ti_Data=globals->statistics.cache_emptyoperationdecode; - break; - case ASQ_IS_CASESENSITIVE: - tag->ti_Data=globals->is_casesensitive; - break; - case ASQ_HAS_RECYCLED: - tag->ti_Data=globals->has_recycled; - break; - case ASQ_VERSION: - tag->ti_Data=MAJOR_VERSION * 65536 + MINOR_VERSION; - break; - case ASQ_MAX_NAME_LENGTH: - tag->ti_Data=globals->max_name_length; - break; - case ASQ_ACTIVITY_FLUSH_TIMEOUT: - tag->ti_Data=globals->activity_timeout; - break; - case ASQ_INACTIVITY_FLUSH_TIMEOUT: - tag->ti_Data=globals->inactivity_timeout; - break; - } - } + cb = (struct CacheBuffer *)cblrulist.mlh_Head; - returnpacket(DOSTRUE,0); - } - break; - case ACTION_SET_DEBUG: - _DEBUG(("New debug level set to 0x%08lx!\n",globals->packet->dp_Arg1)); - { - globals->mask_debug=globals->packet->dp_Arg1; + while(cb->node.mln_Succ != 0) { + if(cb->locked != 0) { + request(PROGRAMNAME " request", "%s\n"\ + "mainloop: There was a locked CacheBuffer (lockcount = %ld, block = %ld, type = 0x%08lx)!\n"\ + "Nothing bad will happen, but let the author know.\n", + "Ok", AROS_BSTR_ADDR(devnode->dn_Name), cb->locked, cb->blckno, *((ULONG *)cb->data)); - returnpacket(DOSTRUE,0); - } - break; - case ACTION_SET_CACHE: - _DEBUG(("ACTION_SET_CACHE\n")); - { - LONG errorcode; - - if((errorcode=setiocache(globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3 & 1))!=0) { - returnpacket(DOSFALSE, errorcode); - } - else { - returnpacket(DOSTRUE, 0); - } - } - break; - case ACTION_SFS_FORMAT: - case ACTION_FORMAT: - _DEBUG(("ACTION_FORMAT\n")); + cb->locked = 0; /* Nothing remains locked */ + } - { - struct CacheBuffer *cb; - ULONG currentdate; - BLCK block_recycled; - LONG errorcode=0; - - UBYTE *name=0; - UBYTE *recycledname=".recycled"; - BYTE casesensitive=FALSE; - BYTE norecycled=FALSE; - BYTE showrecycled=FALSE; - currentdate=getdate(); - - if(globals->packet->dp_Type==ACTION_SFS_FORMAT) { - struct TagItem *taglist=(struct TagItem *)globals->packet->dp_Arg1; - struct TagItem *tag; - - while((tag=NextTagItem(&taglist))) { - switch(tag->ti_Tag) { - case ASF_NAME: - name=(UBYTE *)tag->ti_Data; - break; - case ASF_RECYCLEDNAME: - recycledname=(UBYTE *)tag->ti_Data; - break; - case ASF_CASESENSITIVE: - casesensitive=tag->ti_Data; - break; - case ASF_NORECYCLED: - norecycled=tag->ti_Data; - break; - case ASF_SHOWRECYCLED: - showrecycled=tag->ti_Data; - break; + cb = (struct CacheBuffer *)(cb->node.mln_Succ); + } } - } - } - else { - copybstrasstr((BSTR)globals->packet->dp_Arg1, globals->string, 30); - name=globals->string; - } +#endif - /* Global block numbers */ - globals->block_adminspace=globals->blocks_reserved_start; - globals->block_root=globals->blocks_reserved_start+1; - globals->block_extentbnoderoot=globals->block_root+3; - globals->block_bitmapbase=globals->block_adminspace+globals->blocks_admin; - globals->block_objectnoderoot=globals->block_root+4; + globals->packet = (struct DosPacket *)msg->mn_Node.ln_Name; - /* Temporary block numbers */ +#ifdef STARTDEBUG + dreq("Received packet 0x%08lx, %ld.", globals->packet, globals->packet->dp_Type); +#endif - block_recycled=globals->block_root+5; + switch(globals->packet->dp_Type) { + case ACTION_SFS_SET: { + struct TagItem *taglist = (struct TagItem *)globals->packet->dp_Arg1; + struct TagItem *tag; - cb=getcachebuffer(); + while((tag = NextTagItem(&taglist)) != NULL) { + LONG data = tag->ti_Data; - if(isvalidcomponentname(name)==FALSE || isvalidcomponentname(recycledname)==FALSE) { - errorcode=ERROR_INVALID_COMPONENT_NAME; - } + switch(tag->ti_Tag) { + case ASS_MAX_NAME_LENGTH: + if(data >= 30 && data <= 100) { + globals->max_name_length = data; + } + break; + case ASS_ACTIVITY_FLUSH_TIMEOUT: + if(data >= 5 && data <= 120) { + globals->activity_timeout = data; + } + break; + case ASS_INACTIVITY_FLUSH_TIMEOUT: + if(data >= 1 && data <= 5) { + globals->inactivity_timeout = data; + } + break; + } + } - if(errorcode==0) { - struct fsAdminSpaceContainer *ac=cb->data; + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_SFS_QUERY: { + struct TagItem *taglist = (struct TagItem *)globals->packet->dp_Arg1; + struct TagItem *tag; + + while((tag = NextTagItem(&taglist))) { + switch(tag->ti_Tag) { + case ASQ_START_BYTEH: + tag->ti_Data = globals->byte_low >> 32; + break; - _DEBUG(("ACTION_FORMAT: Creating AdminSpace container block\n")); + case ASQ_START_BYTEL: + /* + * Explicitly cast to ULONG here because on 64 bits + * ti_Data is 64-bit wide, and this can confuse programs. + */ + tag->ti_Data = (ULONG)globals->byte_low; + break; - /* Create AdminSpaceContainer block */ + case ASQ_END_BYTEH: + tag->ti_Data = globals->byte_high >> 32; + break; - cb->blckno=globals->block_adminspace; - clearcachebuffer(cb); + case ASQ_END_BYTEL: + tag->ti_Data = (ULONG)globals->byte_high; + break; - ac->bheader.id=ADMINSPACECONTAINER_ID; - ac->bheader.be_ownblock=L2BE(globals->block_adminspace); - ac->bits=globals->blocks_admin; - ac->adminspace[0].be_space=L2BE(globals->block_adminspace); + case ASQ_DEVICE_API: + tag->ti_Data = deviceapiused(); + break; + case ASQ_BLOCK_SIZE: + tag->ti_Data = globals->bytes_block; + break; + case ASQ_TOTAL_BLOCKS: + tag->ti_Data = globals->blocks_total; + break; + case ASQ_ROOTBLOCK: + tag->ti_Data = globals->block_root; + break; + case ASQ_ROOTBLOCK_OBJECTNODES: + tag->ti_Data = globals->block_objectnoderoot; + break; + case ASQ_ROOTBLOCK_EXTENTS: + tag->ti_Data = globals->block_extentbnoderoot; + break; + case ASQ_FIRST_BITMAP_BLOCK: + tag->ti_Data = globals->block_bitmapbase; + break; + case ASQ_FIRST_ADMINSPACE: + tag->ti_Data = globals->block_adminspace; + break; + case ASQ_CACHE_LINES: + tag->ti_Data = queryiocache_lines(); + break; + case ASQ_CACHE_READAHEADSIZE: + tag->ti_Data = queryiocache_readaheadsize(); + break; + case ASQ_CACHE_MODE: + tag->ti_Data = queryiocache_copyback(); + break; + case ASQ_CACHE_BUFFERS: + tag->ti_Data = globals->totalbuffers; + break; + case ASQ_CACHE_ACCESSES: + tag->ti_Data = globals->statistics.cache_accesses; + break; + case ASQ_CACHE_MISSES: + tag->ti_Data = globals->statistics.cache_misses; + break; + case ASQ_OPERATIONS_DECODED: + tag->ti_Data = globals->statistics.cache_operationdecode; + break; + case ASQ_EMPTY_OPERATIONS_DECODED: + tag->ti_Data = globals->statistics.cache_emptyoperationdecode; + break; + case ASQ_IS_CASESENSITIVE: + tag->ti_Data = globals->is_casesensitive; + break; + case ASQ_HAS_RECYCLED: + tag->ti_Data = globals->has_recycled; + break; + case ASQ_VERSION: + tag->ti_Data = MAJOR_VERSION * 65536 + MINOR_VERSION; + break; + case ASQ_MAX_NAME_LENGTH: + tag->ti_Data = globals->max_name_length; + break; + case ASQ_ACTIVITY_FLUSH_TIMEOUT: + tag->ti_Data = globals->activity_timeout; + break; + case ASQ_INACTIVITY_FLUSH_TIMEOUT: + tag->ti_Data = globals->inactivity_timeout; + break; + } + } - if(norecycled==FALSE) { - /* NOT HASHED RECYCLED - ac->adminspace[0].be_bits=L2BE(0xFF000000); // admin + root + hashtable + restore + 2 * nodecontainers + recycled + hash - */ - ac->adminspace[0].be_bits=L2BE(0xFE000000); /* admin + root + hashtable + restore + 2 * nodecontainers + recycled */ - } - else { - ac->adminspace[0].be_bits=L2BE(0xFC000000); /* admin + root + hashtable + restore + 2 * nodecontainers */ - } + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_SET_DEBUG: + _DEBUG("New debug level set to 0x%08lx!\n", globals->packet->dp_Arg1); + { + globals->mask_debug = globals->packet->dp_Arg1; - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_SET_CACHE: + _DEBUG("ACTION_SET_CACHE\n"); + { + LONG errorcode; - if(errorcode==0) { - struct fsObjectContainer *oc=cb->data; - struct fsRootInfo *ri=(struct fsRootInfo *)((UBYTE *)cb->data+globals->bytes_block-sizeof(struct fsRootInfo)); + if((errorcode = setiocache(globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3 & 1)) != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } - _DEBUG(("ACTION_FORMAT: Creating Root block\n")); + break; + case ACTION_SFS_FORMAT: + case ACTION_FORMAT: + _DEBUG("ACTION_FORMAT\n"); - /* Create Root block */ + { + struct CacheBuffer *cb; + ULONG currentdate; + BLCK block_recycled; + LONG errorcode = 0; + + UBYTE *name = 0; + UBYTE *recycledname = ".recycled"; + BYTE casesensitive = FALSE; + BYTE norecycled = FALSE; + BYTE showrecycled = FALSE; + currentdate = getdate(); + + if(globals->packet->dp_Type == ACTION_SFS_FORMAT) { + struct TagItem *taglist = (struct TagItem *)globals->packet->dp_Arg1; + struct TagItem *tag; + + while((tag = NextTagItem(&taglist))) { + switch(tag->ti_Tag) { + case ASF_NAME: + name = (UBYTE *)tag->ti_Data; + break; + case ASF_RECYCLEDNAME: + recycledname = (UBYTE *)tag->ti_Data; + break; + case ASF_CASESENSITIVE: + casesensitive = tag->ti_Data; + break; + case ASF_NORECYCLED: + norecycled = tag->ti_Data; + break; + case ASF_SHOWRECYCLED: + showrecycled = tag->ti_Data; + break; + } + } + } else { + copybstrasstr((BSTR)globals->packet->dp_Arg1, globals->string, 30); + name = globals->string; + } - cb->blckno=globals->block_root; - clearcachebuffer(cb); + /* Global block numbers */ - oc->bheader.id=OBJECTCONTAINER_ID; - oc->bheader.be_ownblock=L2BE(globals->block_root); - oc->object[0].be_protection=L2BE(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); - oc->object[0].be_datemodified=L2BE(currentdate); - oc->object[0].bits=OTYPE_DIR; - oc->object[0].be_objectnode=L2BE(ROOTNODE); + globals->block_adminspace = globals->blocks_reserved_start; + globals->block_root = globals->blocks_reserved_start + 1; + globals->block_extentbnoderoot = globals->block_root + 3; + globals->block_bitmapbase = globals->block_adminspace + globals->blocks_admin; + globals->block_objectnoderoot = globals->block_root + 4; - oc->object[0].object.dir.be_hashtable=L2BE(globals->block_root+1); + /* Temporary block numbers */ - if(norecycled==FALSE) { - oc->object[0].object.dir.be_firstdirblock=L2BE(block_recycled); - } + block_recycled = globals->block_root + 5; - copystr(name, oc->object[0].name, 30); + cb = getcachebuffer(); - ri->be_freeblocks=L2BE(globals->blocks_total-globals->blocks_admin-globals->blocks_reserved_start-globals->blocks_reserved_end-globals->blocks_bitmap); - ri->be_datecreated=oc->object[0].be_datemodified; // BE-BE copy + if(isvalidcomponentname(name) == FALSE || isvalidcomponentname(recycledname) == FALSE) { + errorcode = ERROR_INVALID_COMPONENT_NAME; + } - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + if(errorcode == 0) { + struct fsAdminSpaceContainer *ac = cb->data; - if(errorcode==0) { - struct fsHashTable *ht=cb->data; + _DEBUG("ACTION_FORMAT: Creating AdminSpace container block\n"); - _DEBUG(("ACTION_FORMAT: Creating Root's HashTable block\n")); + /* Create AdminSpaceContainer block */ - /* Create Root's HashTable block */ + cb->blckno = globals->block_adminspace; + clearcachebuffer(cb); - cb->blckno=globals->block_root+1; - clearcachebuffer(cb); + ac->bheader.id = ADMINSPACECONTAINER_ID; + ac->bheader.be_ownblock = L2BE(globals->block_adminspace); + ac->bits = globals->blocks_admin; + ac->adminspace[0].be_space = L2BE(globals->block_adminspace); - ht->bheader.id=HASHTABLE_ID; - ht->bheader.be_ownblock=L2BE(globals->block_root+1); - ht->be_parent=L2BE(ROOTNODE); + if(norecycled == FALSE) { + /* NOT HASHED RECYCLED + ac->adminspace[0].be_bits=L2BE(0xFF000000); // admin + root + hashtable + restore + 2 * nodecontainers + recycled + hash + */ + ac->adminspace[0].be_bits = L2BE(0xFE000000); /* admin + root + hashtable + restore + 2 * nodecontainers + recycled */ + } else { + ac->adminspace[0].be_bits = L2BE(0xFC000000); /* admin + root + hashtable + restore + 2 * nodecontainers */ + } - if(norecycled==FALSE) { - ht->be_hashentry[HASHCHAIN(hash(".recycled", casesensitive))]=L2BE(RECYCLEDNODE); - } + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + if(errorcode == 0) { + struct fsObjectContainer *oc = cb->data; + struct fsRootInfo *ri = (struct fsRootInfo *)((UBYTE *)cb->data + globals->bytes_block - sizeof(struct fsRootInfo)); - if(errorcode==0) { - struct fsBlockHeader *bh=cb->data; + _DEBUG("ACTION_FORMAT: Creating Root block\n"); - _DEBUG(("ACTION_FORMAT: Creating Transaction block\n")); + /* Create Root block */ - /* Create empty block as a placeholder for the TransactionFailure block. */ + cb->blckno = globals->block_root; + clearcachebuffer(cb); - cb->blckno=globals->block_root+2; - clearcachebuffer(cb); + oc->bheader.id = OBJECTCONTAINER_ID; + oc->bheader.be_ownblock = L2BE(globals->block_root); + oc->object[0].be_protection = L2BE(FIBF_READ | FIBF_WRITE | FIBF_EXECUTE | FIBF_DELETE); + oc->object[0].be_datemodified = L2BE(currentdate); + oc->object[0].bits = OTYPE_DIR; + oc->object[0].be_objectnode = L2BE(ROOTNODE); - bh->id=TRANSACTIONOK_ID; - bh->be_ownblock=L2BE(globals->block_root+2); + oc->object[0].object.dir.be_hashtable = L2BE(globals->block_root + 1); - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + if(norecycled == FALSE) { + oc->object[0].object.dir.be_firstdirblock = L2BE(block_recycled); + } - if(errorcode==0) { - struct fsBNodeContainer *bnc=cb->data; - struct BTreeContainer *btc=&bnc->btc; + copystr(name, oc->object[0].name, 30); - _DEBUG(("ACTION_FORMAT: Creating ExtentNode root block\n")); + ri->be_freeblocks = L2BE(globals->blocks_total - globals->blocks_admin - globals->blocks_reserved_start - globals->blocks_reserved_end - globals->blocks_bitmap); + ri->be_datecreated = oc->object[0].be_datemodified; // BE-BE copy - /* Create NodeContainer block for ExtentNodes */ + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - cb->blckno=globals->block_extentbnoderoot; - clearcachebuffer(cb); + if(errorcode == 0) { + struct fsHashTable *ht = cb->data; - bnc->bheader.id=BNODECONTAINER_ID; - bnc->bheader.be_ownblock=L2BE(globals->block_extentbnoderoot); + _DEBUG("ACTION_FORMAT: Creating Root's HashTable block\n"); - btc->isleaf=TRUE; - btc->be_nodecount=0; - btc->nodesize=sizeof(struct fsExtentBNode); + /* Create Root's HashTable block */ - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + cb->blckno = globals->block_root + 1; + clearcachebuffer(cb); - if(errorcode==0) { - struct fsNodeContainer *nc=cb->data; - struct fsObjectNode *on; + ht->bheader.id = HASHTABLE_ID; + ht->bheader.be_ownblock = L2BE(globals->block_root + 1); + ht->be_parent = L2BE(ROOTNODE); - _DEBUG(("ACTION_FORMAT: Creating ObjectNode root block\n")); + if(norecycled == FALSE) { + ht->be_hashentry[HASHCHAIN(hash(".recycled", casesensitive))] = L2BE(RECYCLEDNODE); + } - /* Create NodeContainer block for ObjectNodes */ + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - cb->blckno=globals->block_objectnoderoot; - clearcachebuffer(cb); + if(errorcode == 0) { + struct fsBlockHeader *bh = cb->data; - nc->bheader.id=NODECONTAINER_ID; - nc->bheader.be_ownblock=L2BE(globals->block_objectnoderoot); + _DEBUG("ACTION_FORMAT: Creating Transaction block\n"); - nc->be_nodenumber=L2BE(1); /* objectnode 0 is reserved :-) */ - nc->be_nodes=L2BE(1); + /* Create empty block as a placeholder for the TransactionFailure block. */ - on=(struct fsObjectNode *)nc->be_node; - on->node.be_data=L2BE(globals->block_root); + cb->blckno = globals->block_root + 2; + clearcachebuffer(cb); - on++; - if(norecycled==FALSE) { - on->node.be_data=L2BE(block_recycled); - on->be_hash16=W2BE(hash(".recycled", casesensitive)); - } - else { - on->node.be_data=-1; // reserved 2 - } + bh->id = TRANSACTIONOK_ID; + bh->be_ownblock = L2BE(globals->block_root + 2); - on++; - on->node.be_data=-1; // reserved 3 + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - on++; - on->node.be_data=-1; // reserved 4 + if(errorcode == 0) { + struct fsBNodeContainer *bnc = cb->data; + struct BTreeContainer *btc = &bnc->btc; - on++; - on->node.be_data=-1; // reserved 5 + _DEBUG("ACTION_FORMAT: Creating ExtentNode root block\n"); - on++; - on->node.be_data=-1; // reserved 6 + /* Create NodeContainer block for ExtentNodes */ - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + cb->blckno = globals->block_extentbnoderoot; + clearcachebuffer(cb); - if(errorcode==0 && norecycled==FALSE) { - struct fsObjectContainer *oc=cb->data; + bnc->bheader.id = BNODECONTAINER_ID; + bnc->bheader.be_ownblock = L2BE(globals->block_extentbnoderoot); - _DEBUG(("ACTION_FORMAT: Creating Root ObjectContainer block\n")); + btc->isleaf = TRUE; + btc->be_nodecount = 0; + btc->nodesize = sizeof(struct fsExtentBNode); - cb->blckno=block_recycled; - clearcachebuffer(cb); + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - oc->bheader.id=OBJECTCONTAINER_ID; - oc->bheader.be_ownblock=L2BE(block_recycled); - oc->be_parent=L2BE(ROOTNODE); - oc->object[0].be_protection=L2BE(FIBF_READ|FIBF_WRITE); - oc->object[0].be_datemodified=L2BE(currentdate); - oc->object[0].bits=OTYPE_DIR|OTYPE_UNDELETABLE|OTYPE_QUICKDIR; - if(showrecycled==FALSE) { - oc->object[0].bits|=OTYPE_HIDDEN; - } + if(errorcode == 0) { + struct fsNodeContainer *nc = cb->data; + struct fsObjectNode *on; - oc->object[0].be_objectnode=L2BE(RECYCLEDNODE); + _DEBUG("ACTION_FORMAT: Creating ObjectNode root block\n"); - /* NOT HASHED RECYCLED - oc->object[0].object.dir.hashtable=block_recycled+1; - */ - oc->object[0].object.dir.be_hashtable=0; + /* Create NodeContainer block for ObjectNodes */ - copystr(".recycled",oc->object[0].name,30); + cb->blckno = globals->block_objectnoderoot; + clearcachebuffer(cb); - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + nc->bheader.id = NODECONTAINER_ID; + nc->bheader.be_ownblock = L2BE(globals->block_objectnoderoot); - /* NOT HASHED RECYCLED - if(errorcode==0 && norecycled==FALSE) { - struct fsHashTable *ht=cb->data; + nc->be_nodenumber = L2BE(1); /* objectnode 0 is reserved :-) */ + nc->be_nodes = L2BE(1); - _DEBUG(("ACTION_FORMAT: Creating Recycled's HashTable block\n")); + on = (struct fsObjectNode *)nc->be_node; + on->node.be_data = L2BE(globals->block_root); - cb->blckno=block_recycled+1; - clearcachebuffer(cb); + on++; + if(norecycled == FALSE) { + on->node.be_data = L2BE(block_recycled); + on->be_hash16 = W2BE(hash(".recycled", casesensitive)); + } else { + on->node.be_data = -1; // reserved 2 + } - ht->bheader.id=HASHTABLE_ID; - ht->bheader.ownblock=block_recycled+1; - ht->parent=RECYCLEDNODE; + on++; + on->node.be_data = -1; // reserved 3 - setchecksum(cb); - errorcode=writecachebuffer(cb); - } - */ + on++; + on->node.be_data = -1; // reserved 4 - if(errorcode==0) { - struct fsBitmap *bm; - UWORD cnt,cnt2; - ULONG block=globals->block_bitmapbase; - LONG startfree=globals->blocks_admin+globals->blocks_bitmap+globals->blocks_reserved_start; - LONG sizefree; + on++; + on->node.be_data = -1; // reserved 5 - _DEBUG(("ACTION_FORMAT: Creating the Bitmap blocks\n")); + on++; + on->node.be_data = -1; // reserved 6 - /* Create Bitmap blocks */ + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - sizefree=globals->blocks_total-startfree-globals->blocks_reserved_end; + if(errorcode == 0 && norecycled == FALSE) { + struct fsObjectContainer *oc = cb->data; - cnt=globals->blocks_bitmap; - while(cnt-->0 && errorcode==0) { - clearcachebuffer(cb); + _DEBUG("ACTION_FORMAT: Creating Root ObjectContainer block\n"); - bm=cb->data; - bm->bheader.id=BITMAP_ID; - bm->bheader.be_ownblock=L2BE(block); + cb->blckno = block_recycled; + clearcachebuffer(cb); - for(cnt2=0; cnt2<(globals->blocks_inbitmap>>5); cnt2++) { - if(startfree>0) { - startfree-=32; - if(startfree<0) { - bm->bitmap[cnt2]=AROS_LONG2BE((1<<(-startfree))-1); - sizefree+=startfree; - } - } - else if(sizefree>0) { - sizefree-=32; - if(sizefree<0) { - bm->bitmap[cnt2]=AROS_LONG2BE(~((1<<(-sizefree))-1)); - } - else { - bm->bitmap[cnt2]=BITMAPFILL; - } - } - else { - break; - } - } + oc->bheader.id = OBJECTCONTAINER_ID; + oc->bheader.be_ownblock = L2BE(block_recycled); + oc->be_parent = L2BE(ROOTNODE); + oc->object[0].be_protection = L2BE(FIBF_READ | FIBF_WRITE); + oc->object[0].be_datemodified = L2BE(currentdate); + oc->object[0].bits = OTYPE_DIR | OTYPE_UNDELETABLE | OTYPE_QUICKDIR; + if(showrecycled == FALSE) { + oc->object[0].bits |= OTYPE_HIDDEN; + } - cb->blckno=block++; + oc->object[0].be_objectnode = L2BE(RECYCLEDNODE); - setchecksum(cb); - errorcode=writecachebuffer(cb); - } - } + /* NOT HASHED RECYCLED + oc->object[0].object.dir.hashtable=block_recycled+1; + */ + oc->object[0].object.dir.be_hashtable = 0; - if(errorcode==0) { - struct fsRootBlock *rb; + copystr(".recycled", oc->object[0].name, 30); - _DEBUG(("ACTION_FORMAT: Creating the Root blocks\n")); + setchecksum(cb); + errorcode = writecachebuffer(cb); + } - /* Create Root blocks */ + /* NOT HASHED RECYCLED + if(errorcode==0 && norecycled==FALSE) { + struct fsHashTable *ht=cb->data; - cb->blckno=0; - clearcachebuffer(cb); + _DEBUG("ACTION_FORMAT: Creating Recycled's HashTable block\n"); - rb=cb->data; - rb->bheader.id=L2BE(DOSTYPE_ID); - rb->bheader.be_ownblock=0; + cb->blckno=block_recycled+1; + clearcachebuffer(cb); - rb->be_version=W2BE(STRUCTURE_VERSION); - rb->be_sequencenumber=0; + ht->bheader.id=HASHTABLE_ID; + ht->bheader.ownblock=block_recycled+1; + ht->parent=RECYCLEDNODE; - rb->be_datecreated=L2BE(currentdate); + setchecksum(cb); + errorcode=writecachebuffer(cb); + } + */ + + if(errorcode == 0) { + struct fsBitmap *bm; + UWORD cnt, cnt2; + ULONG block = globals->block_bitmapbase; + LONG startfree = globals->blocks_admin + globals->blocks_bitmap + globals->blocks_reserved_start; + LONG sizefree; + + _DEBUG("ACTION_FORMAT: Creating the Bitmap blocks\n"); + + /* Create Bitmap blocks */ + + sizefree = globals->blocks_total - startfree - globals->blocks_reserved_end; + + cnt = globals->blocks_bitmap; + while(cnt-- > 0 && errorcode == 0) { + clearcachebuffer(cb); + + bm = cb->data; + bm->bheader.id = BITMAP_ID; + bm->bheader.be_ownblock = L2BE(block); + + for(cnt2 = 0; cnt2 < (globals->blocks_inbitmap >> 5); cnt2++) { + if(startfree > 0) { + startfree -= 32; + if(startfree < 0) { + bm->bitmap[cnt2] = AROS_LONG2BE((1 << (-startfree)) - 1); + sizefree += startfree; + } + } else if(sizefree > 0) { + sizefree -= 32; + if(sizefree < 0) { + bm->bitmap[cnt2] = AROS_LONG2BE(~((1 << (-sizefree)) - 1)); + } else { + bm->bitmap[cnt2] = BITMAPFILL; + } + } else { + break; + } + } - rb->be_firstbyteh = L2BE(globals->byte_low >> 32); - rb->be_firstbyte = L2BE(globals->byte_low); - rb->be_lastbyteh = L2BE(globals->byte_high >> 32); - rb->be_lastbyte = L2BE(globals->byte_high); + cb->blckno = block++; - rb->be_totalblocks=L2BE(globals->blocks_total); - rb->be_blocksize=L2BE(globals->bytes_block); + setchecksum(cb); + errorcode = writecachebuffer(cb); + } + } - rb->be_bitmapbase=L2BE(globals->block_bitmapbase); - rb->be_adminspacecontainer=L2BE(globals->block_adminspace); - rb->be_rootobjectcontainer=L2BE(globals->block_root); - rb->be_extentbnoderoot=L2BE(globals->block_extentbnoderoot); - rb->be_objectnoderoot=L2BE(globals->block_objectnoderoot); + if(errorcode == 0) { + struct fsRootBlock *rb; - if(casesensitive!=FALSE) { - rb->bits|=ROOTBITS_CASESENSITIVE; - } - if(norecycled==FALSE) { - rb->bits|=ROOTBITS_RECYCLED; - } + _DEBUG("ACTION_FORMAT: Creating the Root blocks\n"); - setchecksum(cb); - if((errorcode=writecachebuffer(cb))==0) { - cb->blckno=globals->blocks_total-1; + /* Create Root blocks */ - _DEBUG(("ACTION_FORMAT: Creating the 2nd Root block\n")); + cb->blckno = 0; + clearcachebuffer(cb); - rb->bheader.be_ownblock=L2BE(globals->blocks_total-1); + rb = cb->data; + rb->bheader.id = L2BE(DOSTYPE_ID); + rb->bheader.be_ownblock = 0; - setchecksum(cb); - errorcode=writecachebuffer(cb); - } - } + rb->be_version = W2BE(STRUCTURE_VERSION); + rb->be_sequencenumber = 0; - flushiocache(); - update(); - motoroff(); + rb->be_datecreated = L2BE(currentdate); - if(errorcode!=0) { - _DEBUG(("ACTION_FORMAT: Exiting with errorcode %ld\n",errorcode)); + rb->be_firstbyteh = L2BE(globals->byte_low >> 32); + rb->be_firstbyte = L2BE(globals->byte_low); + rb->be_lastbyteh = L2BE(globals->byte_high >> 32); + rb->be_lastbyte = L2BE(globals->byte_high); - returnpacket(DOSFALSE, errorcode); - } - else { - returnpacket(DOSTRUE, 0); - } - } + rb->be_totalblocks = L2BE(globals->blocks_total); + rb->be_blocksize = L2BE(globals->bytes_block); - break; - case ACTION_INHIBIT: - _DEBUG(("ACTION_INHIBIT(%ld)\n",globals->packet->dp_Arg1)); + rb->be_bitmapbase = L2BE(globals->block_bitmapbase); + rb->be_adminspacecontainer = L2BE(globals->block_adminspace); + rb->be_rootobjectcontainer = L2BE(globals->block_root); + rb->be_extentbnoderoot = L2BE(globals->block_extentbnoderoot); + rb->be_objectnoderoot = L2BE(globals->block_objectnoderoot); - /* This function nests. Each call to inhibit the disk should be matched - with one to uninhibit the disk. */ + if(casesensitive != FALSE) { + rb->bits |= ROOTBITS_CASESENSITIVE; + } + if(norecycled == FALSE) { + rb->bits |= ROOTBITS_RECYCLED; + } - if(globals->packet->dp_Arg1!=DOSFALSE) { - #ifdef STARTDEBUG - dreq("Disk inhibited (nesting = %ld).", globals->inhibitnestcounter); - #endif + setchecksum(cb); + if((errorcode = writecachebuffer(cb)) == 0) { + cb->blckno = globals->blocks_total - 1; - if(globals->inhibitnestcounter++==0) { // Inhibited for the first time? - globals->disktype=ID_BUSY; /* Must be put before deinitdisk() Feb 27 1999: Maybe not needed anymore */ - deinitdisk(); - } + _DEBUG("ACTION_FORMAT: Creating the 2nd Root block\n"); - returnpacket(DOSTRUE,0); - } - else if(globals->inhibitnestcounter>0 && --globals->inhibitnestcounter==0) { + rb->bheader.be_ownblock = L2BE(globals->blocks_total - 1); - returnpacket(DOSTRUE, 0); /* Workbench keeps doslist locked, and doesn't send any packets - during that time to this handler. As initdisk() needs to lock - the doslist we MUST return the packet before calling initdisk() */ - initdisk(); - } - else { - /* Workbench revokes ACTION_INHIBIT without ever actually having - inhibited the volume. We'll just return the packet and ignore - such requests. */ + setchecksum(cb); + errorcode = writecachebuffer(cb); + } + } - returnpacket(DOSTRUE,0); - } - break; - case ACTION_SERIALIZE_DISK: - _DEBUG(("ACTION_SERIALIZE_DISK\n")); + flushiocache(); + update(); + motoroff(); - { - struct CacheBuffer *cb; - LONG errorcode; + if(errorcode != 0) { + _DEBUG("ACTION_FORMAT: Exiting with errorcode %ld\n", errorcode); - if((errorcode=readcachebuffercheck(&cb,globals->block_root,OBJECTCONTAINER_ID))==0) { - struct fsObjectContainer *oc=cb->data; - struct fsRootInfo *ri=(struct fsRootInfo *)((UBYTE *)cb->data+globals->bytes_block-sizeof(struct fsRootInfo)); + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } - oc->object[0].be_datemodified=L2BE(getdate()); - ri->be_datecreated=oc->object[0].be_datemodified; // BE-BE copy + break; + case ACTION_INHIBIT: + _DEBUG("ACTION_INHIBIT(%ld)\n", globals->packet->dp_Arg1); - setchecksum(cb); - errorcode=writecachebuffer(cb); - } + /* This function nests. Each call to inhibit the disk should be matched + with one to uninhibit the disk. */ - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } + if(globals->packet->dp_Arg1 != DOSFALSE) { + DD(bug("Disk inhibited (nesting = %ld).", globals->inhibitnestcounter)); - break; - default: - if(handlesimplepackets(globals->packet)==0) { + if(globals->inhibitnestcounter++ == 0) + { // Inhibited for the first time? + globals->disktype = ID_BUSY; + deinitdisk(); + } - if(globals->disktype == DOSTYPE_ID) { - switch(globals->packet->dp_Type) { - case ACTION_MAKE_LINK: - _DEBUG(("ACTION_MAKE_LINK\n")); + returnpacket(DOSTRUE, 0); + } else if(globals->inhibitnestcounter > 0 && --globals->inhibitnestcounter == 0) { - { - if(globals->packet->dp_Arg4==LINK_HARD) { - returnpacket(DOSFALSE,ERROR_ACTION_NOT_KNOWN); - } - /* else if(packet->dp_Arg4!=LINK_SOFT) { - returnpacket(DOSFALSE,ERROR_BAD_NUMBER); - } */ /* Check removed because DOS apparantely defines non-zero as being a Soft link! */ - else { - struct ExtFileLock *lock; - LONG errorcode; - - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - copybstrasstr((BSTR)globals->packet->dp_Arg2,globals->string,258); - - _DEBUG(("ACTION_MAKE_LINK: Name = '%s', LinkPath = '%s'\n",globals->string,(UBYTE *)globals->packet->dp_Arg3)); - - if((errorcode=findcreate(&lock,globals->string,globals->packet->dp_Type,(UBYTE *)globals->packet->dp_Arg3))!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { -// freelock(lock); - returnpacket(DOSTRUE,0); - } - } - } - - break; - case ACTION_READ_LINK: - _DEBUG(("ACTION_READ_LINK\n")); - - { - struct CacheBuffer *cb; - struct fsObject *o; - struct ExtFileLock *lock; - UBYTE *dest=(UBYTE *)globals->packet->dp_Arg3; - LONG errorcode; - NODE objectnode; - - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - - if(lock==0) { - objectnode=ROOTNODE; - } - else { - objectnode=lock->objectnode; - } - - if((errorcode=readobject(objectnode, &cb, &o))==0) { - UBYTE *path=(UBYTE *)globals->packet->dp_Arg2, *prefix=path; - - _DEBUG(("ACTION_READ_LINK: path = '%s', errorcode = %ld\n",path,errorcode)); - - errorcode=locateobject2(&path, &cb, &o); + returnpacket(DOSTRUE, 0); /* Workbench keeps doslist locked, and doesn't send any packets + during that time to this handler. As initdisk() needs to lock + the doslist we MUST return the packet before calling initdisk() */ + initdisk(); + } else { + /* Workbench revokes ACTION_INHIBIT without ever actually having + inhibited the volume. We'll just return the packet and ignore + such requests. */ - if(errorcode!=ERROR_IS_SOFT_LINK) { - errorcode=ERROR_OBJECT_NOT_FOUND; + returnpacket(DOSTRUE, 0); } - else { - struct CacheBuffer *cb2; - UBYTE *p=path; - - /* Move on to remainder of path after the link */ - - while(*path!=0) { - if(*path=='/') { - break; - } - path++; - } - - _DEBUG(("ACTION_READ_LINK: path = '%s'\n",path)); - - if((errorcode=readcachebuffercheck(&cb2, BE2L(o->object.file.be_data), SOFTLINK_ID))==0) { - struct fsSoftLink *sl=cb2->data; - LONG length=globals->packet->dp_Arg4; - UBYTE *src=sl->string, ch; - UBYTE *s=globals->string; - - while((*s++=*path++)!=0) { // Work-around for bug in ixemul, which sometimes provides the same pointer for dp_Arg2 (path) and dp_Arg3 (soft-link buffer) - } - - s=globals->string; + break; + case ACTION_SERIALIZE_DISK: + _DEBUG("ACTION_SERIALIZE_DISK\n"); - _DEBUG(("ACTION_READ_LINK: length = %ld, sl->string = '%s', path = '%s'\n", length, sl->string, s)); + { + struct CacheBuffer *cb; + LONG errorcode; - /* cb is no longer valid at this point. */ + if((errorcode = readcachebuffercheck(&cb, globals->block_root, OBJECTCONTAINER_ID)) == 0) { + struct fsObjectContainer *oc = cb->data; + struct fsRootInfo *ri = (struct fsRootInfo *)((UBYTE *)cb->data + globals->bytes_block - sizeof(struct fsRootInfo)); - /* Check if link target is an absolute path */ + oc->object[0].be_datemodified = L2BE(getdate()); + ri->be_datecreated = oc->object[0].be_datemodified; // BE-BE copy - while((ch=*src++)!='\0') { - if(ch==':') - break; + setchecksum(cb); + errorcode = writecachebuffer(cb); } - src=sl->string; - - /* If target is a relative path, put path preceding - link into buffer so that result is relative to - lock passed in */ - if(ch!=':') { - while(prefix!=p && length-->0) { - *dest++=*prefix++; - } + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); } + } - /* Copy link target to buffer */ - - while(length-->0 && (*dest++=*src++)!=0) { - } - dest--; - length++; + break; + case ACTION_DIE: + /* Simplified ACTION_DIE for purpose of supporting unmounting of SFS pendrive. Since this process is + not "dying", "changeint" is removed so that it does not receive the int (and takes over volume) + instead of new process created by massstorage.class. Full implementation should include removal + of int, waiting for locks/notifies to be removed and exiting. Thereis however a problem of + "SFS DosList handler" which gets created by first instance and ending that instance might unload + code segment. */ + removechangeint(); + returnpacket(DOSTRUE, 0); + break; + default: + if(handlesimplepackets(globals->packet) == 0) { + + if(globals->volumenode_inh != 0 && globals->packet->dp_Type == ACTION_REMOVE_NOTIFY) + { + /* If volume was made offline instead of removed because of pending notifies, see if removing + notifies can fully close the volume. Case of Wanderer setting up root directory notification + on SFS pendrive / disk partition before re-formatting. */ + + DD(bug("[SFS] Mainloop ACTION_REMOVE_NOTIFY globals->volumenode_inh=0x%8lx\n", globals->volumenode_inh)); + + struct NotifyRequest *head, *nr = (struct NotifyRequest *)globals->packet->dp_Arg1; + BOOL found = FALSE; + + head = (struct NotifyRequest *)BADDR(globals->volumenode_inh->dl_unused); + + /* Note: it is possible that one handler has at the same time volumenode and volumenode_inh + This happens with inhibit/format/de-inhibit sequence where old volume is offline and new + one is online in the same handler. Check if request was on offline volume list */ + struct NotifyRequest *tmp = nr; + while(tmp != NULL) { + if(tmp == head) { found = TRUE; break;} + tmp = (struct NotifyRequest *)tmp->nr_Prev; + } - /* Ensure we don't insert an extraneous slash */ + if (found) + { + if(nr->nr_Prev) + ((struct NotifyRequest *)nr->nr_Prev)->nr_Next = nr->nr_Next; + else + head = (struct NotifyRequest *)nr->nr_Next; - if(length!=globals->packet->dp_Arg4 && *(dest-1)=='/') { - *--dest='\0'; - length++; - } - if(*(dest-1)==':' && *s=='/') { - s++; - } + if (nr->nr_Next) + ((struct NotifyRequest *)nr->nr_Next)->nr_Prev = nr->nr_Prev; - /* Append remainder of original path */ + nr->nr_Next = 0; + nr->nr_Prev = 0; + globals->volumenode_inh->dl_unused = MKBADDR(head); - while(length-->0 && (*dest++=*s++)!=0) { - } + trydestroyvolumenode(globals->volumenode_inh); - if(length<0) { - errorcode=ERROR_LINE_TOO_LONG; + returnpacket(DOSTRUE, 0); + break; + } + // fallthrough to regular processing } - } - } - } - - if(errorcode!=0) { - if(errorcode==ERROR_LINE_TOO_LONG) { - returnpacket(-2, errorcode); - } - else { - returnpacket(-1, errorcode); - } - } - else { - returnpacket((LONG)((SIPTR)dest - globals->packet->dp_Arg3 - 1), - 0); - } - } - break; - case ACTION_CREATE_DIR: - _DEBUG(("ACTION_CREATE_DIR\n")); - - { - struct ExtFileLock *lock; - LONG errorcode; - - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - copybstrasstr((BSTR)globals->packet->dp_Arg2,globals->string,258); - - if((errorcode=findcreate(&lock,globals->string,globals->packet->dp_Type,0))!=0) { - returnpacket(0,errorcode); - } - else { - returnpacket((SIPTR)TOBADDR(lock),0); - } - } - - break; - case ACTION_FINDUPDATE: - case ACTION_FINDINPUT: - case ACTION_FINDOUTPUT: - case ACTION_FH_FROM_LOCK: - _XDEBUG((DEBUG_OBJECTS, "ACTION_FIND#? or ACTION_FH_FROM_LOCK\n")); - { - struct ExtFileLock *lock; - struct FileHandle *fh; - LONG errorcode=0; - - fh=(struct FileHandle *)BADDR(globals->packet->dp_Arg1); - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg2); - - if(globals->packet->dp_Type!=ACTION_FH_FROM_LOCK) { - copybstrasstr((BSTR)globals->packet->dp_Arg3,globals->string,258); - _DEBUG(("OPEN FILE: %s (mode = %ld)\n", globals->string, globals->packet->dp_Type)); - errorcode=findcreate(&lock,globals->string,globals->packet->dp_Type,0); - } - - if(errorcode==0) { - if((errorcode=createglobalhandle(lock))==0) { - fh->fh_Arg1=(IPTR)lock; - } - else if(globals->packet->dp_Type!=ACTION_FH_FROM_LOCK) { - freelock(lock); - } - } - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - if(globals->packet->dp_Type==ACTION_FINDOUTPUT && globals->has_recycled!=FALSE) { - ULONG files,blocks; - - if((errorcode=getrecycledinfo(&files, &blocks))==0) { - if(files>35) { - cleanupdeletedfiles(); - } - } - } + if(globals->disktype == DOSTYPE_ID) { + switch(globals->packet->dp_Type) { + case ACTION_MAKE_LINK: + _DEBUG("ACTION_MAKE_LINK\n"); - returnpacket(DOSTRUE,0); - } - } + { + if(globals->packet->dp_Arg4 == LINK_HARD) { + returnpacket(DOSFALSE, ERROR_ACTION_NOT_KNOWN); + } + /* else if(packet->dp_Arg4!=LINK_SOFT) { + returnpacket(DOSFALSE,ERROR_BAD_NUMBER); + } */ /* Check removed because DOS apparently defines non-zero as being a Soft link! */ + else { + struct ExtFileLock *lock; + LONG errorcode; + + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + copybstrasstr((BSTR)globals->packet->dp_Arg2, globals->string, 258); + + _DEBUG("ACTION_MAKE_LINK: Name = '%s', LinkPath = '%s'\n", globals->string, (UBYTE *)globals->packet->dp_Arg3); + + if((errorcode = findcreate(&lock, globals->string, globals->packet->dp_Type, (UBYTE *)globals->packet->dp_Arg3)) != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + // freelock(lock); + returnpacket(DOSTRUE, 0); + } + } + } - break; - case ACTION_END: - _XDEBUG((DEBUG_OBJECTS, "ACTION_END\n")); + break; + case ACTION_READ_LINK: + _DEBUG("ACTION_READ_LINK\n"); - /* ACTION_FREE_LOCK's code is similair */ + { + struct CacheBuffer *cb; + struct fsObject *o; + struct ExtFileLock *lock; + UBYTE *dest = (UBYTE *)globals->packet->dp_Arg3; + LONG errorcode; + NODE objectnode; - { - struct ExtFileLock *lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - LONG errorcode; + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + + if(lock == 0) { + objectnode = ROOTNODE; + } else { + objectnode = lock->objectnode; + } + + if((errorcode = readobject(objectnode, &cb, &o)) == 0) { + UBYTE *path = (UBYTE *)globals->packet->dp_Arg2, *prefix = path; + + _DEBUG("ACTION_READ_LINK: path = '%s', errorcode = %ld\n", path, errorcode); + + errorcode = locateobject2(&path, &cb, &o); + + if(errorcode != ERROR_IS_SOFT_LINK) { + errorcode = ERROR_OBJECT_NOT_FOUND; + } else { + struct CacheBuffer *cb2; + UBYTE *p = path; + + /* Move on to remainder of path after the link */ + + while(*path != 0) { + if(*path == '/') { + break; + } + path++; + } + + _DEBUG("ACTION_READ_LINK: path = '%s'\n", path); + + if((errorcode = readcachebuffercheck(&cb2, BE2L(o->object.file.be_data), SOFTLINK_ID)) == 0) { + struct fsSoftLink *sl = cb2->data; + LONG length = globals->packet->dp_Arg4; + UBYTE *src = sl->string, ch; + UBYTE *s = globals->string; + + while((*s++ = *path++) != 0) { // Work-around for bug in ixemul, which sometimes provides the same pointer for dp_Arg2 (path) and dp_Arg3 (soft-link buffer) + } + + s = globals->string; + + _DEBUG("ACTION_READ_LINK: length = %ld, sl->string = '%s', path = '%s'\n", length, sl->string, s); + + /* cb is no longer valid at this point. */ + + /* Check if link target is an absolute path */ + + while((ch = *src++) != '\0') { + if(ch == ':') + break; + } + src = sl->string; + + /* If target is a relative path, put path preceding + link into buffer so that result is relative to + lock passed in */ + + if(ch != ':') { + while(prefix != p && length-- > 0) { + *dest++ = *prefix++; + } + } + + /* Copy link target to buffer */ + + while(length-- > 0 && (*dest++ = *src++) != 0) { + } + dest--; + length++; + + /* Ensure we don't insert an extraneous slash */ + + if(length != globals->packet->dp_Arg4 && *(dest - 1) == '/') { + *--dest = '\0'; + length++; + } + if(*(dest - 1) == ':' && *s == '/') { + s++; + } + + /* Append remainder of original path */ + + while(length-- > 0 && (*dest++ = *s++) != 0) { + } + + if(length < 0) { + errorcode = ERROR_LINE_TOO_LONG; + } + } + } + } + + if(errorcode != 0) { + if(errorcode == ERROR_LINE_TOO_LONG) { + returnpacket(-2, errorcode); + } else { + returnpacket(-1, errorcode); + } + } else { + returnpacket((LONG)((SIPTR)dest - globals->packet->dp_Arg3 - 1), + 0); + } + } + break; + case ACTION_CREATE_DIR: + _DEBUG("ACTION_CREATE_DIR\n"); - /* If a file has been modified by the use of ACTION_SET_FILE_SIZE or - ACTION_WRITE, or ACTION_FINDOUTPUT or ACTION_FINDUPDATE (only when - creating a new file) were used to create the file then we must - also update the datestamp of the file. We also must send out a - notification. Finally we also need to clear the A bit. + { + struct ExtFileLock *lock; + LONG errorcode; - For this purpose a special flag in the lock tells us - whether or not any of the above actions has occured. */ + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + copybstrasstr((BSTR)globals->packet->dp_Arg2, globals->string, 258); - if((lock->bits & EFL_MODIFIED) != 0) { - struct CacheBuffer *cb; - struct fsObject *o; + if((errorcode = findcreate(&lock, globals->string, globals->packet->dp_Type, 0)) != 0) { + returnpacket(0, errorcode); + } else { + returnpacket((SIPTR)TOBADDR(lock), 0); + } + } - /* Aha! */ + break; + case ACTION_FINDUPDATE: + case ACTION_FINDINPUT: + case ACTION_FINDOUTPUT: + case ACTION_FH_FROM_LOCK: + _XDEBUG(DEBUG_OBJECTS, "ACTION_FIND#? or ACTION_FH_FROM_LOCK\n"); - if(lock->lastextendedblock!=0) { - globals->block_rovingblockptr=lock->lastextendedblock; - if(globals->block_rovingblockptr>=globals->blocks_total) { - globals->block_rovingblockptr=0; - } - } + { + struct ExtFileLock *lock; + struct FileHandle *fh; + LONG errorcode = 0; + + fh = (struct FileHandle *)BADDR(globals->packet->dp_Arg1); + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg2); + + if(globals->packet->dp_Type != ACTION_FH_FROM_LOCK) { + copybstrasstr((BSTR)globals->packet->dp_Arg3, globals->string, 258); + _DEBUG("OPEN FILE: %s (mode = %ld)\n", globals->string, globals->packet->dp_Type); + errorcode = findcreate(&lock, globals->string, globals->packet->dp_Type, 0); + } + + if(errorcode == 0) { + if((errorcode = createglobalhandle(lock)) == 0) { + fh->fh_Arg1 = (IPTR)lock; + } else if(globals->packet->dp_Type != ACTION_FH_FROM_LOCK) { + freelock(lock); + } + } + + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + if(globals->packet->dp_Type == ACTION_FINDOUTPUT && globals->has_recycled != FALSE) { + ULONG files, blocks; + + if((errorcode = getrecycledinfo(&files, &blocks)) == 0) { + if(files > 35) { + cleanupdeletedfiles(); + } + } + } + + returnpacket(DOSTRUE, 0); + } + } - if((errorcode=readobject(lock->objectnode, &cb, &o))==0) { - newtransaction(); + break; + case ACTION_END: + _XDEBUG(DEBUG_OBJECTS, "ACTION_END\n"); - errorcode=bumpobject(cb, o); - checknotifyforobject(cb, o, TRUE); + /* ACTION_FREE_LOCK's code is similair */ - if(errorcode==0) { - endtransaction(); - } - else { - deletetransaction(); - } - } + { + struct ExtFileLock *lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + LONG errorcode; + + /* If a file has been modified by the use of ACTION_SET_FILE_SIZE or + ACTION_WRITE, or ACTION_FINDOUTPUT or ACTION_FINDUPDATE (only when + creating a new file) were used to create the file then we must + also update the datestamp of the file. We also must send out a + notification. Finally we also need to clear the A bit. + + For this purpose a special flag in the lock tells us + whether or not any of the above actions has occured. */ + + if((lock->bits & EFL_MODIFIED) != 0) { + struct CacheBuffer *cb; + struct fsObject *o; + + /* Aha! */ + + if(lock->lastextendedblock != 0) { + globals->block_rovingblockptr = lock->lastextendedblock; + if(globals->block_rovingblockptr >= globals->blocks_total) { + globals->block_rovingblockptr = 0; + } + } + + if((errorcode = readobject(lock->objectnode, &cb, &o)) == 0) { + newtransaction(); + + errorcode = bumpobject(cb, o); + checknotifyforobject(cb, o, TRUE); + + if(errorcode == 0) { + endtransaction(); + } else { + deletetransaction(); + } + } + + /* Ignore any errorcodes -- not really interesting when closing a file... */ + } + + if((errorcode = freelock(lock)) != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_DELETE_OBJECT: { + LONG errorcode; - /* Ignore any errorcodes -- not really interesting when closing a file... */ - } + copybstrasstr((BSTR)globals->packet->dp_Arg2, globals->string, 258); - if((errorcode=freelock(lock))!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_DELETE_OBJECT: - { - LONG errorcode; + _DEBUG("ACTION_DELETE_OBJECT(0x%08lx,'%s')\n", BADDR(globals->packet->dp_Arg1), globals->string); - copybstrasstr((BSTR)globals->packet->dp_Arg2,globals->string,258); + do { + newtransaction(); - _DEBUG(("ACTION_DELETE_OBJECT(0x%08lx,'%s')\n",BADDR(globals->packet->dp_Arg1),globals->string)); + if((errorcode = deleteobject(BADDR(globals->packet->dp_Arg1), validatepath(globals->string), TRUE)) == 0) { + endtransaction(); + } else { + deletetransaction(); + } + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); - do { - newtransaction(); + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + ULONG files, blocks; - if((errorcode=deleteobject(BADDR(globals->packet->dp_Arg1), validatepath(globals->string), TRUE))==0) { - endtransaction(); - } - else { - deletetransaction(); - } - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - ULONG files,blocks; - - if((errorcode=getrecycledinfo(&files, &blocks))==0) { - if(files>35) { - cleanupdeletedfiles(); - } - } + if((errorcode = getrecycledinfo(&files, &blocks)) == 0) { + if(files > 35) { + cleanupdeletedfiles(); + } + } - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_RENAME_DISK: - _DEBUG(("ACTION_RENAME_DISK\n")); + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_RENAME_DISK: + _DEBUG("ACTION_RENAME_DISK\n"); - { - struct CacheBuffer *cb; - LONG errorcode; - - if((errorcode=readcachebuffercheck(&cb,globals->block_root,OBJECTCONTAINER_ID))==0) { - if(AttemptLockDosList(LDF_WRITE|LDF_VOLUMES)!=0) { - struct fsObjectContainer *oc=cb->data; - UBYTE *s; - UBYTE *d; + { + struct CacheBuffer *cb; + LONG errorcode; + + if((errorcode = readcachebuffercheck(&cb, globals->block_root, OBJECTCONTAINER_ID)) == 0) { + if(AttemptLockDosList(LDF_WRITE | LDF_VOLUMES) != 0) { + struct fsObjectContainer *oc = cb->data; + struct dstr { + UBYTE dname[31]; + } *oname = (struct dstr *)&oc->object[0].name[0]; + UBYTE *s; #ifndef USE_FAST_BSTR - UBYTE len; + UBYTE len; #endif + /* Succesfully locked the doslist */ - /* Succesfully locked the doslist */ + newtransaction(); - newtransaction(); + preparecachebuffer(cb); - preparecachebuffer(cb); - - - s=BADDR(globals->packet->dp_Arg1); - d=oc->object[0].name; - d[copybstrasstr((BSTR)globals->packet->dp_Arg1, d, 30)+1] = 0; -#if 0 - len=*s++; - - if(len>30) { - len=30; - } - - while(len-->0) { - *d++=*s++; - } - *d++=0; - *d=0; /* Zero for comment */ -#endif - if((errorcode=storecachebuffer(cb))==0 && globals->volumenode!=0) { - s=BADDR(globals->packet->dp_Arg1); - d=BADDR(globals->volumenode->dl_Name); + s = BADDR(globals->packet->dp_Arg1); + sfsCopyBSTRSafe((BSTR)globals->packet->dp_Arg1, oname->dname, 30); + if((errorcode = storecachebuffer(cb)) == 0 && globals->volumenode != 0) { + DD(bug("[SFS] ACTION_RENAME_DISK Volumenode = 0x%8lx\n", globals->volumenode)); + s = BADDR(globals->packet->dp_Arg1); + char *vname = BADDR(globals->volumenode->dl_Name); #ifdef USE_FAST_BSTR - copystr(s, d, 30); + copystr(s, vname, 30); #else - len=*s++; + len = *s++; - if(len>30) { - len=30; - } + if(len > 30) { + len = 30; + } - *d++=len; - while(len-->0) { - *d++=*s++; - } - *d=0; + *vname++ = len; + while(len-- > 0) { + *vname++ = *s++; + } + *vname = 0; #endif - } - - UnLockDosList(LDF_WRITE|LDF_VOLUMES); - - if(errorcode==0) { - endtransaction(); - } - else { - deletetransaction(); - } - } - else { - /* Doslist locking attempt was unsuccesful. Send this message back to our - port to try it again later. */ - - PutMsg(msgportpackets,msg); - break; - } - } - - if(errorcode==0) { - returnpacket(DOSTRUE,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } - break; - case ACTION_RENAME_OBJECT: - _DEBUG(("ACTION_RENAME_OBJECT\n")); - - { - LONG errorcode; - - do { - struct CacheBuffer *cb; - struct fsObject *o; - struct ExtFileLock *lock; - UBYTE *newname; - UBYTE *s; - - lock=BADDR(globals->packet->dp_Arg1); - copybstrasstr((BSTR)globals->packet->dp_Arg2,globals->string,258); - - if((errorcode=locateobjectfromlock(lock,validatepath(globals->string),&cb,&o))==0) { - copybstrasstr((BSTR)globals->packet->dp_Arg4,globals->string,258); - - settemporarylock(BE2L(o->be_objectnode)); - - newname=validatepath(globals->string); - s=FilePart(newname); - - if(*s!=0) { - newtransaction(); - if((errorcode=renameobject(cb,o,BADDR(globals->packet->dp_Arg3),newname))==0) { - endtransaction(); - } - else { - deletetransaction(); - } - } - else { - errorcode=ERROR_INVALID_COMPONENT_NAME; - } - } - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); - - cleartemporarylock(); - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_SET_COMMENT: - _DEBUG(("ACTION_SET_COMMENT\n")); - { - LONG errorcode; - - do { - copybstrasstr((BSTR)globals->packet->dp_Arg3,globals->string,258); - copybstrasstr((BSTR)globals->packet->dp_Arg4,globals->string2,258); - - newtransaction(); - if((errorcode=setcomment(BADDR(globals->packet->dp_Arg2),validatepath(globals->string),globals->string2))!=0) { - deletetransaction(); - } - else { - endtransaction(); - } - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_SET_DATE: - case ACTION_SET_PROTECT: - case ACTION_SET_OWNER: - case ACTION_SFS_SET_OBJECTBITS: - _XDEBUG((DEBUG_OBJECTS, "ACTION_SET_DATE or ACTION_SET_PROTECT or ACTION_SET_OWNER\n")); - - { - LONG errorcode; - - do { - struct CacheBuffer *cb; - struct fsObject *o; - struct ExtFileLock *lock; - - lock=BADDR(globals->packet->dp_Arg2); - copybstrasstr((BSTR)globals->packet->dp_Arg3,globals->string,258); - - if((errorcode=locatelockableobject(lock,validatepath(globals->string),&cb,&o))==0) { - NODE objectnode=BE2L(o->be_objectnode); - - if(objectnode!=ROOTNODE) { - - settemporarylock(objectnode); - - newtransaction(); - preparecachebuffer(cb); - - if(globals->packet->dp_Type==ACTION_SET_DATE) { - checksum_writelong_be(cb->data, &o->be_datemodified, datestamptodate((struct DateStamp *)globals->packet->dp_Arg4)); - - // o->datemodified=datestamptodate((struct DateStamp *)packet->dp_Arg4); - } - else if(globals->packet->dp_Type==ACTION_SET_PROTECT) { - checksum_writelong_be(cb->data, &o->be_protection, globals->packet->dp_Arg4^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE)); - - // o->protection=packet->dp_Arg4^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); - } - else if(globals->packet->dp_Type==ACTION_SET_OWNER) { - // ULONG *owner=(ULONG *)&o->owneruid; - - checksum_writelong_be(cb->data, (ULONG *)&o->be_owneruid, globals->packet->dp_Arg4); - - // *owner=packet->dp_Arg4; - } - else { - o->bits=(globals->packet->dp_Arg4 & (OTYPE_HIDDEN|OTYPE_UNDELETABLE)) | (o->bits & ~(OTYPE_HIDDEN|OTYPE_UNDELETABLE)); - setchecksum(cb); // new - } - - if((errorcode=storecachebuffer_nochecksum(cb))==0) { - struct GlobalHandle *gh; - - checknotifyforobject(cb,o,TRUE); - endtransaction(); - - if(globals->packet->dp_Type==ACTION_SET_PROTECT && (gh=findglobalhandle(objectnode))!=0) { - gh->protection=globals->packet->dp_Arg4^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); - } - } - else { - deletetransaction(); - } - } - else { - errorcode=ERROR_OBJECT_WRONG_TYPE; - } - } - - /* this 'loop' will only be left if the disk wasn't full, or - cleanupdeletedfiles() couldn't free up any more space. */ - - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); - - cleartemporarylock(); - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_SET_FILE_SIZE: - _DEBUG(("ACTION_SET_FILE_SIZE(0x%08lx,0x%08lx,0x%08lx)\n",globals->packet->dp_Arg1,globals->packet->dp_Arg2,globals->packet->dp_Arg3)); - - { - struct ExtFileLock *lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - LONG newfilesize; - LONG errorcode; - - if(globals->packet->dp_Arg3==OFFSET_BEGINNING) { - newfilesize=globals->packet->dp_Arg2; - } - else if(globals->packet->dp_Arg3==OFFSET_END) { - newfilesize=lock->gh->size+globals->packet->dp_Arg2; - } - else if(globals->packet->dp_Arg3==OFFSET_CURRENT) { - newfilesize=lock->offset+globals->packet->dp_Arg2; - } - else { - returnpacket(-1,ERROR_BAD_NUMBER); - break; - } - - if(newfilesize>=0) { - ULONG data=lock->gh->data; - - do { - errorcode=setfilesize(lock,newfilesize); - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); - - if(errorcode!=0) { - lock->gh->data=data; - } - } - else { - errorcode=ERROR_SEEK_ERROR; - } - - if(errorcode==0) { - returnpacket(lock->gh->size,0); - } - else { - returnpacket(-1,errorcode); - } - } - break; - case ACTION_SEEK: - _XDEBUG((DEBUG_SEEK,"ACTION_SEEK(0x%08lx,0x%08lx,0x%08lx)\n",globals->packet->dp_Arg1,globals->packet->dp_Arg2,globals->packet->dp_Arg3)); - - { - struct ExtFileLock *lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - struct GlobalHandle *gh=lock->gh; - ULONG oldpos=lock->offset; - LONG newpos; - LONG errorcode; - - if(globals->packet->dp_Arg3==OFFSET_BEGINNING) { - newpos=globals->packet->dp_Arg2; - } - else if(globals->packet->dp_Arg3==OFFSET_END) { - newpos=gh->size+globals->packet->dp_Arg2; - } - else if(globals->packet->dp_Arg3==OFFSET_CURRENT) { - newpos=lock->offset+globals->packet->dp_Arg2; - } - else { - returnpacket(-1,ERROR_BAD_NUMBER); - break; - } - - if(newpos>=0 && newpos<=gh->size) { - if(newpos!=oldpos) { - errorcode=seek(lock,newpos); - } - else { - errorcode=0; - } - } - else { - errorcode=ERROR_SEEK_ERROR; - } - - if(errorcode==0) { - returnpacket(oldpos,0); - } - else { - returnpacket(-1,errorcode); - } - } - break; - case ACTION_READ: - _XDEBUG((DEBUG_IO,"ACTION_READ(0x%08lx,0x%08lx,%ld)\n",globals->packet->dp_Arg1,globals->packet->dp_Arg2,globals->packet->dp_Arg3)); - - { - struct ExtFileLock *lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - struct GlobalHandle *gh=lock->gh; - UBYTE *buffer=(UBYTE *)globals->packet->dp_Arg2; - ULONG bytesleft; - UBYTE *startofbuf=buffer; - LONG errorcode; - - bytesleft=globals->packet->dp_Arg3; - if(lock->offset+bytesleft > gh->size) { - bytesleft=gh->size-lock->offset; - } - - if((errorcode=seektocurrent(lock))==0) { - if((gh->protection & FIBF_READ)!=0) { - struct CacheBuffer *extent_cb; - struct fsExtentBNode *ebn; - - while(bytesleft>0 && (errorcode=findextentbnode(lock->curextent, &extent_cb, &ebn))==0) { - ULONG bytestoread; - ULONG offsetinblock=lock->extentoffset & globals->mask_block; - BLCK ebn_next=BE2L(ebn->be_next); - UWORD ebn_blocks=BE2W(ebn->be_blocks); - - _XDEBUG((DEBUG_IO,"ACTION_READ: buffer = 0x%p bytesleft = %ld, offsetinblock = %ld, ExtentBNode = %ld, ebn->data = %ld, ebn->blocks = %ld\n", - buffer, bytesleft, offsetinblock, lock->curextent, BE2L(ebn->be_key), BE2W(ebn->be_blocks))); - - if(offsetinblock!=0 || bytesleftbytes_block) { - - // _XDEBUG((DEBUG_IO,"ACTION_READ: nextextentbnode = %ld, extentnodesize = %ld, en->blocks = %ld\n",nextextentbnode,extentnodesize,(ULONG)ebn->blocks)); - - bytestoread=globals->bytes_block-offsetinblock; - - /* Check if there are more bytes left in the block then we want to read */ - if(bytestoread > bytesleft) { - bytestoread=bytesleft; - } - - if((errorcode=readbytes(BE2L(ebn->be_key)+(lock->extentoffset>>globals->shifts_block), buffer, offsetinblock, bytestoread))!=0) { - break; - } - } - else { - - bytestoread=(((ULONG)ebn_blocks)<shifts_block) - lock->extentoffset; - - /* Check if there are more bytes left in the Extent then we want to read */ - if(bytestoread > bytesleft) { - bytestoread=bytesleft & ~globals->mask_block; - } + } + + UnLockDosList(LDF_WRITE | LDF_VOLUMES); + + if(errorcode == 0) { + endtransaction(); + } else { + deletetransaction(); + } + } else { + /* Doslist locking attempt was unsuccesful. Send this message back to our + port to try it again later. */ + + PutMsg(msgportpackets, msg); + break; + } + } + + if(errorcode == 0) { + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; + case ACTION_RENAME_OBJECT: + _DEBUG("ACTION_RENAME_OBJECT\n"); - if((errorcode=read(BE2L(ebn->be_key)+(lock->extentoffset>>globals->shifts_block), buffer, bytestoread>>globals->shifts_block))!=0) { - break; - } - } + { + LONG errorcode; + + do { + struct CacheBuffer *cb; + struct fsObject *o; + struct ExtFileLock *lock; + UBYTE *newname; + UBYTE *s; + + lock = BADDR(globals->packet->dp_Arg1); + copybstrasstr((BSTR)globals->packet->dp_Arg2, globals->string, 258); + + if((errorcode = locateobjectfromlock(lock, validatepath(globals->string), &cb, &o)) == 0) { + copybstrasstr((BSTR)globals->packet->dp_Arg4, globals->string, 258); + + settemporarylock(BE2L(o->be_objectnode)); + + newname = validatepath(globals->string); + s = FilePart(newname); + + if(*s != 0) { + newtransaction(); + if((errorcode = renameobject(cb, o, BADDR(globals->packet->dp_Arg3), newname)) == 0) { + endtransaction(); + } else { + deletetransaction(); + } + } else { + errorcode = ERROR_INVALID_COMPONENT_NAME; + } + } + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); + + cleartemporarylock(); + + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_SET_COMMENT: + _DEBUG("ACTION_SET_COMMENT\n"); + { + LONG errorcode; + + do { + copybstrasstr((BSTR)globals->packet->dp_Arg3, globals->string, 258); + copybstrasstr((BSTR)globals->packet->dp_Arg4, globals->string2, 258); + + newtransaction(); + if((errorcode = setcomment(BADDR(globals->packet->dp_Arg2), validatepath(globals->string), globals->string2)) != 0) { + deletetransaction(); + } else { + endtransaction(); + } + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); + + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_SET_DATE: + case ACTION_SET_PROTECT: + case ACTION_SET_OWNER: + case ACTION_SFS_SET_OBJECTBITS: + _XDEBUG(DEBUG_OBJECTS, "ACTION_SET_DATE or ACTION_SET_PROTECT or ACTION_SET_OWNER\n"); - seekforward(lock, ebn_blocks, ebn_next, bytestoread); + { + LONG errorcode; - bytesleft-=bytestoread; - buffer+=bytestoread; + do { + struct CacheBuffer *cb; + struct fsObject *o; + struct ExtFileLock *lock; - _XDEBUG((DEBUG_IO,"ACTION_READ: bytesleft = %ld, errorcode = %ld\n",bytesleft,errorcode)); - } - } - else { - errorcode=ERROR_READ_PROTECTED; - } - } + lock = BADDR(globals->packet->dp_Arg2); + copybstrasstr((BSTR)globals->packet->dp_Arg3, globals->string, 258); - _XDEBUG((DEBUG_IO,"ACTION_READ: errorcode = %ld, buffer = %ld, startofbuf = %ld\n",errorcode,buffer,startofbuf)); + if((errorcode = locatelockableobject(lock, validatepath(globals->string), &cb, &o)) == 0) { + NODE objectnode = BE2L(o->be_objectnode); - if(errorcode!=0) { - returnpacket(-1,errorcode); - } - else { - returnpacket(buffer-startofbuf,0); - } - } - break; - case ACTION_WRITE: - _XDEBUG((DEBUG_IO,"ACTION_WRITE(0x%08lx,0x%08lx,%ld)\n",globals->packet->dp_Arg1,globals->packet->dp_Arg2,globals->packet->dp_Arg3)); + if(objectnode != ROOTNODE) { - { - struct ExtFileLock *lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - ULONG bytestowrite=globals->packet->dp_Arg3; - LONG errorcode=0; - - do { - struct GlobalHandle *gh=lock->gh; - - /* Save some values in case of an error: */ - - BLCK curextent=lock->curextent; - ULONG extentoffset=lock->extentoffset; - ULONG offset=lock->offset; - ULONG size=gh->size; - ULONG data=gh->data; - - if(bytestowrite!=0) { - newtransaction(); - - if((errorcode=writetofile(lock, (UBYTE *)globals->packet->dp_Arg2, bytestowrite))==0) { - endtransaction(); - } - else { - lock->curextent=curextent; - lock->extentoffset=extentoffset; - lock->offset=offset; - gh->size=size; - gh->data=data; - - deletetransaction(); - } - } - } while(errorcode==ERROR_DISK_FULL && freeupspace()!=FALSE); + settemporarylock(objectnode); - if(errorcode!=0) { - _XDEBUG((DEBUG_IO,"ACTION_WRITE returns (-1, %ld)\n",errorcode)); + newtransaction(); + preparecachebuffer(cb); - returnpacket(-1,errorcode); - } - else { - _XDEBUG((DEBUG_IO,"ACTION_WRITE returns (%ld, 0)\n",bytestowrite)); + if(globals->packet->dp_Type == ACTION_SET_DATE) { + checksum_writelong_be(cb->data, &o->be_datemodified, datestamptodate((struct DateStamp *)globals->packet->dp_Arg4)); - lock->bits|=EFL_MODIFIED; - returnpacket(bytestowrite,0); - } - } - break; - case ACTION_FREE_LOCK: - _XDEBUG((DEBUG_LOCK,"ACTION_FREE_LOCK\n")); + // o->datemodified=datestamptodate((struct DateStamp *)packet->dp_Arg4); + } else if(globals->packet->dp_Type == ACTION_SET_PROTECT) { + checksum_writelong_be(cb->data, &o->be_protection, globals->packet->dp_Arg4 ^ (FIBF_READ | FIBF_WRITE | FIBF_EXECUTE | FIBF_DELETE)); - { - LONG errorcode; + // o->protection=packet->dp_Arg4^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); + } else if(globals->packet->dp_Type == ACTION_SET_OWNER) { + // ULONG *owner=(ULONG *)&o->owneruid; - if((errorcode=freelock((struct ExtFileLock *)BADDR(globals->packet->dp_Arg1)))!=0) { - returnpacket(DOSFALSE,errorcode); - break; - } - returnpacket(DOSTRUE,0); - } - break; - case ACTION_EXAMINE_ALL: - _DEBUG(("ACTION_EXAMINE_ALL\n")); + checksum_writelong_be(cb->data, (ULONG *)&o->be_owneruid, globals->packet->dp_Arg4); - { - struct ExtFileLock *lock; - struct ExAllData *ead; - struct ExAllData *prevead=0; - struct ExAllControl *eac; - struct CacheBuffer *cb; - struct fsObject *o; - ULONG eadsize; - ULONG stringsize; - LONG spaceleft; - LONG errorcode; - - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - ead=(struct ExAllData *)globals->packet->dp_Arg2; - eac=(struct ExAllControl *)globals->packet->dp_Arg5; - spaceleft=globals->packet->dp_Arg3; - - eac->eac_Entries=0; - - if(lock==0) { - _DEBUG(("ACTION_EXAMINE_ALL: Zero lock was passed in...\n")); - - returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); - break; - } - - if(globals->packet->dp_Arg4>ED_OWNER) { - returnpacket(DOSFALSE,ERROR_BAD_NUMBER); - break; - } - - if(eac->eac_LastKey==0) { - if((errorcode=readobject(lock->objectnode,&cb,&o))==0) { - if((o->bits & OTYPE_DIR)!=0) { - if(o->object.dir.be_firstdirblock!=0) { - if((errorcode=readcachebuffercheck(&cb,BE2L(o->object.dir.be_firstdirblock),OBJECTCONTAINER_ID))==0) { - struct fsObjectContainer *oc=cb->data; - - o=oc->object; - eac->eac_LastKey=BE2L(o->be_objectnode); - } - } - else { - errorcode=ERROR_NO_MORE_ENTRIES; - } - } - else { - errorcode=ERROR_OBJECT_WRONG_TYPE; - } - } - } - else { - if((errorcode=readobject(eac->eac_LastKey,&cb,&o))==ERROR_IS_SOFT_LINK) { - errorcode=0; - } - } - - while(errorcode==0) { - WORD namelength=strlen(o->name); - WORD keepentry; - - stringsize=0; - eadsize=0; - - switch(globals->packet->dp_Arg4) { - default: - case ED_OWNER: - eadsize += 4; /* ed_OwnedGID, ed_OwnedUID */ - case ED_COMMENT: - stringsize+=strlen(o->name+namelength+1)+1; - eadsize += sizeof(UBYTE *); /* ed_Comment */ - case ED_DATE: - eadsize += 12; /* ed_Ticks, ed_Mins, ed_Days */ - case ED_PROTECTION: - eadsize += 4; /* ed_Prot */ - case ED_SIZE: - eadsize += 4; /* ed_Size */ - case ED_TYPE: - eadsize += 4; - case ED_NAME: - stringsize += namelength+1; - eadsize += sizeof(APTR) * 2; /* ed_Name, ed_Next */ - break; - } + // *owner=packet->dp_Arg4; + } else { + o->bits = (globals->packet->dp_Arg4 & (OTYPE_HIDDEN | OTYPE_UNDELETABLE)) | (o->bits & ~(OTYPE_HIDDEN | OTYPE_UNDELETABLE)); + setchecksum(cb); // new + } -// _DEBUG(("ACTION_EXAMINE_ALL: eadsize = %ld, stringsize = %ld, spaceleft = %ld, packet->dp_Arg4 = %ld\n",eadsize,stringsize,spaceleft,packet->dp_Arg4)); + if((errorcode = storecachebuffer_nochecksum(cb)) == 0) { + struct GlobalHandle *gh; - if(spaceleftpacket->dp_Arg4) { - default: - case ED_OWNER: - ead->ed_OwnerUID=BE2W(o->be_owneruid); - ead->ed_OwnerGID=BE2W(o->be_ownergid); - case ED_COMMENT: - { - UBYTE *src=o->name+namelength+1; - UBYTE *dest=(UBYTE *)ead+eadsize; - - ead->ed_Comment=dest; - - while(*src!=0) { - *dest++=*src++; - eadsize++; - } + if(globals->packet->dp_Type == ACTION_SET_PROTECT && (gh = findglobalhandle(objectnode)) != 0) { + gh->protection = globals->packet->dp_Arg4 ^ (FIBF_READ | FIBF_WRITE | FIBF_EXECUTE | FIBF_DELETE); + } + } else { + deletetransaction(); + } + } else { + errorcode = ERROR_OBJECT_WRONG_TYPE; + } + } - *dest=0; - eadsize++; - } - case ED_DATE: - datetodatestamp(BE2L(o->be_datemodified),(struct DateStamp *)&ead->ed_Days); - case ED_PROTECTION: - ead->ed_Prot=BE2L(o->be_protection)^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); - case ED_SIZE: - if((o->bits & OTYPE_DIR)==0) { - ead->ed_Size=BE2L(o->object.file.be_size); - } - else { - ead->ed_Size=0; - } - case ED_TYPE: -_DEBUG(("examine ED_TYPE, o->bits=%x, o->objectnode=%d\n", o->bits, BE2L(o->be_objectnode))); - if((o->bits & OTYPE_LINK)!=0) { - ead->ed_Type=ST_SOFTLINK; - } - if((o->bits & OTYPE_DIR)==0) { - ead->ed_Type=ST_FILE; - } - else if (o->be_objectnode == L2BE(ROOTNODE)) { - ead->ed_Type = ST_ROOT; - } - else { - ead->ed_Type=ST_USERDIR; - } - case ED_NAME: - { - UBYTE *src=o->name; - UBYTE *dest=(UBYTE *)ead+eadsize; - - ead->ed_Name=dest; - - while(*src!=0) { - *dest++=*src++; - eadsize++; - } + /* this 'loop' will only be left if the disk wasn't full, or + cleanupdeletedfiles() couldn't free up any more space. */ - *dest=0; - eadsize++; + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); - // _DEBUG(("Stored entry %s\n",ead->ed_Name)); - } - } + cleartemporarylock(); - if(eac->eac_MatchString!=0) { - keepentry=MatchPatternNoCase(eac->eac_MatchString,ead->ed_Name); - } - else { - keepentry=DOSTRUE; - } + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_SET_FILE_SIZE: + _DEBUG("ACTION_SET_FILE_SIZE(0x%08lx,0x%08lx,0x%08lx)\n", globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); - if(keepentry!=DOSFALSE && eac->eac_MatchFunc!=0) { - -#ifdef __AROS__ - keepentry=CALLHOOKPKT(eac->eac_MatchFunc, ead, (APTR)globals->packet->dp_Arg4); -#else - LONG __asm(*hookfunc)(register __a0 struct Hook *,register __a1 struct ExAllData *,register __a2 ULONG)=(LONG __asm(*)(register __a0 struct Hook *,register __a1 struct ExAllData *,register __a2 ULONG))eac->eac_MatchFunc->h_Entry; - keepentry=hookfunc(eac->eac_MatchFunc,ead,packet->dp_Arg4); -#endif - } + { + struct ExtFileLock *lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + LONG newfilesize; + LONG errorcode; + + if(globals->packet->dp_Arg3 == OFFSET_BEGINNING) { + newfilesize = globals->packet->dp_Arg2; + } else if(globals->packet->dp_Arg3 == OFFSET_END) { + newfilesize = lock->gh->size + globals->packet->dp_Arg2; + } else if(globals->packet->dp_Arg3 == OFFSET_CURRENT) { + newfilesize = lock->offset + globals->packet->dp_Arg2; + } else { + returnpacket(-1, ERROR_BAD_NUMBER); + break; + } + + if(newfilesize >= 0) { + ULONG data = lock->gh->data; + + do { + errorcode = setfilesize(lock, newfilesize); + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); + + if(errorcode != 0) { + lock->gh->data = data; + } + } else { + errorcode = ERROR_SEEK_ERROR; + } + + if(errorcode == 0) { + returnpacket(lock->gh->size, 0); + } else { + returnpacket(-1, errorcode); + } + } + break; + case ACTION_SEEK: + _XDEBUG(DEBUG_SEEK, "ACTION_SEEK(0x%08lx,0x%08lx,0x%08lx)\n", globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); - if(keepentry!=DOSFALSE && (o->bits & OTYPE_HIDDEN)==0) { - ead->ed_Next=0; - eadsize = (eadsize + sizeof(APTR) - 1) & ~(sizeof(APTR) - 1); - if(prevead!=0) { - prevead->ed_Next=ead; - } - prevead=ead; - ead=(struct ExAllData *)((UBYTE *)ead+eadsize); - spaceleft-=eadsize; - eac->eac_Entries++; - } - - { - struct fsObjectContainer *oc=cb->data; - UBYTE *endadr; - - o=nextobject(o); - - endadr=(UBYTE *)oc+globals->bytes_block-sizeof(struct fsObject)-2; - - if((UBYTE *)o>=endadr || o->name[0]==0) { - if(oc->be_next!=0) { - if((errorcode=readcachebuffercheck(&cb,BE2L(oc->be_next),OBJECTCONTAINER_ID))==0) { - struct fsObjectContainer *oc=cb->data; - - o=oc->object; - eac->eac_LastKey=BE2L(o->be_objectnode); - } - } - else { - errorcode=ERROR_NO_MORE_ENTRIES; - } - } - else { - eac->eac_LastKey=BE2L(o->be_objectnode); - } - } - } - - if(errorcode!=0) { - returnpacket(DOSFALSE,errorcode); - } - else { - returnpacket(DOSTRUE,0); - } - } - break; - case ACTION_EXAMINE_NEXT: - // _DEBUG(("ACTION_EXAMINE_NEXT(0x%08lx,0x%08lx)\n",BADDR(packet->dp_Arg1),BADDR(packet->dp_Arg2))); + { + struct ExtFileLock *lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + struct GlobalHandle *gh = lock->gh; + ULONG oldpos = lock->offset; + LONG newpos; + LONG errorcode; + + if(globals->packet->dp_Arg3 == OFFSET_BEGINNING) { + newpos = globals->packet->dp_Arg2; + } else if(globals->packet->dp_Arg3 == OFFSET_END) { + newpos = gh->size + globals->packet->dp_Arg2; + } else if(globals->packet->dp_Arg3 == OFFSET_CURRENT) { + newpos = lock->offset + globals->packet->dp_Arg2; + } else { + returnpacket(-1, ERROR_BAD_NUMBER); + break; + } + + if(newpos >= 0 && newpos <= (LONG)gh->size) { + if((ULONG)newpos != oldpos) { + errorcode = seek(lock, newpos); + } else { + errorcode = 0; + } + } else { + errorcode = ERROR_SEEK_ERROR; + } + + if(errorcode == 0) { + returnpacket(oldpos, 0); + } else { + returnpacket(-1, errorcode); + } + } + break; + case ACTION_READ: + _XDEBUG(DEBUG_IO, "ACTION_READ(0x%08lx,0x%08lx,%ld)\n", globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); - /* An entry is added to a directory in the first dir block with - enough space to hold the entry. If there is no space, then - a new block is added at the START of the directory, and the - new entry is added there. + { + struct ExtFileLock *lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + struct GlobalHandle *gh = lock->gh; + UBYTE *buffer = (UBYTE *)globals->packet->dp_Arg2; + ULONG bytesleft; + UBYTE *startofbuf = buffer; + LONG errorcode; + + bytesleft = globals->packet->dp_Arg3; + if(lock->offset + bytesleft > gh->size) { + bytesleft = gh->size - lock->offset; + } + + if((errorcode = seektocurrent(lock)) == 0) { + if((gh->protection & FIBF_READ) != 0) { + struct CacheBuffer *extent_cb; + struct fsExtentBNode *ebn; + + while(bytesleft > 0 && (errorcode = findextentbnode(lock->curextent, &extent_cb, &ebn)) == 0) { + ULONG bytestoread; + ULONG offsetinblock = lock->extentoffset & globals->mask_block; + BLCK ebn_next = BE2L(ebn->be_next); + UWORD ebn_blocks = BE2W(ebn->be_blocks); + + _XDEBUG(DEBUG_IO, "ACTION_READ: buffer = 0x%p bytesleft = %ld, offsetinblock = %ld, ExtentBNode = %ld, ebn->data = %ld, ebn->blocks = %ld\n", + buffer, bytesleft, offsetinblock, lock->curextent, BE2L(ebn->be_key), BE2W(ebn->be_blocks)); + + if(offsetinblock != 0 || bytesleft < globals->bytes_block) { + + // _XDEBUG(DEBUG_IO,"ACTION_READ: nextextentbnode = %ld, extentnodesize = %ld, en->blocks = %ld\n",nextextentbnode,extentnodesize,(ULONG)ebn->blocks); + + bytestoread = globals->bytes_block - offsetinblock; + + /* Check if there are more bytes left in the block then we want to read */ + if(bytestoread > bytesleft) { + bytestoread = bytesleft; + } + + if((errorcode = readbytes(BE2L(ebn->be_key) + (lock->extentoffset >> globals->shifts_block), buffer, offsetinblock, bytestoread)) != 0) { + break; + } + } else { + + bytestoread = (((ULONG)ebn_blocks) << globals->shifts_block) - lock->extentoffset; + + /* Check if there are more bytes left in the Extent then we want to read */ + if(bytestoread > bytesleft) { + bytestoread = bytesleft & ~globals->mask_block; + } + + if((errorcode = read(BE2L(ebn->be_key) + (lock->extentoffset >> globals->shifts_block), buffer, bytestoread >> globals->shifts_block)) != 0) { + break; + } + } + + seekforward(lock, ebn_blocks, ebn_next, bytestoread); + + bytesleft -= bytestoread; + buffer += bytestoread; + + _XDEBUG(DEBUG_IO, "ACTION_READ: bytesleft = %ld, errorcode = %ld\n", bytesleft, errorcode); + } + } else { + errorcode = ERROR_READ_PROTECTED; + } + } + + _XDEBUG(DEBUG_IO, "ACTION_READ: errorcode = %ld, buffer = %ld, startofbuf = %ld\n", errorcode, buffer, startofbuf); + + if(errorcode != 0) { + returnpacket(-1, errorcode); + } else { + returnpacket(buffer - startofbuf, 0); + } + } + break; + case ACTION_WRITE: + _XDEBUG(DEBUG_IO, "ACTION_WRITE(0x%08lx,0x%08lx,%ld)\n", globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); - In the directory block with enough space, the entry is added - at the end of the block. The order of directory entries there - fore is like this (square parenthesis indicate blocks): + { + struct ExtFileLock *lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + ULONG bytestowrite = globals->packet->dp_Arg3; + LONG errorcode = 0; + + do { + struct GlobalHandle *gh = lock->gh; + + /* Save some values in case of an error: */ + + BLCK curextent = lock->curextent; + ULONG extentoffset = lock->extentoffset; + ULONG offset = lock->offset; + ULONG size = gh->size; + ULONG data = gh->data; + + if(bytestowrite != 0) { + newtransaction(); + + if((errorcode = writetofile(lock, (UBYTE *)globals->packet->dp_Arg2, bytestowrite)) == 0) { + endtransaction(); + } else { + lock->curextent = curextent; + lock->extentoffset = extentoffset; + lock->offset = offset; + gh->size = size; + gh->data = data; + + deletetransaction(); + } + } + } while(errorcode == ERROR_DISK_FULL && freeupspace() != FALSE); + + if(errorcode != 0) { + _XDEBUG(DEBUG_IO, "ACTION_WRITE returns (-1, %ld)\n", errorcode); + + returnpacket(-1, errorcode); + } else { + _XDEBUG(DEBUG_IO, "ACTION_WRITE returns (%ld, 0)\n", bytestowrite); + + lock->bits |= EFL_MODIFIED; + returnpacket(bytestowrite, 0); + } + } + break; + case ACTION_FREE_LOCK: + _XDEBUG(DEBUG_LOCK, "ACTION_FREE_LOCK\n"); - [789] [456] [123] + { + LONG errorcode; - This means we should scan the directory in the exact opposite - order to avoid a trap when an entry is overwritten during - directory scanning (MODE_NEW_FILE removes old entry, and adds - a new one). See below: + if((errorcode = freelock((struct ExtFileLock *)BADDR(globals->packet->dp_Arg1))) != 0) { + returnpacket(DOSFALSE, errorcode); + break; + } + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_EXAMINE_ALL: + _DEBUG("ACTION_EXAMINE_ALL\n"); - 1. [123]; scan is at 1 (next = 2); 1 is overwritten. + { + struct ExtFileLock *lock; + struct ExAllData *ead; + struct ExAllData *prevead = NULL; + struct ExAllControl *eac; + struct CacheBuffer *cb; + struct fsObject *o; + ULONG eadsize; + ULONG stringsize; + LONG spaceleft; + LONG errorcode; + + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + ead = (struct ExAllData *)globals->packet->dp_Arg2; + eac = (struct ExAllControl *)globals->packet->dp_Arg5; + spaceleft = (LONG)globals->packet->dp_Arg3; + + eac->eac_Entries = 0; + + if(lock == 0) { + _DEBUG("ACTION_EXAMINE_ALL: Zero lock was passed in...\n"); + + returnpacket(DOSFALSE, ERROR_OBJECT_WRONG_TYPE); + break; + } + + if(globals->packet->dp_Arg4 > ED_OWNER) { + returnpacket(DOSFALSE, ERROR_BAD_NUMBER); + break; + } + if(eac->eac_LastKey == 0) { + if((errorcode = readobject(lock->objectnode, &cb, &o)) == 0) { + if((o->bits & OTYPE_DIR) != 0) { + if(o->object.dir.be_firstdirblock != 0) { + if((errorcode = readcachebuffercheck(&cb, BE2L(o->object.dir.be_firstdirblock), OBJECTCONTAINER_ID)) == 0) { + struct fsObjectContainer *oc = cb->data; + o = oc->object; + eac->eac_LastKey = 0 + BE2L(o->be_objectnode); + } + } else { + errorcode = ERROR_NO_MORE_ENTRIES; + } + } else { + errorcode = ERROR_OBJECT_WRONG_TYPE; + } + } + } else { + ULONG blcknode = (ULONG)eac->eac_LastKey; + if((errorcode = readobject(blcknode, &cb, &o)) == ERROR_IS_SOFT_LINK) { + errorcode = 0; + } + } + + while(errorcode == 0) { + if (!sfsExamineAll(eac, &ead, &prevead, cb, &o, (char *)&o->name[0], &eadsize, &stringsize, &spaceleft, &errorcode)) { + break; + } + } + + if(errorcode != 0) { + returnpacket(DOSFALSE, errorcode); + } else { + returnpacket(DOSTRUE, 0); + } + } + break; + case ACTION_EXAMINE_NEXT: + // _DEBUG("ACTION_EXAMINE_NEXT(0x%08lx,0x%08lx)\n",BADDR(packet->dp_Arg1),BADDR(packet->dp_Arg2)); - 2. [231]; scan is at 2 (next = 3); 2 is overwritten. + /* An entry is added to a directory in the first dir block with + enough space to hold the entry. If there is no space, then + a new block is added at the START of the directory, and the + new entry is added there. - 3. [312]; scan is at 3 (next = 1); 3 is overwritten. + In the directory block with enough space, the entry is added + at the end of the block. The order of directory entries there + fore is like this (square parenthesis indicate blocks): - 4. [123]; same as 1 -> loop! + [789] [456] [123] - By scanning the internals of a dir block backwards the problem - is solved: + This means we should scan the directory in the exact opposite + order to avoid a trap when an entry is overwritten during + directory scanning (MODE_NEW_FILE removes old entry, and adds + a new one). See below: - 1. [123]; scan is at 3 (next = 2); 3 is overwritten. + 1. [123]; scan is at 1 (next = 2); 1 is overwritten. - 2. [123]; scan is at 2 (next = 1); 2 is overwritten. + 2. [231]; scan is at 2 (next = 3); 2 is overwritten. - 3. [132]; scan is at 1 (next = next block); 1 is overwritten. + 3. [312]; scan is at 3 (next = 1); 3 is overwritten. - 4. new block is loaded -> no loop. */ + 4. [123]; same as 1 -> loop! - { - struct ExtFileLock *lock; - struct CacheBuffer *cb; - struct FileInfoBlock *fib=BADDR(globals->packet->dp_Arg2); - LONG errorcode=0; + By scanning the internals of a dir block backwards the problem + is solved: - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + 1. [123]; scan is at 3 (next = 2); 3 is overwritten. - if(lock==0) { - _DEBUG(("ACTION_EXAMINE_NEXT: Zero lock was passed in...\n")); + 2. [123]; scan is at 2 (next = 1); 2 is overwritten. - returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); - break; - } + 3. [132]; scan is at 1 (next = next block); 1 is overwritten. - /* - if(lock->ocblck==0 && lock->ocnode==0) { - _DEBUG(("ACTION_EXAMINE_NEXT: Lock was never passed to EXAMINE_OBJECT or has been re-allocated or the object Examine()d was a file\n")); + 4. new block is loaded -> no loop. */ - returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); - break; - } - */ + { + struct ExtFileLock *lock; + struct CacheBuffer *cb; + struct FileInfoBlock *fib = BADDR(globals->packet->dp_Arg2); + LONG errorcode = 0; - if(lock->currentnode!=0xFFFFFFFF && fib->fib_DiskKey!=lock->currentnode) { - struct fsObject *o; + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - /* It looks like the lock was reallocated! In this case we must rebuild - the state information in the lock. lock->currentnode, lock->nextnode - and lock->nextnodeblock. */ + if(lock == 0) { + _DEBUG("ACTION_EXAMINE_NEXT: Zero lock was passed in...\n"); - if((errorcode=readobject(fib->fib_DiskKey, &cb, &o))==0) { - struct fsObjectContainer *oc=cb->data; + returnpacket(DOSFALSE, ERROR_OBJECT_WRONG_TYPE); + break; + } - lock->currentnode=fib->fib_DiskKey; + /* + if(lock->ocblck==0 && lock->ocnode==0) { + _DEBUG("ACTION_EXAMINE_NEXT: Lock was never passed to EXAMINE_OBJECT or has been re-allocated or the object Examine()d was a file\n"); - if((o=prevobject(o, oc))!=0) { - lock->nextnodeblock=cb->blckno; - lock->nextnode=BE2L(o->be_objectnode); - } - else { - lock->nextnodeblock=BE2L(oc->be_next); - lock->nextnode=0xFFFFFFFF; - } - } - } + returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); + break; + } + */ - if(lock->nextnodeblock==0) { - errorcode=ERROR_NO_MORE_ENTRIES; - } + if(lock->currentnode != 0xFFFFFFFF && fib->fib_DiskKey != lock->currentnode) { + struct fsObject *o; - /* The passed in lock describes a directory. EXAMINE_NEXT should return - this directory's entries one at the time. The lock has state information - which helps determine at which entry we currently are. */ + /* It looks like the lock was reallocated! In this case we must rebuild + the state information in the lock. lock->currentnode, lock->nextnode + and lock->nextnodeblock. */ - while(errorcode==0 && (errorcode=readcachebuffercheck(&cb, lock->nextnodeblock, OBJECTCONTAINER_ID))==0) { - struct fsObjectContainer *oc=cb->data; - struct fsObject *o=0; - UBYTE bits; + if((errorcode = readobject(fib->fib_DiskKey, &cb, &o)) == 0) { + struct fsObjectContainer *oc = cb->data; - if(lock->nextnode!=0xFFFFFFFF) { - /*** It is possible findobject returns 0... */ - o=findobject(oc, lock->nextnode); - } + lock->currentnode = fib->fib_DiskKey; - if(o==0) { - o=lastobject(oc); - } + if((o = prevobject(o, oc)) != 0) { + lock->nextnodeblock = cb->blckno; + lock->nextnode = BE2L(o->be_objectnode); + } else { + lock->nextnodeblock = BE2L(oc->be_next); + lock->nextnode = 0xFFFFFFFF; + } + } + } - bits=o->bits; - fillfib(fib, o); - lock->currentnode=BE2L(o->be_objectnode); + if(lock->nextnodeblock == 0) { + errorcode = ERROR_NO_MORE_ENTRIES; + } - /* prepare for another EXAMINE_NEXT */ + /* The passed in lock describes a directory. EXAMINE_NEXT should return + this directory's entries one at the time. The lock has state information + which helps determine at which entry we currently are. */ + + while(errorcode == 0 && (errorcode = readcachebuffercheck(&cb, lock->nextnodeblock, OBJECTCONTAINER_ID)) == 0) { + struct fsObjectContainer *oc = cb->data; + struct fsObject *o = 0; + UBYTE bits; + + if(lock->nextnode != 0xFFFFFFFF) { + /*** It is possible findobject returns 0... */ + o = findobject(oc, lock->nextnode); + } + + if(o == 0) { + o = lastobject(oc); + } + + bits = o->bits; + fillfib(fib, o); + lock->currentnode = BE2L(o->be_objectnode); + + /* prepare for another EXAMINE_NEXT */ + + /* We need to check if there is another object in this ObjectContainer + following the one we just returned. If there is then return its + node. If there isn't then return the next ObjectContainer ptr and + set ocnode to zero. */ + + if((o = prevobject(o, oc)) != 0) { + /* There IS another object */ + lock->nextnode = BE2L(o->be_objectnode); + } else { + lock->nextnodeblock = BE2L(oc->be_next); + lock->nextnode = 0xFFFFFFFF; + } + + if((bits & OTYPE_HIDDEN) == 0) { + break; + } else if(lock->nextnodeblock == 0) { + errorcode = ERROR_NO_MORE_ENTRIES; + break; + } + } - /* We need to check if there is another object in this ObjectContainer - following the one we just returned. If there is then return its - node. If there isn't then return the next ObjectContainer ptr and - set ocnode to zero. */ + if(errorcode == 0) { + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; +#if 0 + /******** OLD EXAMINE_NEXT CODE! */ + case ACTION_EXAMINE_NEXT: + // _DEBUG("ACTION_EXAMINE_NEXT(0x%08lx,0x%08lx)\n",BADDR(packet->dp_Arg1),BADDR(packet->dp_Arg2)); - if((o=prevobject(o, oc))!=0) { - /* There IS another object */ - lock->nextnode=BE2L(o->be_objectnode); - } - else { - lock->nextnodeblock=BE2L(oc->be_next); - lock->nextnode=0xFFFFFFFF; - } + /* An entry is added to a directory in the first dir block with + enough space to hold the entry. If there is no space, then + a new block is added at the START of the directory, and the + new entry is added there. - if((bits & OTYPE_HIDDEN)==0) { - break; - } - else if(lock->nextnodeblock==0) { - errorcode=ERROR_NO_MORE_ENTRIES; - break; - } - } - - if(errorcode==0) { - returnpacket(DOSTRUE,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } - break; -#if 0 -/******** OLD EXAMINE_NEXT CODE! */ - case ACTION_EXAMINE_NEXT: - // _DEBUG(("ACTION_EXAMINE_NEXT(0x%08lx,0x%08lx)\n",BADDR(packet->dp_Arg1),BADDR(packet->dp_Arg2))); + In the directory block with enough space, the entry is added + at the end of the block. The order of directory entries there + fore is like this (square parenthesis indicate blocks): - /* An entry is added to a directory in the first dir block with - enough space to hold the entry. If there is no space, then - a new block is added at the START of the directory, and the - new entry is added there. + [789] [456] [123] - In the directory block with enough space, the entry is added - at the end of the block. The order of directory entries there - fore is like this (square parenthesis indicate blocks): + This means we should scan the directory in the exact opposite + order to avoid a trap when an entry is overwritten during + directory scanning (MODE_NEW_FILE removes old entry, and adds + a new one). See below: - [789] [456] [123] + 1. [123]; scan is at 1 (next = 2); 1 is overwritten. - This means we should scan the directory in the exact opposite - order to avoid a trap when an entry is overwritten during - directory scanning (MODE_NEW_FILE removes old entry, and adds - a new one). See below: + 2. [231]; scan is at 2 (next = 3); 2 is overwritten. - 1. [123]; scan is at 1 (next = 2); 1 is overwritten. + 3. [312]; scan is at 3 (next = 1); 3 is overwritten. - 2. [231]; scan is at 2 (next = 3); 2 is overwritten. + 4. [123]; same as 1 -> loop! - 3. [312]; scan is at 3 (next = 1); 3 is overwritten. + By scanning the internals of a dir block backwards the problem + is solved: - 4. [123]; same as 1 -> loop! + 1. [123]; scan is at 3 (next = 2); 3 is overwritten. - By scanning the internals of a dir block backwards the problem - is solved: + 2. [123]; scan is at 2 (next = 1); 2 is overwritten. - 1. [123]; scan is at 3 (next = 2); 3 is overwritten. + 3. [132]; scan is at 1 (next = next block); 1 is overwritten. - 2. [123]; scan is at 2 (next = 1); 2 is overwritten. + 4. new block is loaded -> no loop. */ - 3. [132]; scan is at 1 (next = next block); 1 is overwritten. + { + struct ExtFileLock *lock; + struct CacheBuffer *cb; + struct FileInfoBlock *fib = BADDR(packet->dp_Arg2); + LONG errorcode = 0; - 4. new block is loaded -> no loop. */ + lock = (struct ExtFileLock *)BADDR(packet->dp_Arg1); - { - struct ExtFileLock *lock; - struct CacheBuffer *cb; - struct FileInfoBlock *fib=BADDR(packet->dp_Arg2); - LONG errorcode=0; + if(lock == 0) { + _DEBUG("ACTION_EXAMINE_NEXT: Zero lock was passed in...\n"); - lock=(struct ExtFileLock *)BADDR(packet->dp_Arg1); + returnpacket(DOSFALSE, ERROR_OBJECT_WRONG_TYPE); + break; + } - if(lock==0) { - _DEBUG(("ACTION_EXAMINE_NEXT: Zero lock was passed in...\n")); + /* + if(lock->ocblck==0 && lock->ocnode==0) { + _DEBUG("ACTION_EXAMINE_NEXT: Lock was never passed to EXAMINE_OBJECT or has been re-allocated or the object Examine()d was a file\n"); - returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); - break; - } + returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); + break; + } + */ - /* - if(lock->ocblck==0 && lock->ocnode==0) { - _DEBUG(("ACTION_EXAMINE_NEXT: Lock was never passed to EXAMINE_OBJECT or has been re-allocated or the object Examine()d was a file\n")); + if(lock->currentnode != 0xFFFFFFFF && fib->fib_DiskKey != lock->currentnode) { + struct fsObject *o; - returnpacket(DOSFALSE,ERROR_OBJECT_WRONG_TYPE); - break; - } - */ + /* It looks like the lock was reallocated! In this case we must rebuild + the state information in the lock. lock->currentnode, lock->nextnode + and lock->nextnodeblock. */ - if(lock->currentnode!=0xFFFFFFFF && fib->fib_DiskKey!=lock->currentnode) { - struct fsObject *o; + if((errorcode = readobject(fib->fib_DiskKey, &cb, &o)) == 0) { + struct fsObjectContainer *oc = cb->data; - /* It looks like the lock was reallocated! In this case we must rebuild - the state information in the lock. lock->currentnode, lock->nextnode - and lock->nextnodeblock. */ + lock->currentnode = fib->fib_DiskKey; - if((errorcode=readobject(fib->fib_DiskKey, &cb, &o))==0) { - struct fsObjectContainer *oc=cb->data; + o = nextobject(o); - lock->currentnode=fib->fib_DiskKey; + if(isobject(o, oc) != FALSE) { + lock->nextnodeblock = cb->blckno; + lock->nextnode = o->objectnode; + } else { + lock->nextnodeblock = oc->next; + lock->nextnode = 0xFFFFFFFF; + } + } + } - o=nextobject(o); + if(lock->nextnodeblock == 0) { + errorcode = ERROR_NO_MORE_ENTRIES; + } - if(isobject(o,oc)!=FALSE) { - lock->nextnodeblock=cb->blckno; - lock->nextnode=o->objectnode; - } - else { - lock->nextnodeblock=oc->next; - lock->nextnode=0xFFFFFFFF; - } - } - } + /* The passed in lock describes a directory. EXAMINE_NEXT should return + this directory's entries one at the time. The lock has state information + which helps determine at which entry we currently are. */ + + while(errorcode == 0 && (errorcode = readcachebuffercheck(&cb, lock->nextnodeblock, OBJECTCONTAINER_ID)) == 0) { + struct fsObjectContainer *oc = cb->data; + struct fsObject *o = 0; + UBYTE bits; + + if(lock->nextnode != 0xFFFFFFFF) { + /*** It is possible findobject returns 0... */ + o = findobject(oc, lock->nextnode); + } + if(o == 0) { + o = oc->object; + } + + bits = o->bits; + fillfib(fib, o); + lock->currentnode = o->objectnode; + + /* prepare for another EXAMINE_NEXT */ + + /* We need to check if there is another object in this ObjectContainer + following the one we just returned. If there is then return its + node. If there isn't then return the next ObjectContainer ptr and + set ocnode to zero. */ + + o = nextobject(o); + + if(isobject(o, oc) != FALSE) { + /* There IS another object */ + lock->nextnode = o->objectnode; + } else { + lock->nextnodeblock = oc->next; + lock->nextnode = 0xFFFFFFFF; + } + + if((bits & OTYPE_HIDDEN) == 0) { + break; + } else if(lock->nextnodeblock == 0) { + errorcode = ERROR_NO_MORE_ENTRIES; + break; + } + } - if(lock->nextnodeblock==0) { - errorcode=ERROR_NO_MORE_ENTRIES; - } + if(errorcode == 0) { + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; +#endif - /* The passed in lock describes a directory. EXAMINE_NEXT should return - this directory's entries one at the time. The lock has state information - which helps determine at which entry we currently are. */ + case ACTION_EXAMINE_OBJECT: + case ACTION_EXAMINE_FH: + _DEBUG("ACTION_EXAMINE_OBJECT\n"); - while(errorcode==0 && (errorcode=readcachebuffercheck(&cb,lock->nextnodeblock,OBJECTCONTAINER_ID))==0) { - struct fsObjectContainer *oc=cb->data; - struct fsObject *o=0; - UBYTE bits; + { + struct ExtFileLock *lock; + struct CacheBuffer *cb; + struct fsObject *o; + NODE objectnode; + LONG errorcode; + + if(globals->packet->dp_Type == ACTION_EXAMINE_OBJECT) { + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + } else { + lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + } + + if(lock == 0) { + objectnode = ROOTNODE; + } else { + objectnode = lock->objectnode; + } + + errorcode = readobject(objectnode, &cb, &o); + if(errorcode == 0 || errorcode == ERROR_IS_SOFT_LINK) { + fillfib((struct FileInfoBlock *)BADDR(globals->packet->dp_Arg2), o); + + /* prepare for EXAMINE_NEXT */ + if(lock != 0 && (o->bits & OTYPE_DIR) != 0) { + lock->currentnode = 0xFFFFFFFF; + lock->nextnode = 0xFFFFFFFF; + lock->nextnodeblock = BE2L(o->object.dir.be_firstdirblock); + } + + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } - if(lock->nextnode!=0xFFFFFFFF) { - /*** It is possible findobject returns 0... */ - o=findobject(oc,lock->nextnode); - } - if(o==0) { - o=oc->object; - } + break; + case ACTION_INFO: + { + struct ExtFileLock *lock = BADDR(globals->packet->dp_Arg1); + struct InfoData *id = BADDR(globals->packet->dp_Arg2); - bits=o->bits; - fillfib(fib,o); - lock->currentnode=o->objectnode; + //DD(bug("[SFS] ACTION_INFO Global Volumenode = %s (0x%8lx) | Globals Disktype = 0x%8lx | Locklist = %s\n", + // AROS_BSTR_ADDR(globals->volumenode->dl_Name), globals->volumenode, globals->disktype, globals->volumenode->dl_LockList ? "YES":"NO")); - /* prepare for another EXAMINE_NEXT */ + if(lock != 0 && globals->volumenode != (struct DeviceList *)BADDR(lock->volume)) + { + DD(bug("[SFS] ACTION_INFO: returning error\n")); - /* We need to check if there is another object in this ObjectContainer - following the one we just returned. If there is then return its - node. If there isn't then return the next ObjectContainer ptr and - set ocnode to zero. */ + returnpacket(DOSFALSE, ERROR_DEVICE_NOT_MOUNTED); + break; + } - o=nextobject(o); + fillinfodata(id); - if(isobject(o,oc)!=FALSE) { - /* There IS another object */ - lock->nextnode=o->objectnode; - } - else { - lock->nextnodeblock=oc->next; - lock->nextnode=0xFFFFFFFF; - } + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_MORE_CACHE: + _DEBUG("ACTION_MORE_CACHE\n"); - if((bits & OTYPE_HIDDEN)==0) { - break; - } - else if(lock->nextnodeblock==0) { - errorcode=ERROR_NO_MORE_ENTRIES; - break; - } - } - - if(errorcode==0) { - returnpacket(DOSTRUE,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } - break; -#endif + { + LONG errorcode; - case ACTION_EXAMINE_OBJECT: - case ACTION_EXAMINE_FH: - _DEBUG(("ACTION_EXAMINE_OBJECT\n")); + errorcode = addcachebuffers(globals->packet->dp_Arg1); + _DEBUG("ACTION_MORE_CACHE: dp_Arg1 = %ld, totalbuffers = %ld, errorcode = %ld\n", globals->packet->dp_Arg1, globals->totalbuffers, errorcode); - { - struct ExtFileLock *lock; - struct CacheBuffer *cb; - struct fsObject *o; - NODE objectnode; - LONG errorcode; - - if(globals->packet->dp_Type==ACTION_EXAMINE_OBJECT) { - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - } - else { - lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - } - - if(lock==0) { - objectnode=ROOTNODE; - } - else { - objectnode=lock->objectnode; - } - - errorcode=readobject(objectnode,&cb,&o); - if(errorcode==0 || errorcode==ERROR_IS_SOFT_LINK) { - fillfib((struct FileInfoBlock *)BADDR(globals->packet->dp_Arg2),o); - - /* prepare for EXAMINE_NEXT */ - if(lock!=0 && (o->bits & OTYPE_DIR)!=0) { - lock->currentnode=0xFFFFFFFF; - lock->nextnode=0xFFFFFFFF; - lock->nextnodeblock=BE2L(o->object.dir.be_firstdirblock); - } + if(errorcode == 0) { + // returnpacket(DOSTRUE,totalbuffers); - returnpacket(DOSTRUE,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } + returnpacket(globals->totalbuffers, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; + case ACTION_CHANGE_MODE: { + struct ExtFileLock *lock = 0; + LONG errorcode = 0; + + if(globals->packet->dp_Arg1 == CHANGE_FH) { + lock = (struct ExtFileLock *)((struct FileHandle *)(BADDR(globals->packet->dp_Arg2)))->fh_Arg1; + } else if(globals->packet->dp_Arg1 == CHANGE_LOCK) { + lock = BADDR(globals->packet->dp_Arg2); + } - break; - case ACTION_INFO: - _DEBUG(("ACTION_INFO\n")); + if(lock != 0) { + if(lock->access != globals->packet->dp_Arg3) { + if(lock->access != EXCLUSIVE_LOCK) { + /* Convert shared lock into an exclusive lock. We need to check + if there are no locks besides this one, and that we aren't + trying to get an exclusive lock on the root (which is never + allowed). */ + + if(lock->objectnode != ROOTNODE) { + NODE objectnode = lock->objectnode; + + lock->objectnode = 0; /* this makes sure that our lock is not taken into account by lockable() */ + + if(lockable(objectnode, EXCLUSIVE_LOCK) != DOSFALSE) { + /* Lockable says it is possible to lock it exclusively! */ + + lock->access = EXCLUSIVE_LOCK; + } else { + errorcode = ERROR_OBJECT_IN_USE; + } + + lock->objectnode = objectnode; + } else { + errorcode = ERROR_OBJECT_IN_USE; + } + } else { + /* Convert exclusive lock into a shared lock. Should always be + possible. */ + + lock->access = SHARED_LOCK; + } + } + } else { + errorcode = ERROR_OBJECT_WRONG_TYPE; + } - { - struct ExtFileLock *lock=BADDR(globals->packet->dp_Arg1); - struct InfoData *id=BADDR(globals->packet->dp_Arg2); + if(errorcode == 0) { + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; + case ACTION_PARENT: + case ACTION_PARENT_FH: + _DEBUG("ACTION_PARENT\n"); - if(lock!=0 && globals->volumenode!=(struct DeviceList *)BADDR(lock->volume)) { - _DEBUG(("ACTION_INFO: returning error\n")); + { + LONG errorcode; + struct ExtFileLock *lock; + + if(globals->packet->dp_Type == ACTION_PARENT) { + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + } else { + lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + } + + if(lock == 0 || lock->objectnode == ROOTNODE) { + returnpacket(0, 0); + break; + } + + globals->string[0] = '/'; + globals->string[1] = 0; + if((errorcode = lockobject(lock, globals->string, SHARED_LOCK, &lock)) != 0) { + returnpacket(0, errorcode); + } else { + returnpacket((SIPTR)TOBADDR(lock), 0); + } + } + break; + case ACTION_COPY_DIR: + case ACTION_COPY_DIR_FH: + _DEBUG("ACTION_COPY_DIR\n"); - returnpacket(DOSFALSE,ERROR_DEVICE_NOT_MOUNTED); - break; - } - - fillinfodata(id); - - returnpacket(DOSTRUE,0); - } - break; - case ACTION_MORE_CACHE: - _DEBUG(("ACTION_MORE_CACHE\n")); + { + LONG errorcode; + struct ExtFileLock *lock; + + if(globals->packet->dp_Type == ACTION_COPY_DIR) { + lock = (struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); + } else { + lock = (struct ExtFileLock *)globals->packet->dp_Arg1; + } + + _DEBUG("ACTION_COPY_DIR: lock=%p\n", lock); + + if((errorcode = lockobject(lock, "", SHARED_LOCK, &lock)) != 0) { + _DEBUG("ACTION_COPY_DIR: Failed to obtain lock!\n"); + returnpacket(0, errorcode); + } else { + returnpacket((SIPTR)TOBADDR(lock), 0); + } + } + break; + case ACTION_LOCATE_OBJECT: { + struct ExtFileLock *lock; + LONG errorcode; - { - LONG errorcode; - - errorcode=addcachebuffers(globals->packet->dp_Arg1); - _DEBUG(("ACTION_MORE_CACHE: dp_Arg1 = %ld, totalbuffers = %ld, errorcode = %ld\n",globals->packet->dp_Arg1,globals->totalbuffers,errorcode)); - - if(errorcode==0) { - // returnpacket(DOSTRUE,totalbuffers); - - returnpacket(globals->totalbuffers,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } - break; - case ACTION_CHANGE_MODE: - { - struct ExtFileLock *lock=0; - LONG errorcode=0; - - if(globals->packet->dp_Arg1==CHANGE_FH) { - lock=(struct ExtFileLock *)((struct FileHandle *)(BADDR(globals->packet->dp_Arg2)))->fh_Arg1; - } - else if(globals->packet->dp_Arg1==CHANGE_LOCK) { - lock=BADDR(globals->packet->dp_Arg2); - } - - if(lock!=0) { - if(lock->access!=globals->packet->dp_Arg3) { - if(lock->access!=EXCLUSIVE_LOCK) { - /* Convert shared lock into an exclusive lock. We need to check - if there are no locks besides this one, and that we aren't - trying to get an exclusive lock on the root (which is never - allowed). */ - - if(lock->objectnode!=ROOTNODE) { - NODE objectnode=lock->objectnode; - - lock->objectnode=0; /* this makes sure that our lock is not taken into account by lockable() */ - - if(lockable(objectnode,EXCLUSIVE_LOCK)!=DOSFALSE) { - /* Lockable says it is possible to lock it exclusively! */ - - lock->access=EXCLUSIVE_LOCK; - } - else { - errorcode=ERROR_OBJECT_IN_USE; - } - - lock->objectnode=objectnode; - } - else { - errorcode=ERROR_OBJECT_IN_USE; - } - } - else { - /* Convert exclusive lock into a shared lock. Should always be - possible. */ - - lock->access=SHARED_LOCK; - } - } - } - else { - errorcode=ERROR_OBJECT_WRONG_TYPE; - } - - if(errorcode==0) { - returnpacket(DOSTRUE,0); - } - else { - returnpacket(DOSFALSE,errorcode); - } - } - break; - case ACTION_PARENT: - case ACTION_PARENT_FH: - _DEBUG(("ACTION_PARENT\n")); + copybstrasstr((BSTR)globals->packet->dp_Arg2, globals->string, 258); - { - LONG errorcode; - struct ExtFileLock *lock; - - if(globals->packet->dp_Type==ACTION_PARENT) { - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - } - else { - lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - } - - if(lock==0 || lock->objectnode==ROOTNODE) { - returnpacket(0,0); - break; - } - - globals->string[0]='/'; - globals->string[1]=0; - if((errorcode=lockobject(lock,globals->string,SHARED_LOCK,&lock))!=0) { - returnpacket(0,errorcode); - } - else { - returnpacket((SIPTR)TOBADDR(lock),0); - } - } - break; - case ACTION_COPY_DIR: - case ACTION_COPY_DIR_FH: - _DEBUG(("ACTION_COPY_DIR\n")); - - { - LONG errorcode; - struct ExtFileLock *lock; - - if(globals->packet->dp_Type==ACTION_COPY_DIR) { - lock=(struct ExtFileLock *)BADDR(globals->packet->dp_Arg1); - } - else { - lock=(struct ExtFileLock *)globals->packet->dp_Arg1; - } - - _DEBUG(("ACTION_COPY_DIR: lock=%p\n", lock)); - - if((errorcode=lockobject(lock,"",SHARED_LOCK,&lock))!=0) { - _DEBUG(("ACTION_COPY_DIR: Failed to obtain lock!\n")); - returnpacket(0,errorcode); - } - else { - returnpacket((SIPTR)TOBADDR(lock),0); - } - } - break; - case ACTION_LOCATE_OBJECT: - { - struct ExtFileLock *lock; - LONG errorcode; + _XDEBUG(DEBUG_LOCK, "ACTION_LOCATE_OBJECT(0x%08lx,'%s',0x%08lx)\n", BADDR(globals->packet->dp_Arg1), globals->string, globals->packet->dp_Arg3); - copybstrasstr((BSTR)globals->packet->dp_Arg2,globals->string,258); + if((errorcode = lockobject((struct ExtFileLock *)BADDR(globals->packet->dp_Arg1), validatepath(globals->string), globals->packet->dp_Arg3, &lock)) != 0) { + returnpacket(0, errorcode); + } else { + returnpacket((SIPTR)TOBADDR(lock), 0); + } + } + break; + case ACTION_SFS_LOCATE_OBJECT: { + struct CacheBuffer *cb; + struct fsObject *o; + struct ExtFileLock *lock = 0; + LONG errorcode; + + if((errorcode = readobject(globals->packet->dp_Arg1, &cb, &o)) == 0) { + errorcode = lockobject2(o, globals->packet->dp_Arg2, &lock); + } - _XDEBUG((DEBUG_LOCK,"ACTION_LOCATE_OBJECT(0x%08lx,'%s',0x%08lx)\n",BADDR(globals->packet->dp_Arg1),globals->string,globals->packet->dp_Arg3)); + if(errorcode != 0) { + returnpacket(0, errorcode); + } else { + returnpacket((IPTR)lock, 0); + } + } + break; + case ACTION_ADD_NOTIFY: { + struct NotifyRequest *nr; - if((errorcode=lockobject((struct ExtFileLock *)BADDR(globals->packet->dp_Arg1),validatepath(globals->string),globals->packet->dp_Arg3,&lock))!=0) { - returnpacket(0,errorcode); - } - else { - returnpacket((SIPTR)TOBADDR(lock),0); - } - } - break; - case ACTION_SFS_LOCATE_OBJECT: - { - struct CacheBuffer *cb; - struct fsObject *o; - struct ExtFileLock *lock=0; - LONG errorcode; - - if((errorcode=readobject(globals->packet->dp_Arg1, &cb, &o))==0) { - errorcode=lockobject2(o, globals->packet->dp_Arg2, &lock); - } - - if(errorcode!=0) { - returnpacket(0, errorcode); - } - else { - returnpacket((IPTR)lock, 0); - } - } - break; - case ACTION_ADD_NOTIFY: - { - struct NotifyRequest *nr; + nr = (struct NotifyRequest *)globals->packet->dp_Arg1; - nr=(struct NotifyRequest *)globals->packet->dp_Arg1; + nr->nr_Next = (IPTR)globals->notifyrequests; + nr->nr_Prev = 0; + if (globals->notifyrequests) + globals->notifyrequests->nr_Prev = (IPTR)nr; + globals->notifyrequests = nr; - nr->nr_Next = (IPTR)globals->notifyrequests; - nr->nr_Prev = 0; - if (globals->notifyrequests) - globals->notifyrequests->nr_Prev = (IPTR)nr; - globals->notifyrequests = nr; + _DEBUG("ACTION_ADD_NOTIFY: Starting notification on %s (flags 0x%08lx)\n", nr->nr_FullName, nr->nr_Flags); - _DEBUG(("ACTION_ADD_NOTIFY: Starting notification on %s (flags 0x%08lx)\n",nr->nr_FullName,nr->nr_Flags)); + if((nr->nr_Flags & NRF_NOTIFY_INITIAL) != 0) { + notify(nr); + } - if((nr->nr_Flags & NRF_NOTIFY_INITIAL)!=0) { - notify(nr); - } + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_REMOVE_NOTIFY: { + struct NotifyRequest *nr; - returnpacket(DOSTRUE,0); - } - break; - case ACTION_REMOVE_NOTIFY: - { - struct NotifyRequest *nr; + nr = (struct NotifyRequest *)globals->packet->dp_Arg1; - nr=(struct NotifyRequest *)globals->packet->dp_Arg1; + _DEBUG("ACTION_REMOVE_NOTIFY: Removing notification of %s\n", nr->nr_FullName); - _DEBUG(("ACTION_REMOVE_NOTIFY: Removing notification of %s\n",nr->nr_FullName)); + if((nr->nr_Flags & NRF_SEND_MESSAGE) != 0) { + /* Removing all outstanding messages form msgport */ + while(GetMsg(nr->nr_stuff.nr_Msg.nr_Port) != 0) { + } + nr->nr_MsgCount = 0; + } - if((nr->nr_Flags & NRF_SEND_MESSAGE) != 0) { - /* Removing all outstanding messages form msgport */ - while(GetMsg(nr->nr_stuff.nr_Msg.nr_Port)!=0) { - } - nr->nr_MsgCount=0; - } + if(nr->nr_Prev) + ((struct NotifyRequest *)nr->nr_Prev)->nr_Next = nr->nr_Next; + else + globals->notifyrequests = (struct NotifyRequest *)nr->nr_Next; - if(nr->nr_Prev) - ((struct NotifyRequest *)nr->nr_Prev)->nr_Next = nr->nr_Next; - else - globals->notifyrequests = (struct NotifyRequest *)nr->nr_Next; + if (nr->nr_Next) + ((struct NotifyRequest *)nr->nr_Next)->nr_Prev = nr->nr_Prev; - if (nr->nr_Next) - ((struct NotifyRequest *)nr->nr_Next)->nr_Prev = nr->nr_Prev; + nr->nr_Next = 0; + nr->nr_Prev = 0; - nr->nr_Next = 0; - nr->nr_Prev = 0; + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_FLUSH: { + LONG errorcode; - returnpacket(DOSTRUE,0); - } - break; - case ACTION_FLUSH: - { - LONG errorcode; + if((errorcode = flushcaches()) == 0) { + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; + case ACTION_SFS_READ_BITMAP: { + LONG errorcode; - if((errorcode=flushcaches())==0) { - returnpacket(DOSTRUE, 0); - } - else { - returnpacket(DOSFALSE, errorcode); - } - } - break; - case ACTION_SFS_READ_BITMAP: - { - LONG errorcode; + Forbid(); + Permit(); - Forbid(); - Permit(); + errorcode = extractspace((UBYTE *)globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); - errorcode=extractspace((UBYTE *)globals->packet->dp_Arg1, globals->packet->dp_Arg2, globals->packet->dp_Arg3); + returnpacket(errorcode == 0 ? DOSTRUE : DOSFALSE, errorcode); + } + break; + case ACTION_SFS_DEFRAGMENT_INIT: { + globals->block_defragptr = 2; - returnpacket(errorcode==0 ? DOSTRUE : DOSFALSE, errorcode); - } - break; - case ACTION_SFS_DEFRAGMENT_INIT: - { - globals->block_defragptr=2; + returnpacket(DOSTRUE, 0); + } + break; + case ACTION_SFS_DEFRAGMENT_STEP: { + LONG errorcode; - returnpacket(DOSTRUE, 0); - } - break; - case ACTION_SFS_DEFRAGMENT_STEP: - { - LONG errorcode; + globals->defragmentsteps = (ULONG *)globals->packet->dp_Arg1; + globals->defragmentlongs = globals->packet->dp_Arg2 - 2; - globals->defragmentsteps=(ULONG *)globals->packet->dp_Arg1; - globals->defragmentlongs=globals->packet->dp_Arg2 - 2; + if(globals->defragmentsteps != 0) { + *globals->defragmentsteps = 0; + } - if(globals->defragmentsteps!=0) { - *globals->defragmentsteps=0; - } + while((errorcode = flushtransaction()) != 0 && req("Pending buffers couldn't be flushed\nto the disk before defragmentation\nbecause of error %ld.", "Retry|Cancel", errorcode) == 1) { + } - while((errorcode=flushtransaction())!=0 && req("Pending buffers couldn't be flushed\nto the disk before defragmentation\nbecause of error %ld.", "Retry|Cancel", errorcode)==1) { - } + if(errorcode == 0) { - if(errorcode==0) { + newtransaction(); - newtransaction(); + if((errorcode = step()) != 0) { + deletetransaction(); + } else { + endtransaction(); - if((errorcode=step())!=0) { - deletetransaction(); - } - else { - endtransaction(); + while((errorcode = flushtransaction()) != 0 && req("Pending buffers couldn't be flushed\nto the disk during defragmentation\nbecause of error %ld.", "Retry|Cancel", errorcode) == 1) { + } + } + } - while((errorcode=flushtransaction())!=0 && req("Pending buffers couldn't be flushed\nto the disk during defragmentation\nbecause of error %ld.", "Retry|Cancel", errorcode)==1) { - } - } - } + if(errorcode == 0) { + struct DefragmentStep *ds = (struct DefragmentStep *)globals->packet->dp_Arg1; - if(errorcode==0) { - struct DefragmentStep *ds=(struct DefragmentStep *)globals->packet->dp_Arg1; + while(ds->id != 0) { + if(ds->id == AROS_LONG2BE(MAKE_ID('M', 'O', 'V', 'E')) && ds->length == 3) { + updatelocksaftermove(ds->data[1], ds->data[2], ds->data[0]); + } + ds = (struct DefragmentStep *)((ULONG *)ds + 2 + ds->length); + } - while(ds->id!=0) { - if(ds->id==AROS_LONG2BE(MAKE_ID('M','O','V','E')) && ds->length==3) { - updatelocksaftermove(ds->data[1], ds->data[2], ds->data[0]); - } - ds=(struct DefragmentStep *)((ULONG *)ds + 2 + ds->length); + returnpacket(DOSTRUE, 0); + } else { + returnpacket(DOSFALSE, errorcode); + } + } + break; + default: + _DEBUG("ERROR_ACTION_NOT_KNOWN (packettype = %ld)\n", globals->packet->dp_Type); + returnpacket(DOSFALSE, ERROR_ACTION_NOT_KNOWN); + break; + } + } else if(globals->disktype == (ULONG)ID_NO_DISK_PRESENT) { + dumppackets(globals->packet, ERROR_NO_DISK); + } else { + dumppackets(globals->packet, ERROR_NOT_A_DOS_DISK); + } } - - returnpacket(DOSTRUE, 0); - } - else { - returnpacket(DOSFALSE, errorcode); - } + break; } - break; - default: - _DEBUG(("ERROR_ACTION_NOT_KNOWN (packettype = %ld)\n",globals->packet->dp_Type)); - returnpacket(DOSFALSE,ERROR_ACTION_NOT_KNOWN); - break; - } - } - else if(globals->disktype==ID_NO_DISK_PRESENT) { - dumppackets(globals->packet,ERROR_NO_DISK); - } - else { - dumppackets(globals->packet,ERROR_NOT_A_DOS_DISK); } - } - break; - } - } - } while(msg!=0); - } + } while(msg != 0); + } } -static void fillfib(struct FileInfoBlock *fib,struct fsObject *o) -{ - UBYTE *src; - UBYTE *dest; - UBYTE length; - - if (o->be_objectnode==L2BE(ROOTNODE)) { - fib->fib_DirEntryType=ST_ROOT; - fib->fib_Size=BE2L(o->object.file.be_size); - fib->fib_NumBlocks=(BE2L(o->object.file.be_size)+globals->bytes_block-1) >> globals->shifts_block; - } else if((o->bits & OTYPE_LINK)!=0) { - fib->fib_DirEntryType=ST_SOFTLINK; -// fib->fib_DirEntryType=ST_USERDIR; // For compatibility with Diavolo 3.4 -> screw it, DOpus fails... - fib->fib_Size=BE2L(o->object.file.be_size); - fib->fib_NumBlocks=0; - } - else if((o->bits & OTYPE_DIR)==0) { - fib->fib_DirEntryType=ST_FILE; - fib->fib_Size=BE2L(o->object.file.be_size); - fib->fib_NumBlocks=(BE2L(o->object.file.be_size)+globals->bytes_block-1) >> globals->shifts_block; - } - else { - fib->fib_DirEntryType=ST_USERDIR; - fib->fib_Size=0; - fib->fib_NumBlocks=1; - } - fib->fib_Protection=BE2L(o->be_protection)^(FIBF_READ|FIBF_WRITE|FIBF_EXECUTE|FIBF_DELETE); - fib->fib_EntryType=fib->fib_DirEntryType; - fib->fib_DiskKey=BE2L(o->be_objectnode); - fib->fib_OwnerUID=BE2W(o->be_owneruid); - fib->fib_OwnerGID=BE2W(o->be_ownergid); - datetodatestamp(BE2L(o->be_datemodified),&fib->fib_Date); - - src=o->name; - dest = fib->fib_FileName; - dest++; - length=0; - - while(*src!=0) { - *dest++=*src++; - length++; - } - fib->fib_FileName[0]=length; +static void fillfib(struct FileInfoBlock *fib, struct fsObject *o) { + UBYTE *src; + UBYTE *dest; + UBYTE length; + + if (o->be_objectnode == L2BE(ROOTNODE)) { + fib->fib_DirEntryType = ST_ROOT; + fib->fib_Size = BE2L(o->object.file.be_size); + fib->fib_NumBlocks = (BE2L(o->object.file.be_size) + globals->bytes_block - 1) >> globals->shifts_block; + } else if((o->bits & OTYPE_LINK) != 0) { + fib->fib_DirEntryType = ST_SOFTLINK; + // fib->fib_DirEntryType=ST_USERDIR; // For compatibility with Diavolo 3.4 -> screw it, DOpus fails... + fib->fib_Size = BE2L(o->object.file.be_size); + fib->fib_NumBlocks = 0; + } else if((o->bits & OTYPE_DIR) == 0) { + fib->fib_DirEntryType = ST_FILE; + fib->fib_Size = BE2L(o->object.file.be_size); + fib->fib_NumBlocks = (BE2L(o->object.file.be_size) + globals->bytes_block - 1) >> globals->shifts_block; + } else { + fib->fib_DirEntryType = ST_USERDIR; + fib->fib_Size = 0; + fib->fib_NumBlocks = 1; + } + fib->fib_Protection = BE2L(o->be_protection) ^ (FIBF_READ | FIBF_WRITE | FIBF_EXECUTE | FIBF_DELETE); + fib->fib_EntryType = fib->fib_DirEntryType; + fib->fib_DiskKey = BE2L(o->be_objectnode); + fib->fib_OwnerUID = BE2W(o->be_owneruid); + fib->fib_OwnerGID = BE2W(o->be_ownergid); + datetodatestamp(BE2L(o->be_datemodified), &fib->fib_Date); + + src = o->name; + dest = fib->fib_FileName; + dest++; + length = 0; + + while(*src != 0) { + *dest++ = *src++; + length++; + } + fib->fib_FileName[0] = length; - src++; /* comment follows name, so just skip the null-byte seperating them */ + src++; /* comment follows name, so just skip the null-byte seperating them */ - dest = fib->fib_Comment; - dest++; - length=0; + dest = fib->fib_Comment; + dest++; + length = 0; - while(*src!=0) { - *dest++=*src++; - length++; - } - fib->fib_Comment[0]=length; + while(*src != 0) { + *dest++ = *src++; + length++; + } + fib->fib_Comment[0] = length; } static struct DosPacket *getpacket(struct Process *p) { - struct MsgPort *port=&p->pr_MsgPort; /* get port of our process */ - struct Message *msg; + struct MsgPort *port = &p->pr_MsgPort; /* get port of our process */ + struct Message *msg; - if((msg=GetMsg(port))!=0) { - return((struct DosPacket *)msg->mn_Node.ln_Name); - } - else { - return(0); - } + if((msg = GetMsg(port)) != 0) { + return((struct DosPacket *)msg->mn_Node.ln_Name); + } else { + return(0); + } } static struct DosPacket *waitpacket(struct Process *p) { - struct MsgPort *port=&p->pr_MsgPort; /* get port of our process */ - struct Message *msg; + struct MsgPort *port = &p->pr_MsgPort; /* get port of our process */ + struct Message *msg; - WaitPort(port); + WaitPort(port); - msg=GetMsg(port); + msg = GetMsg(port); - return((struct DosPacket *)msg->mn_Node.ln_Name); + return((struct DosPacket *)msg->mn_Node.ln_Name); } -static void returnpacket(SIPTR res1,LONG res2) { - struct Message *msg; - struct MsgPort *replyport; +static void returnpacket(SIPTR res1, SIPTR res2) { + struct Message *msg; + struct MsgPort *replyport; - globals->packet->dp_Res1=res1; /* set return codes */ - globals->packet->dp_Res2=res2; + globals->packet->dp_Res1 = res1; /* set return codes */ + globals->packet->dp_Res2 = res2; - replyport=globals->packet->dp_Port; /* Get ReplyPort */ + replyport = globals->packet->dp_Port; /* Get ReplyPort */ - msg=globals->packet->dp_Link; /* Pointer to the Exec-Message of the packet */ + msg = globals->packet->dp_Link; /* Pointer to the Exec-Message of the packet */ - globals->packet->dp_Port=&globals->mytask->pr_MsgPort; /* Setting Packet-Port back */ + globals->packet->dp_Port = &globals->mytask->pr_MsgPort; /* Setting Packet-Port back */ - msg->mn_Node.ln_Name=(char *)globals->packet; /* Connect Message and Packet */ - msg->mn_Node.ln_Succ=NULL; - msg->mn_Node.ln_Pred=NULL; + msg->mn_Node.ln_Name = (char *)globals->packet; /* Connect Message and Packet */ + msg->mn_Node.ln_Succ = NULL; + msg->mn_Node.ln_Pred = NULL; - PutMsg(replyport,msg); /* Send the Message */ + PutMsg(replyport, msg); /* Send the Message */ } -static void returnpacket2(struct DosPacket *packet, SIPTR res1, LONG res2) -{ - struct Message *msg; - struct MsgPort *replyport; +static void returnpacket2(struct DosPacket *packet, SIPTR res1, SIPTR res2) { + struct Message *msg; + struct MsgPort *replyport; - D(bug("[SFS] Replying, results are %ld/%ld\n", res1, res2)); + //DD(bug("[SFS] Replying, results are %ld/%ld\n", res1, res2)); - packet->dp_Res1=res1; /* set return codes */ - packet->dp_Res2=res2; + packet->dp_Res1 = res1; /* set return codes */ + packet->dp_Res2 = res2; - replyport=packet->dp_Port; /* Get ReplyPort */ + replyport = packet->dp_Port; /* Get ReplyPort */ - msg=packet->dp_Link; /* Pointer to the Exec-Message of the packet */ + msg = packet->dp_Link; /* Pointer to the Exec-Message of the packet */ - packet->dp_Port=&globals->mytask->pr_MsgPort; /* Setting Packet-Port back */ + packet->dp_Port = &globals->mytask->pr_MsgPort; /* Setting Packet-Port back */ - msg->mn_Node.ln_Name=(char *)packet; /* Connect Message and Packet */ - msg->mn_Node.ln_Succ=NULL; - msg->mn_Node.ln_Pred=NULL; + msg->mn_Node.ln_Name = (char *)packet; /* Connect Message and Packet */ + msg->mn_Node.ln_Succ = NULL; + msg->mn_Node.ln_Pred = NULL; - PutMsg(replyport,msg); /* Send the Message */ + PutMsg(replyport, msg); /* Send the Message */ } void starttimeout() { - /* From the AbortIO AutoDocs: - iORequest - pointer to an I/O request block (must have been used - at least once. May be active or finished). */ + /* From the AbortIO AutoDocs: + iORequest - pointer to an I/O request block (must have been used + at least once. May be active or finished). */ - if(globals->pendingchanges==FALSE) { - globals->inactivitytimer_ioreq->tr_time.tv_secs=globals->inactivity_timeout/2; - globals->inactivitytimer_ioreq->tr_time.tv_micro=(globals->inactivity_timeout*500000)%1000000; - globals->inactivitytimer_ioreq->tr_node.io_Command=TR_ADDREQUEST; + if(globals->pendingchanges == FALSE) { + globals->inactivitytimer_ioreq->tr_time.tv_secs = globals->inactivity_timeout / 2; + globals->inactivitytimer_ioreq->tr_time.tv_micro = (globals->inactivity_timeout * 500000) % 1000000; + globals->inactivitytimer_ioreq->tr_node.io_Command = TR_ADDREQUEST; - SendIO(&globals->inactivitytimer_ioreq->tr_node); + SendIO(&globals->inactivitytimer_ioreq->tr_node); - globals->pendingchanges=TRUE; - globals->timerreset=FALSE; - } - else { - globals->timerreset=TRUE; /* Indicates that during the timeout there was another request. */ - } + globals->pendingchanges = TRUE; + globals->timerreset = FALSE; + } else { + globals->timerreset = TRUE; /* Indicates that during the timeout there was another request. */ + } - if(globals->activitytimeractive==FALSE) { - globals->activitytimer_ioreq->tr_time.tv_secs=globals->activity_timeout; - globals->activitytimer_ioreq->tr_time.tv_micro=0; - globals->activitytimer_ioreq->tr_node.io_Command=TR_ADDREQUEST; + if(globals->activitytimeractive == FALSE) { + globals->activitytimer_ioreq->tr_time.tv_secs = globals->activity_timeout; + globals->activitytimer_ioreq->tr_time.tv_micro = 0; + globals->activitytimer_ioreq->tr_node.io_Command = TR_ADDREQUEST; - SendIO(&globals->activitytimer_ioreq->tr_node); + SendIO(&globals->activitytimer_ioreq->tr_node); - globals->activitytimeractive=TRUE; - } + globals->activitytimeractive = TRUE; + } } void stoptimeout(void) { - if(globals->pendingchanges!=FALSE) { - AbortIO(&globals->inactivitytimer_ioreq->tr_node); - WaitIO(&globals->inactivitytimer_ioreq->tr_node); + if(globals->pendingchanges != FALSE) { + AbortIO(&globals->inactivitytimer_ioreq->tr_node); + WaitIO(&globals->inactivitytimer_ioreq->tr_node); - globals->pendingchanges=FALSE; - globals->timerreset=FALSE; - } + globals->pendingchanges = FALSE; + globals->timerreset = FALSE; + } -// if(activitytimeractive!=FALSE) { -// AbortIO(&activitytimer_ioreq->tr_node); -// WaitIO(&activitytimer_ioreq->tr_node); -// -// activitytimeractive=FALSE; -// } + // if(activitytimeractive!=FALSE) { + // AbortIO(&activitytimer_ioreq->tr_node); + // WaitIO(&activitytimer_ioreq->tr_node); + // + // activitytimeractive=FALSE; + // } } LONG flushcaches() { - LONG errorcode; + LONG errorcode; - /* Flushes any pending changes to disk and ask the user what to do when - an error occurs. */ + /* Flushes any pending changes to disk and ask the user what to do when + an error occurs. */ - while((errorcode=flushtransaction())!=0 && req("Pending buffers couldn't be flushed\nto the disk because of error %ld.", "Retry|Cancel", errorcode)==1) { - } + while((errorcode = flushtransaction()) != 0 && req("Pending buffers couldn't be flushed\nto the disk because of error %ld.", "Retry|Cancel", errorcode) == 1) { + } - motoroff(); + motoroff(); - return(errorcode); + return(errorcode); } void invalidatecaches() { - /* Invalidates all caches without flushing. Call flushcaches() - first. */ + /* Invalidates all caches without flushing. Call flushcaches() + first. */ - invalidatecachebuffers(); - invalidateiocaches(); + invalidatecachebuffers(); + invalidateiocaches(); } -LONG readroots(void) -{ - struct CacheBuffer *cb1; - struct CacheBuffer *cb2; - struct fsRootBlock *rb1; - struct fsRootBlock *rb2; - WORD rb1okay=TRUE; - WORD rb2okay=TRUE; - UQUAD first, last; - LONG errorcode; - - if((errorcode=readcachebuffer(&cb1,0))!=0) { - return(errorcode); - } +LONG readroots(void) { + struct CacheBuffer *cb1; + struct CacheBuffer *cb2; + struct fsRootBlock *rb1; + struct fsRootBlock *rb2; + WORD rb1okay = TRUE; + WORD rb2okay = TRUE; + UQUAD first, last; + LONG errorcode; - lockcachebuffer(cb1); + if((errorcode = readcachebuffer(&cb1, 0)) != 0) { + return(errorcode); + } - if((errorcode=readcachebuffer(&cb2,globals->blocks_total-1))!=0) { - unlockcachebuffer(cb1); - return(errorcode); - } + lockcachebuffer(cb1); - unlockcachebuffer(cb1); + if((errorcode = readcachebuffer(&cb2, globals->blocks_total - 1)) != 0) { + unlockcachebuffer(cb1); + return(errorcode); + } - rb1=cb1->data; - rb2=cb2->data; + unlockcachebuffer(cb1); - if(checkchecksum(cb1)==DOSFALSE || rb1->bheader.id!=L2BE(DOSTYPE_ID) || rb1->bheader.be_ownblock!=0) { - _DEBUG(("cb1/rb1 not ok!\n")); - rb1okay=FALSE; - } - - _DEBUG(("checkchecksum(cb1)=%d, rb1->bheader.id=%08x (wanted %08x), rb1->bheader.ownblock=%d\n", - checkchecksum(cb1),BE2L(rb1->bheader.id), DOSTYPE_ID, BE2L(rb1->bheader.be_ownblock) - )); - - if(checkchecksum(cb2)==DOSFALSE || rb2->bheader.id!=L2BE(DOSTYPE_ID) || BE2L(rb2->bheader.be_ownblock)!=BE2L(rb2->be_totalblocks)-1) { - _DEBUG(("cb2/rb2 not ok!\n")); - rb2okay=FALSE; - } + rb1 = cb1->data; + rb2 = cb2->data; - _DEBUG(("checkchecksum(cb2)=%d, rb2->bheader.id=%08x, rb2->bheader.ownblock=%d, rb2->be_totalblocks =%d\n", - checkchecksum(cb2),BE2L(rb2->bheader.id), BE2L(rb2->bheader.be_ownblock), BE2L(rb2->be_totalblocks) - )); + if(checkchecksum(cb1) == DOSFALSE || rb1->bheader.id != L2BE(DOSTYPE_ID) || rb1->bheader.be_ownblock != 0) { + _DEBUG("cb1/rb1 not ok!\n"); + rb1okay = FALSE; + } - if(rb1okay!=FALSE && rb2okay!=FALSE) { - /* Both root blocks look okay. */ + _DEBUG("checkchecksum(cb1)=%d, rb1->bheader.id=%08x (wanted %08x), rb1->bheader.ownblock=%u\n", + checkchecksum(cb1), BE2L(rb1->bheader.id), DOSTYPE_ID, BE2L(rb1->bheader.be_ownblock) + ); - /* - if(rb1->sequencenumber!=rb2->sequencenumber) { - // Sequence numbers differ! + if(checkchecksum(cb2) == DOSFALSE || rb2->bheader.id != L2BE(DOSTYPE_ID) || BE2L(rb2->bheader.be_ownblock) != BE2L(rb2->be_totalblocks) - 1) { + _DEBUG("cb2/rb2 not ok!\n"); + rb2okay = FALSE; } - */ - /* Check sizes stored in rootblock */ - if ((rb1->be_blocksize != L2BE(globals->bytes_block)) || (rb1->be_totalblocks!=L2BE(globals->blocks_total))) - { - _DEBUG(("bad size in rb1!\n")); - return(ERROR_NOT_A_DOS_DISK); - } + _DEBUG("checkchecksum(cb2)=%d, rb2->bheader.id=%08x, rb2->bheader.ownblock=%u, rb2->be_totalblocks =%u\n", + checkchecksum(cb2), BE2L(rb2->bheader.id), BE2L(rb2->bheader.be_ownblock), BE2L(rb2->be_totalblocks) + ); - /* - * Historically SFS rootblock holds absolute start and end positions on the disk in bytes. - * They are used for validation and nothing else. - * However, a situation is possible when for example someone takes an image of SFS partition - * and then tries to mount it. - * In order to make it working we compare lengths, not positions. If length is okay, the rootblock - * is assumed to be okay. - */ - first = ((UQUAD)BE2L(rb1->be_firstbyteh) << 32) | BE2L(rb1->be_firstbyte); - last = ((UQUAD)BE2L(rb1->be_lastbyteh) << 32) | BE2L(rb1->be_lastbyte); - - if (last - first != globals->byte_high - globals->byte_low) - { - _DEBUG(("bad value in rb1!\n")); - return ERROR_NOT_A_DOS_DISK; - } + if(rb1okay != FALSE && rb2okay != FALSE) { + /* Both root blocks look okay. */ - if(rb1->be_version!=BE2W(STRUCTURE_VERSION)) { - /* Different version! */ + /* + if(rb1->sequencenumber!=rb2->sequencenumber) { + // Sequence numbers differ! + } + */ - request(PROGRAMNAME " request","%s\n"\ - "is in a format unsupported by this version\n"\ - "of the filesystem. Please reformat the disk or\n"\ - "install the correct version of this filesystem.", - "Ok",AROS_BSTR_ADDR(globals->devnode->dn_Name)); + /* Check sizes stored in rootblock */ + if ((rb1->be_blocksize != L2BE(globals->bytes_block)) || (rb1->be_totalblocks != L2BE(globals->blocks_total))) { + _DEBUG("bad size in rb1!\n"); + return(ERROR_NOT_A_DOS_DISK); + } - return(ERROR_NOT_A_DOS_DISK); - } + /* + * Historically SFS rootblock holds absolute start and end positions on the disk in bytes. + * They are used for validation and nothing else. + * However, a situation is possible when for example someone takes an image of SFS partition + * and then tries to mount it. + * In order to make it working we compare lengths, not positions. If length is okay, the rootblock + * is assumed to be okay. + */ + first = ((UQUAD)BE2L(rb1->be_firstbyteh) << 32) | BE2L(rb1->be_firstbyte); + last = ((UQUAD)BE2L(rb1->be_lastbyteh) << 32) | BE2L(rb1->be_lastbyte); + + if (last - first != globals->byte_high - globals->byte_low) { + _DEBUG("bad value in rb1!\n"); + return ERROR_NOT_A_DOS_DISK; + } - globals->block_bitmapbase=BE2L(rb1->be_bitmapbase); - globals->block_adminspace=BE2L(rb1->be_adminspacecontainer); - globals->block_root=BE2L(rb1->be_rootobjectcontainer); - globals->block_extentbnoderoot=BE2L(rb1->be_extentbnoderoot); - globals->block_objectnoderoot=BE2L(rb1->be_objectnoderoot); + if(rb1->be_version != BE2W(STRUCTURE_VERSION)) { + /* Different version! */ - if((rb1->bits & ROOTBITS_CASESENSITIVE)!=0) { - globals->is_casesensitive=TRUE; - } - else { - globals->is_casesensitive=FALSE; - } + request(PROGRAMNAME " request", "%s\n"\ + "is in a format unsupported by this version\n"\ + "of the filesystem. Please reformat the disk or\n"\ + "install the correct version of this filesystem.", + "Ok", AROS_BSTR_ADDR(globals->devnode->dn_Name)); - if((rb1->bits & ROOTBITS_RECYCLED)!=0) { - globals->has_recycled=TRUE; - } - else { - globals->has_recycled=FALSE; + return(ERROR_NOT_A_DOS_DISK); + } + + globals->block_bitmapbase = BE2L(rb1->be_bitmapbase); + globals->block_adminspace = BE2L(rb1->be_adminspacecontainer); + globals->block_root = BE2L(rb1->be_rootobjectcontainer); + globals->block_extentbnoderoot = BE2L(rb1->be_extentbnoderoot); + globals->block_objectnoderoot = BE2L(rb1->be_objectnoderoot); + + if((rb1->bits & ROOTBITS_CASESENSITIVE) != 0) { + globals->is_casesensitive = TRUE; + } else { + globals->is_casesensitive = FALSE; + } + + if((rb1->bits & ROOTBITS_RECYCLED) != 0) { + globals->has_recycled = TRUE; + } else { + globals->has_recycled = FALSE; + } + } else { + errorcode = ERROR_NOT_A_DOS_DISK; } - } - else { - errorcode=ERROR_NOT_A_DOS_DISK; - } - return(errorcode); + return(errorcode); } struct DeviceList *usevolumenode(UBYTE *name, ULONG creationdate) { - struct DosList *dol; - struct DeviceList *vn=0; + struct DosList *dol; + struct DeviceList *vn = 0; - /* This function locates the specified volumenode, and if found - uses it for the current volume inserted. If the node is not - found this function returns 0. If the specified volumenode - is found, but is found to be in use, then this function - returns -1. Otherwise the found volumenode is returned. */ + /* This function locates the specified volumenode, and if found + uses it for the current volume inserted. If the node is not + found this function returns 0. If the specified volumenode + is found, but is found to be in use, then this function + returns -1. Otherwise the found volumenode is returned. */ - dol=LockDosList(LDF_READ|LDF_VOLUMES); + dol = LockDosList(LDF_READ | LDF_VOLUMES); - while((dol=FindDosEntry(dol, name, LDF_VOLUMES))!=0) { - if(datestamptodate(&dol->dol_misc.dol_volume.dol_VolumeDate)==creationdate) { // Do volumes have same creation date? - Forbid(); - if(dol->dol_misc.dol_volume.dol_LockList!=0 || ((struct DeviceList *)dol)->dl_unused!=0) { // Is volume not in use? - struct NotifyRequest *nr; - struct ExtFileLock *lock; + while((dol = FindDosEntry(dol, name, LDF_VOLUMES)) != 0) { + if(datestamptodate(&dol->dol_misc.dol_volume.dol_VolumeDate) == creationdate) { // Do volumes have same creation date? + Forbid(); + if(dol->dol_misc.dol_volume.dol_LockList != 0 || ((struct DeviceList *)dol)->dl_unused != 0) { // Is volume not in use? + struct NotifyRequest *nr; + struct ExtFileLock *lock; - /* Volume is not currently in use, so grab locklist & notifyrequests and patch fl_Task fields */ + /* Volume is not currently in use, so grab locklist & notifyrequests and patch fl_Task fields */ - _DEBUG(("usevolumenode: Found DosEntry with same date, and locklist!=0\n")); + DD(bug("[SFS] usevolumenode: Found DosEntry with same date, and locklist!=0\n")); - lock=(struct ExtFileLock *)BADDR(dol->dol_misc.dol_volume.dol_LockList); - nr=(struct NotifyRequest *)BADDR((((struct DeviceList *)dol)->dl_unused)); - dol->dol_misc.dol_volume.dol_LockList=0; - ((struct DeviceList *)dol)->dl_unused=0; + lock = (struct ExtFileLock *)BADDR(dol->dol_misc.dol_volume.dol_LockList); + nr = (struct NotifyRequest *)BADDR((((struct DeviceList *)dol)->dl_unused)); + dol->dol_misc.dol_volume.dol_LockList = 0; + ((struct DeviceList *)dol)->dl_unused = 0; - Permit(); + Permit(); - globals->locklist=lock; - globals->notifyrequests=nr; + globals->locklist = lock; + globals->notifyrequests = nr; + globals->volumenode_inh = 0; - while(lock!=0) { - lock->task=&globals->mytask->pr_MsgPort; - lock=lock->next; - } + while(lock != 0) { + lock->task = &globals->mytask->pr_MsgPort; + lock = lock->next; + } - while(nr!=0) { - nr->nr_Handler=&globals->mytask->pr_MsgPort; - nr = (struct NotifyRequest *)nr->nr_Next; - } + while(nr != 0) { + nr->nr_Handler = &globals->mytask->pr_MsgPort; + nr = (struct NotifyRequest *)nr->nr_Next; + } - vn=(struct DeviceList *)dol; - break; - } - else { - Permit(); + vn = (struct DeviceList *)dol; + break; + } else { + Permit(); - _DEBUG(("usevolumenode: Found DosEntry with same date, but it is in use!\n")); + DD(bug("[SFS] usevolumenode: Found DosEntry with same date, but it is in use!\n")); - vn=(struct DeviceList *)-1; - } + vn = (struct DeviceList *) - 1; + } + } + + /* Volume nodes are of different date, continue search */ + dol = NextDosEntry(dol, LDF_VOLUMES); } - /* Volume nodes are of different date, continue search */ - dol=NextDosEntry(dol, LDF_VOLUMES); - } + UnLockDosList(LDF_READ | LDF_VOLUMES); - UnLockDosList(LDF_READ|LDF_VOLUMES); + //DD(bug("[SFS] usevolumenode | return =0x%8lx\n", vn)); - return(vn); + return(vn); } -LONG initdisk() { +LONG initdisk() +{ - /* This routine is called whenever a disk has changed (via ACTION_INHIBIT or - on startup). The routine scans the disk and initializes the necessary - variables. Steps: + /* This routine is called whenever a disk has changed (via ACTION_INHIBIT or + on startup). The routine scans the disk and initializes the necessary + variables. Steps: + + - Check if the disk is a valid DOS disk + If so, get name and datestamp of the disk + If valid, look for volume node of the same name and datestamp + If so, retrieve locklist from dol_LockList (fix fl_Task fields!) + and use existing volume node. + If not, a new volume node is created. + If the disk carries the same attributes as another ACTIVE volume + the handler ignores the newly inserted volume. + If not valid, R/W error requester -> "NDOS" + If not valid type is "NDOS" - - Check if the disk is a valid DOS disk - If so, get name and datestamp of the disk - If valid, look for volume node of the same name and datestamp - If so, retrieve locklist from dol_LockList (fix fl_Task fields!) - and use existing volume node. - If not, a new volume node is created. - If the disk carries the same attributes as another ACTIVE volume - the handler ignores the newly inserted volume. - If not valid, R/W error requester -> "NDOS" - If not valid type is "NDOS" + */ - */ + changegeometry(globals->dosenvec); - changegeometry(globals->dosenvec); + if(globals->volumenode == 0) + { + struct CacheBuffer *cb; + struct fsObjectContainer *oc = 0; + ULONG newdisktype; + LONG errorcode; - if(globals->volumenode==0) { - struct CacheBuffer *cb; - struct fsObjectContainer *oc=0; - ULONG newdisktype; - LONG errorcode; + globals->diskstate = writeprotection(); - globals->diskstate=writeprotection(); + if((errorcode = readroots()) == 0) + { - if((errorcode=readroots())==0) { + /* Root blocks are valid for this filesystem */ - /* Root blocks are valid for this filesystem */ + DD(bug("[SFS] Initdisk: Root blocks read\n")); - _DEBUG(("Initdisk: Root blocks read\n")); +#ifdef STARTDEBUG + dreq("Root blocks are okay!"); +#endif - #ifdef STARTDEBUG - dreq("Root blocks are okay!"); - #endif + if((errorcode = checkfortransaction()) == 0) + { + DD(bug("[SFS] Initdisk: Checked for an old Transaction and applied it if it was present.\n")); - if((errorcode=checkfortransaction())==0) { + if((errorcode = readcachebuffercheck(&cb, globals->block_root, OBJECTCONTAINER_ID)) == 0) + { + struct fsRootInfo *ri = (struct fsRootInfo *)((UBYTE *)cb->data + globals->bytes_block - sizeof(struct fsRootInfo)); + ULONG blocksfree = 0; - _DEBUG(("Initdisk: Checked for an old Transaction and applied it if it was present.\n")); + lockcachebuffer(cb); + oc = cb->data; - if((errorcode=readcachebuffercheck(&cb,globals->block_root,OBJECTCONTAINER_ID))==0) { - struct fsRootInfo *ri=(struct fsRootInfo *)((UBYTE *)cb->data+globals->bytes_block-sizeof(struct fsRootInfo)); - ULONG blocksfree=0; + DD(bug("[SFS] Initdisk: '%s' was inserted\n", oc->object[0].name)); - lockcachebuffer(cb); - oc=cb->data; + /* ROOT block is valid for this filesystem */ - _DEBUG(("Initdisk: '%s' was inserted\n",oc->object[0].name)); + /* We should count the number of set bits in the bitmap now - /* ROOT block is valid for this filesystem */ + struct CacheBuffer *cb; + struct fsBitmap *b; + BLCK bitmapblock = globals->block_bitmapbase; + UWORD cnt = globals->blocks_bitmap; + WORD n; - /* We should count the number of set bits in the bitmap now */ + while(cnt-- > 0 && (errorcode = readcachebuffercheck(&cb, bitmapblock, BITMAP_ID)) == 0) + { + b = cb->data; - { - struct CacheBuffer *cb; - struct fsBitmap *b; - BLCK bitmapblock=globals->block_bitmapbase; - UWORD cnt=globals->blocks_bitmap; - WORD n; - - while(cnt-->0 && (errorcode=readcachebuffercheck(&cb,bitmapblock,BITMAP_ID))==0) { - b=cb->data; - - for(n=0; n<((globals->bytes_block-sizeof(struct fsBitmap))>>2); n++) { - if(b->bitmap[n]!=0) { - if(b->bitmap[n]==0xFFFFFFFF) { - blocksfree+=32; - } - else { - blocksfree+=bfcnto(b->bitmap[n]); - } - } - } - bitmapblock++; - } - } + for(n = 0; n < ((WORD)((globals->bytes_block - sizeof(struct fsBitmap)) >> 2)); n++) + { + if(b->bitmap[n] != 0) + { + if(b->bitmap[n] == 0xFFFFFFFF) + { + blocksfree += 32; + } else { + blocksfree += bfcnto(b->bitmap[n]); + } + } + } + bitmapblock++; + } - unlockcachebuffer(cb); + unlockcachebuffer(cb); - _DEBUG(("Initdisk: Traversed bitmap, found %ld free blocks\n",blocksfree)); + DD(bug("[SFS] Initdisk: Traversed bitmap, found %ld free blocks\n", blocksfree)); - if(errorcode==0 && BE2L(ri->be_freeblocks)!=blocksfree) { - if(ri->be_freeblocks!=0) { - dreq("The number of free blocks (%ld) is incorrect.\n"\ - "According to the bitmap it should be %ld.\n"\ - "The number of free blocks will now be updated.", BE2L(ri->be_freeblocks), blocksfree); - } + if(errorcode == 0 && BE2L(ri->be_freeblocks) != blocksfree) + { + if(ri->be_freeblocks != 0) + { + dreq("The number of free blocks (%ld) is incorrect.\nAccording to the bitmap it should be %ld.\nThe number of free blocks will now be updated.", + BE2L(ri->be_freeblocks), blocksfree); + } - newtransaction(); + newtransaction(); - preparecachebuffer(cb); + preparecachebuffer(cb); - ri->be_freeblocks=L2BE(blocksfree); + ri->be_freeblocks = L2BE(blocksfree); - if((errorcode=storecachebuffer(cb))==0) { - endtransaction(); - } - else { - deletetransaction(); - } - } + if((errorcode = storecachebuffer(cb)) == 0) { + endtransaction(); + } else { + deletetransaction(); + } + } */ - if(errorcode==0) { - _DEBUG(("Initdisk: A valid DOS disk\n")); + if(errorcode == 0) { + DD(bug("[SFS] Initdisk: A valid DOS disk\n")); - newdisktype = DOSTYPE_ID; + newdisktype = DOSTYPE_ID; - #ifdef STARTDEBUG - dreq("There is a valid SFS disk present!"); - #endif - } - else { +#ifdef STARTDEBUG + dreq("There is a valid SFS disk present!"); +#endif + } else { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; bitmap error."); - #endif +#ifdef STARTDEBUG + dreq("SFS disk is invalid; bitmap error."); +#endif - newdisktype=ID_NOT_REALLY_DOS; - errorcode=ERROR_NOT_A_DOS_DISK; - } - } - else { + DD(bug("[SFS] ERROR: SFS disk is invalid; bitmap error\n")); + newdisktype = ID_NOT_REALLY_DOS; + errorcode = ERROR_NOT_A_DOS_DISK; + } + } else { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; root objectcontainer error."); - #endif +#ifdef STARTDEBUG + dreq("SFS disk is invalid; root objectcontainer error."); +#endif - newdisktype=ID_NOT_REALLY_DOS; - errorcode=ERROR_NOT_A_DOS_DISK; - } - } - else { + DD(bug("[SFS] ERROR: SFS disk is invalid; root objectcontainer error\n")); + newdisktype = ID_NOT_REALLY_DOS; + errorcode = ERROR_NOT_A_DOS_DISK; + } + } else { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; transaction error."); - #endif +#ifdef STARTDEBUG + dreq("SFS disk is invalid; transaction error."); +#endif - newdisktype=ID_NOT_REALLY_DOS; - errorcode=ERROR_NOT_A_DOS_DISK; - } - } - else if(errorcode==INTERR_CHECKSUM_FAILURE || errorcode==ERROR_NOT_A_DOS_DISK) { - newdisktype=ID_NOT_REALLY_DOS; - errorcode=ERROR_NOT_A_DOS_DISK; + DD(bug("[SFS] ERROR: SFS disk is invalid; transaction error\n")); + newdisktype = ID_NOT_REALLY_DOS; + errorcode = ERROR_NOT_A_DOS_DISK; + } + } else if(errorcode == INTERR_CHECKSUM_FAILURE || errorcode == ERROR_NOT_A_DOS_DISK) { + DD(bug("[SFS] ERROR: SFS disk is invalid; checksum failure\n")); + newdisktype = ID_NOT_REALLY_DOS; + errorcode = ERROR_NOT_A_DOS_DISK; - #ifdef STARTDEBUG - dreq("SFS disk is invalid; checksum failure."); - #endif - } - else if(errorcode==INTERR_BLOCK_WRONG_TYPE) { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; wrong block type."); - #endif +#ifdef STARTDEBUG + dreq("SFS disk is invalid; checksum failure."); +#endif + } else if(errorcode == INTERR_BLOCK_WRONG_TYPE) { +#ifdef STARTDEBUG + dreq("SFS disk is invalid; wrong block type."); +#endif - newdisktype=ID_NOT_REALLY_DOS; - errorcode=ERROR_NOT_A_DOS_DISK; - } - else if(errorcode==TDERR_DiskChanged) { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; disk was changed."); - #endif + DD(bug("[SFS] ERROR: FS disk is invalid; wrong block type\n")); + newdisktype = ID_NOT_REALLY_DOS; + errorcode = ERROR_NOT_A_DOS_DISK; + } else if(errorcode == TDERR_DiskChanged) { +#ifdef STARTDEBUG + dreq("SFS disk is invalid; disk was changed."); +#endif - newdisktype=ID_NO_DISK_PRESENT; - errorcode=ERROR_NO_DISK; - } - else { - #ifdef STARTDEBUG - dreq("SFS disk is invalid; unreadable disk."); - #endif + DD(bug("[SFS] ERROR: SFS disk is invalid; disk was changed\n")); + newdisktype = ID_NO_DISK_PRESENT; + errorcode = ERROR_NO_DISK; + } else { +#ifdef STARTDEBUG + dreq("SFS disk is invalid; unreadable disk."); +#endif - newdisktype=ID_UNREADABLE_DISK; - errorcode=ERROR_NOT_A_DOS_DISK; - } + DD(bug("[SFS] ERROR: SFS disk is invalid; unreadable disk\n")); + newdisktype = ID_UNREADABLE_DISK; + errorcode = ERROR_NOT_A_DOS_DISK; + } - if(errorcode==0) { - struct DeviceList *vn; - struct fsRootInfo *ri=(struct fsRootInfo *)((UBYTE *)oc+globals->bytes_block-sizeof(struct fsRootInfo)); + + if(errorcode == 0) + { + struct DeviceList *vn; + struct fsRootInfo *ri = (struct fsRootInfo *)((UBYTE *)oc + globals->bytes_block - sizeof(struct fsRootInfo)); - _DEBUG(("initdisk: Checking for an existing volume-node\n")); + DD(bug("[SFS] Initdisk: Checking for an existing volume-node\n")); - if((vn=usevolumenode(oc->object[0].name, BE2L(ri->be_datecreated)))!=(struct DeviceList *)-1) { - if(vn==0) { - /* VolumeNode was not found, so we need to create a new one. */ + if((vn = usevolumenode(oc->object[0].name, BE2L(ri->be_datecreated))) != (struct DeviceList *) - 1) { + if(vn == 0) + { + // VolumeNode was not found, so we need to create a new one - _DEBUG(("initdisk: No volume-node found, creating new one instead.\n")); + DD(bug("[SFS] Initdisk: No volume-node found, creating new one instead.\n")); - if((vn=(struct DeviceList *)MakeDosEntry(" ",DLT_VOLUME))!=0) { - struct SFSMessage *sfsm; - UBYTE *d2=(UBYTE *)BADDR(vn->dl_Name); -#ifdef AROS_FAST_BSTR - copystr(oc->object[0].name, d2, 30); -#else - UBYTE *d=d2+1; - UBYTE *s=oc->object[0].name; - UBYTE len=0; + if((vn = (struct DeviceList *)MakeDosEntry(" ", DLT_VOLUME)) != 0) + { + struct SFSMessage *sfsm; + UBYTE *d2 = (UBYTE *)BADDR(vn->dl_Name); - while(*s!=0 && len<30) { - *d++=*s++; - len++; - } + UBYTE *d = d2 + 1; + UBYTE *s = oc->object[0].name; + UBYTE len = 0; - *d=0; - *d2=len; -#endif + while(*s != 0 && len < 30) { + *d++ = *s++; + len++; + } - datetodatestamp(BE2L(ri->be_datecreated), &vn->dl_VolumeDate); + *d = 0; + *d2 = len; - _DEBUG(("initdisk: Sending msg.\n")); + datetodatestamp(BE2L(ri->be_datecreated), &vn->dl_VolumeDate); - if((sfsm=AllocVec(sizeof(struct SFSMessage), MEMF_CLEAR))!=0) { - sfsm->command=SFSM_ADD_VOLUMENODE; - sfsm->data=(IPTR)vn; - sfsm->msg.mn_Length=sizeof(struct SFSMessage); + vn->dl_Task = globals->devnode->dn_Task; + vn->dl_DiskType = globals->dosenvec->de_DosType; + globals->volumenode = vn; + + DD(bug("[SFS] Initdisk: NEW VolumeNode Created = 0x%8lx\n", globals->volumenode)); - PutMsg(globals->sdlhport, (struct Message *)sfsm); - } - } - else { - errorcode=ERROR_NO_FREE_STORE; - } - } + DD(bug("[SFS] Initdisk: Sending Message to SFS DosList Handler\n")); + + if((sfsm = AllocVec(sizeof(struct SFSMessage), MEMF_CLEAR)) != 0) + { + sfsm->command = SFSM_ADD_VOLUMENODE; + sfsm->data = (IPTR)vn; + sfsm->msg.mn_Length = sizeof(struct SFSMessage); + + PutMsg(globals->sdlhport, (struct Message *)sfsm); + } - _DEBUG(("initdisk: Using new or old volumenode.\n")); + } else { + errorcode = ERROR_NO_FREE_STORE; + } + } else { + vn->dl_Task = globals->devnode->dn_Task; + vn->dl_DiskType = globals->dosenvec->de_DosType; + globals->volumenode = vn; - if(errorcode==0) { /* Reusing the found VolumeNode or using the new VolumeNode */ - vn->dl_Task=globals->devnode->dn_Task; - vn->dl_DiskType=globals->dosenvec->de_DosType; - globals->volumenode=vn; + DD(bug("[SFS] Initdisk: Existing VolumeNode Used = 0x%8lx\n", globals->volumenode)); + } + } else { // Volume is in use by another handler -- stay off + DD(bug("[SFS] Initdisk: ERROR: Found DosEntry with same date, and locklist==0\n")); + newdisktype = ID_NO_DISK_PRESENT; // Hmmm... EXTREMELY unlikely, but may explain the strange bug Laire had. + errorcode = ERROR_NO_DISK; + // vn=0; + globals->volumenode = 0; + DD(bug("[SFS] Initdisk: ERROR - Volumenode RESET = 0x%8lx\n", globals->volumenode)); + } } - } - else { /* Volume is in use by another handler -- stay off */ - _DEBUG(("Initdisk: Found DosEntry with same date, and locklist==0\n")); - newdisktype=ID_NO_DISK_PRESENT; /* Hmmm... EXTREMELY unlikely, but may explain the strange bug Laire had. */ - errorcode=ERROR_NO_DISK; - // vn=0; - globals->volumenode=0; - } - } - if(errorcode==0) { - diskchangenotify(IECLASS_DISKINSERTED); - } + if(errorcode == 0) { + diskchangenotify(IECLASS_DISKINSERTED); + } - globals->disktype=newdisktype; + DD(bug("[SFS] Initdisk: Updating globals->disktype = DiskType 0x%8lx\n", newdisktype)); + globals->disktype = newdisktype; - return(errorcode); - } - else { - return(0); - } + return(errorcode); + } else { + return(0); + } } static struct DosList *attemptlockdoslist(LONG tries, LONG delay) { - struct DosList *dol; - struct DosPacket *dp; + struct DosList *dol; + struct DosPacket *dp; - for(;;) { - dol=AttemptLockDosList(LDF_WRITE|LDF_VOLUMES); + for(;;) { + dol = AttemptLockDosList(LDF_WRITE | LDF_VOLUMES); - if(((IPTR)dol & ~1)!=0) { - return(dol); - } + if(((IPTR)dol & ~1) != 0) { + return(dol); + } - if(--tries<=0) { - return(0); - } + if(--tries <= 0) { + return(0); + } - if((dp=getpacket(globals->mytask))!=0) { - if(handlesimplepackets(dp)==0) { - dumppackets(dp, ERROR_NOT_A_DOS_DISK); - } - } - else { - Delay(delay); + if((dp = getpacket(globals->mytask)) != 0) { + if(handlesimplepackets(dp) == 0) { + dumppackets(dp, ERROR_NOT_A_DOS_DISK); + } + } else { + Delay(delay); + } } - } } -void removevolumenode(struct DosList *dol, struct DosList *vn) { - while((dol=NextDosEntry(dol, LDF_VOLUMES))!=0) { - if(dol==vn) { - RemDosEntry(dol); - break; +void removevolumenode(struct DosList *dol, struct DosList *vn) +{ + while((dol = NextDosEntry(dol, LDF_VOLUMES)) != 0) { + if(dol == vn) + { + BOOL result; + + DD(bug("[SFS] RemoveVolumeNode: RemDosEntry VolumeNode=0x%8lx | Name=%s | Type=%0x%8lx | Task=%u\n", dol, AROS_BSTR_ADDR(dol->dol_Name), dol->dol_Type, dol->dol_Task)); + result = RemDosEntry(dol); + DD(bug("[SFS] RemoveVolumeNode: RemDosEntry = %s\n", result ? "SUCCESS":"FAILURE")); + break; + } } - } } +static BOOL trydestroyvolumenode(struct DeviceList *argvn) +{ + struct DeviceList **vn = NULL; + + if (argvn == NULL) + { + DD(bug("[SFS] TryDestroyVolumeNode: No Volume to Destroy\n")); + return FALSE; + } + + /* Two cases when volume can be destroyed: + 1) volume is active and there are no locks and no notify requests + 2) volume is offline and there are no locks and no notify requests */ -static void deinitdisk() { - /* This function flushes all caches, and then invalidates them. - If successful, this function then proceeds to either remove - the volumenode, or transfer any outstanding locks/notifies to - it. Finally it notifies the system of the disk removal. */ + DD(bug("[SFS] TryDestroyVolumeNode: volumenode = 0x%x | locklist = 0x%x | notify = 0x%x\n", + (argvn == globals->volumenode) ? "ACTIVE ":"OFFLINE", globals->locklist, globals->notifyrequests)); + DD(bug("[SFS] TryDestroyVolumeNode: volumenode-inh = 0x%x | locklist = 0x%x | notify = 0x%x\n", + (argvn == globals->volumenode_inh) ? "ACTIVE " :"OFFLINE", globals->volumenode_inh->dl_LockList, globals->volumenode_inh->dl_unused)); - _DEBUG(("deinitdisk: entry\n")); + if (argvn == globals->volumenode && globals->locklist == 0 && globals->notifyrequests == 0) + { + vn = &globals->volumenode; + } else { + if (argvn == globals->volumenode_inh && globals->volumenode_inh->dl_LockList == BNULL && globals->volumenode_inh->dl_unused == BNULL) + { + vn = &globals->volumenode_inh; + } + } - flushcaches(); - invalidatecaches(); + /* If VolumeNode must be removed, we first attempt to lock the DosList + synchronously; whether this fails or not, we always send a + removal message to the DosList subtask. */ + if (vn && *vn) + { + struct SFSMessage *sfsm; + struct DosList *dol = attemptlockdoslist(5, 1); - if(globals->volumenode!=0) { + DD(bug("[SFS] TryDestroyVolumeNode: dol = %ld\n", dol)); - /* We first check if the VolumeNode needs to be removed; if not - then we do not lock the DosList and modify some of its fields. - If it must be removed, we first attempt to lock the DosList - synchronously; whether this fails or not, we always send a - removal message to the DosList subtask. */ + if(dol != 0) + { /* Is DosList locked? */ + removevolumenode(dol, (struct DosList *)(*vn)); + UnLockDosList(LDF_WRITE | LDF_VOLUMES); + } - if(globals->locklist!=0 || globals->notifyrequests!=0) { + DD(bug("[SFS] TryDestroyVolumeNode: sending msg\n")); - /* There are locks or notifyrequests, so we cannot kill the volumenode. */ + /* Even if we succesfully locked the DosList, we still should notify + the DosList task to remove the node as well (and to free it), just + in case a VolumeNode Add was still pending. */ + if((sfsm = AllocVec(sizeof(struct SFSMessage), MEMF_CLEAR)) != 0) { + sfsm->command = SFSM_REMOVE_VOLUMENODE; + sfsm->data = (IPTR)(*vn); + sfsm->msg.mn_Length = sizeof(struct SFSMessage); - /* We haven't got the DosList locked here, but I think it is fairly - safe to modify these fields directly. */ + PutMsg(globals->sdlhport, (struct Message *)sfsm); + } - Forbid(); + *vn = 0; /* clear pointer in the globals structure */ - globals->volumenode->dl_Task=0; - globals->volumenode->dl_LockList=MKBADDR(globals->locklist); - globals->volumenode->dl_unused=MKBADDR(globals->notifyrequests); + DD(bug("[SFS] TryDestroyVolumeNode: done\n")); - Permit(); + diskchangenotify(IECLASS_DISKREMOVED); - globals->locklist=0; - globals->notifyrequests=0; + return TRUE; } - else { - struct SFSMessage *sfsm; - struct DosList *dol=attemptlockdoslist(5, 1); - _DEBUG(("deinitdisk: dol = %ld\n", dol)); + DD(bug("[SFS] TryDestroyVolumeNode: ERROR on vn-2\n")); - if(dol!=0) { /* Is DosList locked? */ - removevolumenode(dol, (struct DosList *)globals->volumenode); - UnLockDosList(LDF_WRITE|LDF_VOLUMES); - } + return FALSE; +} - _DEBUG(("deinitdisk: sending msg\n")); +static void deinitdisk() +{ - /* Even if we succesfully locked the DosList, we still should notify - the DosList task to remove the node as well (and to free it), just - in case a VolumeNode Add was still pending. */ + /* This function flushes all caches, and then invalidates them. + If successful, this function then proceeds to either remove + the volumenode, or transfer any outstanding locks/notifies to + it. Finally it notifies the system of the disk removal. */ - if((sfsm=AllocVec(sizeof(struct SFSMessage), MEMF_CLEAR))!=0) { - sfsm->command=SFSM_REMOVE_VOLUMENODE; - sfsm->data=(IPTR)globals->volumenode; - sfsm->msg.mn_Length=sizeof(struct SFSMessage); + DD(bug("[SFS] deinitdisk: entry\n")); - PutMsg(globals->sdlhport, (struct Message *)sfsm); - } - } + flushcaches(); + invalidatecaches(); - _DEBUG(("deinitdisk: done\n")); + if (!trydestroyvolumenode(globals->volumenode) && globals->volumenode != 0) + { + if(globals->locklist != 0 || globals->notifyrequests != 0) + { + /* There are locks or notifyrequests, so we cannot kill the volumenode. */ + /* We haven't got the DosList locked here, but I think it is fairly safe to modify these fields directly. */ - globals->volumenode=0; + Forbid(); - diskchangenotify(IECLASS_DISKREMOVED); - } -} + globals->volumenode->dl_Task = 0; + globals->volumenode->dl_LockList = MKBADDR(globals->locklist); + globals->volumenode->dl_unused = MKBADDR(globals->notifyrequests); + globals->volumenode_inh = globals->volumenode; + + Permit(); + + globals->locklist = 0; + globals->notifyrequests = 0; + + globals->volumenode = 0; + diskchangenotify(IECLASS_DISKREMOVED); + DD(bug("[SFS] deinitdisk: done\n")); + } + } +} LONG handlesimplepackets(struct DosPacket *packet) { - LONG type=packet->dp_Type; /* After returnpacket, packet->dp_Type is invalid! */ + LONG type = packet->dp_Type; /* After returnpacket, packet->dp_Type is invalid! */ + + //DD(bug("[SFS] handlesimplepackets | packet->dp_Type = 0x%8xl\n", type)); + + switch(packet->dp_Type) + { + case ACTION_IS_FILESYSTEM: + returnpacket2(packet, DOSTRUE, 0); + break; + #ifndef __AROS__ + case ACTION_GET_DISK_FSSM: + returnpacket2(packet, (LONG)startupmsg, 0); + break; + case ACTION_FREE_DISK_FSSM: + returnpacket2(packet, DOSTRUE, 0); + break; + #endif + case ACTION_DISK_INFO: + actiondiskinfo(packet); + break; + case ACTION_SAME_LOCK: + actionsamelock(packet); + break; + case ACTION_CURRENT_VOLUME: + actioncurrentvolume(packet); + break; + default: + return(0); + } + + return(type); +} - switch(packet->dp_Type) { - case ACTION_IS_FILESYSTEM: - returnpacket2(packet, DOSTRUE,0); - break; -#ifndef __AROS__ - case ACTION_GET_DISK_FSSM: - returnpacket2(packet, (LONG)startupmsg,0); - break; - case ACTION_FREE_DISK_FSSM: - returnpacket2(packet, DOSTRUE,0); - break; -#endif - case ACTION_DISK_INFO: - actiondiskinfo(packet); - break; - case ACTION_SAME_LOCK: - actionsamelock(packet); - break; - case ACTION_CURRENT_VOLUME: - actioncurrentvolume(packet); - break; - default: - return(0); - } - return(type); -} +static LONG dumppackets(struct DosPacket *packet, LONG returncode) { + LONG type = packet->dp_Type; /* After returnpacket, packet->dp_Type is invalid! */ + /* Routine which returns ERROR_NOT_A_DOS_DISK for all known + packets which cannot be handled under such a situation */ -static LONG dumppackets(struct DosPacket *packet,LONG returncode) { - LONG type=packet->dp_Type; /* After returnpacket, packet->dp_Type is invalid! */ - - /* Routine which returns ERROR_NOT_A_DOS_DISK for all known - packets which cannot be handled under such a situation */ - - switch(type) { - case ACTION_READ: - case ACTION_WRITE: - case ACTION_SEEK: - case ACTION_SET_FILE_SIZE: - returnpacket2(packet, -1,returncode); - break; - case ACTION_CREATE_DIR: - case ACTION_FINDUPDATE: - case ACTION_FINDINPUT: - case ACTION_FINDOUTPUT: - case ACTION_END: - case ACTION_EXAMINE_OBJECT: - case ACTION_EXAMINE_NEXT: - case ACTION_COPY_DIR: - case ACTION_LOCATE_OBJECT: - case ACTION_PARENT: /* till here verified to return 0 on error! */ - case ACTION_LOCK_RECORD: - case ACTION_FREE_RECORD: - case ACTION_FREE_LOCK: - case ACTION_CHANGE_MODE: - case ACTION_FH_FROM_LOCK: - case ACTION_COPY_DIR_FH: - case ACTION_PARENT_FH: - case ACTION_EXAMINE_FH: - case ACTION_EXAMINE_ALL: - case ACTION_DELETE_OBJECT: - case ACTION_RENAME_OBJECT: - case ACTION_MAKE_LINK: - case ACTION_READ_LINK: - case ACTION_SET_COMMENT: - case ACTION_SET_DATE: - case ACTION_SET_PROTECT: - case ACTION_INFO: - case ACTION_RENAME_DISK: - case ACTION_SERIALIZE_DISK: + switch(type) { + case ACTION_READ: + case ACTION_WRITE: + case ACTION_SEEK: + case ACTION_SET_FILE_SIZE: + returnpacket2(packet, -1, returncode); + break; + case ACTION_CREATE_DIR: + case ACTION_FINDUPDATE: + case ACTION_FINDINPUT: + case ACTION_FINDOUTPUT: + case ACTION_END: + case ACTION_EXAMINE_OBJECT: + case ACTION_EXAMINE_NEXT: + case ACTION_COPY_DIR: + case ACTION_LOCATE_OBJECT: + case ACTION_PARENT: /* till here verified to return 0 on error! */ + case ACTION_LOCK_RECORD: + case ACTION_FREE_RECORD: + case ACTION_FREE_LOCK: + case ACTION_CHANGE_MODE: + case ACTION_FH_FROM_LOCK: + case ACTION_COPY_DIR_FH: + case ACTION_PARENT_FH: + case ACTION_EXAMINE_FH: + case ACTION_EXAMINE_ALL: + case ACTION_DELETE_OBJECT: + case ACTION_RENAME_OBJECT: + case ACTION_MAKE_LINK: + case ACTION_READ_LINK: + case ACTION_SET_COMMENT: + case ACTION_SET_DATE: + case ACTION_SET_PROTECT: + case ACTION_INFO: + case ACTION_RENAME_DISK: + case ACTION_SERIALIZE_DISK: #ifndef __AROS__ - case ACTION_GET_DISK_FSSM: + case ACTION_GET_DISK_FSSM: #endif - case ACTION_MORE_CACHE: - case ACTION_WRITE_PROTECT: - case ACTION_ADD_NOTIFY: - case ACTION_REMOVE_NOTIFY: - case ACTION_INHIBIT: /* These packets are only dumped when doslist is locked */ - case ACTION_FORMAT: - returnpacket2(packet, DOSFALSE,returncode); - break; - default: - returnpacket2(packet, DOSFALSE,ERROR_ACTION_NOT_KNOWN); - break; - } + case ACTION_MORE_CACHE: + case ACTION_WRITE_PROTECT: + case ACTION_ADD_NOTIFY: + case ACTION_REMOVE_NOTIFY: + case ACTION_INHIBIT: /* These packets are only dumped when doslist is locked */ + case ACTION_FORMAT: + returnpacket2(packet, DOSFALSE, returncode); + break; + default: + returnpacket2(packet, DOSFALSE, ERROR_ACTION_NOT_KNOWN); + break; + } - return(type); + return(type); } #ifdef DEBUGCODE static void dumppacket() { - struct DosPacket *packet; + struct DosPacket *packet; - /* routine which gets a packet and returns ERROR_NOT_A_DOS_DISK for all - known packets which cannot be executed while we are attempting to access - the doslist. Some packets which don't require disk access will be - handled as normal. */ + /* routine which gets a packet and returns ERROR_NOT_A_DOS_DISK for all + known packets which cannot be executed while we are attempting to access + the doslist. Some packets which don't require disk access will be + handled as normal. */ - packet=waitpacket(globals->mytask); + packet = waitpacket(globals->mytask); - if(handlesimplepackets(packet)==0) { - dumppackets(packet,ERROR_NOT_A_DOS_DISK); - } + if(handlesimplepackets(packet) == 0) { + dumppackets(packet, ERROR_NOT_A_DOS_DISK); + } } #endif static void actioncurrentvolume(struct DosPacket *packet) { - struct ExtFileLock *lock=(struct ExtFileLock *)packet->dp_Arg1; + struct ExtFileLock *lock = (struct ExtFileLock *)packet->dp_Arg1; - _DEBUG(("ACTION_CURRENT_VOLUME(%ld)\n",lock)); + DD(bug("[SFS] ACTION_CURRENT_VOLUME(%ld)\n", lock)); - if(lock==0) { - _DEBUG(("ACTION_CURRENT_VOLUME: volumenode = %ld\n",globals->volumenode)); - returnpacket2(packet, (SIPTR)TOBADDR(globals->volumenode), 0); - } - else { - returnpacket2(packet, (SIPTR)lock->volume,0); - } + if(lock == 0) { + DD(bug("[SFS] mACTION_CURRENT_VOLUME: volumenode = 0x%8lx\n", globals->volumenode)); + returnpacket2(packet, (SIPTR)TOBADDR(globals->volumenode), 0); + } else { + returnpacket2(packet, (SIPTR)lock->volume, 0); + } } static void actionsamelock(struct DosPacket *packet) { - struct ExtFileLock *lock; - struct ExtFileLock *lock2; + struct ExtFileLock *lock; + struct ExtFileLock *lock2; - lock=(struct ExtFileLock *)BADDR(packet->dp_Arg1); - lock2=(struct ExtFileLock *)BADDR(packet->dp_Arg2); - - if(lock->objectnode==lock2->objectnode && lock->task==lock2->task) { - returnpacket2(packet, DOSTRUE,0); - return; - } - returnpacket2(packet, DOSFALSE,0); -} + lock = (struct ExtFileLock *)BADDR(packet->dp_Arg1); + lock2 = (struct ExtFileLock *)BADDR(packet->dp_Arg2); + //DD(bug("[SFS] ACTION_SAME_LOCK(%ld = %ld)\n", lock, lock2)); + if(lock->objectnode == lock2->objectnode && lock->task == lock2->task) { + returnpacket2(packet, DOSTRUE, 0); + return; + } + returnpacket2(packet, DOSFALSE, 0); +} -static void actiondiskinfo(struct DosPacket *packet) { - struct InfoData *id=BADDR(packet->dp_Arg1); - _DEBUG(("ACTION_DISK_INFO\n")); - fillinfodata(id); +static void actiondiskinfo(struct DosPacket *packet) +{ + struct InfoData *id = BADDR(packet->dp_Arg1); - returnpacket2(packet, DOSTRUE,0); + fillinfodata(id); + returnpacket2(packet, DOSTRUE, 0); } -static void fillinfodata(struct InfoData *id) { - ULONG usedblocks; +static void fillinfodata(struct InfoData *id) +{ + ULONG usedblocks; - id->id_NumSoftErrors=globals->numsofterrors; - id->id_UnitNumber=globals->startupmsg->fssm_Unit; - id->id_DiskState=globals->diskstate; - id->id_NumBlocks=globals->blocks_total-globals->blocks_reserved_start-globals->blocks_reserved_end; + id->id_NumSoftErrors = globals->numsofterrors; + id->id_UnitNumber = globals->startupmsg->fssm_Unit; + id->id_DiskState = globals->diskstate; + id->id_NumBlocks = globals->blocks_total - globals->blocks_reserved_start - globals->blocks_reserved_end; - usedblocks=id->id_NumBlocks; + usedblocks = id->id_NumBlocks; - if(globals->disktype == DOSTYPE_ID) { - ULONG deletedfiles, deletedblocks; + if(globals->disktype == DOSTYPE_ID) + { + ULONG deletedfiles, deletedblocks; - getusedblocks(&usedblocks); - if(getrecycledinfo(&deletedfiles, &deletedblocks)==0) { - usedblocks-=deletedblocks; + getusedblocks(&usedblocks); + if(getrecycledinfo(&deletedfiles, &deletedblocks) == 0) + { + usedblocks -= deletedblocks; + } } - } - id->id_NumBlocksUsed=usedblocks; - id->id_BytesPerBlock=globals->bytes_block; - id->id_DiskType=globals->disktype; - - D(kprintf("Filling InfoData structure with a volumenode ptr to address %ld. Disktype = 0x%08lx\n", globals->volumenode, globals->disktype)); + id->id_NumBlocksUsed = usedblocks; + id->id_BytesPerBlock = globals->bytes_block; + id->id_VolumeNode = TOBADDR(globals->volumenode); + + if(globals->disktype == DOSTYPE_ID) + { + id->id_DiskType = 0x444f5300; // HACK: We have to report a known FS to WB or else it will decide to display Ghost Disk icons + id->id_VolumeNode = 0; + } else { + id->id_DiskType = globals->disktype; + } - id->id_VolumeNode=TOBADDR(globals->volumenode); + if(globals->locklist != 0) + { + id->id_InUse = DOSTRUE; + } else { + id->id_InUse = DOSFALSE; + } - _DEBUG(("fillinfodata: volumenode = %ld, disktype = 0x%08lx\n", globals->volumenode, globals->disktype)); + DD(bug("[SFS] fillinfodata: VolumeNode = %12s (0x%8lx) | DiskType = 0x%08lx | DiskState = %d | LockList = %s\n", + AROS_BSTR_ADDR(globals->volumenode->dl_Name), id->id_VolumeNode, id->id_DiskType, id->id_DiskState, (id->id_InUse == DOSTRUE)? "DOSTRUE":"DOSFALSE")); - if(globals->locklist!=0) { - id->id_InUse=DOSTRUE; - } - else { - id->id_InUse=DOSFALSE; - } } -BOOL checkchecksum(struct CacheBuffer *cb) { -#ifdef CHECKCHECKSUMSALWAYS - if(CALCCHECKSUM(globals->bytes_block,cb->data)==0) { -#else - if((cb->bits & CB_CHECKSUM)!=0 || CALCCHECKSUM(globals->bytes_block,cb->data)==0) { // -> copycachebuffer screws this up! -#endif - cb->bits|=CB_CHECKSUM; - return(DOSTRUE); - } - return(DOSFALSE); +BOOL checkchecksum(struct CacheBuffer *cb) +{ +//#ifdef CHECKCHECKSUMSALWAYS +// if(CALCCHECKSUM(globals->bytes_block, cb->data) == 0) +// { +//#else + if((cb->bits & CB_CHECKSUM) != 0 || CALCCHECKSUM(globals->bytes_block, cb->data) == 0) // -> copycachebuffer screws this up! + { +//#endif + cb->bits |= CB_CHECKSUM; + return(DOSTRUE); + } + return(DOSFALSE); } void setchecksum(struct CacheBuffer *cb) { - struct fsBlockHeader *bh=cb->data; + struct fsBlockHeader *bh = cb->data; - bh->be_checksum=0; /* Important! */ - bh->be_checksum=L2BE(-CALCCHECKSUM(globals->bytes_block,cb->data)); + bh->be_checksum = 0; /* Important! */ + bh->be_checksum = L2BE(-CALCCHECKSUM(globals->bytes_block, cb->data)); } -LONG readcachebuffercheck(struct CacheBuffer **returnedcb,ULONG blckno,ULONG type) { - LONG errorcode; - struct fsBlockHeader *bh; - - while((errorcode=readcachebuffer(returnedcb,blckno))==0) { - bh=(*returnedcb)->data; - if(type!=0 && bh->id!=type) { - dumpcachebuffers(); - outputcachebuffer(*returnedcb); - emptycachebuffer(*returnedcb); +LONG readcachebuffercheck(struct CacheBuffer **returnedcb, ULONG blckno, ULONG type) +{ + LONG errorcode; + struct fsBlockHeader *bh; - if(blckno!=0) { - if(request(PROGRAMNAME " request","%s\n"\ - "has a blockid error in block %ld.\n"\ - "Expected was blockid 0x%08lx,\n"\ - "but the block says it is blockid 0x%08lx.", - "Reread|Cancel",AROS_BSTR_ADDR(globals->devnode->dn_Name),blckno,type,bh->id)<=0) { - return(INTERR_BLOCK_WRONG_TYPE); + while((errorcode = readcachebuffer(returnedcb, blckno)) == 0) + { + bh = (*returnedcb)->data; + if(type != 0 && bh->id != type) + { + dumpcachebuffers(); + outputcachebuffer(*returnedcb); + emptycachebuffer(*returnedcb); + + if(blckno != 0) + { + if(request(PROGRAMNAME " request", "%s\n"\ + "has a blockid error in block %ld.\n"\ + "Expected was blockid 0x%08lx,\n"\ + "but the block says it is blockid 0x%08lx.", + "Reread|Cancel", AROS_BSTR_ADDR(globals->devnode->dn_Name), blckno, type, bh->id) <= 0) + { + return(INTERR_BLOCK_WRONG_TYPE); + } + } else { + /* if(request(PROGRAMNAME " request","%s\n"\ + "is not a DOS disk.", + "Retry|Cancel",AROS_BSTR_ADDR(devnode->dn_Name),blckno,type,bh->id)<=0) { + return(INTERR_BLOCK_WRONG_TYPE); + } */ + + return(INTERR_BLOCK_WRONG_TYPE); + } + continue; + } + + if(checkchecksum(*returnedcb) == DOSFALSE) + { + dumpcachebuffers(); + outputcachebuffer(*returnedcb); + emptycachebuffer(*returnedcb); + + if(request(PROGRAMNAME " request", "%s\n"\ + "has a checksum error in block %ld.", + "Reread|Cancel", AROS_BSTR_ADDR(globals->devnode->dn_Name), blckno) <= 0) + { + return(INTERR_CHECKSUM_FAILURE); + } + continue; } - } - else { -/* if(request(PROGRAMNAME " request","%s\n"\ - "is not a DOS disk.", - "Retry|Cancel",AROS_BSTR_ADDR(devnode->dn_Name),blckno,type,bh->id)<=0) { - return(INTERR_BLOCK_WRONG_TYPE); - } */ - return(INTERR_BLOCK_WRONG_TYPE); - } - continue; - } - if(checkchecksum(*returnedcb)==DOSFALSE) { - dumpcachebuffers(); - outputcachebuffer(*returnedcb); - emptycachebuffer(*returnedcb); - - if(request(PROGRAMNAME " request","%s\n"\ - "has a checksum error in block %ld.", - "Reread|Cancel",AROS_BSTR_ADDR(globals->devnode->dn_Name),blckno)<=0) { - return(INTERR_CHECKSUM_FAILURE); - } - continue; - } - if(BE2L(bh->be_ownblock)!=blckno) { - dumpcachebuffers(); - outputcachebuffer(*returnedcb); - emptycachebuffer(*returnedcb); - - if(request(PROGRAMNAME " request","%s\n"\ - "has a block error in block %ld.\n"\ - "Expected was block %ld,\n"\ - "but the block says it is block %ld.", - "Reread|Cancel",AROS_BSTR_ADDR(globals->devnode->dn_Name),blckno,blckno,BE2L(bh->be_ownblock))<=0) { - return(INTERR_OWNBLOCK_WRONG); - } - continue; + if(BE2L(bh->be_ownblock) != blckno) { + dumpcachebuffers(); + outputcachebuffer(*returnedcb); + emptycachebuffer(*returnedcb); + + if(request(PROGRAMNAME " request", "%s\n"\ + "has a block error in block %ld.\n"\ + "Expected was block %ld,\n"\ + "but the block says it is block %ld.", + "Reread|Cancel", AROS_BSTR_ADDR(globals->devnode->dn_Name), blckno, blckno, BE2L(bh->be_ownblock)) <= 0) + { + return(INTERR_OWNBLOCK_WRONG); + } + continue; + } + break; } - break; - } - return(errorcode); + return(errorcode); } @@ -4007,487 +4023,477 @@ Each of these three operations involves one or more of the following: -void fixlocks(struct GlobalHandle *gh,ULONG lastextentkey,ULONG lastextentoffset,ULONG filelength) { - struct ExtFileLock *lock=globals->locklist; +void fixlocks(struct GlobalHandle *gh, ULONG lastextentkey, ULONG lastextentoffset, ULONG filelength) { + struct ExtFileLock *lock = globals->locklist; - while(lock!=0) { - if(lock->gh==gh) { - if(filelength==0) { - lock->offset=0; - lock->extentoffset=0; - lock->curextent=0; - } - else if(lock->offset>filelength) { - /* Hmmm, this lock is positioned beyond the EOF... */ + while(lock != 0) { + if(lock->gh == gh) { + if(filelength == 0) { + lock->offset = 0; + lock->extentoffset = 0; + lock->curextent = 0; + } else if(lock->offset > filelength) { + /* Hmmm, this lock is positioned beyond the EOF... */ - if(lock->offset-lock->extentoffset >= filelength) { - lock->extentoffset=filelength-(lock->offset-lock->extentoffset); - } - else { - lock->extentoffset=filelength-lastextentoffset; - lock->curextent=lastextentkey; + if(lock->offset - lock->extentoffset >= filelength) { + lock->extentoffset = filelength - (lock->offset - lock->extentoffset); + } else { + lock->extentoffset = filelength - lastextentoffset; + lock->curextent = lastextentkey; + } + lock->offset = filelength; + } } - lock->offset=filelength; - } + lock = lock->next; } - lock=lock->next; - } } static LONG extendblocksinfile(struct ExtFileLock *lock, ULONG blocks) { - BLCK lastextentbnode; - LONG errorcode; + BLCK lastextentbnode; + LONG errorcode; - /* This function extends the file identified by the lock with a number - of blocks. Only new Extents will be created -- the size of the file - will not be altered, and changing it is left up to the caller. If - the file did not have any blocks yet, then lock->curextent will be - set to the first (new) ExtentBNode. It's left up up to the caller - to reflect this change in object.file.data. + /* This function extends the file identified by the lock with a number + of blocks. Only new Extents will be created -- the size of the file + will not be altered, and changing it is left up to the caller. If + the file did not have any blocks yet, then lock->curextent will be + set to the first (new) ExtentBNode. It's left up up to the caller + to reflect this change in object.file.data. - This function must be called from within a transaction. */ + This function must be called from within a transaction. */ - _XDEBUG((DEBUG_IO,"extendblocksinfile: Increasing number of blocks by %ld. lock->curextent = %ld\n",blocks,lock->curextent)); + _XDEBUG(DEBUG_IO, "extendblocksinfile: Increasing number of blocks by %ld. lock->curextent = %ld\n", blocks, lock->curextent); - if((errorcode=seektocurrent(lock))==0) { + if((errorcode = seektocurrent(lock)) == 0) { - if((lastextentbnode=lock->curextent)!=0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; + if((lastextentbnode = lock->curextent) != 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - while((errorcode=findextentbnode(lastextentbnode,&cb,&ebn))==0 && BE2L(ebn->be_next)!=0) { - lastextentbnode=BE2L(ebn->be_next); - } - } + while((errorcode = findextentbnode(lastextentbnode, &cb, &ebn)) == 0 && BE2L(ebn->be_next) != 0) { + lastextentbnode = BE2L(ebn->be_next); + } + } - if(errorcode==0) { - struct GlobalHandle *gh=lock->gh; + if(errorcode == 0) { + struct GlobalHandle *gh = lock->gh; - /* We found the last Extent. Now we should see if we can extend it - or if we need to add a new one and attach it to this one. */ + /* We found the last Extent. Now we should see if we can extend it + or if we need to add a new one and attach it to this one. */ - while(blocks!=0) { - struct Space *sl=globals->spacelist; - BLCK searchstart; + while(blocks != 0) { + struct Space *sl = globals->spacelist; + BLCK searchstart; - if(lastextentbnode!=0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; + if(lastextentbnode != 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - if((errorcode=findextentbnode(lastextentbnode,&cb,&ebn))!=0) { - break; - } - searchstart=BE2L(ebn->be_key)+BE2W(ebn->be_blocks); - } - else { - searchstart=globals->block_rovingblockptr; - } + if((errorcode = findextentbnode(lastextentbnode, &cb, &ebn)) != 0) { + break; + } + searchstart = BE2L(ebn->be_key) + BE2W(ebn->be_blocks); + } else { + searchstart = globals->block_rovingblockptr; + } - if((errorcode=smartfindandmarkspace(searchstart,blocks))!=0) { /* only within transaction! */ - _DEBUG(("extendblocksinfile: sfams returned errorcode %ld\n", errorcode)); - break; - } + if((errorcode = smartfindandmarkspace(searchstart, blocks)) != 0) { /* only within transaction! */ + _DEBUG("extendblocksinfile: sfams returned errorcode %ld\n", errorcode); + break; + } - _XDEBUG((DEBUG_IO,"extendblocksinfile: Found some space! blocks = %ld\n",blocks)); + _XDEBUG(DEBUG_IO, "extendblocksinfile: Found some space! blocks = %ld\n", blocks); - while(blocks!=0 && sl->block!=0) { - BLCK newspace=sl->block; - ULONG newspaceblocks; + while(blocks != 0 && sl->block != 0) { + BLCK newspace = sl->block; + ULONG newspaceblocks; - newspaceblocks=sl->blocks > blocks ? blocks : sl->blocks; + newspaceblocks = sl->blocks > blocks ? blocks : sl->blocks; - while(newspaceblocks!=0) { - ULONG extentblocks; + while(newspaceblocks != 0) { + ULONG extentblocks; - extentblocks=newspaceblocks > 8192 ? 8192 : newspaceblocks; + extentblocks = newspaceblocks > 8192 ? 8192 : newspaceblocks; - newspaceblocks-=extentblocks; + newspaceblocks -= extentblocks; - _XDEBUG((DEBUG_IO,"extendblocksinfile: sl->block = %ld, lastextentbnode = %ld, extentblocks = %ld\n",sl->block,lastextentbnode,extentblocks)); + _XDEBUG(DEBUG_IO, "extendblocksinfile: sl->block = %ld, lastextentbnode = %ld, extentblocks = %ld\n", sl->block, lastextentbnode, extentblocks); - if((errorcode=addblocks(extentblocks, newspace, gh->objectnode, &lastextentbnode))!=0) { - _DEBUG(("extendblocksinfile: addblocks returned errorcode %ld\n", errorcode)); - return(errorcode); - } + if((errorcode = addblocks(extentblocks, newspace, gh->objectnode, &lastextentbnode)) != 0) { + _DEBUG("extendblocksinfile: addblocks returned errorcode %ld\n", errorcode); + return(errorcode); + } - if(lock->curextent==0) { - lock->curextent=lastextentbnode; - } + if(lock->curextent == 0) { + lock->curextent = lastextentbnode; + } - lock->lastextendedblock=newspace + extentblocks; + lock->lastextendedblock = newspace + extentblocks; - _XDEBUG((DEBUG_IO,"extendblocksinfile: Done adding or extending an extent -- blocks = %ld, extentblocks = %ld\n",blocks,extentblocks)); + _XDEBUG(DEBUG_IO, "extendblocksinfile: Done adding or extending an extent -- blocks = %ld, extentblocks = %ld\n", blocks, extentblocks); - blocks-=extentblocks; - newspace+=extentblocks; - } - sl++; + blocks -= extentblocks; + newspace += extentblocks; + } + sl++; + } + } } - } } - } - return(errorcode); + return(errorcode); } -LONG truncateblocksinfile(struct ExtFileLock *lock,ULONG blocks,ULONG *lastextentkey,ULONG *lastextentoffset) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - ULONG offset; - ULONG extentoffset; - LONG errorcode; +LONG truncateblocksinfile(struct ExtFileLock *lock, ULONG blocks, ULONG *lastextentkey, ULONG *lastextentoffset) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + ULONG offset; + ULONG extentoffset; + LONG errorcode; - /* Truncates the specified file to /blocks/ blocks. This function does not - take care of setting the filesize. It also doesn't check for any locks - which have a fileptr which is beyond the end of the file after calling - this function. Its sole purpose is to reduce the number of blocks in - the Extent list. */ + /* Truncates the specified file to /blocks/ blocks. This function does not + take care of setting the filesize. It also doesn't check for any locks + which have a fileptr which is beyond the end of the file after calling + this function. Its sole purpose is to reduce the number of blocks in + the Extent list. */ - offset=blocks<shifts_block; + offset = blocks << globals->shifts_block; - _DEBUG(("truncateblocksinfile: truncating file by %ld blocks\n",blocks)); + _DEBUG("truncateblocksinfile: truncating file by %ld blocks\n", blocks); - if((errorcode=seekextent(lock,offset,&cb,&ebn,&extentoffset))==0) { + if((errorcode = seekextent(lock, offset, &cb, &ebn, &extentoffset)) == 0) { - _DEBUG(("truncateblocksinfile: offset = %ld, extentoffset = %ld\n",offset,extentoffset)); + _DEBUG("truncateblocksinfile: offset = %ld, extentoffset = %ld\n", offset, extentoffset); - if(offset-extentoffset==0) { - ULONG prevkey=BE2L(ebn->be_prev); + if(offset - extentoffset == 0) { + ULONG prevkey = BE2L(ebn->be_prev); - _DEBUG(("truncateblocksinfile: prevkey = %ld\n",prevkey)); + _DEBUG("truncateblocksinfile: prevkey = %ld\n", prevkey); - /* Darn. This Extent needs to be killed completely, meaning that we - have to set the Next pointer of the previous Extent to zero. */ + /* Darn. This Extent needs to be killed completely, meaning that we + have to set the Next pointer of the previous Extent to zero. */ - deleteextents(BE2L(ebn->be_key)); + deleteextents(BE2L(ebn->be_key)); - if((prevkey & 0x80000000)==0) { - if((errorcode=findextentbnode(prevkey,&cb,&ebn))==0) { - preparecachebuffer(cb); + if((prevkey & 0x80000000) == 0) { + if((errorcode = findextentbnode(prevkey, &cb, &ebn)) == 0) { + preparecachebuffer(cb); - ebn->be_next=0; + ebn->be_next = 0; - errorcode=storecachebuffer(cb); + errorcode = storecachebuffer(cb); - *lastextentkey=prevkey; - *lastextentoffset=extentoffset-(BE2W(ebn->be_blocks)<shifts_block); - } - } - else { - struct fsObject *o; + *lastextentkey = prevkey; + *lastextentoffset = extentoffset - (BE2W(ebn->be_blocks) << globals->shifts_block); + } + } else { + struct fsObject *o; - if((errorcode=readobject((prevkey & 0x7fffffff), &cb, &o))==0) { - preparecachebuffer(cb); + if((errorcode = readobject((prevkey & 0x7fffffff), &cb, &o)) == 0) { + preparecachebuffer(cb); - _DEBUG(("truncateblocksinfile: cb->blckno = %ld\n",cb->blckno)); + _DEBUG("truncateblocksinfile: cb->blckno = %ld\n", cb->blckno); - o->object.file.be_data=0; - lock->gh->data=0; + o->object.file.be_data = 0; + lock->gh->data = 0; - errorcode=storecachebuffer(cb); + errorcode = storecachebuffer(cb); - *lastextentkey=0; - *lastextentoffset=0; - } - } - } - else { - ULONG newblocks=blocks-(extentoffset>>globals->shifts_block); + *lastextentkey = 0; + *lastextentoffset = 0; + } + } + } else { + ULONG newblocks = blocks - (extentoffset >> globals->shifts_block); - *lastextentkey=BE2L(ebn->be_key); - *lastextentoffset=extentoffset; + *lastextentkey = BE2L(ebn->be_key); + *lastextentoffset = extentoffset; - _DEBUG(("truncateblocksinfile: newblocks = %ld, ebn->blocks = %ld\n",newblocks,BE2W(ebn->be_blocks))); + _DEBUG("truncateblocksinfile: newblocks = %ld, ebn->blocks = %ld\n", newblocks, BE2W(ebn->be_blocks)); - if(newblocks!=BE2W(ebn->be_blocks)) { - /* There is only one case where newblocks could equal en->blocks here, - and that is if we tried to truncate the file to the same number of - blocks the file already had! */ + if(newblocks != BE2W(ebn->be_blocks)) { + /* There is only one case where newblocks could equal en->blocks here, + and that is if we tried to truncate the file to the same number of + blocks the file already had! */ - lockcachebuffer(cb); + lockcachebuffer(cb); - if((errorcode=freespace(BE2L(ebn->be_key)+newblocks,BE2W(ebn->be_blocks)-newblocks))==0) { - BLCK next=BE2L(ebn->be_next); + if((errorcode = freespace(BE2L(ebn->be_key) + newblocks, BE2W(ebn->be_blocks) - newblocks)) == 0) { + BLCK next = BE2L(ebn->be_next); - preparecachebuffer(cb); + preparecachebuffer(cb); - ebn->be_blocks=W2BE(newblocks); - ebn->be_next=0; + ebn->be_blocks = W2BE(newblocks); + ebn->be_next = 0; - if((errorcode=storecachebuffer(cb))==0) { - errorcode=deleteextents(next); // Careful, deleting BNode's may change the location of other BNode's as well! - } - } + if((errorcode = storecachebuffer(cb)) == 0) { + errorcode = deleteextents(next); // Careful, deleting BNode's may change the location of other BNode's as well! + } + } - unlockcachebuffer(cb); - } + unlockcachebuffer(cb); + } + } } - } - return(errorcode); + return(errorcode); } LONG setfilesize(struct ExtFileLock *lock, ULONG bytes) { - struct GlobalHandle *gh=lock->gh; - LONG errorcode=0; + struct GlobalHandle *gh = lock->gh; + LONG errorcode = 0; - /* This function sets the filesize of a file to /bytes/ bytes. If the - file is not yet long enough, additional blocks are allocated and - added to the file. If the file is too long the file will be shortened - and the lost blocks are freed. + /* This function sets the filesize of a file to /bytes/ bytes. If the + file is not yet long enough, additional blocks are allocated and + added to the file. If the file is too long the file will be shortened + and the lost blocks are freed. - Any filehandles using this file are set to the EOF if their current - position would be beyond the new EOF when truncating the file. + Any filehandles using this file are set to the EOF if their current + position would be beyond the new EOF when truncating the file. - In any other case the position of the file ptr is not altered. */ + In any other case the position of the file ptr is not altered. */ - _DEBUG(("setfilesize: gh = 0x%08lx. Setting to %ld bytes. Current size is %ld bytes.\n",gh,bytes,gh->size)); + _DEBUG("setfilesize: gh = 0x%08lx. Setting to %ld bytes. Current size is %ld bytes.\n", gh, bytes, gh->size); - if(bytes!=gh->size) { - LONG blocksdiff; - LONG curblocks; + if(bytes != gh->size) { + LONG blocksdiff; + LONG curblocks; - curblocks=(gh->size+globals->bytes_block-1)>>globals->shifts_block; - blocksdiff=((bytes+globals->bytes_block-1)>>globals->shifts_block) - curblocks; + curblocks = (gh->size + globals->bytes_block - 1) >> globals->shifts_block; + blocksdiff = ((bytes + globals->bytes_block - 1) >> globals->shifts_block) - curblocks; - _DEBUG(("setfilesize: blocksdiff = %ld\n",blocksdiff)); + _DEBUG("setfilesize: blocksdiff = %ld\n", blocksdiff); - if(blocksdiff>0) { + if(blocksdiff > 0) { - newtransaction(); + newtransaction(); - if((errorcode=extendblocksinfile(lock, blocksdiff))==0) { - struct CacheBuffer *cb; - struct fsObject *o; + if((errorcode = extendblocksinfile(lock, blocksdiff)) == 0) { + struct CacheBuffer *cb; + struct fsObject *o; - /* File (now) has right amount of blocks, only exact size in bytes may differ */ + /* File (now) has right amount of blocks, only exact size in bytes may differ */ - if((errorcode=readobject(gh->objectnode, &cb, &o))==0) { - preparecachebuffer(cb); + if((errorcode = readobject(gh->objectnode, &cb, &o)) == 0) { + preparecachebuffer(cb); - o->object.file.be_size=L2BE(bytes); - if(o->object.file.be_data==0) { - o->object.file.be_data=L2BE(lock->curextent); - } + o->object.file.be_size = L2BE(bytes); + if(o->object.file.be_data == 0) { + o->object.file.be_data = L2BE(lock->curextent); + } - errorcode=storecachebuffer(cb); - } - } + errorcode = storecachebuffer(cb); + } + } - if(errorcode==0) { - endtransaction(); - gh->size=bytes; - if(gh->data==0) { - gh->data=lock->curextent; - } - } - else { - deletetransaction(); - } - } - else { - ULONG lastextentkey=0; - ULONG lastextentoffset=0; + if(errorcode == 0) { + endtransaction(); + gh->size = bytes; + if(gh->data == 0) { + gh->data = lock->curextent; + } + } else { + deletetransaction(); + } + } else { + ULONG lastextentkey = 0; + ULONG lastextentoffset = 0; - newtransaction(); + newtransaction(); - if(blocksdiff<0) { - /* File needs to be shortened by -/blocksdiff/ blocks. */ + if(blocksdiff < 0) { + /* File needs to be shortened by -/blocksdiff/ blocks. */ - _DEBUG(("setfilesize: Decreasing number of blocks\n")); + _DEBUG("setfilesize: Decreasing number of blocks\n"); - errorcode=truncateblocksinfile(lock,curblocks+blocksdiff,&lastextentkey,&lastextentoffset); - } + errorcode = truncateblocksinfile(lock, curblocks + blocksdiff, &lastextentkey, &lastextentoffset); + } - _DEBUG(("setfilesize: lastextentkey = %ld, lastextentoffset = %ld\n",lastextentkey,lastextentoffset)); + _DEBUG("setfilesize: lastextentkey = %ld, lastextentoffset = %ld\n", lastextentkey, lastextentoffset); - if(errorcode==0) { - struct CacheBuffer *cb; - struct fsObject *o; + if(errorcode == 0) { + struct CacheBuffer *cb; + struct fsObject *o; - /* File (now) has right amount of blocks, only exact size in bytes may differ */ + /* File (now) has right amount of blocks, only exact size in bytes may differ */ - if((errorcode=readobject(gh->objectnode,&cb,&o))==0) { - preparecachebuffer(cb); + if((errorcode = readobject(gh->objectnode, &cb, &o)) == 0) { + preparecachebuffer(cb); - _DEBUG(("setfilesize: gh->objectnode = %ld, cb->blcno = %ld\n",gh->objectnode,cb->blckno)); + _DEBUG("setfilesize: gh->objectnode = %ld, cb->blcno = %ld\n", gh->objectnode, cb->blckno); - o->object.file.be_size=L2BE(bytes); + o->object.file.be_size = L2BE(bytes); - errorcode=storecachebuffer(cb); - } - } + errorcode = storecachebuffer(cb); + } + } - if(errorcode==0) { - endtransaction(); - gh->size=bytes; + if(errorcode == 0) { + endtransaction(); + gh->size = bytes; - fixlocks(gh,lastextentkey,lastextentoffset,bytes); - } - else { - deletetransaction(); - } - } + fixlocks(gh, lastextentkey, lastextentoffset, bytes); + } else { + deletetransaction(); + } + } - if(errorcode==0) { - lock->bits|=EFL_MODIFIED; + if(errorcode == 0) { + lock->bits |= EFL_MODIFIED; + } } - } - return(errorcode); + return(errorcode); } void seekforward(struct ExtFileLock *lock, UWORD ebn_blocks, BLCK ebn_next, ULONG bytestoseek) { - /* This function does a simple forward seek. It assumes /bytestoseek/ is - only large enough to skip within the current extent or to the very - beginning of the next extent. */ + /* This function does a simple forward seek. It assumes /bytestoseek/ is + only large enough to skip within the current extent or to the very + beginning of the next extent. */ - lock->offset+=bytestoseek; - lock->extentoffset+=bytestoseek; - if(lock->extentoffset >= ebn_blocks<shifts_block && ebn_next!=0) { - lock->extentoffset=0; - lock->curextent=ebn_next; - } + lock->offset += bytestoseek; + lock->extentoffset += bytestoseek; + if(lock->extentoffset >= (ULONG)ebn_blocks << globals->shifts_block && ebn_next != 0) { + lock->extentoffset = 0; + lock->curextent = ebn_next; + } } LONG seektocurrent(struct ExtFileLock *lock) { - LONG errorcode=0; - - /* This function checks if the currentextent is still valid. If not, - it will attempt to locate the currentextent. */ - - if(lock->curextent==0) { - - /* lock->curextent==0 can indicate 2 things: - - - A previously empty file was extended by another handle; in this - case the file-ptr (lock->offset) of this handle is still zero. - - - The extent has been moved by the defragmenter, and will have to - be re-located. In this case the file-ptr doesn't have to be - zero. */ - - if(lock->offset==0) { - lock->curextent=lock->gh->data; - } - else { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - ULONG extentoffset; + LONG errorcode = 0; - if((errorcode=seekextent(lock, lock->offset, &cb, &ebn, &extentoffset))==0) { - lock->curextent=BE2L(ebn->be_key); - lock->extentoffset=lock->offset - extentoffset; - } + /* This function checks if the currentextent is still valid. If not, + it will attempt to locate the currentextent. */ + + if(lock->curextent == 0) { + + /* lock->curextent==0 can indicate 2 things: + + - A previously empty file was extended by another handle; in this + case the file-ptr (lock->offset) of this handle is still zero. + + - The extent has been moved by the defragmenter, and will have to + be re-located. In this case the file-ptr doesn't have to be + zero. */ + + if(lock->offset == 0) { + lock->curextent = lock->gh->data; + } else { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + ULONG extentoffset; + + if((errorcode = seekextent(lock, lock->offset, &cb, &ebn, &extentoffset)) == 0) { + lock->curextent = BE2L(ebn->be_key); + lock->extentoffset = lock->offset - extentoffset; + } + } } - } - - return(errorcode); + + return(errorcode); } - - -static LONG seek(struct ExtFileLock *lock,ULONG offset) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - ULONG extentoffset; - LONG errorcode; - - /* This function moves the file-ptr to the specified absolute file - position. It will return an error if you try to seek beyond the - end of the file. */ - - _XDEBUG((DEBUG_SEEK,"seek: Attempting to seek to %ld\n",offset)); - - if((errorcode=seekextent(lock,offset,&cb,&ebn,&extentoffset))==0) { - lock->curextent=BE2L(ebn->be_key); - lock->extentoffset=offset-extentoffset; - lock->offset=offset; - - _XDEBUG((DEBUG_SEEK,"seek: lock->curextent = %ld, lock->extentoffset = %ld, lock->offset = %ld\n",lock->curextent,lock->extentoffset,lock->offset)); - } - _XDEBUG((DEBUG_SEEK,"seek: Exiting with errorcode %ld\n",errorcode)); - return(errorcode); +static LONG seek(struct ExtFileLock *lock, ULONG offset) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + ULONG extentoffset; + LONG errorcode; + + /* This function moves the file-ptr to the specified absolute file + position. It will return an error if you try to seek beyond the + end of the file. */ + + _XDEBUG(DEBUG_SEEK, "seek: Attempting to seek to %ld\n", offset); + + if((errorcode = seekextent(lock, offset, &cb, &ebn, &extentoffset)) == 0) { + lock->curextent = BE2L(ebn->be_key); + lock->extentoffset = offset - extentoffset; + lock->offset = offset; + + _XDEBUG(DEBUG_SEEK, "seek: lock->curextent = %ld, lock->extentoffset = %ld, lock->offset = %ld\n", lock->curextent, lock->extentoffset, lock->offset); + } + + _XDEBUG(DEBUG_SEEK, "seek: Exiting with errorcode %ld\n", errorcode); + + return(errorcode); } - - - + + + LONG deleteextents(ULONG key) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode=0; - - /* Deletes an fsExtentBNode structure by key and any fsExtentBNodes linked to it. - This function DOES NOT fix the next pointer in a possible fsExtentBNode which - might have been pointing to the first BNode we are deleting. Make sure you check - this yourself, if needed. - - If key is zero, than this function does nothing. - - newtransaction() should have been called prior to calling this function. */ - - _XDEBUG((DEBUG_NODES,"deleteextents: Entry -- deleting extents from key %ld\n",key)); - - - while(key!=0 && (errorcode=findbnode(globals->block_extentbnoderoot,key,&cb,(struct BNode **)&ebn))==0) { - /* node to be deleted located. */ - - // _XDEBUG((DDEBUG_NODES,"deleteextents: Now deleting key %ld. Next key is %ld\n",key,ebn->next)); - - key=BE2L(ebn->be_next); - - lockcachebuffer(cb); /* Makes sure freespace() doesn't reuse this cachebuffer */ - - if((errorcode=freespace(BE2L(ebn->be_key), BE2W(ebn->be_blocks)))==0) { - unlockcachebuffer(cb); - - // _XDEBUG((DDEBUG_NODES,"deleteextents: deletebnode from root %ld, with key %ld\n",block_extentbnoderoot,ebn->key)); - - if((errorcode=deletebnode(globals->block_extentbnoderoot,BE2L(ebn->be_key)))!=0) { /*** Maybe use deleteinternalnode here??? */ - break; - } - } - else { - unlockcachebuffer(cb); - break; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode = 0; + + /* Deletes an fsExtentBNode structure by key and any fsExtentBNodes linked to it. + This function DOES NOT fix the next pointer in a possible fsExtentBNode which + might have been pointing to the first BNode we are deleting. Make sure you check + this yourself, if needed. + + If key is zero, than this function does nothing. + + newtransaction() should have been called prior to calling this function. */ + + _XDEBUG(DEBUG_NODES, "deleteextents: Entry -- deleting extents from key %ld\n", key); + + + while(key != 0 && (errorcode = findbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn)) == 0) { + /* node to be deleted located. */ + + // _XDEBUG(DDEBUG_NODES,"deleteextents: Now deleting key %ld. Next key is %ld\n",key,ebn->next); + + key = BE2L(ebn->be_next); + + lockcachebuffer(cb); /* Makes sure freespace() doesn't reuse this cachebuffer */ + + if((errorcode = freespace(BE2L(ebn->be_key), BE2W(ebn->be_blocks))) == 0) { + unlockcachebuffer(cb); + + // _XDEBUG(DDEBUG_NODES,"deleteextents: deletebnode from root %ld, with key %ld\n",block_extentbnoderoot,ebn->key); + + if((errorcode = deletebnode(globals->block_extentbnoderoot, BE2L(ebn->be_key))) != 0) { /*** Maybe use deleteinternalnode here??? */ + break; + } + } else { + unlockcachebuffer(cb); + break; + } } - } - - // _XDEBUG((DEBUG_NODES,"deleteextents: Exiting with errorcode %ld\n",errorcode)); - - return(errorcode); + + // _XDEBUG(DEBUG_NODES,"deleteextents: Exiting with errorcode %ld\n",errorcode); + + return(errorcode); } - - - -static LONG findextentbnode(ULONG key,struct CacheBuffer **returned_cb,struct fsExtentBNode **returned_bnode) { - LONG errorcode; - - errorcode=findbnode(globals->block_extentbnoderoot,key,returned_cb,(struct BNode **)returned_bnode); - - #ifdef CHECKCODE_BNODES - if(*returned_bnode==0 || BE2L((*returned_bnode)->be_key)!=key) { - dreq("findextentbnode: findbnode() can't find key %ld!",key); - outputcachebuffer(*returned_cb); - return(INTERR_BTREE); + + + +static LONG findextentbnode(ULONG key, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_bnode) { + LONG errorcode; + + errorcode = findbnode(globals->block_extentbnoderoot, key, returned_cb, (struct BNode **)returned_bnode); + +#ifdef CHECKCODE_BNODES + if(*returned_bnode == 0 || BE2L((*returned_bnode)->be_key) != key) { + dreq("findextentbnode: findbnode() can't find key %ld!", key); + outputcachebuffer(*returned_cb); + return(INTERR_BTREE); } - #endif - - return(errorcode); +#endif + + return(errorcode); } - + /* LONG findobjectnode(NODE nodeno,struct CacheBuffer **returned_cb,struct fsObjectNode **returned_node) { @@ -4495,208 +4501,206 @@ LONG findobjectnode(NODE nodeno,struct CacheBuffer **returned_cb,struct fsObject } */ - -static inline LONG createextentbnode(ULONG key,struct CacheBuffer **returned_cb,struct fsExtentBNode **returned_bnode) { - return(createbnode(globals->block_extentbnoderoot,key,returned_cb,(struct BNode **)returned_bnode)); + +static inline LONG createextentbnode(ULONG key, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_bnode) { + return(createbnode(globals->block_extentbnoderoot, key, returned_cb, (struct BNode **)returned_bnode)); } - - + + LONG seekextent(struct ExtFileLock *lock, ULONG offset, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_ebn, ULONG *returned_extentoffset) { - BLCK extentbnode; - LONG errorcode=0; - - /* When seeking there are 2 options; we start from the current extent, - or we start from the first extent. Below we determine the best - startpoint: */ - - if(offset>lock->gh->size) { - _XDEBUG((DEBUG_SEEK,"seekextent: Attempting to seek beyond file\n")); - - return(ERROR_SEEK_ERROR); - } + BLCK extentbnode; + LONG errorcode = 0; -// _DEBUG(("seekextent: offset = %ld, lock->offset = %ld, lock->extentoffset = %ld, lock->curextent = %ld\n",offset, lock->offset, lock->extentoffset, lock->curextent)); + /* When seeking there are 2 options; we start from the current extent, + or we start from the first extent. Below we determine the best + startpoint: */ - if(lock->curextent!=0 && offset >= lock->offset - lock->extentoffset) { - extentbnode=lock->curextent; - *returned_extentoffset=lock->offset - lock->extentoffset; - } - else { - extentbnode=lock->gh->data; - *returned_extentoffset=0; - } + if(offset > lock->gh->size) { + _XDEBUG(DEBUG_SEEK, "seekextent: Attempting to seek beyond file\n"); - /* Starting point has been determined. Let the seeking begin! - We keep getting the next extent, until we find the extent which - contains the required offset. */ + return(ERROR_SEEK_ERROR); + } - if(extentbnode!=0) { - while((errorcode=findextentbnode(extentbnode,returned_cb,returned_ebn))==0) { - ULONG endbyte=*returned_extentoffset+(BE2W((*returned_ebn)->be_blocks)<shifts_block); + // _DEBUG("seekextent: offset = %ld, lock->offset = %ld, lock->extentoffset = %ld, lock->curextent = %ld\n",offset, lock->offset, lock->extentoffset, lock->curextent); - if(offset>=*returned_extentoffset && offsetcurextent != 0 && offset >= lock->offset - lock->extentoffset) { + extentbnode = lock->curextent; + *returned_extentoffset = lock->offset - lock->extentoffset; + } else { + extentbnode = lock->gh->data; + *returned_extentoffset = 0; + } - if(BE2L((*returned_ebn)->be_next)==0) { - /* This break is here in case we run into the end of the file. - This prevents *returned_extentoffset and extentbnode - from being destroyed in the lines below, since it is still - valid to seek to the EOF */ + /* Starting point has been determined. Let the seeking begin! + We keep getting the next extent, until we find the extent which + contains the required offset. */ - if(offset>endbyte) { - /* There where no more blocks, but there should have been... */ - errorcode=ERROR_SEEK_ERROR; - } - break; - } + if(extentbnode != 0) { + while((errorcode = findextentbnode(extentbnode, returned_cb, returned_ebn)) == 0) { + ULONG endbyte = *returned_extentoffset + (BE2W((*returned_ebn)->be_blocks) << globals->shifts_block); + + if(offset >= *returned_extentoffset && offset < endbyte) { + /* Hooray! We found the correct extent. */ + break; + } + + if(BE2L((*returned_ebn)->be_next) == 0) { + /* This break is here in case we run into the end of the file. + This prevents *returned_extentoffset and extentbnode + from being destroyed in the lines below, since it is still + valid to seek to the EOF */ + + if(offset > endbyte) { + /* There where no more blocks, but there should have been... */ + errorcode = ERROR_SEEK_ERROR; + } + break; + } - *returned_extentoffset+=BE2W((*returned_ebn)->be_blocks)<shifts_block; - extentbnode=BE2L((*returned_ebn)->be_next); + *returned_extentoffset += BE2W((*returned_ebn)->be_blocks) << globals->shifts_block; + extentbnode = BE2L((*returned_ebn)->be_next); + } } - } - return(errorcode); + return(errorcode); } /* Notify support functions. */ -UBYTE *fullpath(struct CacheBuffer *cbstart,struct fsObject *o) { - struct fsObjectContainer *oc=cbstart->data; - struct CacheBuffer *cb=cbstart; - UBYTE *path=&globals->pathstring[519]; - UBYTE *name; +UBYTE *fullpath(struct CacheBuffer *cbstart, struct fsObject *o) { + struct fsObjectContainer *oc = cbstart->data; + struct CacheBuffer *cb = cbstart; + UBYTE *path = &globals->pathstring[519]; + UBYTE *name; - /* Returns the full path of an object, or 0 if it fails. */ + /* Returns the full path of an object, or 0 if it fails. */ - lockcachebuffer(cbstart); + lockcachebuffer(cbstart); - *path=0; + *path = 0; - while(oc->be_parent!=0) { /* Checking parent here means name in ROOT will be ignored. */ - name=o->name; - while(*++name!=0) { - } + while(oc->be_parent != 0) { /* Checking parent here means name in ROOT will be ignored. */ + name = o->name; + while(*++name != 0) { + } - while(name!=o->name) { - *--path=upperchar(*--name); - } + while(name != o->name) { + *--path = upperchar(*--name); + } - if(readobject(BE2L(oc->be_parent),&cb,&o)!=0) { - path=0; - break; - } + if(readobject(BE2L(oc->be_parent), &cb, &o) != 0) { + path = 0; + break; + } - oc=cb->data; + oc = cb->data; - if(oc->be_parent!=0) { - *--path='/'; + if(oc->be_parent != 0) { + *--path = '/'; + } } - } - unlockcachebuffer(cbstart); + unlockcachebuffer(cbstart); - return(path); + return(path); } -void checknotifyforpath(UBYTE *path,UBYTE notifyparent) { - struct NotifyRequest *nr; - UBYTE *s1,*s2; - UBYTE *lastslash; +void checknotifyforpath(UBYTE *path, UBYTE notifyparent) { + struct NotifyRequest *nr; + UBYTE *s1, *s2; + UBYTE *lastslash; - /* /path/ doesn't have a trailing slash and start with a root directory (no colon) */ + /* /path/ doesn't have a trailing slash and start with a root directory (no colon) */ - s1=path; - lastslash=path-1; - while(*s1!=0) { - if(*s1=='/') { - lastslash=s1; + s1 = path; + lastslash = path - 1; + while(*s1 != 0) { + if(*s1 == '/') { + lastslash = s1; + } + s1++; } - s1++; - } - nr=globals->notifyrequests; + nr = globals->notifyrequests; - // _DEBUG(("checknotify: path = '%s'\n", path)); + // _DEBUG("checknotify: path = '%s'\n", path); - while(nr!=0) { + while(nr != 0) { - s1=path; - s2=stripcolon(nr->nr_FullName); + s1 = path; + s2 = stripcolon(nr->nr_FullName); - while(*s1!=0 && *s2!=0 && *s1==upperchar(*s2)) { - s1++; // If last character doesn't match, this increment won't take place. - s2++; - } + while(*s1 != 0 && *s2 != 0 && *s1 == upperchar(*s2)) { + s1++; // If last character doesn't match, this increment won't take place. + s2++; + } - /* "" == "hallo" -> no match - "" == "/" -> match - "" == "" -> match - "/shit" == "" -> match (parent dir) - "shit" == "" -> match (parent dir) */ + /* "" == "hallo" -> no match + "" == "/" -> match + "" == "" -> match + "/shit" == "" -> match (parent dir) + "shit" == "" -> match (parent dir) */ - // _DEBUG(("checknotify: fullpath = '%s', nr->FullName = '%s'\n",s1,s2)); + // _DEBUG("checknotify: fullpath = '%s', nr->FullName = '%s'\n",s1,s2); - if( (s1[0]==0 && (s2[0]==0 || (s2[0]=='/' && s2[1]==0))) || ((s2[0]==0 && (s1==lastslash || s1==lastslash+1)) && notifyparent==TRUE) ) { - /* Wow, the string in the NotifyRequest matches! We need to notify someone! */ + if( (s1[0] == 0 && (s2[0] == 0 || (s2[0] == '/' && s2[1] == 0))) || ((s2[0] == 0 && (s1 == lastslash || s1 == lastslash + 1)) && notifyparent == TRUE) ) { + /* Wow, the string in the NotifyRequest matches! We need to notify someone! */ - _DEBUG(("checknotify: Notificating!! nr->FullName = %s, UserData = 0x%08lx\n",nr->nr_FullName, nr->nr_UserData)); + _DEBUG("checknotify: Notificating!! nr->FullName = %s, UserData = 0x%08lx\n", nr->nr_FullName, nr->nr_UserData); - notify(nr); + notify(nr); - /* No else, if neither flag is set then do nothing. */ - } + /* No else, if neither flag is set then do nothing. */ + } - nr = (struct NotifyRequest *)nr->nr_Next; - } + nr = (struct NotifyRequest *)nr->nr_Next; + } } -void checknotifyforobject(struct CacheBuffer *cb,struct fsObject *o,UBYTE notifyparent) { - checknotifyforpath(fullpath(cb,o),notifyparent); +void checknotifyforobject(struct CacheBuffer *cb, struct fsObject *o, UBYTE notifyparent) { + checknotifyforpath(fullpath(cb, o), notifyparent); } void notify(struct NotifyRequest *nr) { - /* This function sends a Notify to the client indicated by the passed - in notifyrequest structure. */ + /* This function sends a Notify to the client indicated by the passed + in notifyrequest structure. */ - if((nr->nr_Flags & NRF_SEND_SIGNAL)!=0) { - /* Sending them a signal. */ + if((nr->nr_Flags & NRF_SEND_SIGNAL) != 0) { + /* Sending them a signal. */ - _DEBUG(("notify: Sending signal\n")); + _DEBUG("notify: Sending signal\n"); - Signal(nr->nr_stuff.nr_Signal.nr_Task,1<nr_stuff.nr_Signal.nr_SignalNum); - } - else if((nr->nr_Flags & NRF_SEND_MESSAGE)!=0) { - struct NotifyMessage *nm; + Signal(nr->nr_stuff.nr_Signal.nr_Task, 1 << nr->nr_stuff.nr_Signal.nr_SignalNum); + } else if((nr->nr_Flags & NRF_SEND_MESSAGE) != 0) { + struct NotifyMessage *nm; - /* Sending them a message. */ + /* Sending them a message. */ - _DEBUG(("notify: Sending message\n")); + _DEBUG("notify: Sending message\n"); - if((nm=AllocMem(sizeof(struct NotifyMessage),MEMF_CLEAR))!=0) { - nm->nm_ExecMessage.mn_ReplyPort=globals->msgportnotify; - nm->nm_ExecMessage.mn_Length=sizeof(struct NotifyMessage); + if((nm = AllocMem(sizeof(struct NotifyMessage), MEMF_CLEAR)) != 0) { + nm->nm_ExecMessage.mn_ReplyPort = globals->msgportnotify; + nm->nm_ExecMessage.mn_Length = sizeof(struct NotifyMessage); - nm->nm_Class=NOTIFY_CLASS; - nm->nm_Code=NOTIFY_CODE; - nm->nm_NReq=(struct NotifyRequest *)nr; + nm->nm_Class = NOTIFY_CLASS; + nm->nm_Code = NOTIFY_CODE; + nm->nm_NReq = (struct NotifyRequest *)nr; - _DEBUG(("notify: PutMsg() - UserData = 0x%08lx\n", nr->nr_UserData)); + _DEBUG("notify: PutMsg() - UserData = 0x%08lx\n", nr->nr_UserData); - PutMsg(nr->nr_stuff.nr_Msg.nr_Port,(struct Message *)nm); + PutMsg(nr->nr_stuff.nr_Msg.nr_Port, (struct Message *)nm); + } } - } } @@ -4706,44 +4710,43 @@ void notify(struct NotifyRequest *nr) { #if 0 LONG writedata(ULONG newbytes, ULONG extentblocks, BLCK newspace, UBYTE *data) { - ULONG blocks=newbytes>>shifts_block; - LONG errorcode=0; + ULONG blocks = newbytes >> shifts_block; + LONG errorcode = 0; - if(blocks>extentblocks) { - blocks=extentblocks; - } + if(blocks > extentblocks) { + blocks = extentblocks; + } - if(blocks!=0 && (errorcode=write(newspace,data,blocks))!=0) { - return(errorcode); - } + if(blocks != 0 && (errorcode = write(newspace, data, blocks)) != 0) { + return(errorcode); + } - if(blocksdata,newbytes); + CopyMem(data, cb->data, newbytes); - errorcode=writecachebuffer(cb); - /* At this point we can do 2 things with this cachebuffer. We can leave it - hashed so if the user requests part of this block again it can quickly be grabbed - from this CacheBuffer. The other option is the call emptycachebuffer() - and let this buffer be reused ASAP. */ + errorcode = writecachebuffer(cb); + /* At this point we can do 2 things with this cachebuffer. We can leave it + hashed so if the user requests part of this block again it can quickly be grabbed + from this CacheBuffer. The other option is the call emptycachebuffer() + and let this buffer be reused ASAP. */ - emptycachebuffer(cb); - } - else { - errorcode=ERROR_NO_FREE_STORE; + emptycachebuffer(cb); + } else { + errorcode = ERROR_NO_FREE_STORE; + } } - } - return(errorcode); + return(errorcode); } #endif @@ -4755,457 +4758,451 @@ LONG writedata(ULONG newbytes, ULONG extentblocks, BLCK newspace, UBYTE *data) { static LONG addblocks(UWORD blocks, BLCK newspace, NODE objectnode, BLCK *io_lastextentbnode) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; - /* This function adds /blocks/ blocks starting at block /newspace/ to a file - identified by /objectnode/ and /lastextentbnode/. /io_lastextentbnode/ can - be zero if there is no ExtentBNode chain attached to this file yet. + /* This function adds /blocks/ blocks starting at block /newspace/ to a file + identified by /objectnode/ and /lastextentbnode/. /io_lastextentbnode/ can + be zero if there is no ExtentBNode chain attached to this file yet. - This function must be called from within a transaction. + This function must be called from within a transaction. - /blocks/ ranges from 1 to 8192. To be able to extend Extents which are - almost full, it is wise to make this value no higher than 8192 blocks. + /blocks/ ranges from 1 to 8192. To be able to extend Extents which are + almost full, it is wise to make this value no higher than 8192 blocks. - /io_lastextentbnode/ will contain the new lastextentbnode value when this - function completes. + /io_lastextentbnode/ will contain the new lastextentbnode value when this + function completes. - This function makes no attempt to update any locks associated with this file, - nor does it update the filesize information in a possible globalhandle. + This function makes no attempt to update any locks associated with this file, + nor does it update the filesize information in a possible globalhandle. - If there was no chain yet, then this function will create a new one. However - it will NOT update object.file.data -- this is left up to the caller. */ + If there was no chain yet, then this function will create a new one. However + it will NOT update object.file.data -- this is left up to the caller. */ - if(*io_lastextentbnode!=0) { - /* There was already a ExtentBNode chain for this file. Extending it. */ + if(*io_lastextentbnode != 0) { + /* There was already a ExtentBNode chain for this file. Extending it. */ - _XDEBUG((DEBUG_IO," addblocks: Extending existing ExtentBNode chain.\n")); + _XDEBUG(DEBUG_IO, " addblocks: Extending existing ExtentBNode chain.\n"); - if((errorcode=findextentbnode(*io_lastextentbnode,&cb,&ebn))==0) { + if((errorcode = findextentbnode(*io_lastextentbnode, &cb, &ebn)) == 0) { - preparecachebuffer(cb); + preparecachebuffer(cb); - if(BE2L(ebn->be_key)+BE2W(ebn->be_blocks)==newspace && BE2W(ebn->be_blocks)+blocks<65536) { - /* It is possible to extent the last ExtentBNode! */ + if(BE2L(ebn->be_key) + BE2W(ebn->be_blocks) == newspace && BE2W(ebn->be_blocks) + blocks < 65536) { + /* It is possible to extent the last ExtentBNode! */ - _XDEBUG((DEBUG_IO," addblocks: Extending last ExtentBNode.\n")); + _XDEBUG(DEBUG_IO, " addblocks: Extending last ExtentBNode.\n"); - ebn->be_blocks=W2BE(BE2W(ebn->be_blocks)+blocks); + ebn->be_blocks = W2BE(BE2W(ebn->be_blocks) + blocks); - errorcode=storecachebuffer(cb); - } - else { - /* It isn't possible to extent the last ExtentBNode so we create - a new one and link it to the last ExtentBNode. */ + errorcode = storecachebuffer(cb); + } else { + /* It isn't possible to extent the last ExtentBNode so we create + a new one and link it to the last ExtentBNode. */ - ebn->be_next=L2BE(newspace); + ebn->be_next = L2BE(newspace); - if((errorcode=storecachebuffer(cb))==0 && (errorcode=createextentbnode(newspace,&cb,&ebn))==0) { + if((errorcode = storecachebuffer(cb)) == 0 && (errorcode = createextentbnode(newspace, &cb, &ebn)) == 0) { - _XDEBUG((DEBUG_IO," addblocks: Created new ExtentBNode.\n")); + _XDEBUG(DEBUG_IO, " addblocks: Created new ExtentBNode.\n"); - ebn->be_key=L2BE(newspace); - ebn->be_prev=L2BE(*io_lastextentbnode); - ebn->be_next=0; - ebn->be_blocks=W2BE(blocks); + ebn->be_key = L2BE(newspace); + ebn->be_prev = L2BE(*io_lastextentbnode); + ebn->be_next = 0; + ebn->be_blocks = W2BE(blocks); - *io_lastextentbnode=newspace; + *io_lastextentbnode = newspace; - if((errorcode=storecachebuffer(cb))==0) { - globals->block_rovingblockptr=newspace+blocks; - if((blocks<shifts_block) <= ROVING_SMALL_WRITE) { - globals->block_rovingblockptr+=ROVING_RESERVED_SPACE>>globals->shifts_block; - } + if((errorcode = storecachebuffer(cb)) == 0) { + globals->block_rovingblockptr = newspace + blocks; + if((blocks << globals->shifts_block) <= ROVING_SMALL_WRITE) { + globals->block_rovingblockptr += ROVING_RESERVED_SPACE >> globals->shifts_block; + } - if(globals->block_rovingblockptr>=globals->blocks_total) { - globals->block_rovingblockptr=0; + if(globals->block_rovingblockptr >= globals->blocks_total) { + globals->block_rovingblockptr = 0; + } + } + } } - } } - } - } - } - else { - /* There is no ExtentBNode chain yet for this file. Attaching one! */ + } else { + /* There is no ExtentBNode chain yet for this file. Attaching one! */ - if((errorcode=createextentbnode(newspace,&cb,&ebn))==0) { + if((errorcode = createextentbnode(newspace, &cb, &ebn)) == 0) { - _XDEBUG((DEBUG_IO," addblocks: Created new ExtentBNode chain.\n")); + _XDEBUG(DEBUG_IO, " addblocks: Created new ExtentBNode chain.\n"); - ebn->be_key=L2BE(newspace); - ebn->be_prev=L2BE(objectnode+0x80000000); - ebn->be_next=0; - ebn->be_blocks=W2BE(blocks); + ebn->be_key = L2BE(newspace); + ebn->be_prev = L2BE(objectnode + 0x80000000); + ebn->be_next = 0; + ebn->be_blocks = W2BE(blocks); - *io_lastextentbnode=newspace; + *io_lastextentbnode = newspace; - if((errorcode=storecachebuffer(cb))==0) { - globals->block_rovingblockptr=newspace+blocks; - if((blocks<shifts_block) <= ROVING_SMALL_WRITE) { - globals->block_rovingblockptr+=ROVING_RESERVED_SPACE>>globals->shifts_block; - } + if((errorcode = storecachebuffer(cb)) == 0) { + globals->block_rovingblockptr = newspace + blocks; + if((blocks << globals->shifts_block) <= ROVING_SMALL_WRITE) { + globals->block_rovingblockptr += ROVING_RESERVED_SPACE >> globals->shifts_block; + } - if(globals->block_rovingblockptr>=globals->blocks_total) { - globals->block_rovingblockptr=0; + if(globals->block_rovingblockptr >= globals->blocks_total) { + globals->block_rovingblockptr = 0; + } + } } - } } - } - return(errorcode); + return(errorcode); } static void diskchangenotify(ULONG class) { - struct IOStdReq *inputreq; - struct MsgPort *inputport; - struct InputEvent ie; - struct timeval tv; + struct IOStdReq *inputreq; + struct MsgPort *inputport; + struct InputEvent ie; + struct timeval tv; - if((inputport=CreateMsgPort())!=0) { - if((inputreq=(struct IOStdReq *)CreateIORequest(inputport,sizeof(struct IOStdReq)))!=0) { - if(OpenDevice("input.device",0,(struct IORequest *)inputreq,0)==0) { + if((inputport = CreateMsgPort()) != 0) { + if((inputreq = (struct IOStdReq *)CreateIORequest(inputport, sizeof(struct IOStdReq))) != 0) { + if(OpenDevice("input.device", 0, (struct IORequest *)inputreq, 0) == 0) { - GetSysTime(&tv); + GetSysTime(&tv); - ie.ie_NextEvent=0; - ie.ie_Class=class; - ie.ie_SubClass=0; - ie.ie_Code=0; - ie.ie_Qualifier=IEQUALIFIER_MULTIBROADCAST; - ie.ie_EventAddress=0; - ie.ie_TimeStamp=tv; + ie.ie_NextEvent = 0; + ie.ie_Class = class; + ie.ie_SubClass = 0; + ie.ie_Code = 0; + ie.ie_Qualifier = IEQUALIFIER_MULTIBROADCAST; + ie.ie_EventAddress = 0; + ie.ie_TimeStamp.tv_secs = tv.tv_secs; + ie.ie_TimeStamp.tv_micro = tv.tv_micro; - inputreq->io_Command = IND_WRITEEVENT; - inputreq->io_Length = sizeof(struct InputEvent); - inputreq->io_Data = &ie; + inputreq->io_Command = IND_WRITEEVENT; + inputreq->io_Length = sizeof(struct InputEvent); + inputreq->io_Data = &ie; - DoIO((struct IORequest *)inputreq); + DoIO((struct IORequest *)inputreq); - CloseDevice((struct IORequest *)inputreq); - } - DeleteIORequest(inputreq); + CloseDevice((struct IORequest *)inputreq); + } + DeleteIORequest(inputreq); + } + DeleteMsgPort(inputport); } - DeleteMsgPort(inputport); - } } #if 0 - () { - struct ExtFileLock *lock; +() { + struct ExtFileLock *lock; - lock=locklist; + lock = locklist; - while(lock!=0) { - if((lock->bits & EFL_MODIFIED)!=0) { - /* File belonging to this lock was modified. */ + while(lock != 0) { + if((lock->bits & EFL_MODIFIED) != 0) { + /* File belonging to this lock was modified. */ - if(lock->gh!=0 && lock->curextent!=0) { - BLCK lastblock=lock->curextent; + if(lock->gh != 0 && lock->curextent != 0) { + BLCK lastblock = lock->curextent; - lastblock+=lock->extentoffset>>shifts_block; + lastblock += lock->extentoffset >> shifts_block; - /* lastblock is now possibly the last block which is used by the file. This - should always be true for newly created files which are being extended. */ + /* lastblock is now possibly the last block which is used by the file. This + should always be true for newly created files which are being extended. */ - } - } + } + } - lock=lock->next; - } + lock = lock->next; + } } #endif BOOL freeupspace(void) { - BOOL spacefreed=FALSE; + BOOL spacefreed = FALSE; - /* This function tries to free up space. It does this by - permanently deleting deleted files (if case of a recycled) - and by flushing the current transaction if there is one. + /* This function tries to free up space. It does this by + permanently deleting deleted files (if case of a recycled) + and by flushing the current transaction if there is one. - If no space could be freed, then this function returns - FALSE. This is the go-ahead sign to report disk full - to the user. */ + If no space could be freed, then this function returns + FALSE. This is the go-ahead sign to report disk full + to the user. */ - if(hastransaction()) { - flushtransaction(); - spacefreed=TRUE; - } + if(hastransaction()) { + flushtransaction(); + spacefreed = TRUE; + } - if(cleanupdeletedfiles()!=FALSE) { - spacefreed=TRUE; - } + if(cleanupdeletedfiles() != FALSE) { + spacefreed = TRUE; + } - return(spacefreed); + return(spacefreed); } LONG writetofile(struct ExtFileLock *lock, UBYTE *buffer, ULONG bytestowrite) { - struct GlobalHandle *gh=lock->gh; - LONG errorcode; + struct GlobalHandle *gh = lock->gh; + LONG errorcode; - /* This function must be called from within a transaction! */ + /* This function must be called from within a transaction! */ - if((gh->protection & FIBF_WRITE)!=0) { - ULONG maxbytes; - LONG newbytes; + if((gh->protection & FIBF_WRITE) != 0) { + ULONG maxbytes; + LONG newbytes; - /* First thing we need to do is extend the file (if needed) to - accomodate for all the data we are about to write. */ + /* First thing we need to do is extend the file (if needed) to + accomodate for all the data we are about to write. */ - maxbytes=(gh->size + globals->bytes_block-1) & ~globals->mask_block; // Maximum number of bytes file can hold with the current amount of blocks. - newbytes=bytestowrite-(maxbytes-lock->offset); // Number of new bytes which would end up in newly allocated blocks. + maxbytes = (gh->size + globals->bytes_block - 1) & ~globals->mask_block; // Maximum number of bytes file can hold with the current amount of blocks. + newbytes = bytestowrite - (maxbytes - lock->offset); // Number of new bytes which would end up in newly allocated blocks. - if((errorcode=seektocurrent(lock))==0 && (newbytes<=0 || (errorcode=extendblocksinfile(lock, (newbytes+globals->bytes_block-1)>>globals->shifts_block))==0)) { - struct CacheBuffer *extent_cb; - struct fsExtentBNode *ebn=0; - ULONG newfilesize; + if((errorcode = seektocurrent(lock)) == 0 && (newbytes <= 0 || (errorcode = extendblocksinfile(lock, (newbytes + globals->bytes_block - 1) >> globals->shifts_block)) == 0)) { + struct CacheBuffer *extent_cb; + struct fsExtentBNode *ebn = 0; + ULONG newfilesize; - /* At this point, the file either didn't need extending, or was succesfully extended. */ + /* At this point, the file either didn't need extending, or was succesfully extended. */ - newfilesize=lock->offset+bytestowrite; + newfilesize = lock->offset + bytestowrite; - if(newfilesizesize) { - newfilesize=gh->size; - } + if(newfilesize < gh->size) { + newfilesize = gh->size; + } - /* If the filesize will change, then we set it below */ + /* If the filesize will change, then we set it below */ - if(newfilesize!=gh->size) { - struct CacheBuffer *cb; - struct fsObject *o; + if(newfilesize != gh->size) { + struct CacheBuffer *cb; + struct fsObject *o; - if((errorcode=readobject(lock->objectnode,&cb,&o))==0) { - preparecachebuffer(cb); + if((errorcode = readobject(lock->objectnode, &cb, &o)) == 0) { + preparecachebuffer(cb); - checksum_writelong_be(cb->data, &o->object.file.be_size, newfilesize); - gh->size=newfilesize; + checksum_writelong_be(cb->data, &o->object.file.be_size, newfilesize); + gh->size = newfilesize; - if(o->object.file.be_data==0) { - checksum_writelong_be(cb->data, &o->object.file.be_data, lock->curextent); - gh->data=lock->curextent; - } + if(o->object.file.be_data == 0) { + checksum_writelong_be(cb->data, &o->object.file.be_data, lock->curextent); + gh->data = lock->curextent; + } - errorcode=storecachebuffer_nochecksum(cb); - } - } + errorcode = storecachebuffer_nochecksum(cb); + } + } - if(errorcode==0) { - while(bytestowrite!=0 && (errorcode=findextentbnode(lock->curextent, &extent_cb, &ebn))==0) { - ULONG bytes; - ULONG offsetinblock=lock->extentoffset & globals->mask_block; - BLCK ebn_next=BE2L(ebn->be_next); - UWORD ebn_blocks=BE2W(ebn->be_blocks); + if(errorcode == 0) { + while(bytestowrite != 0 && (errorcode = findextentbnode(lock->curextent, &extent_cb, &ebn)) == 0) { + ULONG bytes; + ULONG offsetinblock = lock->extentoffset & globals->mask_block; + BLCK ebn_next = BE2L(ebn->be_next); + UWORD ebn_blocks = BE2W(ebn->be_blocks); - if(BE2W(ebn->be_blocks)==lock->extentoffset>>globals->shifts_block) { - /* We are at the end +1 of this extent. Skip to next one. */ + if(BE2W(ebn->be_blocks) == lock->extentoffset >> globals->shifts_block) { + /* We are at the end +1 of this extent. Skip to next one. */ - lock->curextent=BE2L(ebn->be_next); - lock->extentoffset=0; - continue; - } + lock->curextent = BE2L(ebn->be_next); + lock->extentoffset = 0; + continue; + } - if(offsetinblock!=0 || bytestowritebytes_block) { + if(offsetinblock != 0 || bytestowrite < globals->bytes_block) { - /** Partial writes to the last block of the file will cause a - read of that block, even if this block didn't yet contain - any valid data, because the file was just extended. This - is unneeded... */ + /** Partial writes to the last block of the file will cause a + read of that block, even if this block didn't yet contain + any valid data, because the file was just extended. This + is unneeded... */ - /* File-ptr is located somewhere in the middle of a block, or at the - start of the block but not at the end of the file. To add data - to it we'll first need to read this block. */ + /* File-ptr is located somewhere in the middle of a block, or at the + start of the block but not at the end of the file. To add data + to it we'll first need to read this block. */ - _XDEBUG((DEBUG_IO,"writetofile: Partially overwriting a single block of a file. ebn->key = %ld, lock->extentoffset = %ld\n",BE2L(ebn->be_key),lock->extentoffset)); + _XDEBUG(DEBUG_IO, "writetofile: Partially overwriting a single block of a file. ebn->key = %ld, lock->extentoffset = %ld\n", BE2L(ebn->be_key), lock->extentoffset); - bytes=globals->bytes_block-offsetinblock; + bytes = globals->bytes_block - offsetinblock; - if(bytes>bytestowrite) { - bytes=bytestowrite; - } + if(bytes > bytestowrite) { + bytes = bytestowrite; + } -// if(newbytes>0 && offsetinblock==0) { /** offsetinblock check is NOT redundant. */ -// struct CacheBuffer *cb=getcachebuffer(); -// -// CopyMem(buffer, cb->data, bytes); -// errorcode=writethrough(lock->curextent + (lock->extentoffset>>shifts_block), cb->data, 1); -// emptycachebuffer(cb); -// -// if(errorcode!=0) { -// break; -// } -// } -// else { - if((errorcode=writebytes(BE2L(ebn->be_key)+(lock->extentoffset>>globals->shifts_block), buffer, offsetinblock, bytes))!=0) { - break; - } -// } - } - else { - bytes=(((ULONG)ebn_blocks)<shifts_block) - lock->extentoffset; + // if(newbytes>0 && offsetinblock==0) { /** offsetinblock check is NOT redundant. */ + // struct CacheBuffer *cb=getcachebuffer(); + // + // CopyMem(buffer, cb->data, bytes); + // errorcode=writethrough(lock->curextent + (lock->extentoffset>>shifts_block), cb->data, 1); + // emptycachebuffer(cb); + // + // if(errorcode!=0) { + // break; + // } + // } + // else { + if((errorcode = writebytes(BE2L(ebn->be_key) + (lock->extentoffset >> globals->shifts_block), buffer, offsetinblock, bytes)) != 0) { + break; + } + // } + } else { + bytes = (((ULONG)ebn_blocks) << globals->shifts_block) - lock->extentoffset; - if(bytes > bytestowrite) { - bytes=bytestowrite & ~globals->mask_block; + if(bytes > bytestowrite) { + bytes = bytestowrite & ~globals->mask_block; - /** This is a hack to speed up writes. + /** This is a hack to speed up writes. - What it does is write more bytes than there are in the buffer - available (runaway writing), to avoid a seperate partial block - write. It makes sure the extra data written doesn't extend - into a new 4K page (assuming MMU is using 4K pages). */ + What it does is write more bytes than there are in the buffer + available (runaway writing), to avoid a seperate partial block + write. It makes sure the extra data written doesn't extend + into a new 4K page (assuming MMU is using 4K pages). */ -// #define MMU_PAGESIZE (524288) -// -// if(((ULONG)(buffer+bytes) & ~(MMU_PAGESIZE-1))==((ULONG)(buffer+bytes+bytes_block-1) & ~(MMU_PAGESIZE-1))) { -// bytes=bytestowrite; -// } - } + // #define MMU_PAGESIZE (524288) + // + // if(((ULONG)(buffer+bytes) & ~(MMU_PAGESIZE-1))==((ULONG)(buffer+bytes+bytes_block-1) & ~(MMU_PAGESIZE-1))) { + // bytes=bytestowrite; + // } + } - // _XDEBUG((DEBUG_IO,"writetofile: Writing multiple blocks: blockstowrite = %ld, ebn->key = %ld, lock->extentoffset = %ld, lock->offset = %ld\n",blockstowrite, ebn->key, lock->extentoffset, lock->offset)); + // _XDEBUG(DEBUG_IO,"writetofile: Writing multiple blocks: blockstowrite = %ld, ebn->key = %ld, lock->extentoffset = %ld, lock->offset = %ld\n",blockstowrite, ebn->key, lock->extentoffset, lock->offset); - if((errorcode=write(BE2L(ebn->be_key)+(lock->extentoffset>>globals->shifts_block), buffer, (bytes+globals->bytes_block-1)>>globals->shifts_block))!=0) { - break; - } - } + if((errorcode = write(BE2L(ebn->be_key) + (lock->extentoffset >> globals->shifts_block), buffer, (bytes + globals->bytes_block - 1) >> globals->shifts_block)) != 0) { + break; + } + } - seekforward(lock, ebn_blocks, ebn_next, bytes); + seekforward(lock, ebn_blocks, ebn_next, bytes); - bytestowrite-=bytes; - buffer+=bytes; + bytestowrite -= bytes; + buffer += bytes; + } + } } - } + } else { + errorcode = ERROR_WRITE_PROTECTED; } - } - else { - errorcode=ERROR_WRITE_PROTECTED; - } - return(errorcode); + return(errorcode); } LONG deletefileslowly(struct CacheBuffer *cbobject, struct fsObject *o) { - ULONG size=BE2L(o->object.file.be_size); - ULONG key=BE2L(o->object.file.be_data); - LONG errorcode=0; + ULONG size = BE2L(o->object.file.be_size); + ULONG key = BE2L(o->object.file.be_data); + LONG errorcode = 0; - /* cbobject & o refer to the file to be deleted (don't use this for objects - other than files!). The file is deleted a piece at the time. This is - because then even in low space situations files can be deleted. + /* cbobject & o refer to the file to be deleted (don't use this for objects + other than files!). The file is deleted a piece at the time. This is + because then even in low space situations files can be deleted. - Note: This function deletes an object without first checking if - this is allowed. Use deleteobject() instead. */ + Note: This function deletes an object without first checking if + this is allowed. Use deleteobject() instead. */ - _DEBUG(("deletefileslowly: Entry\n")); + _DEBUG("deletefileslowly: Entry\n"); - /* First we search for the last ExtentBNode */ + /* First we search for the last ExtentBNode */ - if(key!=0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - ULONG currentkey=0, prevkey=0; - ULONG blocks=0; + if(key != 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + ULONG currentkey = 0, prevkey = 0; + ULONG blocks = 0; - lockcachebuffer(cbobject); + lockcachebuffer(cbobject); - while((errorcode=findbnode(globals->block_extentbnoderoot,key,&cb,(struct BNode **)&ebn))==0) { - if(BE2L(ebn->be_next)==0) { - currentkey=BE2L(ebn->be_key); - prevkey=BE2L(ebn->be_prev); - blocks=BE2W(ebn->be_blocks); - break; - } - key=BE2L(ebn->be_next); - } + while((errorcode = findbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn)) == 0) { + if(BE2L(ebn->be_next) == 0) { + currentkey = BE2L(ebn->be_key); + prevkey = BE2L(ebn->be_prev); + blocks = BE2W(ebn->be_blocks); + break; + } + key = BE2L(ebn->be_next); + } - /* Key could be zero (in theory) or contains the last ExtentBNode for this file. */ + /* Key could be zero (in theory) or contains the last ExtentBNode for this file. */ - if(errorcode==0) { - while((key & 0x80000000)==0) { - key=prevkey; + if(errorcode == 0) { + while((key & 0x80000000) == 0) { + key = prevkey; - newtransaction(); + newtransaction(); - lockcachebuffer(cb); /* Makes sure freespace() doesn't reuse this cachebuffer */ + lockcachebuffer(cb); /* Makes sure freespace() doesn't reuse this cachebuffer */ - if((errorcode=freespace(currentkey, blocks))==0) { - unlockcachebuffer(cb); + if((errorcode = freespace(currentkey, blocks)) == 0) { + unlockcachebuffer(cb); - if((errorcode=deletebnode(globals->block_extentbnoderoot, currentkey))==0) { - if((key & 0x80000000)==0) { - if((errorcode=findbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn))==0) { - preparecachebuffer(cb); + if((errorcode = deletebnode(globals->block_extentbnoderoot, currentkey)) == 0) { + if((key & 0x80000000) == 0) { + if((errorcode = findbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn)) == 0) { + preparecachebuffer(cb); - ebn->be_next=0; - currentkey=BE2L(ebn->be_key); - prevkey=BE2L(ebn->be_prev); - blocks=BE2W(ebn->be_blocks); + ebn->be_next = 0; + currentkey = BE2L(ebn->be_key); + prevkey = BE2L(ebn->be_prev); + blocks = BE2W(ebn->be_blocks); - errorcode=storecachebuffer(cb); - } - } - else { - preparecachebuffer(cbobject); + errorcode = storecachebuffer(cb); + } + } else { + preparecachebuffer(cbobject); + + checksum_writelong_be(cbobject->data, &o->object.file.be_size, 0); + checksum_writelong_be(cbobject->data, &o->object.file.be_data, 0); - checksum_writelong_be(cbobject->data, &o->object.file.be_size, 0); - checksum_writelong_be(cbobject->data, &o->object.file.be_data, 0); + // o->object.file.data=0; + // o->object.file.size=0; - // o->object.file.data=0; - // o->object.file.size=0; + if((errorcode = storecachebuffer_nochecksum(cbobject)) == 0) { + errorcode = setrecycledinfodiff(0, -((size + globals->bytes_block - 1) >> globals->shifts_block)); + } + } + } + } else { + unlockcachebuffer(cb); + } - if((errorcode=storecachebuffer_nochecksum(cbobject))==0) { - errorcode=setrecycledinfodiff(0, -((size+globals->bytes_block-1)>>globals->shifts_block)); - } + if(errorcode == 0) { + /* Unlocked CacheBuffers could be killed after an endtransaction()! */ + endtransaction(); + } else { + deletetransaction(); + break; + } } - } - } - else { - unlockcachebuffer(cb); } - if(errorcode==0) { - /* Unlocked CacheBuffers could be killed after an endtransaction()! */ - endtransaction(); - } - else { - deletetransaction(); - break; - } - } + unlockcachebuffer(cbobject); } - unlockcachebuffer(cbobject); - } + _DEBUG("deletefileslowly: Alternative way errorcode = %ld\n", errorcode); - _DEBUG(("deletefileslowly: Alternative way errorcode = %ld\n",errorcode)); + if(errorcode == 0) { - if(errorcode==0) { + /* File-data was succesfully freed. Now remove the empty object. */ - /* File-data was succesfully freed. Now remove the empty object. */ + newtransaction(); - newtransaction(); + if((errorcode = removeobject(cbobject, o)) == 0) { + endtransaction(); + return(0); + } - if((errorcode=removeobject(cbobject, o))==0) { - endtransaction(); - return(0); + deletetransaction(); } - deletetransaction(); - } - - _DEBUG(("deletefileslowly: Exiting with errorcode = %ld\n",errorcode)); + _DEBUG("deletefileslowly: Exiting with errorcode = %ld\n", errorcode); - return(errorcode); + return(errorcode); } @@ -5295,707 +5292,689 @@ read(x) -> "AA"; newtr(); prep(x); write("CC") -> "CC"; store(x); newtr(); prep LONG setnextextent(BLCK next, BLCK key) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode=0; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode = 0; - /* This function set the previous value of the - passed Extent. If the passed Extent is zero - then this function does nothing. */ + /* This function set the previous value of the + passed Extent. If the passed Extent is zero + then this function does nothing. */ - if(next!=0 && (errorcode=findextentbnode(next, &cb, &ebn))==0) { - preparecachebuffer(cb); + if(next != 0 && (errorcode = findextentbnode(next, &cb, &ebn)) == 0) { + preparecachebuffer(cb); - ebn->be_prev=L2BE(key); + ebn->be_prev = L2BE(key); - errorcode=storecachebuffer(cb); - } + errorcode = storecachebuffer(cb); + } - return(errorcode); + return(errorcode); } LONG setprevextent(BLCK prev, BLCK key) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; - /* This function sets the next value of the - passed Extent/Object to key. */ + /* This function sets the next value of the + passed Extent/Object to key. */ - if((prev & 0x80000000)==0 && (errorcode=findextentbnode(prev, &cb, &ebn))==0) { - preparecachebuffer(cb); + if((prev & 0x80000000) == 0 && (errorcode = findextentbnode(prev, &cb, &ebn)) == 0) { + preparecachebuffer(cb); - ebn->be_next=L2BE(key); + ebn->be_next = L2BE(key); - errorcode=storecachebuffer(cb); - } - else { - struct fsObject *o; + errorcode = storecachebuffer(cb); + } else { + struct fsObject *o; - if((errorcode=readobject((prev & 0x7fffffff), &cb, &o))==0) { - preparecachebuffer(cb); + if((errorcode = readobject((prev & 0x7fffffff), &cb, &o)) == 0) { + preparecachebuffer(cb); - o->object.file.be_data=L2BE(key); + o->object.file.be_data = L2BE(key); - errorcode=storecachebuffer(cb); + errorcode = storecachebuffer(cb); + } } - } - return(errorcode); + return(errorcode); } LONG mergeextent(BLCK key) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; - /* This function tries to merge the current extent with the - next extent. If the extent can't be merged, or was - succesfully merged then this function returns 0. Any - error which occured during merging will be returned. */ + /* This function tries to merge the current extent with the + next extent. If the extent can't be merged, or was + succesfully merged then this function returns 0. Any + error which occured during merging will be returned. */ - if((errorcode=findextentbnode(key, &cb, &ebn))==0) { + if((errorcode = findextentbnode(key, &cb, &ebn)) == 0) { - /* We check if we found the right key, if there is a next Extent and - if the two Extents touch each other: */ + /* We check if we found the right key, if there is a next Extent and + if the two Extents touch each other: */ - if(BE2L(ebn->be_key)==key && BE2L(ebn->be_next)!=0 && BE2L(ebn->be_key)+BE2W(ebn->be_blocks) == BE2L(ebn->be_next)) { - struct CacheBuffer *cb2; - struct fsExtentBNode *ebn2; + if(BE2L(ebn->be_key) == key && BE2L(ebn->be_next) != 0 && BE2L(ebn->be_key) + BE2W(ebn->be_blocks) == BE2L(ebn->be_next)) { + struct CacheBuffer *cb2; + struct fsExtentBNode *ebn2; - if((errorcode=findextentbnode(BE2L(ebn->be_next), &cb2, &ebn2))==0 && BE2W(ebn2->be_blocks)+BE2W(ebn->be_blocks) < 65536) { - BLCK next=BE2L(ebn2->be_next); + if((errorcode = findextentbnode(BE2L(ebn->be_next), &cb2, &ebn2)) == 0 && BE2W(ebn2->be_blocks) + BE2W(ebn->be_blocks) < 65536) { + BLCK next = BE2L(ebn2->be_next); - /* Merge next extent with our extent */ + /* Merge next extent with our extent */ - preparecachebuffer(cb); + preparecachebuffer(cb); - ebn->be_blocks=W2BE(BE2W(ebn->be_blocks)+BE2W(ebn2->be_blocks)); - ebn->be_next=L2BE(next); + ebn->be_blocks = W2BE(BE2W(ebn->be_blocks) + BE2W(ebn2->be_blocks)); + ebn->be_next = L2BE(next); - if((errorcode=storecachebuffer(cb))==0) { // call storecachebuffer() here, because deletebnode() may move our BNode. + if((errorcode = storecachebuffer(cb)) == 0) { // call storecachebuffer() here, because deletebnode() may move our BNode. - if((errorcode=deletebnode(globals->block_extentbnoderoot, BE2L(ebn2->be_key)))==0) { /*** Maybe use deleteinternalnode here??? */ - errorcode=setnextextent(next, key); - } + if((errorcode = deletebnode(globals->block_extentbnoderoot, BE2L(ebn2->be_key))) == 0) { /*** Maybe use deleteinternalnode here??? */ + errorcode = setnextextent(next, key); + } + } + } } - } } - } - return(errorcode); + return(errorcode); } LONG insertextent(BLCK key, BLCK next, BLCK prev, ULONG blocks) { - struct CacheBuffer *cb=0; - struct fsExtentBNode *ebn=0; - LONG errorcode; + struct CacheBuffer *cb = 0; + struct fsExtentBNode *ebn = 0; + LONG errorcode; - /* This function creates a new extent, but won't create one if it can - achieve the same effect by extending the next or previous extent. - In the unlikely case that the new extent is located EXACTLY between - its predecessor and successor then an attempt will be made to merge - these 3 extents into 1. */ + /* This function creates a new extent, but won't create one if it can + achieve the same effect by extending the next or previous extent. + In the unlikely case that the new extent is located EXACTLY between + its predecessor and successor then an attempt will be made to merge + these 3 extents into 1. */ - /* - prev available & mergeable -> merge. - prev available, but not mergeable -> create new -> update next -> update previous. - prev not available -> create new -> update next -> update object - */ + /* + prev available & mergeable -> merge. + prev available, but not mergeable -> create new -> update next -> update previous. + prev not available -> create new -> update next -> update object + */ - if((prev & 0x80000000)!=0 || (errorcode=findextentbnode(prev, &cb, &ebn))==0) { + if((prev & 0x80000000) != 0 || (errorcode = findextentbnode(prev, &cb, &ebn)) == 0) { - if((prev & 0x80000000)==0 && prev+BE2W(ebn->be_blocks) == key && BE2W(ebn->be_blocks)+blocks < 65536) { + if((prev & 0x80000000) == 0 && prev + BE2W(ebn->be_blocks) == key && BE2W(ebn->be_blocks) + blocks < 65536) { - /* Extent we are inserting is mergeable with its previous extent. */ + /* Extent we are inserting is mergeable with its previous extent. */ - preparecachebuffer(cb); + preparecachebuffer(cb); - ebn->be_blocks=W2BE(BE2W(ebn->be_blocks)+blocks); /* This merges the previous and the new extent */ + ebn->be_blocks = W2BE(BE2W(ebn->be_blocks) + blocks); /* This merges the previous and the new extent */ - if((errorcode=storecachebuffer(cb))==0) { - errorcode=mergeextent(BE2L(ebn->be_key)); - } - } - else { + if((errorcode = storecachebuffer(cb)) == 0) { + errorcode = mergeextent(BE2L(ebn->be_key)); + } + } else { - /* Extent we are inserting couldn't be merged with its previous extent. */ + /* Extent we are inserting couldn't be merged with its previous extent. */ - if((errorcode=setprevextent(prev, key))==0 && (errorcode=createextentbnode(key, &cb, &ebn))==0) { + if((errorcode = setprevextent(prev, key)) == 0 && (errorcode = createextentbnode(key, &cb, &ebn)) == 0) { - /* Succesfully updated previous extent, or the object. Also created new BNode */ + /* Succesfully updated previous extent, or the object. Also created new BNode */ - ebn->be_key=L2BE(key); - ebn->be_prev=L2BE(prev); - ebn->be_next=L2BE(next); - ebn->be_blocks=BE2W(blocks); + ebn->be_key = L2BE(key); + ebn->be_prev = L2BE(prev); + ebn->be_next = L2BE(next); + ebn->be_blocks = BE2W(blocks); - if((errorcode=storecachebuffer(cb))==0) { - if((errorcode=setnextextent(next, key))==0) { - mergeextent(key); - } + if((errorcode = storecachebuffer(cb)) == 0) { + if((errorcode = setnextextent(next, key)) == 0) { + mergeextent(key); + } + } + } } - } } - } - return(errorcode); + return(errorcode); } LONG truncateextent(BLCK key, LONG blocks) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode=0; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode = 0; - /* Truncates the extended by the given amount of blocks. - If the amount is negative then the truncation occurs - at the start, otherwise at the end. + /* Truncates the extended by the given amount of blocks. + If the amount is negative then the truncation occurs + at the start, otherwise at the end. - This function returns INTERR_EXTENT if you tried to - truncate to zero blocks (or beyond). Any errorcode - is returned. If blocks is zero, then this function - does nothing. + This function returns INTERR_EXTENT if you tried to + truncate to zero blocks (or beyond). Any errorcode + is returned. If blocks is zero, then this function + does nothing. - Mar 20 1999: The truncation at the start could cause - BNode's to get lost (because they are - indexed by their start block). Fixed. */ + Mar 20 1999: The truncation at the start could cause + BNode's to get lost (because they are + indexed by their start block). Fixed. */ - if(blocks!=0) { - if((errorcode=findextentbnode(key, &cb, &ebn))==0) { - ULONG b; + if(blocks != 0) { + if((errorcode = findextentbnode(key, &cb, &ebn)) == 0) { + ULONG b; - b=blocks<0 ? -blocks : blocks; + b = blocks < 0 ? -blocks : blocks; - if(bbe_blocks) && BE2L(ebn->be_key)==key) { - if(blocks<0) { - ULONG next=BE2L(ebn->be_next); - ULONG prev=BE2L(ebn->be_prev); - UWORD blocks=BE2W(ebn->be_blocks)-b; + if(b < BE2W(ebn->be_blocks) && BE2L(ebn->be_key) == key) { + if(blocks < 0) { + ULONG next = BE2L(ebn->be_next); + ULONG prev = BE2L(ebn->be_prev); + UWORD blocks = BE2W(ebn->be_blocks) - b; - /* Truncating at the start. */ + /* Truncating at the start. */ - if((errorcode=deletebnode(globals->block_extentbnoderoot, key))==0) { + if((errorcode = deletebnode(globals->block_extentbnoderoot, key)) == 0) { - key+=b; + key += b; - if((errorcode=createbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn))==0) { - ebn->be_key=L2BE(key); - ebn->be_next=L2BE(next); - ebn->be_prev=L2BE(prev); - ebn->be_blocks=W2BE(blocks); + if((errorcode = createbnode(globals->block_extentbnoderoot, key, &cb, (struct BNode **)&ebn)) == 0) { + ebn->be_key = L2BE(key); + ebn->be_next = L2BE(next); + ebn->be_prev = L2BE(prev); + ebn->be_blocks = W2BE(blocks); - if((errorcode=storecachebuffer(cb))==0) { - /* Truncating at start means changing the key value. This - means that the next and previous BNode's must also be - adjusted. */ + if((errorcode = storecachebuffer(cb)) == 0) { + /* Truncating at start means changing the key value. This + means that the next and previous BNode's must also be + adjusted. */ - if((errorcode=setnextextent(next, key))==0) { - errorcode=setprevextent(prev, key); - } - } - } - } - } - else { + if((errorcode = setnextextent(next, key)) == 0) { + errorcode = setprevextent(prev, key); + } + } + } + } + } else { - /* Truncating at the end. */ + /* Truncating at the end. */ - preparecachebuffer(cb); + preparecachebuffer(cb); - ebn->be_blocks=W2BE(BE2W(ebn->be_blocks)-b); + ebn->be_blocks = W2BE(BE2W(ebn->be_blocks) - b); - errorcode=storecachebuffer(cb); + errorcode = storecachebuffer(cb); + } + } else { + errorcode = INTERR_EXTENT; + } } - } - else { - errorcode=INTERR_EXTENT; - } } - } - return(errorcode); + return(errorcode); } static LONG copy(BLCK source, BLCK dest, ULONG totblocks, UBYTE *optimizebuffer) { - ULONG blocks; - LONG errorcode=0; + ULONG blocks; + LONG errorcode = 0; - /* Low-level function to copy blocks from one place to another. */ + /* Low-level function to copy blocks from one place to another. */ - while(totblocks!=0) { - blocks=totblocks; - if(blocks > (OPTBUFSIZE>>globals->shifts_block)) { - blocks=OPTBUFSIZE>>globals->shifts_block; - } + while(totblocks != 0) { + blocks = totblocks; + if(blocks > ((ULONG)OPTBUFSIZE >> globals->shifts_block)) { + blocks = (ULONG)OPTBUFSIZE >> globals->shifts_block; + } - if((errorcode=read(source, optimizebuffer, blocks))!=0) { - break; - } + if((errorcode = read(source, optimizebuffer, blocks)) != 0) { + break; + } - if((errorcode=write(dest, optimizebuffer, blocks))!=0) { - break; - } + if((errorcode = write(dest, optimizebuffer, blocks)) != 0) { + break; + } - totblocks-=blocks; - source+=blocks; - dest+=blocks; - } + totblocks -= blocks; + source += blocks; + dest += blocks; + } - return(errorcode); + return(errorcode); } LONG deleteextent(struct CacheBuffer *cb, struct fsExtentBNode *ebn) { - BLCK next,prev; - LONG errorcode; + BLCK next, prev; + LONG errorcode; - /* Deletes an fsExtentBNode structure and properly relinks the rest of the chain. - No space will be given free. + /* Deletes an fsExtentBNode structure and properly relinks the rest of the chain. + No space will be given free. - newtransaction() should have been called prior to calling this function. */ + newtransaction() should have been called prior to calling this function. */ - next=BE2L(ebn->be_next); - prev=BE2L(ebn->be_prev); + next = BE2L(ebn->be_next); + prev = BE2L(ebn->be_prev); - if((errorcode=deletebnode(globals->block_extentbnoderoot,BE2L(ebn->be_key)))==0) { /*** Maybe use deleteinternalnode here??? */ - if((errorcode=setnextextent(next, prev))==0) { - errorcode=setprevextent(prev, next); + if((errorcode = deletebnode(globals->block_extentbnoderoot, BE2L(ebn->be_key))) == 0) { /*** Maybe use deleteinternalnode here??? */ + if((errorcode = setnextextent(next, prev)) == 0) { + errorcode = setprevextent(prev, next); + } } - } - return(errorcode); + return(errorcode); } static WORD enough_for_add_moved(void) { - if(globals->defragmentlongs>5) { - return TRUE; - } - return FALSE; + if(globals->defragmentlongs > 5) { + return TRUE; + } + return FALSE; } static inline void add_moved(ULONG blocks, ULONG from, ULONG to) { - if(globals->defragmentsteps!=0) { - *globals->defragmentsteps++=AROS_LONG2BE(MAKE_ID('M','O','V','E')); - *globals->defragmentsteps++=3; - *globals->defragmentsteps++=blocks; - *globals->defragmentsteps++=from; - *globals->defragmentsteps++=to; - *globals->defragmentsteps=0; - - globals->defragmentlongs-=5; - } + if(globals->defragmentsteps != 0) { + *globals->defragmentsteps++ = AROS_LONG2BE(MAKE_ID('M', 'O', 'V', 'E')); + *globals->defragmentsteps++ = 3; + *globals->defragmentsteps++ = blocks; + *globals->defragmentsteps++ = from; + *globals->defragmentsteps++ = to; + *globals->defragmentsteps = 0; + + globals->defragmentlongs -= 5; + } } static inline void add_done(void) { - if(globals->defragmentsteps!=0) { - *globals->defragmentsteps++=AROS_LONG2BE(MAKE_ID('D','O','N','E')); - *globals->defragmentsteps++=0; - *globals->defragmentsteps=0; + if(globals->defragmentsteps != 0) { + *globals->defragmentsteps++ = AROS_LONG2BE(MAKE_ID('D', 'O', 'N', 'E')); + *globals->defragmentsteps++ = 0; + *globals->defragmentsteps = 0; - globals->defragmentlongs-=2; - } + globals->defragmentlongs -= 2; + } } LONG moveextent(struct fsExtentBNode *ebn, BLCK dest, UWORD blocks) { - UBYTE *buf; - LONG errorcode; + UBYTE *buf; + LONG errorcode; - /* This function (partially) moves the Extent to /dest/. - /blocks/ is the number of blocks moved; if blocks is - equal to the size of the Extent, then the Extent will - be deleted. Else the start of the Extent will be - truncated. */ + /* This function (partially) moves the Extent to /dest/. + /blocks/ is the number of blocks moved; if blocks is + equal to the size of the Extent, then the Extent will + be deleted. Else the start of the Extent will be + truncated. */ - if((buf=AllocVec(OPTBUFSIZE, globals->bufmemtype))!=0) { - BLCK key=BE2L(ebn->be_key); - BLCK next=BE2L(ebn->be_next); - BLCK prev=BE2L(ebn->be_prev); - UWORD blocksinextent=BE2W(ebn->be_blocks); + if((buf = AllocVec(OPTBUFSIZE, globals->bufmemtype)) != 0) { + BLCK key = BE2L(ebn->be_key); + BLCK next = BE2L(ebn->be_next); + BLCK prev = BE2L(ebn->be_prev); + UWORD blocksinextent = BE2W(ebn->be_blocks); - if((errorcode=copy(key, dest, blocks, buf))==0) { // This functions knows that OPTBUFSIZE is the size of the buffer! + if((errorcode = copy(key, dest, blocks, buf)) == 0) { // This functions knows that OPTBUFSIZE is the size of the buffer! - /* Data has been physically moved -- nothing has been - permanently altered yet. */ + /* Data has been physically moved -- nothing has been + permanently altered yet. */ - if((errorcode=markspace(dest, blocks))==0) { + if((errorcode = markspace(dest, blocks)) == 0) { - if((errorcode=freespace(key, blocks))==0) { + if((errorcode = freespace(key, blocks)) == 0) { - /* Bitmap has been altered to reflect the new location of the - moved data. Now we either need to truncate the Extent (if - it was partially moved) or remove it. */ + /* Bitmap has been altered to reflect the new location of the + moved data. Now we either need to truncate the Extent (if + it was partially moved) or remove it. */ - if(blocksinextent==blocks) { - struct CacheBuffer *cb; + if(blocksinextent == blocks) { + struct CacheBuffer *cb; - if((errorcode=findextentbnode(key, &cb, &ebn))==0) { - errorcode=deleteextent(cb, ebn); - } - } - else { - next=key+blocks; - errorcode=truncateextent(key, -blocks); - } + if((errorcode = findextentbnode(key, &cb, &ebn)) == 0) { + errorcode = deleteextent(cb, ebn); + } + } else { + next = key + blocks; + errorcode = truncateextent(key, -blocks); + } - if(errorcode==0) { - if((errorcode=insertextent(dest, next, prev, blocks))==0) { - add_moved(blocks, key, dest); + if(errorcode == 0) { + if((errorcode = insertextent(dest, next, prev, blocks)) == 0) { + add_moved(blocks, key, dest); + } + } + } } - } } - } - } - FreeVec(buf); - } - else { - errorcode=ERROR_NO_FREE_STORE; - } + FreeVec(buf); + } else { + errorcode = ERROR_NO_FREE_STORE; + } - return(errorcode); + return(errorcode); } static LONG fillgap(BLCK key) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; - /* This function will attempt to fill the gap behind an extent with - data from the next extent. This in effect merges the extent and - the next extent (partially). */ + /* This function will attempt to fill the gap behind an extent with + data from the next extent. This in effect merges the extent and + the next extent (partially). */ - if((errorcode=findextentbnode(key, &cb, &ebn))==0) { - ULONG next=BE2L(ebn->be_next); + if((errorcode = findextentbnode(key, &cb, &ebn)) == 0) { + ULONG next = BE2L(ebn->be_next); - key+=BE2W(ebn->be_blocks); + key += BE2W(ebn->be_blocks); - while(next!=0 && (errorcode=findextentbnode(next, &cb, &ebn))==0) { // !! failed !! - UWORD blocks=BE2W(ebn->be_blocks); - LONG free; + while(next != 0 && (errorcode = findextentbnode(next, &cb, &ebn)) == 0) { // !! failed !! + UWORD blocks = BE2W(ebn->be_blocks); + LONG free; - lockcachebuffer(cb); + lockcachebuffer(cb); - if((free=availablespace(key, 1024))>0) { + if((free = availablespace(key, 1024)) > 0) { - unlockcachebuffer(cb); + unlockcachebuffer(cb); - _DEBUG(("fillgap: availablespace() returned %ld\n",free)); + _DEBUG("fillgap: availablespace() returned %ld\n", free); - /* The gap consists of /free/ blocks. */ + /* The gap consists of /free/ blocks. */ - if(free > blocks && enough_for_add_moved()!=FALSE) { - next=BE2L(ebn->be_next); - } - else { - next=0; - } + if(free > blocks && enough_for_add_moved() != FALSE) { + next = BE2L(ebn->be_next); + } else { + next = 0; + } - if((errorcode=moveextent(ebn, key, MIN(free, blocks)))!=0) { - return(errorcode); - } + if((errorcode = moveextent(ebn, key, MIN(free, blocks))) != 0) { + return(errorcode); + } - key+=blocks; - } - else { - unlockcachebuffer(cb); - } + key += blocks; + } else { + unlockcachebuffer(cb); + } + } } - } - _DEBUG(("fillgap: exiting with errorcode %ld\n",errorcode)); + _DEBUG("fillgap: exiting with errorcode %ld\n", errorcode); - return(errorcode); + return(errorcode); } LONG getbnode(BLCK block, struct CacheBuffer **returned_cb, struct fsExtentBNode **returned_ebn) { - LONG errorcode; + LONG errorcode; - /* This function gets the ExtentBNode which starts at the given - block or the first one after the given block. Zero *ebn indicates - there were no ExtentBNode's at or after the given block. */ + /* This function gets the ExtentBNode which starts at the given + block or the first one after the given block. Zero *ebn indicates + there were no ExtentBNode's at or after the given block. */ - if((errorcode=findbnode(globals->block_extentbnoderoot, block, returned_cb, (struct BNode **)returned_ebn))==0) { + if((errorcode = findbnode(globals->block_extentbnoderoot, block, returned_cb, (struct BNode **)returned_ebn)) == 0) { - _DEBUG(("getbnode: ebn->key = %ld, ebn->prev = %ld, ebn->blocks = %ld\n",BE2L((*returned_ebn)->be_key), BE2L((*returned_ebn)->be_prev), BE2W((*returned_ebn)->be_blocks))); + _DEBUG("getbnode: ebn->key = %ld, ebn->prev = %ld, ebn->blocks = %ld\n", BE2L((*returned_ebn)->be_key), BE2L((*returned_ebn)->be_prev), BE2W((*returned_ebn)->be_blocks)); - if(*returned_ebn!=0 && BE2L((*returned_ebn)->be_key)block_extentbnoderoot, returned_cb, (struct BNode **)returned_ebn); + if(*returned_ebn != 0 && BE2L((*returned_ebn)->be_key) < block) { + errorcode = nextbnode(globals->block_extentbnoderoot, returned_cb, (struct BNode **)returned_ebn); - _DEBUG(("getbnode: 2: ebn->key = %ld, ebn->prev = %ld, ebn->blocks = %ld\n",BE2L((*returned_ebn)->be_key), BE2L((*returned_ebn)->be_prev), BE2W((*returned_ebn)->be_blocks))); + _DEBUG("getbnode: 2: ebn->key = %ld, ebn->prev = %ld, ebn->blocks = %ld\n", BE2L((*returned_ebn)->be_key), BE2L((*returned_ebn)->be_prev), BE2W((*returned_ebn)->be_blocks)); + } } - } - return(errorcode); + return(errorcode); } #if 0 LONG makefreespace(BLCK block) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; - /* This function tries to move the data located at /block/ to - another area of the disk. */ + /* This function tries to move the data located at /block/ to + another area of the disk. */ - if((errorcode=findextentbnode(block, &cb, &ebn))==0) { - ULONG blocks; - ULONG newblocks; - BLCK startblock; + if((errorcode = findextentbnode(block, &cb, &ebn)) == 0) { + ULONG blocks; + ULONG newblocks; + BLCK startblock; - lockcachebuffer(cb); + lockcachebuffer(cb); - blocks=MIN(OPTBUFSIZE>>shifts_block, ebn->blocks); + blocks = MIN(OPTBUFSIZE >> shifts_block, ebn->blocks); - if((errorcode=findspace2_backwards(blocks, block, blocks_total, &startblock, &newblocks))==0) { - unlockcachebuffer(cb); + if((errorcode = findspace2_backwards(blocks, block, blocks_total, &startblock, &newblocks)) == 0) { + unlockcachebuffer(cb); - if(newblocks!=0) { + if(newblocks != 0) { - _DEBUG(("makefreespace: Looking for %ld blocks from block %ld, and found %ld blocks at block %ld.\n", blocks, block, newblocks, startblock)); + _DEBUG("makefreespace: Looking for %ld blocks from block %ld, and found %ld blocks at block %ld.\n", blocks, block, newblocks, startblock); - errorcode=moveextent(ebn, startblock, newblocks); - } - else { - errorcode=ERROR_DISK_FULL; - } - } - else { - unlockcachebuffer(cb); + errorcode = moveextent(ebn, startblock, newblocks); + } else { + errorcode = ERROR_DISK_FULL; + } + } else { + unlockcachebuffer(cb); + } } - } - return(errorcode); + return(errorcode); } #endif LONG makefreespace(BLCK block) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG errorcode; - WORD count=0; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG errorcode; + WORD count = 0; - /* This function tries to move the data located at /block/ to - another area of the disk. */ + /* This function tries to move the data located at /block/ to + another area of the disk. */ - if((errorcode=findextentbnode(block, &cb, &ebn))==0) { - do { - ULONG blocks; - ULONG newblocks; - BLCK startblock; + if((errorcode = findextentbnode(block, &cb, &ebn)) == 0) { + do { + ULONG blocks; + ULONG newblocks; + BLCK startblock; - lockcachebuffer(cb); + lockcachebuffer(cb); - blocks=MIN(OPTBUFSIZE>>globals->shifts_block, BE2W(ebn->be_blocks)); + blocks = MIN(OPTBUFSIZE >> globals->shifts_block, BE2W(ebn->be_blocks)); - if((errorcode=findspace2_backwards(blocks, BE2L(ebn->be_key), globals->blocks_total, &startblock, &newblocks))==0) { // ebn->key should not be changed to block. - unlockcachebuffer(cb); + if((errorcode = findspace2_backwards(blocks, BE2L(ebn->be_key), globals->blocks_total, &startblock, &newblocks)) == 0) { // ebn->key should not be changed to block. + unlockcachebuffer(cb); - if(newblocks!=0) { + if(newblocks != 0) { - _DEBUG(("makefreespace: Looking for %ld blocks from block %ld, and found %ld blocks at block %ld.\n", blocks, block, newblocks, startblock)); + _DEBUG("makefreespace: Looking for %ld blocks from block %ld, and found %ld blocks at block %ld.\n", blocks, block, newblocks, startblock); - if((errorcode=moveextent(ebn, startblock, newblocks))!=0) { - break; - } - } - else { - if(count==0) { - errorcode=ERROR_DISK_FULL; - } - break; - } - } - else { - unlockcachebuffer(cb); - break; - } + if((errorcode = moveextent(ebn, startblock, newblocks)) != 0) { + break; + } + } else { + if(count == 0) { + errorcode = ERROR_DISK_FULL; + } + break; + } + } else { + unlockcachebuffer(cb); + break; + } - if(count++>=1) { - break; - } + if(count++ >= 1) { + break; + } - if((errorcode=getbnode(block, &cb, &ebn))!=0 || ebn==0) { - break; - } + if((errorcode = getbnode(block, &cb, &ebn)) != 0 || ebn == 0) { + break; + } - } while((BE2L(ebn->be_prev) & 0x80000000)==0); - } + } while((BE2L(ebn->be_prev) & 0x80000000) == 0); + } - return(errorcode); + return(errorcode); } LONG skipunmoveable(BLCK block) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - - /* This function looks for moveable data or free space starting - from the given block. It returns -1 in case of failure, or - the first moveable block it finds. If there ain't no more - moveable blocks, then blocks_total is returned. */ - - if((findbnode(globals->block_extentbnoderoot, block, &cb, (struct BNode **)&ebn))==0) { - if(ebn!=0 && ebn->be_key==L2BE(block)) { - return((LONG)block); - } - else if(ebn==0 || BE2L(ebn->be_key)>=block || nextbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn)==0) { - if(ebn!=0) { - BLCK key=BE2L(ebn->be_key); - LONG used; - - /* Found something moveable, but maybe there was some free space before the - moveable Extent. */ + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - if((used=allocatedspace(block, key-block))!=-1) { - if(block+usedblock_extentbnoderoot, block, &cb, (struct BNode **)&ebn)) == 0) { + if(ebn != 0 && ebn->be_key == L2BE(block)) { + return((LONG)block); + } else if(ebn == 0 || BE2L(ebn->be_key) >= block || nextbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn) == 0) { + if(ebn != 0) { + BLCK key = BE2L(ebn->be_key); + LONG used; + + /* Found something moveable, but maybe there was some free space before the + moveable Extent. */ + + if((used = allocatedspace(block, key - block)) != -1) { + if(block + used < key) { + return((LONG)block + used); + } else { + return((LONG)key); + } + } + } else { + LONG errorcode; - if((errorcode=findspace(1, block, globals->blocks_total, &block))==0) { - return((LONG)block); - } - else if(errorcode==ERROR_DISK_FULL) { - return((LONG)globals->blocks_total); + if((errorcode = findspace(1, block, globals->blocks_total, &block)) == 0) { + return((LONG)block); + } else if(errorcode == ERROR_DISK_FULL) { + return((LONG)globals->blocks_total); + } + } } - } } - } - return(-1); + return(-1); } struct fsExtentBNode *startofextentbnodechain(struct fsExtentBNode *ebn) { - struct CacheBuffer *cb; - LONG errorcode=0; + struct CacheBuffer *cb; + LONG errorcode = 0; - while((BE2L(ebn->be_prev) & 0x80000000)==0 && (errorcode=findextentbnode(BE2L(ebn->be_prev), &cb, &ebn))==0) { - } + while((BE2L(ebn->be_prev) & 0x80000000) == 0 && (errorcode = findextentbnode(BE2L(ebn->be_prev), &cb, &ebn)) == 0) { + } - if(errorcode==0) { - return(ebn); - } + if(errorcode == 0) { + return(ebn); + } - return(0); + return(0); } #if 0 LONG findmatch(BLCK startblock, ULONG blocks, ULONG *bestkey) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; -// struct fsExtentBNode *ebn_start; - ULONG bestblocks=0; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + // struct fsExtentBNode *ebn_start; + ULONG bestblocks = 0; + LONG errorcode; - /* This function looks for the start of a ExtentBNode chain - which matches the given size. If none is found, then the - next smaller chain is returned. If none is found, then a - larger chain is returned. If there are no chains at all - 0 is returned. + /* This function looks for the start of a ExtentBNode chain + which matches the given size. If none is found, then the + next smaller chain is returned. If none is found, then a + larger chain is returned. If there are no chains at all + 0 is returned. - The first ExtentBNode examined is determined by the start - block number which is passed. */ + The first ExtentBNode examined is determined by the start + block number which is passed. */ - _DEBUG(("findmatch: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock)); + _DEBUG("findmatch: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock); - *bestkey=0; + *bestkey = 0; - if((errorcode=getbnode(startblock, &cb, &ebn))==0 && ebn!=0) { + if((errorcode = getbnode(startblock, &cb, &ebn)) == 0 && ebn != 0) { - _DEBUG(("findmatch: 1, ebn->key = %ld, ebn->blocks = %ld\n", ebn->key, ebn->blocks)); + _DEBUG("findmatch: 1, ebn->key = %ld, ebn->blocks = %ld\n", ebn->key, ebn->blocks); - do { - struct CacheBuffer *cb2; - struct fsExtentBNode *ebn_start=ebn; - struct fsObject *o; - ULONG total=ebn->blocks; /* If larger than bestblocks, then we can stop looking for the start of the ExtentBNode chain early. */ - ULONG key, newblocks; + do { + struct CacheBuffer *cb2; + struct fsExtentBNode *ebn_start = ebn; + struct fsObject *o; + ULONG total = ebn->blocks; /* If larger than bestblocks, then we can stop looking for the start of the ExtentBNode chain early. */ + ULONG key, newblocks; - lockcachebuffer(cb); -// ebn_start=startofextentbnodechain(ebn); - { - struct CacheBuffer *cb; + lockcachebuffer(cb); + // ebn_start=startofextentbnodechain(ebn); + { + struct CacheBuffer *cb; - while((totalprev & 0x80000000)==0 && ebn_start->prev >= ebn->key && (errorcode=findextentbnode(ebn_start->prev, &cb, &ebn_start))==0) { - total+=ebn_start->blocks; - } - } - unlockcachebuffer(cb); + while((total < bestblocks || bestblocks == 0) && (ebn_start->prev & 0x80000000) == 0 && ebn_start->prev >= ebn->key && (errorcode = findextentbnode(ebn_start->prev, &cb, &ebn_start)) == 0) { + total += ebn_start->blocks; + } + } + unlockcachebuffer(cb); - if(errorcode!=0) { - break; - } + if(errorcode != 0) { + break; + } - if((totalprev & 0x80000000)!=0) { + if((total < bestblocks || bestblocks == 0) && (ebn_start->prev & 0x80000000) != 0) { - _DEBUG(("findmatch: 2, ebn->key = %ld\n", ebn->key)); + _DEBUG("findmatch: 2, ebn->key = %ld\n", ebn->key); - key=ebn_start->key; + key = ebn_start->key; - lockcachebuffer(cb); - errorcode=readobject(ebn_start->prev & 0x7FFFFFFF, &cb2, &o); - unlockcachebuffer(cb); + lockcachebuffer(cb); + errorcode = readobject(ebn_start->prev & 0x7FFFFFFF, &cb2, &o); + unlockcachebuffer(cb); - if(errorcode!=0) { - break; - } + if(errorcode != 0) { + break; + } - _DEBUG(("findmatch: 3, filesize = %ld\n",o->object.file.size)); + _DEBUG("findmatch: 3, filesize = %ld\n", o->object.file.size); - newblocks=(o->object.file.size+bytes_block-1)>>shifts_block; + newblocks = (o->object.file.size + bytes_block - 1) >> shifts_block; - if(newblocks==blocks) { /* Found ideal match */ - *bestkey=key; - break; - } - else if(newblocksbestblocks || bestblocks>blocks) { - *bestkey=key; - bestblocks=newblocks; - } - } - else if(bestblocks==0 || newblocks bestblocks || bestblocks > blocks) { + *bestkey = key; + bestblocks = newblocks; + } + } else if(bestblocks == 0 || newblocks < bestblocks) { + *bestkey = key; + bestblocks = newblocks; + } + } - } while((errorcode=nextbnode(block_extentbnoderoot, &cb, (struct BNode **)&ebn))==0 && ebn!=0); - } + } while((errorcode = nextbnode(block_extentbnoderoot, &cb, (struct BNode **)&ebn)) == 0 && ebn != 0); + } - return(errorcode); + return(errorcode); } #endif @@ -6003,72 +5982,68 @@ LONG findmatch(BLCK startblock, ULONG blocks, ULONG *bestkey) { void newfragmentinit_large(ULONG blocks) { - globals->bestkey=0; - globals->bestblocks=0; - globals->searchedblocks=blocks; + globals->bestkey = 0; + globals->bestblocks = 0; + globals->searchedblocks = blocks; } ULONG newfragment_large(ULONG block, ULONG blocks) { - if(blocks==globals->searchedblocks) { /* Found ideal match */ - return(block); - } - else if(blockssearchedblocks) { - if(blocks>globals->bestblocks || globals->bestblocks>globals->searchedblocks) { - globals->bestkey=block; - globals->bestblocks=blocks; + if(blocks == globals->searchedblocks) { /* Found ideal match */ + return(block); + } else if(blocks < globals->searchedblocks) { + if(blocks > globals->bestblocks || globals->bestblocks > globals->searchedblocks) { + globals->bestkey = block; + globals->bestblocks = blocks; + } + } else if(globals->bestblocks == 0 || blocks < globals->bestblocks) { + globals->bestkey = block; + globals->bestblocks = blocks; } - } - else if(globals->bestblocks==0 || blocksbestblocks) { - globals->bestkey=block; - globals->bestblocks=blocks; - } - return(0); + return(0); } #if 0 ULONG newfragment_large(ULONG block, ULONG blocks, UBYTE type) { - if(type==0) { - if(blocks==searchedblocks) { /* Found ideal match */ - return(block); - } - else if(blocksbestblocks || bestblocks>searchedblocks) { - bestkey=block; - bestblocks=blocks; - } - } - else if(bestblocks==0 || blocks bestblocks || bestblocks > searchedblocks) { + bestkey = block; + bestblocks = blocks; + } + } else if(bestblocks == 0 || blocks < bestblocks) { + bestkey = block; + bestblocks = blocks; + } } - } - return(0); + return(0); } #endif ULONG newfragmentend_large(void) { - return(globals->bestkey); + return(globals->bestkey); } void newfragmentinit_small(ULONG blocks) { - ULONG *f=globals->fragment; - WORD n=FRAGMENTS; + ULONG *f = globals->fragment; + WORD n = FRAGMENTS; - newfragmentinit_large(blocks); + newfragmentinit_large(blocks); - while(--n>=0) { - *f++=0; - } + while(--n >= 0) { + *f++ = 0; + } } @@ -6118,27 +6093,27 @@ ULONG newfragment_small(ULONG block, ULONG blocks, UBYTE type) { ULONG newfragment_small(ULONG block, ULONG blocks) { - if(blockssearchedblocks && globals->fragment[blocks]==0) { - ULONG blocks2=globals->searchedblocks-blocks; + if(blocks < globals->searchedblocks && globals->fragment[blocks] == 0) { + ULONG blocks2 = globals->searchedblocks - blocks; - globals->fragment[blocks]=block; + globals->fragment[blocks] = block; - if(blocks2==blocks) { - blocks2=0; - } + if(blocks2 == blocks) { + blocks2 = 0; + } - if(globals->fragment[blocks2]!=0) { - return(globals->fragment[blocks]); + if(globals->fragment[blocks2] != 0) { + return(globals->fragment[blocks]); + } } - } - return(newfragment_large(block, blocks)); + return(newfragment_large(block, blocks)); } ULONG newfragmentend_small(void) { - return(newfragmentend_large()); + return(newfragmentend_large()); } @@ -6146,355 +6121,335 @@ ULONG newfragmentend_small(void) { #if 0 LONG findmatch(BLCK startblock, ULONG blocks, ULONG *bestkey) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - ULONG lastextentend=0; - LONG maxscan=defrag_maxfilestoscan; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + ULONG lastextentend = 0; + LONG maxscan = defrag_maxfilestoscan; + LONG errorcode; - /* This function looks for the start of a ExtentBNode chain - which matches the given size. If none is found, then the - next smaller chain is returned. If none is found, then a - larger chain is returned. If there are no chains at all - 0 is returned. + /* This function looks for the start of a ExtentBNode chain + which matches the given size. If none is found, then the + next smaller chain is returned. If none is found, then a + larger chain is returned. If there are no chains at all + 0 is returned. - The first ExtentBNode examined is determined by the start - block number which is passed. */ + The first ExtentBNode examined is determined by the start + block number which is passed. */ - _DEBUG(("findmatch: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock)); + _DEBUG("findmatch: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock); - *bestkey=0; + *bestkey = 0; - if(blocks>FRAGMENTS-1) { - newfragmentinit_large(blocks); - } - else { - newfragmentinit_small(blocks); - } + if(blocks > FRAGMENTS - 1) { + newfragmentinit_large(blocks); + } else { + newfragmentinit_small(blocks); + } - if((errorcode=getbnode(startblock, &cb, &ebn))==0 && ebn!=0) { + if((errorcode = getbnode(startblock, &cb, &ebn)) == 0 && ebn != 0) { - _DEBUG(("findmatch: ebn->key = %ld, ebn->blocks = %ld\n", ebn->key, ebn->blocks)); + _DEBUG("findmatch: ebn->key = %ld, ebn->blocks = %ld\n", ebn->key, ebn->blocks); - do { - if((ebn->prev & 0x80000000)!=0) { - struct CacheBuffer *cb2; - struct fsObject *o; - ULONG newblocks; - UBYTE fragmenttype; + do { + if((ebn->prev & 0x80000000) != 0) { + struct CacheBuffer *cb2; + struct fsObject *o; + ULONG newblocks; + UBYTE fragmenttype; - /* Found the start of a candidate chain. */ + /* Found the start of a candidate chain. */ - lockcachebuffer(cb); - errorcode=readobject(ebn->prev & 0x7FFFFFFF, &cb2, &o); - unlockcachebuffer(cb); + lockcachebuffer(cb); + errorcode = readobject(ebn->prev & 0x7FFFFFFF, &cb2, &o); + unlockcachebuffer(cb); - if(errorcode!=0) { - break; - } + if(errorcode != 0) { + break; + } - newblocks=(o->object.file.size+bytes_block-1)>>shifts_block; + newblocks = (o->object.file.size + bytes_block - 1) >> shifts_block; - fragmenttype=lastextentend==ebn->key ? 1 : 0; + fragmenttype = lastextentend == ebn->key ? 1 : 0; - if(blocks>FRAGMENTS-1) { - *bestkey=newfragment_large(ebn->key, newblocks, fragmenttype); - } - else { - *bestkey=newfragment_small(ebn->key, newblocks, fragmenttype); - } + if(blocks > FRAGMENTS - 1) { + *bestkey = newfragment_large(ebn->key, newblocks, fragmenttype); + } else { + *bestkey = newfragment_small(ebn->key, newblocks, fragmenttype); + } - if(*bestkey!=0) { - return(0); - } + if(*bestkey != 0) { + return(0); + } - if(--maxscan<0) { - break; - } + if(--maxscan < 0) { + break; + } - lastextentend=ebn->next==0 ? ebn->key + ebn->blocks : 0; - } - } while((errorcode=nextbnode(block_extentbnoderoot, &cb, (struct BNode **)&ebn))==0 && ebn!=0); + lastextentend = ebn->next == 0 ? ebn->key + ebn->blocks : 0; + } + } while((errorcode = nextbnode(block_extentbnoderoot, &cb, (struct BNode **)&ebn)) == 0 && ebn != 0); - if(errorcode==0) { - if(blocks>FRAGMENTS-1) { - *bestkey=newfragmentend_large(); - } - else { - *bestkey=newfragmentend_small(); - } + if(errorcode == 0) { + if(blocks > FRAGMENTS - 1) { + *bestkey = newfragmentend_large(); + } else { + *bestkey = newfragmentend_small(); + } + } } - } - return(errorcode); + return(errorcode); } #endif LONG findmatch_fromend(BLCK startblock, ULONG blocks, ULONG *bestkey) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; - LONG maxscan=globals->defrag_maxfilestoscan; - LONG errorcode; + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; + LONG maxscan = globals->defrag_maxfilestoscan; + LONG errorcode; - /* This function looks for the start of a ExtentBNode chain - which matches the given size. If none is found, then the - next smaller chain is returned. If none is found, then a - larger chain is returned. If there are no chains at all - 0 is returned. + /* This function looks for the start of a ExtentBNode chain + which matches the given size. If none is found, then the + next smaller chain is returned. If none is found, then a + larger chain is returned. If there are no chains at all + 0 is returned. - The first ExtentBNode examined is determined by the start - block number which is passed. */ + The first ExtentBNode examined is determined by the start + block number which is passed. */ - _DEBUG(("findmatch_fromend: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock)); + _DEBUG("findmatch_fromend: Looking for a chain of %ld blocks starting from block %ld\n", blocks, startblock); - *bestkey=0; + *bestkey = 0; - if(blocks>FRAGMENTS-1) { - newfragmentinit_large(blocks); - } - else { - newfragmentinit_small(blocks); - } + if(blocks > FRAGMENTS - 1) { + newfragmentinit_large(blocks); + } else { + newfragmentinit_small(blocks); + } - if((errorcode=lastbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn))==0 && ebn!=0 && BE2L(ebn->be_key)>=startblock) { + if((errorcode = lastbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn)) == 0 && ebn != 0 && BE2L(ebn->be_key) >= startblock) { - _DEBUG(("findmatch_fromend: ebn->key = %ld, ebn->blocks = %ld\n", BE2L(ebn->be_key), BE2W(ebn->be_blocks))); + _DEBUG("findmatch_fromend: ebn->key = %ld, ebn->blocks = %ld\n", BE2L(ebn->be_key), BE2W(ebn->be_blocks)); - do { - if((BE2L(ebn->be_prev) & 0x80000000)!=0) { // Is this a 'first fragment' of something? - struct CacheBuffer *cb2; - struct fsObject *o; - ULONG newblocks; + do { + if((BE2L(ebn->be_prev) & 0x80000000) != 0) { // Is this a 'first fragment' of something? + struct CacheBuffer *cb2; + struct fsObject *o; + ULONG newblocks; - _DEBUG(("findmatch_fromend!: ebn->key = %ld, ebn->blocks = %ld\n", BE2L(ebn->be_key), BE2W(ebn->be_blocks))); + _DEBUG("findmatch_fromend!: ebn->key = %ld, ebn->blocks = %ld\n", BE2L(ebn->be_key), BE2W(ebn->be_blocks)); - /* Found the start of a candidate chain. */ + /* Found the start of a candidate chain. */ - lockcachebuffer(cb); - errorcode=readobject(BE2L(ebn->be_prev) & 0x7FFFFFFF, &cb2, &o); - unlockcachebuffer(cb); + lockcachebuffer(cb); + errorcode = readobject(BE2L(ebn->be_prev) & 0x7FFFFFFF, &cb2, &o); + unlockcachebuffer(cb); - if(errorcode!=0) { - break; - } + if(errorcode != 0) { + break; + } - newblocks=(BE2L(o->object.file.be_size)+globals->bytes_block-1)>>globals->shifts_block; + newblocks = (BE2L(o->object.file.be_size) + globals->bytes_block - 1) >> globals->shifts_block; - if(blocks>FRAGMENTS-1) { - *bestkey=newfragment_large(BE2L(ebn->be_key), newblocks); - } - else { - *bestkey=newfragment_small(BE2L(ebn->be_key), newblocks); - } + if(blocks > FRAGMENTS - 1) { + *bestkey = newfragment_large(BE2L(ebn->be_key), newblocks); + } else { + *bestkey = newfragment_small(BE2L(ebn->be_key), newblocks); + } - if(*bestkey!=0) { - return(0); - } + if(*bestkey != 0) { + return(0); + } - if(--maxscan<0) { - break; - } - } - } while((errorcode=previousbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn))==0 && ebn!=0 && BE2L(ebn->be_key)>=startblock); + if(--maxscan < 0) { + break; + } + } + } while((errorcode = previousbnode(globals->block_extentbnoderoot, &cb, (struct BNode **)&ebn)) == 0 && ebn != 0 && BE2L(ebn->be_key) >= startblock); - if(errorcode==0) { - if(blocks>FRAGMENTS-1) { - *bestkey=newfragmentend_large(); - } - else { - *bestkey=newfragmentend_small(); - } - } - else { - _DEBUG(("findmatch_fromend: errorcode=%ld\n", errorcode)); + if(errorcode == 0) { + if(blocks > FRAGMENTS - 1) { + *bestkey = newfragmentend_large(); + } else { + *bestkey = newfragmentend_small(); + } + } else { + _DEBUG("findmatch_fromend: errorcode=%ld\n", errorcode); + } } - } - return(errorcode); + return(errorcode); } LONG step(void) { - LONG errorcode; - LONG free; + LONG errorcode; + LONG free; - if((free=availablespace(globals->block_defragptr, 256))!=-1) { + if((free = availablespace(globals->block_defragptr, 256)) != -1) { - _DEBUG(("Defragmenter: Found %ld blocks of free space at block %ld.\n", free, globals->block_defragptr)); + _DEBUG("Defragmenter: Found %ld blocks of free space at block %ld.\n", free, globals->block_defragptr); - if(free==0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; + if(free == 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - /* Determine in which extent block_defragptr is located. */ + /* Determine in which extent block_defragptr is located. */ - if((errorcode=findbnode(globals->block_extentbnoderoot, globals->block_defragptr, &cb, (struct BNode **)&ebn))==0) { - if(ebn==0 || BE2L(ebn->be_key)!=globals->block_defragptr) { - LONG block; + if((errorcode = findbnode(globals->block_extentbnoderoot, globals->block_defragptr, &cb, (struct BNode **)&ebn)) == 0) { + if(ebn == 0 || BE2L(ebn->be_key) != globals->block_defragptr) { + BLCK block; - _DEBUG(("Defragmenter: Found unmoveable data at block %ld.\n", globals->block_defragptr)); + _DEBUG("Defragmenter: Found unmoveable data at block %ld.\n", globals->block_defragptr); - /* Skip unmoveable data */ + /* Skip unmoveable data */ - if((block=skipunmoveable(globals->block_defragptr))!=-1) { - globals->block_defragptr=block; - } - else { - errorcode=INTERR_DEFRAGMENTER; - } - } - else if((BE2L(ebn->be_prev) & 0x80000000)!=0 || BE2L(ebn->be_prev)block_defragptr) { + if((block = (BLCK)skipunmoveable(globals->block_defragptr)) != (BLCK) - 1) { + globals->block_defragptr = block; + } else { + errorcode = INTERR_DEFRAGMENTER; + } + } else if((BE2L(ebn->be_prev) & 0x80000000) != 0 || BE2L(ebn->be_prev) < globals->block_defragptr) { - _DEBUG(("Defragmenter: Found a (partially) defragmented extent at block %ld.\n", globals->block_defragptr)); + _DEBUG("Defragmenter: Found a (partially) defragmented extent at block %ld.\n", globals->block_defragptr); - if(BE2L(ebn->be_next)==0 || BE2L(ebn->be_next) == BE2L(ebn->be_key)+BE2W(ebn->be_blocks)) { - /* If there is no next Extent, or if the next Extent is touching - this one, then skip the current one. */ + if(BE2L(ebn->be_next) == 0 || BE2L(ebn->be_next) == BE2L(ebn->be_key) + BE2W(ebn->be_blocks)) { + /* If there is no next Extent, or if the next Extent is touching + this one, then skip the current one. */ - _DEBUG(("Defragmenter: Extent has no next or next is touching this one.\n")); + _DEBUG("Defragmenter: Extent has no next or next is touching this one.\n"); - globals->block_defragptr+=BE2W(ebn->be_blocks); - } - else { - LONG freeafter; - BLCK key=BE2L(ebn->be_key); - BLCK next=BE2L(ebn->be_next); - UWORD blocks=BE2W(ebn->be_blocks); + globals->block_defragptr += BE2W(ebn->be_blocks); + } else { + LONG freeafter; + BLCK key = BE2L(ebn->be_key); + BLCK next = BE2L(ebn->be_next); + UWORD blocks = BE2W(ebn->be_blocks); - _DEBUG(("Defragmenter: Extent has a next extent.\n")); + _DEBUG("Defragmenter: Extent has a next extent.\n"); - if((freeafter=availablespace(key+blocks, 256))!=-1) { + if((freeafter = availablespace(key + blocks, 256)) != -1) { - _DEBUG(("Defragmenter: There are %ld blocks of free space after the extent at block %ld.\n", freeafter, key)); + _DEBUG("Defragmenter: There are %ld blocks of free space after the extent at block %ld.\n", freeafter, key); - if(freeafter>0) { - /* Move (part of) data located in next extent to this free space. */ + if(freeafter > 0) { + /* Move (part of) data located in next extent to this free space. */ - _DEBUG(("Defragmenter: Filling the gap.\n")); + _DEBUG("Defragmenter: Filling the gap.\n"); - /* The function below can be called multiple times in a row. When there is a large - gap in which multiple extents of the file will fit, then these can all be transfered - into the gap at once. */ + /* The function below can be called multiple times in a row. When there is a large + gap in which multiple extents of the file will fit, then these can all be transfered + into the gap at once. */ - errorcode=fillgap(key); - } - else { - LONG block; + errorcode = fillgap(key); + } else { + BLCK block; - /* Determine which extent it is which is located directly after the current extent. */ + /* Determine which extent it is which is located directly after the current extent. */ - if((block=skipunmoveable(key+blocks))!=-1) { - if(block==key+blocks) { + if((block = (BLCK)skipunmoveable(key + blocks)) != (BLCK) - 1) { + if(block == key + blocks) { - _DEBUG(("Defragmenter: There was a moveable extent after the extent at block %ld.\n", key)); + _DEBUG("Defragmenter: There was a moveable extent after the extent at block %ld.\n", key); - /* There was no unmoveable data, so let's move it. */ + /* There was no unmoveable data, so let's move it. */ - errorcode=makefreespace(block); - } - else { - LONG freeafter; + errorcode = makefreespace(block); + } else { + LONG freeafter; - _DEBUG(("Defragmenter: Skipped %ld blocks of unmoveable data.\n", block-(key+blocks))); + _DEBUG("Defragmenter: Skipped %ld blocks of unmoveable data.\n", block - (key + blocks)); - /* Unmoveable data was skipped. */ + /* Unmoveable data was skipped. */ - if(block!=next) { // Mar 20 1999: Check to see if the extent after the unmoveable data is not already the correct one. + if(block != next) { // Mar 20 1999: Check to see if the extent after the unmoveable data is not already the correct one. - if((freeafter=availablespace(block, 256))!=-1) { + if((freeafter = availablespace(block, 256)) != -1) { - _DEBUG(("Defragmenter: There are %ld blocks of free space after the unmoveable data.\n", freeafter)); + _DEBUG("Defragmenter: There are %ld blocks of free space after the unmoveable data.\n", freeafter); - if(freeafter==0) { + if(freeafter == 0) { - _DEBUG(("Defragmenter: Clearing some space at block %ld.\n", block)); + _DEBUG("Defragmenter: Clearing some space at block %ld.\n", block); - if((errorcode=makefreespace(block))==0) { - if((freeafter=availablespace(block, 256))==-1) { - errorcode=INTERR_DEFRAGMENTER; - } + if((errorcode = makefreespace(block)) == 0) { + if((freeafter = availablespace(block, 256)) == -1) { + errorcode = INTERR_DEFRAGMENTER; + } - _DEBUG(("Defragmenter: There are now %ld blocks of cleared space after the unmoveable data.\n", freeafter)); - } - } + _DEBUG("Defragmenter: There are now %ld blocks of cleared space after the unmoveable data.\n", freeafter); + } + } + + if(errorcode == 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - if(errorcode==0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; + if((errorcode = findextentbnode(next, &cb, &ebn)) == 0) { - if((errorcode=findextentbnode(next, &cb, &ebn))==0) { + _DEBUG("Defragmenter: Moved next extent of our extent directly after the unmoveable space (block = %ld).\n", block); - _DEBUG(("Defragmenter: Moved next extent of our extent directly after the unmoveable space (block = %ld).\n", block)); + if((errorcode = moveextent(ebn, block, MIN(freeafter, BE2W(ebn->be_blocks)))) == 0) { + globals->block_defragptr = block; + } + } + } + } else { + errorcode = INTERR_DEFRAGMENTER; + } + } else { - if((errorcode=moveextent(ebn, block, MIN(freeafter, BE2W(ebn->be_blocks))))==0) { - globals->block_defragptr=block; + /* Extent after unmoveable data is already correct, so no need to move it. */ + + globals->block_defragptr = block; + } + } + } else { + errorcode = INTERR_DEFRAGMENTER; + } } - } + } else { + errorcode = INTERR_DEFRAGMENTER; } - } - else { - errorcode=INTERR_DEFRAGMENTER; - } } - else { + } else { - /* Extent after unmoveable data is already correct, so no need to move it. */ + _DEBUG("Defragmenter: Found an extent at block %ld which must be moved away.\n", globals->block_defragptr); - globals->block_defragptr=block; - } - } - } - else { - errorcode=INTERR_DEFRAGMENTER; + errorcode = makefreespace(globals->block_defragptr); } - } } - else { - errorcode=INTERR_DEFRAGMENTER; - } - } - } - else { - - _DEBUG(("Defragmenter: Found an extent at block %ld which must be moved away.\n", globals->block_defragptr)); - - errorcode=makefreespace(globals->block_defragptr); - } - } - } - else { - ULONG bestkey; + } else { + ULONG bestkey; - if((errorcode=findmatch_fromend(globals->block_defragptr, free, &bestkey))==0) { - if(bestkey!=0) { - struct CacheBuffer *cb; - struct fsExtentBNode *ebn; + if((errorcode = findmatch_fromend(globals->block_defragptr, free, &bestkey)) == 0) { + if(bestkey != 0) { + struct CacheBuffer *cb; + struct fsExtentBNode *ebn; - if((errorcode=findextentbnode(bestkey, &cb, &ebn))==0) { + if((errorcode = findextentbnode(bestkey, &cb, &ebn)) == 0) { - _DEBUG(("Defragmenter: Moving a new first Extent to %ld\n", globals->block_defragptr)); + _DEBUG("Defragmenter: Moving a new first Extent to %ld\n", globals->block_defragptr); - errorcode=moveextent(ebn, globals->block_defragptr, MIN(free, BE2W(ebn->be_blocks))); - } - } - else { - _DEBUG(("Defragmenter: Nothing more to optimize.\n")); + errorcode = moveextent(ebn, globals->block_defragptr, MIN(free, BE2W(ebn->be_blocks))); + } + } else { + _DEBUG("Defragmenter: Nothing more to optimize.\n"); - add_done(); + add_done(); + } + } } - } + } else { + errorcode = INTERR_DEFRAGMENTER; } - } - else { - errorcode=INTERR_DEFRAGMENTER; - } - _DEBUG(("Defragmenter: Exiting with errorcode %ld\n\n",errorcode)); + _DEBUG("Defragmenter: Exiting with errorcode %ld\n\n", errorcode); - return(errorcode); + return(errorcode); } @@ -6586,74 +6541,81 @@ LONG step(void) { #endif #undef DOSBase -static void sdlhtask(void) -{ +static void sdlhtask(void) { #ifndef __AROS__ - struct ExecBase *SysBase=globals->sysBase; + struct ExecBase *SysBase = globals->sysBase; #endif - struct DosLibrary *DOSBase; + struct DosLibrary *DOSBase; - if((DOSBase=(struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS))!=0) { - Forbid(); - if(FindPort("SFS DosList handler")==0) { - struct MsgPort *port; + if((DOSBase = (struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS)) != 0) { + Forbid(); + if(FindPort("SFS DosList handler") == 0) { + struct MsgPort *port; - if((port=CreateMsgPort())!=0) { - struct SFSMessage *sfsm; + if((port = CreateMsgPort()) != 0) { + struct SFSMessage *sfsm; - port->mp_Node.ln_Name="SFS DosList handler"; - port->mp_Node.ln_Pri=1; - AddPort(port); - Permit(); + port->mp_Node.ln_Name = "SFS DosList handler"; + port->mp_Node.ln_Pri = 1; + AddPort(port); + Permit(); - for(;;) { - struct DosList *dol; + for(;;) + { + struct DosList *dol; - WaitPort(port); + WaitPort(port); - dol=LockDosList(LDF_WRITE|LDF_VOLUMES); + dol = LockDosList(LDF_WRITE | LDF_VOLUMES); - while((sfsm=(struct SFSMessage *)GetMsg(port))!=0) { - if(sfsm->command==SFSM_ADD_VOLUMENODE) { - /* AddDosEntry rejects volumes based on their name and date. */ + while((sfsm = (struct SFSMessage *)GetMsg(port)) != 0) + { + if(sfsm->command == SFSM_ADD_VOLUMENODE) + { + /* AddDosEntry rejects volumes based on their name and date. */ + if(AddDosEntry((struct DosList *)sfsm->data) == DOSFALSE) + { + sfsm->errorcode = IoErr(); + } - if(AddDosEntry((struct DosList *)sfsm->data)==DOSFALSE) { - sfsm->errorcode=IoErr(); - } + struct DosList *vn = (struct DosList *)sfsm->data; + DD(bug("[SFS] SFS DosList handler: AddDosEntry VolumeNode=0x%8lx | Name=%s | Type=%0x%8lx | Task=%u | ErrorCode=%u\n", vn, AROS_BSTR_ADDR(vn->dol_Name), vn->dol_Type, vn->dol_Task, sfsm->errorcode )); -// if(AddDosEntry((struct DosList *)sfsm->data)==DOSFALSE) { -// errorcode=IoErr(); -// FreeDosEntry((struct DosList *)vn); -// vn=0; -// } - } - else if(sfsm->command==SFSM_REMOVE_VOLUMENODE) { - struct DosList *vn=(struct DosList *)sfsm->data; + } else if(sfsm->command == SFSM_REMOVE_VOLUMENODE) + { + struct DosList *vn = (struct DosList *)sfsm->data; - while((dol=NextDosEntry(dol, LDF_VOLUMES))!=0) { - if(dol==vn) { - RemDosEntry(dol); - break; - } - } - // removevolumenode(dol, (struct DosList *)sfsm->data); /* Dangerous because of DOSBase?? */ - FreeDosEntry(vn); - } + DD(bug("[SFS] SFS DosList handler: RemDosEntry VolumeNode=0x%8lx | Name=%s | Type=%0x%8lx | Task=%u\n", vn, AROS_BSTR_ADDR(vn->dol_Name), vn->dol_Type, vn->dol_Task)); + + while((dol = NextDosEntry(dol, LDF_VOLUMES)) != 0) + { + if(dol == vn) + { + BOOL result; + + result = RemDosEntry(dol); + DD(bug("[SFS] TryDestroyVolumeNode: RemDosEntry = %s\n", result ? "SUCCESS":"FAILURE")); + break; + } + } - FreeVec(sfsm); - } + if (dol == 0) DD(bug("[SFS] TryDestroyVolumeNode ERROR = DosEntry NOT Found in DosList\n")); + + FreeDosEntry(vn); + } - UnLockDosList(LDF_WRITE|LDF_VOLUMES); + FreeVec(sfsm); + } + + UnLockDosList(LDF_WRITE | LDF_VOLUMES); + } + } else { + Permit(); + } + } else { + Permit(); } - } - else { - Permit(); - } - } - else { - Permit(); - } - CloseLibrary((struct Library *)DOSBase); - } + CloseLibrary((struct Library *)DOSBase); + } } diff --git a/rom/filesys/SFS/FS/globals.h b/rom/filesys/SFS/FS/globals.h index a06b06c70e4..b2d759367c1 100644 --- a/rom/filesys/SFS/FS/globals.h +++ b/rom/filesys/SFS/FS/globals.h @@ -2,6 +2,11 @@ #define GLOBALS_H_ #include +#if defined(AROS_USE_LOGRES) +#define __LOG_NOLIBBASE__ +#include +#include +#endif #include "deviceio.h" #include "bitmap.h" #include "transactions.h" @@ -10,6 +15,9 @@ struct SFSBase { +#if defined(AROS_USE_LOGRES) + struct Node sfsNode; +#endif #ifndef __AROS__ struct ExecBase *sysBase; #endif @@ -32,6 +40,11 @@ struct SFSBase struct MsgPort *msgportnotify; struct Process *mytask; +#if defined(AROS_USE_LOGRES) + APTR logresBase; + APTR logHandle; +#endif + ULONG diskstate; /* ID_WRITE_PROTECTED, ID_VALIDATING, ID_VALIDATED */ ULONG blockpercycle; ULONG numsofterrors; @@ -198,6 +211,8 @@ struct SFSBase ULONG defrag_maxfilestoscan; LONG debugreqs; + + struct DeviceList *volumenode_inh; }; #ifdef __AROS__ @@ -236,6 +251,9 @@ void initGlobals(); #ifndef __AROS__ #define SysBase (globals->sysBase) #endif +#if defined(AROS_USE_LOGRES) +#define LogResBase (globals->logresBase) +#endif #define DOSBase (globals->dosBase) #define IntuitionBase (globals->intuitionBase) #define UtilityBase (globals->utilityBase) diff --git a/rom/filesys/SFS/FS/locks.c b/rom/filesys/SFS/FS/locks.c index 245c6ad83c7..1987589b90d 100644 --- a/rom/filesys/SFS/FS/locks.c +++ b/rom/filesys/SFS/FS/locks.c @@ -47,98 +47,92 @@ LONG lockable(NODE objectnode,LONG accessmode) { -void __inline settemporarylock(NODE objectnode) { +__inline void settemporarylock(NODE objectnode) { globals->templockedobjectnode=objectnode; } -void __inline cleartemporarylock(void) { +__inline void cleartemporarylock(void) { globals->templockedobjectnode=0; } -LONG freelock(struct ExtFileLock *lock) { - - /* You may assume that this function never fails for locks - temporarily allocated internally. */ - - if(lock!=0) { - if(lock->id==DOSTYPE_ID) { - lock->task=0; - - if(lock->next!=0) { - lock->next->prev=lock->prev; - } - - if(lock->prev!=0) { - lock->prev->next=lock->next; - lock->prev->link=TOBADDR(lock->next); - } - else { - -#if 0 -// #ifdef STARTDEBUG - { - struct DeviceList *vn=BADDR(lock->volume); - - if(vn->dl_LockList!=0) { - req("Freeing lock!", "Ok"); - - if(lock->next==0) { - req("This was the last lock!", "Ok"); - } - } - } -// #endif -#endif - -#if 0 - struct DeviceList *vn=BADDR(lock->volume); - - if(vn->dl_LockList!=0) { - _DEBUG(("freelock: Freeing a lock of a volume which isn't currently inserted.\n")); - - if(lock->next==0) { - /* Whoops... this was the last lock which was associated with a volume - not currently inserted. This means the volumenode's LockList pointer - becomes zero if there are still some NotifyRequest's left, or it is - completely removed. */ - - _DEBUG(("freelock: This was the last lock associated with that volume!\n")); - -// #ifdef STARTDEBUG -// req("Last lock was freed!", "Ok"); -// #endif - - if(vn->dl_unused==0) { - /* remove the volumenode! */ - } - } - else { - vn->dl_LockList=TOBADDR(lock->next); - } - } - else { - locklist=lock->next; - } - -#endif - - globals->locklist=lock->next; - } - - if(lock->gh!=0) { - freeglobalhandle(lock->gh); - } - - FreeMem(lock,sizeof(struct ExtFileLock)); - } - else { - return(ERROR_INVALID_LOCK); - } - } - return(0); +LONG freelock(struct ExtFileLock *lock) +{ + /* You may assume that this function never fails for locks temporarily allocated internally. */ + + if(lock != 0) + { + if(lock->id == DOSTYPE_ID) + { + lock->task=0; + + if(lock->next!=0) // remove our lock from the chain + { + lock->next->prev=lock->prev; + } + + if(lock->prev!=0) + { + lock->prev->next=lock->next; + lock->prev->link=TOBADDR(lock->next); + } else { + + struct DeviceList *vn=BADDR(lock->volume); + + if(vn->dl_LockList!=0) + { + if(lock->next==0) + { + DD(bug("[SFS] freelock: This was the last lock associated with volume %s\n", AROS_BSTR_ADDR(vn->dl_Name))); + + if((vn == globals->volumenode_inh) && (vn->dl_unused==0)) + { + /* structs */ + #define SFSM_ADD_VOLUMENODE (1) + #define SFSM_REMOVE_VOLUMENODE (2) + + struct SFSMessage { + struct Message msg; + ULONG command; + IPTR data; + LONG errorcode; + }; + + struct SFSMessage *sfsm; + + DD(bug("[SFS] freelock: message sdlh to destroy volumenode = %ld\n", AROS_BSTR_ADDR(vn->dl_LockList))); + + if((sfsm = AllocVec(sizeof(struct SFSMessage), MEMF_CLEAR)) != 0) + { + sfsm->command = SFSM_REMOVE_VOLUMENODE; + sfsm->data = (IPTR)vn; + sfsm->msg.mn_Length = sizeof(struct SFSMessage); + + PutMsg(globals->sdlhport, (struct Message *)sfsm); + } + } + } else { + vn->dl_LockList=TOBADDR(lock->next); + } + } else { + vn->dl_LockList=TOBADDR(lock->next); + } + globals->locklist=lock->next; + } + + if(lock->gh!=0) + { + freeglobalhandle(lock->gh); + } + + FreeMem(lock,sizeof(struct ExtFileLock)); + } else { + return(ERROR_INVALID_LOCK); + } + } + return(0); } @@ -150,7 +144,7 @@ LONG lockobject2(struct fsObject *o, LONG accessmode, struct ExtFileLock **retur if(BE2L(o->be_objectnode)==ROOTNODE && accessmode==EXCLUSIVE_LOCK) { /* Exclusive locks on the ROOT directory are not allowed */ - _DEBUG(("lockobject: someone tried to lock the ROOT directory exclusively -- denied\n")); + _DEBUG("lockobject: someone tried to lock the ROOT directory exclusively -- denied\n"); return(ERROR_OBJECT_IN_USE); } @@ -162,7 +156,7 @@ LONG lockobject2(struct fsObject *o, LONG accessmode, struct ExtFileLock **retur if(lockable(BE2L(o->be_objectnode), accessmode)!=DOSFALSE) { - _XDEBUG((DEBUG_LOCK,"lockobject: lockable returned TRUE\n")); + _XDEBUG(DEBUG_LOCK,"lockobject: lockable returned TRUE\n"); /* If we got this far then we can safely create the requested lock and add it to the locklist. */ @@ -182,7 +176,7 @@ LONG lockobject2(struct fsObject *o, LONG accessmode, struct ExtFileLock **retur lock->task=&globals->mytask->pr_MsgPort; lock->volume=TOBADDR(globals->volumenode); - + //DD(bug("[SFS] lockobject2 globals->volumenode = 0x%8lx\n", globals->volumenode)); lock->link=TOBADDR(globals->locklist); lock->next=globals->locklist; lock->prev=0; @@ -232,7 +226,7 @@ LONG lockobject(struct ExtFileLock *efl, UBYTE *path, LONG accessmode, struct Ex return(lockobject2(o, accessmode, returned_efl)); } else { - _XDEBUG((DEBUG_LOCK,"lockobject: locateobject failed\n")); + _XDEBUG(DEBUG_LOCK,"lockobject: locateobject failed\n"); return(errorcode); } @@ -315,7 +309,7 @@ LONG locateobject2(UBYTE **io_path, struct CacheBuffer **io_cb, struct fsObject path=stripcolon(path); - _XDEBUG((DEBUG_LOCK,"locateobject: Locating object with path '%s' from ObjectNode %ld\n",path,BE2L((*io_o)->be_objectnode))); + _XDEBUG(DEBUG_LOCK,"locateobject: Locating object with path '%s' from ObjectNode %ld\n",path,BE2L((*io_o)->be_objectnode)); while(*path!=0) { @@ -332,7 +326,7 @@ LONG locateobject2(UBYTE **io_path, struct CacheBuffer **io_cb, struct fsObject if(BE2L(oc->be_parent)==0) { /* We can't get the parent of the root! */ - _XDEBUG((DEBUG_LOCK,"locateobject: Can't get parent of the root\n")); + _XDEBUG(DEBUG_LOCK,"locateobject: Can't get parent of the root\n"); errorcode=ERROR_OBJECT_NOT_FOUND; break; @@ -355,7 +349,7 @@ LONG locateobject2(UBYTE **io_path, struct CacheBuffer **io_cb, struct fsObject */ if(((*io_o)->bits & OTYPE_DIR)==0) { - _XDEBUG((DEBUG_LOCK,"locateobject: Not a directory\n")); + _XDEBUG(DEBUG_LOCK,"locateobject: Not a directory\n"); errorcode=ERROR_OBJECT_WRONG_TYPE; break; @@ -397,7 +391,7 @@ LONG createglobalhandle(struct ExtFileLock *efl) { efl->gh=lock->gh; lock->gh->count++; - // _DEBUG(("createglobalhandle: Returning existing gh structure\n")); + // _DEBUG("createglobalhandle: Returning existing gh structure\n"); return(0); } @@ -409,7 +403,7 @@ LONG createglobalhandle(struct ExtFileLock *efl) { if((efl->gh=AllocMem(sizeof(struct GlobalHandle), MEMF_PUBLIC))!=0) { struct GlobalHandle *gh=efl->gh; - // _DEBUG(("createglobalhandle: Allocated new gh structure\n")); + // _DEBUG("createglobalhandle: Allocated new gh structure\n"); gh->count=1; diff --git a/rom/filesys/SFS/FS/locks.h b/rom/filesys/SFS/FS/locks.h index bc1e18fa839..3394c4f36fd 100644 --- a/rom/filesys/SFS/FS/locks.h +++ b/rom/filesys/SFS/FS/locks.h @@ -8,7 +8,10 @@ struct ExtFileLock { BPTR link; - IPTR objectnode; + NODE objectnode; +#if (__WORDSIZE==64) + ULONG eflpad; +#endif LONG access; struct MsgPort *task; BPTR volume; diff --git a/rom/filesys/SFS/FS/mmakefile.src b/rom/filesys/SFS/FS/mmakefile.src index 34dd396bc54..4540b642dbc 100644 --- a/rom/filesys/SFS/FS/mmakefile.src +++ b/rom/filesys/SFS/FS/mmakefile.src @@ -1,4 +1,3 @@ -# $Id$ include $(SRCDIR)/config/aros.cfg @@ -20,7 +19,7 @@ FILES := adminspaces \ req USER_CPPFLAGS := -DSFS_BE -DADATE="\"$(shell date '+%d.%m.%Y')\"" -USER_LDFLAGS := -static +USER_LDFLAGS := -lstdc.static %build_module mmake=kernel-fs-sfs \ modname=sfs modtype=handler \ diff --git a/rom/filesys/SFS/FS/nodes.c b/rom/filesys/SFS/FS/nodes.c index f004e0d232d..d3dd289fb78 100644 --- a/rom/filesys/SFS/FS/nodes.c +++ b/rom/filesys/SFS/FS/nodes.c @@ -173,7 +173,7 @@ static LONG addnewnodelevel(BLCK noderoot, UWORD nodesize) { /* Adds a new level to the Node tree. */ - _XDEBUG((DEBUG_NODES,"addnewnodelevel: Entry\n")); + _XDEBUG(DEBUG_NODES,"addnewnodelevel: Entry\n"); if((errorcode=readcachebuffercheck(&cb, noderoot, NODECONTAINER_ID))==0) { struct CacheBuffer *newcb; @@ -217,7 +217,7 @@ static LONG addnewnodelevel(BLCK noderoot, UWORD nodesize) { unlockcachebuffer(cb); } - _XDEBUG((DEBUG_NODES,"addnewnodelevel: Exiting with errorcode %ld\n",errorcode)); + _XDEBUG(DEBUG_NODES,"addnewnodelevel: Exiting with errorcode %ld\n",errorcode); return(errorcode); } @@ -262,7 +262,7 @@ static LONG createnodecontainer(ULONG nodenumber, ULONG nodes, BLCK *returned_bl struct CacheBuffer *cb; LONG errorcode; - _XDEBUG((DEBUG_NODES,"createnodecontainer: nodenumber = %ld, nodes = %ld\n",nodenumber,nodes)); + _XDEBUG(DEBUG_NODES,"createnodecontainer: nodenumber = %ld, nodes = %ld\n",nodenumber,nodes); if((errorcode=allocadminspace(&cb))==0) { struct fsNodeContainer *nc=cb->data; @@ -277,7 +277,7 @@ static LONG createnodecontainer(ULONG nodenumber, ULONG nodes, BLCK *returned_bl *returned_block=cb->blckno; } - _XDEBUG((DEBUG_NODES,"createnodecontainer: Exiting with errorcode %ld\n",errorcode)); + _XDEBUG(DEBUG_NODES,"createnodecontainer: Exiting with errorcode %ld\n",errorcode); return(errorcode); } @@ -294,7 +294,7 @@ LONG createnode(BLCK noderoot, UWORD nodesize, struct CacheBuffer **returned_cb, it will create a new fsNodeContainers and a new fsNodeIndexContainer. newoperation() should be called prior to calling this function. */ -// _XDEBUG((DEBUG_NODES,"createnode: Entry\n")); +// _XDEBUG(DEBUG_NODES,"createnode: Entry\n"); while((errorcode=readcachebuffercheck(&cb, nodeindex, NODECONTAINER_ID))==0) { struct fsNodeContainer *nc=cb->data; @@ -321,7 +321,7 @@ LONG createnode(BLCK noderoot, UWORD nodesize, struct CacheBuffer **returned_cb, *returned_node=n; *returned_nodeno=BE2L(nc->be_nodenumber)+((UBYTE *)n-(UBYTE *)nc->be_node)/nodesize; - _XDEBUG((DEBUG_NODES,"createnode: Created Node %ld\n",*returned_nodeno)); + _XDEBUG(DEBUG_NODES,"createnode: Created Node %ld\n",*returned_nodeno); /* Below we continue to look through the NodeContainer block. We skip the entry we found to be unused, and see if there are any more unused entries. If we @@ -397,7 +397,7 @@ LONG createnode(BLCK noderoot, UWORD nodesize, struct CacheBuffer **returned_cb, /* Everything in the NodeIndexContainer was completely filled. There possibly are some unused pointers in this block however. */ - _XDEBUG((DEBUG_NODES,"createnode: NodeContainer at block %ld has no empty Nodes\n",cb->blckno)); + _XDEBUG(DEBUG_NODES,"createnode: NodeContainer at block %ld has no empty Nodes\n",cb->blckno); p=nc->be_node; i=globals->node_containers; @@ -449,7 +449,7 @@ LONG createnode(BLCK noderoot, UWORD nodesize, struct CacheBuffer **returned_cb, } } -// _XDEBUG((DEBUG_NODES,"createnode: Exiting with errorcode %ld\n",errorcode)); +// _XDEBUG(DEBUG_NODES,"createnode: Exiting with errorcode %ld\n",errorcode); return(errorcode); } @@ -460,7 +460,7 @@ LONG findnode(BLCK nodeindex,UWORD nodesize,NODE nodeno,struct CacheBuffer **ret struct CacheBuffer *cb; LONG errorcode; - _XDEBUG((DEBUG_NODES,"findnode: Entry -- looking for nodeno %ld\n",nodeno)); + _XDEBUG(DEBUG_NODES,"findnode: Entry -- looking for nodeno %ld\n",nodeno); /* Finds a specific node by number. It returns the cachebuffer which contains the fsNode structure and a pointer to the fsNode structure directly. */ @@ -468,7 +468,7 @@ LONG findnode(BLCK nodeindex,UWORD nodesize,NODE nodeno,struct CacheBuffer **ret while((errorcode=readcachebuffercheck(&cb,nodeindex,NODECONTAINER_ID))==0) { struct fsNodeContainer *nc=cb->data; - _XDEBUG((DDEBUG_NODES,"findnode: Read NodeContainer at block %ld with nodenumber = %ld, nodes = %ld\n",nodeindex,BE2L(nc->be_nodenumber),BE2L(nc->be_nodes))); + _XDEBUG(DDEBUG_NODES,"findnode: Read NodeContainer at block %ld with nodenumber = %ld, nodes = %ld\n",nodeindex,BE2L(nc->be_nodenumber),BE2L(nc->be_nodes)); if(BE2L(nc->be_nodes)==1) { /* We've descended the tree to a leaf NodeContainer */ @@ -485,7 +485,7 @@ LONG findnode(BLCK nodeindex,UWORD nodesize,NODE nodeno,struct CacheBuffer **ret } } - _XDEBUG((DEBUG_NODES,"findnode: Exiting with errorcode %ld\n",errorcode)); + _XDEBUG(DEBUG_NODES,"findnode: Exiting with errorcode %ld\n",errorcode); return(errorcode); } diff --git a/rom/filesys/SFS/FS/objects.c b/rom/filesys/SFS/FS/objects.c index e2554d68904..d476cc8662c 100644 --- a/rom/filesys/SFS/FS/objects.c +++ b/rom/filesys/SFS/FS/objects.c @@ -213,7 +213,7 @@ static LONG safedeleteobjectquick(struct CacheBuffer *cb, struct fsObject *o, WO unlockcachebuffer(cb); - _XDEBUG((DEBUG_OBJECTS,"safedeleteobjectquick: exiting with errorcode %ld\n",errorcode)); + _XDEBUG(DEBUG_OBJECTS,"safedeleteobjectquick: exiting with errorcode %ld\n",errorcode); return(errorcode); } @@ -227,7 +227,7 @@ BOOL cleanupdeletedfiles(void) { This function returns FALSE if there's no recycled directory. */ - _DEBUG(("cleanupdeletedfiles: entry\n")); + _DEBUG("cleanupdeletedfiles: entry\n"); if(globals->has_recycled!=FALSE) { struct CacheBuffer *cbdd; @@ -265,7 +265,7 @@ BOOL cleanupdeletedfiles(void) { if(lockable(BE2L(o->be_objectnode),EXCLUSIVE_LOCK)!=DOSFALSE) { ULONG size=BE2L(o->object.file.be_size)>>10; - _DEBUG(("cleanupdeletedfiles: deleting %s, objectnode = %ld\n",o->name,BE2L(o->be_objectnode))); + _DEBUG("cleanupdeletedfiles: deleting %s, objectnode = %ld\n",o->name,BE2L(o->be_objectnode)); if(deletefileslowly(cb, o)==0) { kbdeleted+=size; @@ -288,7 +288,7 @@ BOOL cleanupdeletedfiles(void) { unlockcachebuffer(cbdd); } - _DEBUG(("cleanupdeletedfiles: Deleted %ld files for %ld kB worth of space\n",filesdeleted,kbdeleted)); + _DEBUG("cleanupdeletedfiles: Deleted %ld files for %ld kB worth of space\n",filesdeleted,kbdeleted); if(filesdeleted!=0) { return(TRUE); @@ -324,17 +324,17 @@ static LONG deleteobjectquick(struct CacheBuffer *cb, struct fsObject *o, WORD s used space associated with them. */ if((bits & OTYPE_LINK)!=0) { - _XDEBUG((DEBUG_OBJECTS,"deleteobject: Object is soft link!\n")); + _XDEBUG(DEBUG_OBJECTS,"deleteobject: Object is soft link!\n"); errorcode=freeadminspace(extentbnode); } else if((bits & OTYPE_DIR)!=0) { - _XDEBUG((DEBUG_OBJECTS,"deleteobject: Object is a directory!\n")); + _XDEBUG(DEBUG_OBJECTS,"deleteobject: Object is a directory!\n"); errorcode=freeadminspace(hashblckno); } else { - _XDEBUG((DEBUG_OBJECTS,"deleteobject: Object is a file\n")); + _XDEBUG(DEBUG_OBJECTS,"deleteobject: Object is a file\n"); errorcode=deleteextents(extentbnode); } @@ -358,7 +358,7 @@ LONG deleteobject(struct ExtFileLock *lock, UBYTE *path, WORD sendnotify) { /* This function deletes the specified object. It will only delete directories if they are empty. All space associated with a file will be marked free. */ - _XDEBUG((DEBUG_OBJECTS,"deleteobject: Entry -- deleting object %s\n",path)); + _XDEBUG(DEBUG_OBJECTS,"deleteobject: Entry -- deleting object %s\n",path); if(lock==0) { objectnode=ROOTNODE; @@ -409,7 +409,7 @@ LONG deleteobject(struct ExtFileLock *lock, UBYTE *path, WORD sendnotify) { } } - _XDEBUG((DEBUG_OBJECTS,"deleteobject: Exiting with errorcode %ld\n",errorcode)); + _XDEBUG(DEBUG_OBJECTS,"deleteobject: Exiting with errorcode %ld\n",errorcode); return(errorcode); } @@ -423,7 +423,7 @@ LONG removeobjectcontainer(struct CacheBuffer *cb) { /* Removes an ObjectContainer from a directory chain. Make sure it is empty before removing it! */ - _XDEBUG((DEBUG_OBJECTS,"removeobjectcontainer: entry\n")); + _XDEBUG(DEBUG_OBJECTS,"removeobjectcontainer: entry\n"); lockcachebuffer(cb); @@ -532,7 +532,7 @@ LONG simpleremoveobject(struct CacheBuffer *cb, struct fsObject *o) { This function doesn't delink the object from the hashchain! */ - _XDEBUG((DEBUG_OBJECTS,"simpleremoveobject: Entry\n")); + _XDEBUG(DEBUG_OBJECTS,"simpleremoveobject: Entry\n"); if(BE2L(oc->be_parent)==RECYCLEDNODE) { @@ -586,7 +586,7 @@ static LONG dehashobjectquick(NODE objectnode, UBYTE *name, NODE parentobjectnod struct fsObject *o; LONG errorcode; - _XDEBUG((DEBUG_OBJECTS,"dehashobject: Delinking object %ld (=ObjectNode) from hashchain. Parentnode = %ld\n",objectnode,parentobjectnode)); + _XDEBUG(DEBUG_OBJECTS,"dehashobject: Delinking object %ld (=ObjectNode) from hashchain. Parentnode = %ld\n",objectnode,parentobjectnode); /* This function delinks the passed in ObjectNode from its hash-chain. Handy when deleting the object, or when renaming/moving it. newtransaction() must have been called before @@ -604,7 +604,7 @@ static LONG dehashobjectquick(NODE objectnode, UBYTE *name, NODE parentobjectnod if((errorcode=findnode(globals->block_objectnoderoot, sizeof(struct fsObjectNode), objectnode, &cbnode, (struct fsNode **)&on))==0) { UWORD hashchain; - _XDEBUG((DEBUG_OBJECTS,"dehashobject: Read HashTable block of parent object of object to be delinked\n")); + _XDEBUG(DEBUG_OBJECTS,"dehashobject: Read HashTable block of parent object of object to be delinked\n"); lockcachebuffer(cbnode); @@ -615,7 +615,7 @@ static LONG dehashobjectquick(NODE objectnode, UBYTE *name, NODE parentobjectnod /* The hashtable directly points to the fsObject to be delinked. We simply modify the Hashtable to point to the new nexthash entry. */ - _XDEBUG((DEBUG_OBJECTS,"dehashobject: The hashtable points directly to the to be delinked object\n")); + _XDEBUG(DEBUG_OBJECTS,"dehashobject: The hashtable points directly to the to be delinked object\n"); preparecachebuffer(cb); @@ -629,7 +629,7 @@ static LONG dehashobjectquick(NODE objectnode, UBYTE *name, NODE parentobjectnod struct CacheBuffer *cb=0; struct fsObjectNode *onsearch=0; - _XDEBUG((DEBUG_OBJECTS,"dehashobject: Walking through hashchain\n")); + _XDEBUG(DEBUG_OBJECTS,"dehashobject: Walking through hashchain\n"); while(nexthash!=0 && nexthash!=objectnode) { if((errorcode=findnode(globals->block_objectnoderoot, sizeof(struct fsObjectNode), nexthash, &cb, (struct fsNode **)&onsearch))!=0) { @@ -695,7 +695,7 @@ static LONG createobjecttagitem(struct CacheBuffer **io_cb, struct fsObject **io If this function returns no error it will return in io_cb & io_o the new object (prepared). */ - _XDEBUG((DEBUG_OBJECTS,"createobjecttags: Creating object '%s' in dir '%s'.\n",objectname,(*io_o)->name)); + _XDEBUG(DEBUG_OBJECTS,"createobjecttags: Creating object '%s' in dir '%s'.\n",objectname,(*io_o)->name); if(BE2L((*io_o)->be_objectnode)!=RECYCLEDNODE || globals->internalrename!=FALSE) { struct TagItem *tag; @@ -708,7 +708,7 @@ static LONG createobjecttagitem(struct CacheBuffer **io_cb, struct fsObject **io unlockcachebuffer(*io_cb); - _XDEBUG((DEBUG_OBJECTS,"createobjecttags: Object didn't exist, so we can safely create it.\n")); + _XDEBUG(DEBUG_OBJECTS,"createobjecttags: Object didn't exist, so we can safely create it.\n"); errorcode=0; @@ -1125,28 +1125,28 @@ LONG findcreate(struct ExtFileLock **returned_lock, UBYTE *path, LONG packettype create=0; delete=0; - _XDEBUG((DEBUG_OBJECTS,"ACTION_FINDINPUT: %s\n",path)); + _XDEBUG(DEBUG_OBJECTS,"ACTION_FINDINPUT: %s\n",path); } else if(packettype==ACTION_FINDOUTPUT || packettype==ACTION_MAKE_LINK) { accessmode=EXCLUSIVE_LOCK; create=1; delete=1; - _XDEBUG((DEBUG_OBJECTS,"ACTION_FINDOUTPUT/ACTION_MAKE_LINK: %s\n",path)); + _XDEBUG(DEBUG_OBJECTS,"ACTION_FINDOUTPUT/ACTION_MAKE_LINK: %s\n",path); } else if(packettype==ACTION_CREATE_DIR) { accessmode=EXCLUSIVE_LOCK; create=1; delete=0; - _XDEBUG((DEBUG_OBJECTS,"ACTION_CREATE_DIR: %s\n",path)); + _XDEBUG(DEBUG_OBJECTS,"ACTION_CREATE_DIR: %s\n",path); } else { // if(packettype==ACTION_FINDUPDATE) accessmode=SHARED_LOCK; create=1; delete=0; - _XDEBUG((DEBUG_OBJECTS,"ACTION_FINDUPDATE: %s\n",path)); + _XDEBUG(DEBUG_OBJECTS,"ACTION_FINDUPDATE: %s\n",path); } /* else if(packettype==ACTION_DELETE_OBJECT) { accessmode= ?? ; @@ -1220,12 +1220,12 @@ LONG findcreate(struct ExtFileLock **returned_lock, UBYTE *path, LONG packettype errorcode=0; } - _XDEBUG((DEBUG_OBJECTS,"findcreate: locating lockable parent\n")); + _XDEBUG(DEBUG_OBJECTS,"findcreate: locating lockable parent\n"); if(errorcode==0 && (errorcode=locateparent(lock,path,&cb,&o))==0) { // was locatelockableparent() UBYTE bits=0; - _XDEBUG((DEBUG_OBJECTS,"findcreate: creating object\n")); + _XDEBUG(DEBUG_OBJECTS,"findcreate: creating object\n"); if(packettype==ACTION_CREATE_DIR) { bits|=OTYPE_DIR; @@ -1244,7 +1244,7 @@ LONG findcreate(struct ExtFileLock **returned_lock, UBYTE *path, LONG packettype if((errorcode=createobjecttagitem(&cb, &o, FilePart(path), tags))==0) { - _XDEBUG((DEBUG_OBJECTS,"findcreate: New object is now complete\n")); + _XDEBUG(DEBUG_OBJECTS,"findcreate: New object is now complete\n"); if((errorcode=storecachebuffer(cb))==0) { @@ -1290,7 +1290,7 @@ LONG findobjectspace(struct CacheBuffer **io_cb, struct fsObject **io_o, ULONG b ULONG nextblock=BE2L(oparent->object.dir.be_firstdirblock); LONG errorcode=0; - _XDEBUG((DEBUG_OBJECTS,"findobjectspace: Looking for %ld bytes in directory with ObjectNode number %ld (in block %ld)\n",bytesneeded,BE2L((*io_o)->be_objectnode),(*io_cb)->blckno)); + _XDEBUG(DEBUG_OBJECTS,"findobjectspace: Looking for %ld bytes in directory with ObjectNode number %ld (in block %ld)\n",bytesneeded,BE2L((*io_o)->be_objectnode),(*io_cb)->blckno); /* This function will look in the directory indicated by io_o for an ObjectContainer block which contains bytesneeded free @@ -1345,7 +1345,7 @@ LONG findobjectspace(struct CacheBuffer **io_cb, struct fsObject **io_o, ULONG b struct fsObjectContainer *oc=cb->data; UBYTE ringlist=oparent->bits & OTYPE_RINGLIST; - _XDEBUG((DEBUG_OBJECTS,"findobjectspace: No room was found, allocated new block at %ld\n",cb->blckno)); + _XDEBUG(DEBUG_OBJECTS,"findobjectspace: No room was found, allocated new block at %ld\n",cb->blckno); /* Allocated new block. We will now link it to the START of the directory chain so the new free space can be found quickly when more entries need to be added. */ @@ -1415,7 +1415,7 @@ static LONG deleteobjectnode(NODE objectnode) { struct fsObjectNode *on; LONG errorcode; - _XDEBUG((DEBUG_NODES,"deleteobjectnode: Deleting Node %ld",objectnode)); + _XDEBUG(DEBUG_NODES,"deleteobjectnode: Deleting Node %ld",objectnode); if((errorcode=findnode(globals->block_objectnoderoot, sizeof(struct fsObjectNode), objectnode, &cb, (struct fsNode **)&on))==0) { errorcode=deletenode(globals->block_objectnoderoot, cb, (struct fsNode *)on, sizeof(struct fsObjectNode)); @@ -1796,7 +1796,7 @@ LONG renameobject(struct CacheBuffer *cb, struct fsObject *o, struct ExtFileLock lockcachebuffer(cb); - if((errorcode=locatelockableparent(lock, path, &cbparent, &oparent))==0) { + if((errorcode=locateparent(lock, path, &cbparent, &oparent))==0) { // was locatelockableparent() unlockcachebuffer(cb); errorcode=renameobject2(cb, o, cbparent, oparent, FilePart(path), TRUE); } @@ -1822,7 +1822,7 @@ LONG renameobject2(struct CacheBuffer *cb, struct fsObject *o, struct CacheBuffe /* The Object indicated by cb & o, gets renamed to newname and placed in the directory indicated by cbparent & oparent. */ - _XDEBUG((DEBUG_OBJECTS,"renameobject2: Renaming '%s' to '%s' in dir '%s'\n",o->name,newname,oparent->name)); + _XDEBUG(DEBUG_OBJECTS,"renameobject2: Renaming '%s' to '%s' in dir '%s'\n",o->name,newname,oparent->name); oldo=(struct fsObject *)object; @@ -1918,7 +1918,7 @@ LONG renameobject2(struct CacheBuffer *cb, struct fsObject *o, struct CacheBuffe if((errorcode=storecachebuffer(cb))==0 && sendnotify!=FALSE) { // Object itself has been completed. - _XDEBUG((DEBUG_OBJECTS,"renameobject2: Succesfully created & stored new object.\n")); + _XDEBUG(DEBUG_OBJECTS,"renameobject2: Succesfully created & stored new object.\n"); if(parentobjectnode!=sourceparentobjectnode) { /* Object was moved! */ diff --git a/rom/filesys/SFS/FS/req.c b/rom/filesys/SFS/FS/req.c index 767e92b1425..047a5097de2 100644 --- a/rom/filesys/SFS/FS/req.c +++ b/rom/filesys/SFS/FS/req.c @@ -3,6 +3,8 @@ #include #include +#include + #include "asmsupport.h" #include "debug.h" #include "transactions_protos.h" @@ -27,7 +29,7 @@ void dreqArgs(UBYTE *fmt, APTR params) }; if((fmt2=AllocVec(strlen(fmt)+100,0))!=0) { - _DEBUG(("\nREQUESTER\n\n")); + _DEBUG("\nREQUESTER\n\n"); RawDoFmt("SmartFilesystem %s: (%s, unit %ld)\n\n%s",(RAWARG)&args,putChFunc,fmt2); if (requestArgs(PROGRAMNAME, fmt2, "Continue|No more requesters", params) == 0) @@ -153,12 +155,12 @@ void outputcachebuffer(struct CacheBuffer *cb) { ULONG *a; UWORD n; - _DEBUG(("CacheBuffer at address 0x%08lx of block %ld (Locked = %ld, Bits = 0x%02lx)\n",cb,cb->blckno,(LONG)cb->locked,(LONG)cb->bits)); + _DEBUG("CacheBuffer at address 0x%08lx of block %ld (Locked = %ld, Bits = 0x%02lx)\n",cb,cb->blckno,(LONG)cb->locked,(LONG)cb->bits); a=cb->data; for(n=0; n<(globals->bytes_block>>5); n++) { - _DEBUG(("%08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7])); + _DEBUG("%08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]); a+=8; } } diff --git a/rom/filesys/SFS/FS/sfs.conf b/rom/filesys/SFS/FS/sfs.conf index fb462223d04..b0805992585 100644 --- a/rom/filesys/SFS/FS/sfs.conf +++ b/rom/filesys/SFS/FS/sfs.conf @@ -1,5 +1,5 @@ ##begin config -version 1.84 +version 1.865 basename sfs residentpri -1 handler_func mainprogram diff --git a/rom/filesys/SFS/FS/support.c b/rom/filesys/SFS/FS/support.c index 8304292876e..45f7fc25bb9 100644 --- a/rom/filesys/SFS/FS/support.c +++ b/rom/filesys/SFS/FS/support.c @@ -8,6 +8,7 @@ #include #include +#include #include "sysdep.h" #include "blockstructure.h" diff --git a/rom/filesys/SFS/FS/transactions.c b/rom/filesys/SFS/FS/transactions.c index 46c10e46f84..0e6a59772df 100644 --- a/rom/filesys/SFS/FS/transactions.c +++ b/rom/filesys/SFS/FS/transactions.c @@ -181,7 +181,7 @@ LONG savetransaction(BLCK *firsttransactionblock) { ULONG blckno; LONG errorcode; - _XDEBUG((DEBUG_TRANSACTION,"savetransaction: Entry. Transaction size = %ld\n", globals->transactionpoolsize)); + _XDEBUG(DEBUG_TRANSACTION,"savetransaction: Entry. Transaction size = %ld\n", globals->transactionpoolsize); *firsttransactionblock=0; @@ -197,7 +197,7 @@ LONG savetransaction(BLCK *firsttransactionblock) { if((errorcode=findspace(1, globals->block_rovingblockptr, globals->block_rovingblockptr, &blckno))==0) { ULONG startblock; - _XDEBUG((DEBUG_TRANSACTION,"savetransaction: findspace succesfully completed\n")); + _XDEBUG(DEBUG_TRANSACTION,"savetransaction: findspace succesfully completed\n"); /* Warning, this function doesn't mark space, so it assumes that findspace never returns the same space if startblock is set @@ -205,7 +205,7 @@ LONG savetransaction(BLCK *firsttransactionblock) { do { - _XDEBUG((DEBUG_TRANSACTION,"savetransaction: Storing operations of transaction in block %ld\n",blckno)); + _XDEBUG(DEBUG_TRANSACTION,"savetransaction: Storing operations of transaction in block %ld\n",blckno); startblock=blckno+1; @@ -248,7 +248,7 @@ LONG savetransaction(BLCK *firsttransactionblock) { errorcode=ERROR_NO_FREE_STORE; } - _XDEBUG((DEBUG_TRANSACTION,"savetransaction: Exiting with errorcode = %ld\n",errorcode)); + _XDEBUG(DEBUG_TRANSACTION,"savetransaction: Exiting with errorcode = %ld\n",errorcode); return(errorcode); } @@ -344,7 +344,7 @@ LONG checkfortransaction(void) { req("The transaction loaded succesfully and\nit will now be re-applied to this volume.", "Ok"); - _DEBUG(("Before writeoperations()\n")); + _DEBUG("Before writeoperations()\n"); if((errorcode=writeoperations())==0) { @@ -353,7 +353,7 @@ LONG checkfortransaction(void) { "Debug requester 1\n", "Ok",((UBYTE *)BADDR(devnode->dn_Name))+1); */ - _DEBUG(("Before removetransactionfailure()\n")); + _DEBUG("Before removetransactionfailure()\n"); if((errorcode=removetransactionfailure())==0) { req("The transaction has been succesfully\napplied to this volume.\nYou can continue normally now.", "Ok"); @@ -470,7 +470,7 @@ static void combineoperations(void) { LONG addoperation2(struct CacheBuffer *cb_org, struct CacheBuffer *cb_new) { struct Operation *o; - // _DEBUG(("addoperation: Adding a new operation for block %ld\n",block)); + // _DEBUG("addoperation: Adding a new operation for block %ld\n",block); /* First remove all Operations with the same block in this Transaction */ @@ -593,7 +593,7 @@ void newtransaction(void) { globals->transactionnestcount++; - _XDEBUG((DEBUG_TRANSACTION,"--NEW-----> poolsize = %ld\n",globals->transactionpoolsize)); + _XDEBUG(DEBUG_TRANSACTION,"--NEW-----> poolsize = %ld\n",globals->transactionpoolsize); } @@ -606,7 +606,7 @@ void endtransaction(void) { CB_ORIGINAL|CB_LATEST -> leave alone. CB_LATEST -> leave alone. */ - _XDEBUG((DEBUG_TRANSACTION,"--END----->\n")); + _XDEBUG(DEBUG_TRANSACTION,"--END----->\n"); combineoperations(); @@ -623,7 +623,7 @@ void endtransaction(void) { to enforce a flush. */ if(globals->transactionpoolsize>MAX_TRANSACTIONPOOLSIZE) { - _TDEBUG(("endtransaction: poolsize larger than 32 kB -> flushed transaction\n")); + _TDEBUG("endtransaction: poolsize larger than 32 kB -> flushed transaction\n"); flushtransaction(); } } @@ -659,7 +659,7 @@ void deletetransaction(void) { Cachebuffer then restore to latest version, if present. Otherwise clear it. */ - _DEBUG(("-DEL------>\n")); + _DEBUG("-DEL------>\n"); o=FirstNode(); @@ -754,7 +754,7 @@ LONG writeoperations(void) { for. Writing it to disk is all we need to do. */ /* - _DEBUG(("writeoperations: Writing block %ld\n",o->oi.blckno)); + _DEBUG("writeoperations: Writing block %ld\n",o->oi.blckno); request(PROGRAMNAME " request","%s\n"\ "Writing block %ld\n", "Ok",((UBYTE *)BADDR(devnode->dn_Name))+1, o->oi.blckno); @@ -870,26 +870,26 @@ LONG flushtransaction(void) { BLCK firsttransactionblock; LONG errorcode; - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Entry\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Entry\n"); while((errorcode=flushiocache())!=0 && flusherror(errorcode)==1) { /* This commits any dirty data. */ } if(errorcode==0 && hastransaction()) { - _DEBUG(("flushtransaction: There is a transaction\n")); + _DEBUG("flushtransaction: There is a transaction\n"); while((errorcode=savetransaction(&firsttransactionblock))!=0 && flusherror(errorcode)==1) { } if(errorcode==0) { - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Saved transaction\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Saved transaction\n"); while((errorcode=flushiocache())!=0 && flusherror(errorcode)==1) { /* This commits any dirty data. */ } - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Disk updated\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Disk updated\n"); if(errorcode==0) { if((cb=getcachebuffer())!=0) { @@ -908,19 +908,19 @@ LONG flushtransaction(void) { while((errorcode=writecachebuffer(cb))!=0 && flusherror(errorcode)==1) { } - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Set TransactionFailure block\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Set TransactionFailure block\n"); if(errorcode==0) { while((errorcode=flushiocache())!=0 && flusherror(errorcode)==1) { /* This commits any dirty data. */ } - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Disk updated (2)\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Disk updated (2)\n"); if(errorcode==0) { if((errorcode=writeoperations())==0) { /* writeoperations() */ - _XDEBUG((DEBUG_TRANSACTION,"flushtransaction: Updated all blocks\n")); + _XDEBUG(DEBUG_TRANSACTION,"flushtransaction: Updated all blocks\n"); if((errorcode=removetransactionfailure())==0) { stoptimeout(); @@ -947,7 +947,7 @@ LONG flushtransaction(void) { } - _DEBUG(("flushtransaction: Done. errorcode = %ld\n",errorcode)); + _DEBUG("flushtransaction: Done. errorcode = %ld\n",errorcode); return(errorcode); } @@ -984,11 +984,11 @@ struct Operation *getlatestoperation(BLCK block) { /* Returns the latest operation (not necessarily the current operation) for a block. Zero indicates there were no operations for this block. */ - _XDEBUG((DEBUG_CACHEBUFFER,"getlatestoperation: Entry for block %ld\n",block)); + _XDEBUG(DEBUG_CACHEBUFFER,"getlatestoperation: Entry for block %ld\n",block); o=getlatestoperation2(block, ROOT); - _XDEBUG((DEBUG_CACHEBUFFER,"getlatestoperation: Exit\n")); + _XDEBUG(DEBUG_CACHEBUFFER,"getlatestoperation: Exit\n"); return(o); } @@ -1015,7 +1015,7 @@ void restorecachebuffer(struct CacheBuffer *cb) { } #endif - _XDEBUG((DEBUG_CACHEBUFFER,"restorecachebuffer: Entry. cb->blckno = %ld, cb->bits = %ld\n",cb->blckno, (ULONG)cb->bits)); + _XDEBUG(DEBUG_CACHEBUFFER,"restorecachebuffer: Entry. cb->blckno = %ld, cb->bits = %ld\n",cb->blckno, (ULONG)cb->bits); if((o=getlatestoperation(cb->blckno))!=0 && ((o->oi.bits & OI_EMPTY)!=0 || (cb->bits & CB_EMPTY)==0)) { if((o->oi.bits & OI_EMPTY)==0) { @@ -1110,7 +1110,7 @@ LONG applyoperation(BLCK block, struct CacheBuffer **returned_cb) { globals->statistics.cache_operationdecode++; - _XDEBUG((DEBUG_CACHEBUFFER,"applyoperation: Entry. block = %ld -> found an operation!\n",block)); + _XDEBUG(DEBUG_CACHEBUFFER,"applyoperation: Entry. block = %ld -> found an operation!\n",block); if((o->oi.bits & OI_EMPTY)!=0) { globals->statistics.cache_emptyoperationdecode++; @@ -1133,7 +1133,7 @@ LONG applyoperation(BLCK block, struct CacheBuffer **returned_cb) { else { LONG errorcode; - _XDEBUG((DEBUG_CACHEBUFFER,"applyoperation: Entry. block = %ld -> returning original!\n",block)); + _XDEBUG(DEBUG_CACHEBUFFER,"applyoperation: Entry. block = %ld -> returning original!\n",block); if((errorcode=readoriginalcachebuffer(returned_cb, block))!=0) { return(errorcode); diff --git a/rom/filesys/SFS/SFSdefrag/Catalogs b/rom/filesys/SFS/SFSdefrag/Catalogs deleted file mode 160000 index 0a7aa4b8abd..00000000000 --- a/rom/filesys/SFS/SFSdefrag/Catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0a7aa4b8abdcadcd5f6ad8809ed4351edfb7e769 diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/.gitattributes b/rom/filesys/SFS/SFSdefrag/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/czech.ct b/rom/filesys/SFS/SFSdefrag/catalogs/czech.ct new file mode 100644 index 00000000000..ff6d8a64090 --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/czech.ct @@ -0,0 +1,29 @@ +## version $VER: sfsdefrag.catalog 1.0 (29.11.2007) +## language czech +## codeset 0 +; +; +MSG_DESCRIPTION +Defragmentace SFS +; SFS Defragmenter +; +MSG_BITMAP +Device bitmap?? +; Device bitmap +; +MSG_SELECTION +Výběr zařízení +; Device selection +; +MSG_REFRESH +Refresh bitmap?? +; Refresh bitmap +; +MSG_START +Spustit +; Start! +; +MSG_CANCEL +Přerušit +; Cancel +; diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/french.ct b/rom/filesys/SFS/SFSdefrag/catalogs/french.ct new file mode 100644 index 00000000000..e4fecba1fda --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/french.ct @@ -0,0 +1,22 @@ +## version $VER: sfsdefrag.catalog 1.0 (01.02.2006) +## language français +## codeset 0 +; +MSG_DESCRIPTION +Défragmentation SFS +; +MSG_BITMAP +Carte du périphérique +; +MSG_SELECTION +Sélection du périphérique +; +MSG_REFRESH +Rafraîchissement +; +MSG_START +Commencer ! +; +MSG_CANCEL +Annuler +; diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/german.ct b/rom/filesys/SFS/SFSdefrag/catalogs/german.ct new file mode 100644 index 00000000000..5bfd45e5de7 --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/german.ct @@ -0,0 +1,29 @@ +## version $VER: sfsdefrag.catalog 1.0 (30.6.2016) +## language deutsch +## codeset 0 +; +; +MSG_DESCRIPTION +SFS Defragmentierer +; SFS Defragmenter +; +MSG_BITMAP +Geräte-Bitmap +; Device bitmap +; +MSG_SELECTION +Geräteauswahl +; Device selection +; +MSG_REFRESH +Bitmap auffrischen +; Refresh bitmap +; +MSG_START +Start! +; Start! +; +MSG_CANCEL +Abbruch +; Cancel +; diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile.src b/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile.src new file mode 100644 index 00000000000..6956540d6cc --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/mmakefile.src @@ -0,0 +1,12 @@ +# Copyright 2004-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +#MM workbench-devs-sfs-c-sfsdefrag-catalogs + +CATALOGS:=czech french german + +%build_catalogs mmake=workbench-devs-sfs-c-sfsdefrag-catalogs \ + catalogs=$(CATALOGS) \ + name=SFSDefrag subdir=System/Tools diff --git a/rom/filesys/SFS/SFSdefrag/catalogs/sfsdefrag.cd b/rom/filesys/SFS/SFSdefrag/catalogs/sfsdefrag.cd new file mode 100644 index 00000000000..9b0dba47183 --- /dev/null +++ b/rom/filesys/SFS/SFSdefrag/catalogs/sfsdefrag.cd @@ -0,0 +1,19 @@ +; +MSG_DESCRIPTION (//) +SFS Defragmenter +; +MSG_BITMAP (//) +Device bitmap +; +MSG_SELECTION (//) +Device selection +; +MSG_REFRESH (//) +Refresh bitmap +; +MSG_START (//) +Start! +; +MSG_CANCEL (//) +Cancel +; diff --git a/rom/filesys/afs/afs.conf b/rom/filesys/afs/afs.conf index 074866a6e46..5dee20a1f8f 100644 --- a/rom/filesys/afs/afs.conf +++ b/rom/filesys/afs/afs.conf @@ -1,5 +1,5 @@ ##begin config -version 41.7 +version 41.8 basename afs residentpri -1 handler_func AFS_work diff --git a/rom/filesys/afs/bitmap.c b/rom/filesys/afs/bitmap.c index 00601c4050c..7338b5ed13a 100644 --- a/rom/filesys/afs/bitmap.c +++ b/rom/filesys/afs/bitmap.c @@ -1,12 +1,7 @@ /* - Copyright 1995-2005, The AROS Development Team. All rights reserved. + Copyright � 1995-2005, The AROS Development Team. All rights reserved. $Id$ */ - -#ifndef DEBUG -#define DEBUG 0 -#endif - #include "os.h" #include "bitmap.h" #include "cache.h" @@ -240,7 +235,7 @@ ULONG i, blocks, maxinbitmap; LONG setBitmapFlag(struct AFSBase *afsbase, struct Volume *volume, LONG flag) { struct BlockCache *blockbuffer; - D(bug("[afs] setBitmapFlag()\n")); + D(bug("[AFS] setBitmapFlag()\n")); blockbuffer = getBlock(afsbase, volume, volume->rootblock); if (blockbuffer == NULL) return DOSFALSE; @@ -388,7 +383,7 @@ ULONG bblock,togo,maxinbitmap; LONG markBlock(struct AFSBase *afsbase, struct Volume *volume, ULONG block, ULONG mode) { ULONG bitnr, longnr,null=0; - D(bug("[afs] markBlock: block=%lu mode=%lu\n",block,mode)); + //D(bug("[AFS] markBlock: block=%lu mode=%lu\n",block,mode)); if (block>=volume->countblocks) null = null/null; if (!gotoBitmapBlock(afsbase, volume, block, &longnr, &bitnr)) @@ -548,7 +543,7 @@ ULONG block; block = getFreeBlock(afsbase, volume); if (block != 0) { - D(bug("[afs] allocBlock: found a free block on %lu\n", block)); + D(bug("[AFS] allocBlock: found a free block on %lu\n", block)); if (!markBlock(afsbase, volume,block,0)) block = 0; } diff --git a/rom/filesys/afs/cache.c b/rom/filesys/afs/cache.c index 0d9a5fd4399..e816b5c133f 100644 --- a/rom/filesys/afs/cache.c +++ b/rom/filesys/afs/cache.c @@ -1,14 +1,8 @@ /* - Copyright 1995-2013, The AROS Development Team. All rights reserved. + Copyright � 1995-2013, The AROS Development Team. All rights reserved. $Id$ */ -#undef DEBUG -#define DEBUG 0 -#if defined(__AROS__) -#include -#endif - #include "os.h" #include "cache.h" #include "checksums.h" @@ -52,12 +46,7 @@ ULONG i; cache->buffer = (ULONG *)((char *)cache+sizeof(struct BlockCache)); cache->next = NULL; } - D(bug - ( - "initCache: my Mem is 0x%p size 0x%lx\n", - head, - numBuffers*(sizeof(struct BlockCache)+BLOCK_SIZE(volume)) - )); + D(bug("[AFS] InitCache: my Mem is 0x%p size 0x%lx\n", head, numBuffers*(sizeof(struct BlockCache)+BLOCK_SIZE(volume)))); return head; } @@ -104,7 +93,7 @@ struct BlockCache *bestcache=NULL; BOOL found = FALSE; /* Check if block is already cached, or else reuse least-recently-used buffer */ - D(bug("[afs] getCacheBlock: getting cacheblock %lu\n",blocknum)); + //D(bug("[AFS] GetCacheBlock: getting cacheblock %lu\n",blocknum)); cache = volume->blockcache; while ((cache != NULL) && !found) { @@ -112,8 +101,7 @@ BOOL found = FALSE; { if (!(cache->flags & BCF_USED)) { - D(bug("[afs] getCacheBlock: already cached (counter=%lu)\n", - cache->newness)); + //D(bug("[AFS] GetCacheBlock: already cached (counter=%lu)\n", cache->newness)); bestcache = cache; found = TRUE; } @@ -123,7 +111,7 @@ BOOL found = FALSE; { /* should only occur while using setBitmap() ->that's ok (see setBitmap()) */ - D(bug("Concurrent access on block %lu!\n",blocknum)); + //D(bug("[AFS] Concurrent access on block %lu!\n",blocknum)); } else { @@ -240,7 +228,7 @@ struct BlockCache *blockbuffer; } } } - D(bug("[afs] getBlock: using cache block with address 0x%p\n", blockbuffer)); + //D(bug("[AFS] GetBlock: using cache block with address 0x%p\n", blockbuffer)); return blockbuffer; } diff --git a/rom/filesys/afs/filehandles1.c b/rom/filesys/afs/filehandles1.c index 1a9c57c1ba2..577efb9691e 100644 --- a/rom/filesys/afs/filehandles1.c +++ b/rom/filesys/afs/filehandles1.c @@ -1,13 +1,8 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ -#ifdef DEBUG -#undef DEBUG -#endif -#define DEBUG 0 - #include "os.h" #include "filehandles1.h" #include "filehandles2.h" @@ -42,7 +37,7 @@ struct BlockCache *getHeaderBlock { ULONG key; - D(bug("[afs] getHeaderBlock: searching for block of '%s'\n",name)); + D(bug("[AFS] getHeaderBlock: searching for block of '%s'\n",name)); key = getHashKey(name,volume->SizeBlock-56,volume->dosflags)+BLK_TABLE_START; *block = blockbuffer->blocknum; if (blockbuffer->buffer[key] == 0) @@ -61,7 +56,7 @@ D { char *name; name = (char *)blockbuffer->buffer+(BLK_DIRECTORYNAME_START(volume)*4); - kprintf("[afs] %.*s\n", name[0], name+1); + kprintf("[AFS] %.*s\n", name[0], name+1); } ); if (calcChkSum(volume->SizeBlock, blockbuffer->buffer) != 0) @@ -163,19 +158,19 @@ UBYTE buffer[32]; if ((dirah->volume->dostype != ID_DOS_DISK) && (dirah->volume->dostype != ID_DOS_muFS_DISK)) { - D(bug("[afs] Unknown dostype 0x%08x\n", dirah->volume->dostype)); + D(bug("[AFS] Unknown dostype 0x%08x\n", dirah->volume->dostype)); *error = ERROR_NOT_A_DOS_DISK; return 0; } *block = dirah->header_block; - D(bug("[afs] findBlock: startblock=%ld\n",*block)); + D(bug("[AFS] findBlock: startblock=%ld\n",*block)); /* get first entry (root or filelock refers to) */ blockbuffer = getBlock(afsbase, dirah->volume, *block); if (blockbuffer == NULL) { *error = ERROR_UNKNOWN; - D(bug("[afs] error blockbuffer\n")); + D(bug("[AFS] error blockbuffer\n")); return NULL; } if (calcChkSum(dirah->volume->SizeBlock, blockbuffer->buffer) != 0) @@ -188,7 +183,7 @@ UBYTE buffer[32]; launchValidator(afsbase, dirah->volume); *error = ERROR_UNKNOWN; - D(bug("[afs] error checksum\n")); + D(bug("[AFS] error checksum\n")); return NULL; } if (OS_BE2LONG(blockbuffer->buffer[BLK_PRIMARY_TYPE]) != T_SHORT) @@ -200,7 +195,7 @@ UBYTE buffer[32]; launchValidator(afsbase, dirah->volume); *error = ERROR_OBJECT_WRONG_TYPE; - D(bug("[afs] error wrong type\n")); + D(bug("[AFS] error wrong type\n")); return NULL; } while (*name) @@ -210,10 +205,10 @@ UBYTE buffer[32]; if (blockbuffer->buffer[BLK_PARENT(dirah->volume)] == 0) { *error = ERROR_OBJECT_NOT_FOUND; - D(bug("[afs] object not found\n")); + D(bug("[AFS] object not found\n")); return NULL; } - D(bug("[afs] findBlock: getting parent\n")); + D(bug("[AFS] findBlock: getting parent\n")); blockbuffer = getBlock ( afsbase, @@ -223,7 +218,7 @@ UBYTE buffer[32]; if (blockbuffer == NULL) { *error = ERROR_UNKNOWN; - D(bug("[afs] error no blockbuffer\n")); + D(bug("[AFS] error no blockbuffer\n")); return NULL; } name++; @@ -245,7 +240,7 @@ UBYTE buffer[32]; ) != ST_LINKDIR)) { *error = ERROR_OBJECT_WRONG_TYPE; - D(bug("[afs] error wrong type\n")); + D(bug("[AFS] error wrong type\n")); return NULL; } pos = buffer; @@ -258,7 +253,7 @@ UBYTE buffer[32]; *pos=0; D(bug ( - "[afs] findBlock: searching for header block of %s\n", + "[AFS] findBlock: searching for header block of %s\n", buffer )); blockbuffer = @@ -269,9 +264,9 @@ UBYTE buffer[32]; } D( if (blockbuffer != NULL) - bug("[afs] findBlock: block=%ld\n",blockbuffer->blocknum); + bug("[AFS] findBlock: block=%ld\n",blockbuffer->blocknum); else - bug("[afs] findBlock: error\n"); + bug("[AFS] findBlock: error\n"); ); return blockbuffer; } @@ -399,7 +394,7 @@ struct AfsHandle *ah; D(bug ( - "[afs] getHandle: trying to get handle for block %lu\n", + "[AFS] getHandle: trying to get handle for block %lu\n", fileblock->blocknum) ); @@ -454,7 +449,7 @@ struct AfsHandle *ah = NULL; struct BlockCache *fileblock; ULONG block; - D(bug("[afs] openf(%ld,%s,0x%8lx)\n",dirah->header_block,filename,mode)); + D(bug("[AFS] openf(%ld,%s,0x%8lx)\n",dirah->header_block,filename,mode)); fileblock = findBlock(afsbase, dirah, filename, &block, error); if (fileblock != NULL) ah = getHandle(afsbase, dirah->volume, fileblock, mode, error); @@ -490,7 +485,7 @@ ULONG fileblocknum = -1; /* * nicely say what's going on */ - D(bug("[afs] openfile(%lu,%s,0x%lx,%lu)\n", dirah->header_block,name,mode,protection)); + D(bug("[AFS] openfile(%lu,%s,0x%lx,%lu)\n", dirah->header_block,name,mode,protection)); *error = 0; /* @@ -515,7 +510,7 @@ ULONG fileblocknum = -1; if ((OS_BE2LONG(dirblock->buffer[BLK_SECONDARY_TYPE(dirah->volume)]) == ST_USERDIR) || (OS_BE2LONG(dirblock->buffer[BLK_SECONDARY_TYPE(dirah->volume)]) == ST_ROOT)) { - D(bug("[afs] parent of %s is on block %lu\n", name, dirblock->blocknum)); + D(bug("[AFS] parent of %s is on block %lu\n", name, dirblock->blocknum)); /* * get the header block of the file to open @@ -594,7 +589,7 @@ ULONG fileblocknum = -1; ************************************/ void closef(struct AFSBase *afsbase, struct AfsHandle *ah) { - D(bug("[afs] closef(%lu)\n",ah->header_block)); + D(bug("[AFS] closef(%lu)\n",ah->header_block)); remHandle(afsbase, ah); FreeMem(ah,sizeof(struct AfsHandle)); } @@ -628,7 +623,7 @@ char *source; { length = ah->filesize-ah->current.offset; /* we can't read more bytes than left in file! */ } - D(bug("[afs] readData: offset=%ld\n", ah->current.offset)); + D(bug("[AFS] readData: offset=%ld\n", ah->current.offset)); extensionbuffer = getBlock(afsbase, ah->volume, ah->current.block); if (extensionbuffer == NULL) { @@ -638,7 +633,7 @@ char *source; extensionbuffer->flags |= BCF_USED; /* don't overwrite that cache block! */ while (length != 0) { - D(bug("[afs] readData: bytes left=%ld\n",length)); + D(bug("[AFS] readData: bytes left=%ld\n",length)); /* block, filekey always point to the next block so update them if we have read a whole block @@ -650,7 +645,7 @@ char *source; OS_BE2LONG(extensionbuffer->buffer[BLK_EXTENSION(ah->volume)]); ah->current.filekey = BLK_TABLE_END(ah->volume); extensionbuffer->flags &= ~BCF_USED; //we can now overwrite that cache block - D(bug("[afs] readData: reading extensionblock=%ld\n",ah->current.block)); + D(bug("[AFS] readData: reading extensionblock=%ld\n",ah->current.block)); if (ah->current.block != 0) { extensionbuffer = getBlock(afsbase, ah->volume,ah->current.block); @@ -675,7 +670,7 @@ D( } D(bug ( - "[afs] readData: reading datablock %ld\n", + "[AFS] readData: reading datablock %ld\n", OS_BE2LONG(extensionbuffer->buffer[ah->current.filekey])) ); databuffer = getBlock @@ -724,7 +719,7 @@ LONG readf { LONG readbytes; - D(bug("[afs] read(%ld,buffer,%ld)\n", ah->header_block, length)); + D(bug("[AFS] read(%ld,buffer,%ld)\n", ah->header_block, length)); readbytes = readData(afsbase, ah,buffer,length, error); if (readbytes != ENDSTREAMCH) ah->current.offset = ah->current.offset+readbytes; @@ -784,7 +779,7 @@ LONG writtenbytes = 0, sumoffset; char *destination; BOOL extensionModified = FALSE; - D(bug("[afs] writeData: offset=%ld\n", ah->current.offset)); + D(bug("[AFS] writeData: offset=%ld\n", ah->current.offset)); extensionbuffer = getBlock(afsbase, ah->volume, ah->current.block); if (extensionbuffer == NULL) { @@ -802,7 +797,7 @@ BOOL extensionModified = FALSE; { lastblock = OS_BE2LONG(extensionbuffer->buffer[ah->current.filekey+1]); D(bug - ("[afs] writeData: for OFS last datablock was %lu\n", lastblock)); + ("[AFS] writeData: for OFS last datablock was %lu\n", lastblock)); } /* block, filekey always point to the last block @@ -825,7 +820,7 @@ BOOL extensionModified = FALSE; } else { - D(bug("[afs] writeData: need new extensionblock\n")); + D(bug("[AFS] writeData: need new extensionblock\n")); block = allocBlock(afsbase, ah->volume); writeExtensionBlock ( @@ -858,7 +853,7 @@ BOOL extensionModified = FALSE; { D(bug ( - "[afs] writeData: using old datablock %lu\n", + "[AFS] writeData: using old datablock %lu\n", OS_BE2LONG(extensionbuffer->buffer[ah->current.filekey])) ); /* Only get the block's old contents if some of it won't be overwritten @@ -887,7 +882,7 @@ BOOL extensionModified = FALSE; else { extensionModified = TRUE; - D(bug("[afs] writeData: need a new datablock\n")); + D(bug("[AFS] writeData: need a new datablock\n")); block=allocBlock(afsbase, ah->volume); if (block == 0) { @@ -906,7 +901,7 @@ BOOL extensionModified = FALSE; extensionbuffer->buffer[ah->current.filekey] = OS_LONG2BE(block); if ((ah->volume->dosflags==0) && (lastblock != 0)) { - D(bug("[afs] writeData: OFS->fill in %ld BLK_NEXT_DATA\n",lastblock)); + D(bug("[AFS] writeData: OFS->fill in %ld BLK_NEXT_DATA\n",lastblock)); /* we allocated a new block so there MUST be an initialized lastblock @@ -1002,7 +997,7 @@ BOOL extensionModified = FALSE; ); } extensionbuffer->flags &= ~BCF_USED; - D(bug("[afs] writeData=%ld\n", writtenbytes)); + D(bug("[AFS] writeData=%ld\n", writtenbytes)); return writtenbytes; } @@ -1013,7 +1008,7 @@ struct BlockCache *headerblock; LONG writtenbytes; struct DateStamp ds; - D(bug("[afs] write(ah,buffer,%ld)\n", length)); + D(bug("[AFS] write(ah,buffer,%ld)\n", length)); if (0 == checkValid(afsbase, ah->volume)) { *error = ERROR_DISK_WRITE_PROTECTED; @@ -1054,7 +1049,7 @@ UWORD blocksize, tablesize; ULONG newoffset; struct BlockCache *blockbuffer; - D(bug("[afs] seek(%ld,%ld,%ld)\n", ah->header_block, offset, mode)); + D(bug("[AFS] seek(%ld,%ld,%ld)\n", ah->header_block, offset, mode)); *error = ERROR_SEEK_ERROR; if (mode == OFFSET_BEGINNING) { @@ -1142,7 +1137,7 @@ struct AfsHandle *ah2; } /* Get absolute new length */ - D(bug("[afs] setfilesize(%ld,%ld,%ld)\n", ah->header_block, size, mode)); + D(bug("[AFS] setfilesize(%ld,%ld,%ld)\n", ah->header_block, size, mode)); *error = ERROR_SEEK_ERROR; if (mode == OFFSET_BEGINNING) { diff --git a/rom/filesys/afs/filehandles2.c b/rom/filesys/afs/filehandles2.c index b015ed19283..c352f4d7e24 100644 --- a/rom/filesys/afs/filehandles2.c +++ b/rom/filesys/afs/filehandles2.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ /* @@ -8,10 +8,6 @@ * 04-jan-2008 [Tomasz Wiszkowski] corrected tabulation */ -#ifdef DEBUG -#undef DEBUG -#endif -#define DEBUG 0 #include "os.h" #include "filehandles2.h" @@ -45,7 +41,7 @@ ULONG setHeaderDate D(bug ( - "[afs] setHeaderDate: for headerblock %lu\n", + "[AFS] setHeaderDate: for headerblock %lu\n", blockbuffer->blocknum) ); blockbuffer->buffer[BLK_DAYS(volume)] = OS_LONG2BE(ds->ds_Days); @@ -80,7 +76,7 @@ ULONG block; struct BlockCache *blockbuffer; SIPTR error; - D(bug("[afs] setData()\n")); + D(bug("[AFS] setData()\n")); if (0 == checkValid(afsbase, ah->volume)) return ERROR_DISK_WRITE_PROTECTED; @@ -110,7 +106,7 @@ ULONG block; struct BlockCache *blockbuffer; SIPTR error; - D(bug("[afs] setProtect(ah,%s,%ld)\n", name, mask)); + D(bug("[AFS] setProtect(ah,%s,%ld)\n", name, mask)); if (0 == checkValid(afsbase, ah->volume)) return ERROR_DISK_WRITE_PROTECTED; blockbuffer = findBlock(afsbase, ah, name, &block, &error); @@ -136,7 +132,7 @@ ULONG block; struct BlockCache *blockbuffer; SIPTR error; - D(bug("[afs] setComment(ah,%s,%s)\n", name, comment)); + D(bug("[AFS] setComment(ah,%s,%s)\n", name, comment)); if (0 == checkValid(afsbase, ah->volume)) return ERROR_DISK_WRITE_PROTECTED; if (strlen(comment) >= MAXCOMMENTLENGTH) @@ -174,7 +170,7 @@ void unLinkBlock { ULONG key; - D(bug("[afs] unlinkBlock: unlinking %lu\n", entry->blocknum)); + D(bug("[AFS] unlinkBlock: unlinking %lu\n", entry->blocknum)); /* find the "member" where entry is linked ->linked into hashchain or hashtable */ key = BLK_HASHCHAIN(volume); @@ -207,7 +203,7 @@ ULONG lastblock,key; struct BlockCache *blockbuffer, *priorbuffer; SIPTR error; - D(bug("[afs] delete(ah,%s)\n", name)); + D(bug("[AFS] delete(ah,%s)\n", name)); /* * check disk validity *first* * it may turn out, that during validation, invalid entry gets deleted either way. @@ -260,7 +256,7 @@ SIPTR error; { for (;;) { - D(bug("[afs] extensionblock=%lu\n", blockbuffer->blocknum)); + D(bug("[AFS] extensionblock=%lu\n", blockbuffer->blocknum)); for ( key = BLK_TABLE_END(ah->volume); @@ -326,7 +322,7 @@ struct BlockCache *blockbuffer; while (TRUE) { - D(bug("[afs] extensionblock=%lu\n", blockbuffer->blocknum)); + D(bug("[AFS] extensionblock=%lu\n", blockbuffer->blocknum)); while (key >= BLK_TABLE_START && blockbuffer->buffer[key] != 0) { markBlock(afsbase, ah->volume, @@ -389,7 +385,7 @@ CONST_FSBSTR name; SetMem(buffer, 0, volume->FNameMax + 1); file->buffer[BLK_PARENT(volume)] = OS_LONG2BE(dir->blocknum); - D(bug("[afs] linkNewBlock: linking block %ld\n", file->blocknum)); + D(bug("[AFS] linkNewBlock: linking block %ld\n", file->blocknum)); name = (CONST_FSBSTR)((char *)file->buffer+(BLK_FILENAME_START(volume)*4)); StrCpyFromBstr(name, buffer, sizeof(buffer) - 1); @@ -484,14 +480,14 @@ ULONG block,dirblocknum,lastblock; UBYTE newentryname[34]; SIPTR error; - D(bug("[afs] rename(%ld,%s,%s)\n", dirah->header_block, oname, newname)); + D(bug("[AFS] rename(%ld,%s,%s)\n", dirah->header_block, oname, newname)); if (0 == checkValid(afsbase, dirah->volume)) return ERROR_DISK_WRITE_PROTECTED; dirblock = getDirBlockBuffer(afsbase, dirah, newname, newentryname, &error); if (dirblock == NULL) return error; dirblocknum = dirblock->blocknum; - D(bug("[afs] dir is on block %ld\n", dirblocknum)); + D(bug("[AFS] dir is on block %ld\n", dirblocknum)); oldfile = findBlock(afsbase, dirah, oname, &lastblock, &error); if (oldfile == NULL) return error; @@ -650,7 +646,7 @@ struct BlockCache *newblock; struct DateStamp ds; ULONG i; - D(bug("[afs] createNewEntry(%ld, %s)\n", dirblock->blocknum, entryname)); + D(bug("[AFS] createNewEntry(%ld, %s)\n", dirblock->blocknum, entryname)); dirblock->flags |= BCF_USED; if (getHeaderBlock(afsbase, volume, entryname, dirblock, &i, error) != NULL) { @@ -746,7 +742,7 @@ struct AfsHandle *ah = NULL; struct BlockCache *dirblock; char dirname[34]; - D(bug("[afs] createDir(ah,%s,%ld)\n", filename, protection)); + D(bug("[AFS] createDir(ah,%s,%ld)\n", filename, protection)); if (0 == checkValid(afsbase, dirah->volume)) { *error = ERROR_DISK_WRITE_PROTECTED; @@ -755,7 +751,7 @@ char dirname[34]; dirblock = getDirBlockBuffer(afsbase, dirah, filename, dirname, error); if (dirblock != NULL) { - D(bug("[afs] dir is on block %ld\n", dirblock->blocknum)); + D(bug("[AFS] dir is on block %ld\n", dirblock->blocknum)); dirblock = createNewEntry (afsbase, dirah->volume, ST_USERDIR, dirname, dirblock, protection, error); if (dirblock != NULL) diff --git a/rom/filesys/afs/filehandles3.c b/rom/filesys/afs/filehandles3.c index b35ecf4a41a..dbe589462bd 100644 --- a/rom/filesys/afs/filehandles3.c +++ b/rom/filesys/afs/filehandles3.c @@ -1,12 +1,8 @@ /* - Copyright 1995-2015, The AROS Development Team. All rights reserved. + Copyright � 1995-2015, The AROS Development Team. All rights reserved. $Id$ */ -#ifndef DEBUG -#define DEBUG 0 -#endif - #include #include "os.h" #include "filehandles3.h" @@ -106,7 +102,7 @@ ULONG examine { struct BlockCache *entryblock; - D(bug("[afs] examine(%ld,ead,%ld,%ld)\n",ah->header_block,size,mode)); + D(bug("[AFS] examine(%ld,ead,%ld,%ld)\n",ah->header_block,size,mode)); if (mode > ED_OWNER) return ERROR_BAD_NUMBER; entryblock = getBlock(afsbase, ah->volume, ah->header_block); @@ -181,7 +177,7 @@ struct BlockCache *entryblock; struct ExAllData *last; ULONG error,i,block; - D(bug("[afs] examineAll(%ld,ead,%ld,%ld)\n",ah->header_block,size,mode)); + D(bug("[AFS] examineAll(%ld,ead,%ld,%ld)\n",ah->header_block,size,mode)); eac->eac_Entries = 0; if (mode > ED_OWNER) return ERROR_BAD_NUMBER; @@ -264,8 +260,8 @@ ULONG examineNext ULONG error,filekey; ULONG dirkey = fib->fib_DiskKey; /* fib_DiskKey is an IPTR, so we need this conversion */ - D(bug("[afs] examineNext(%ld,fib)\n", ah->header_block)); - D(bug("[afs] examineNext: diskey=%ld\n", dirkey)); + D(bug("[AFS] examineNext(%ld,fib)\n", ah->header_block)); + D(bug("[AFS] examineNext: diskey=%ld\n", dirkey)); error = getNextExamineBlock(afsbase, ah, &dirkey, &filekey); fib->fib_DiskKey = dirkey; diff --git a/rom/filesys/afs/main.c b/rom/filesys/afs/main.c index ef036b78f78..857e7401c16 100644 --- a/rom/filesys/afs/main.c +++ b/rom/filesys/afs/main.c @@ -1,12 +1,8 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ -#ifndef DEBUG -#define DEBUG 0 -#endif - #include #include @@ -96,15 +92,17 @@ static struct Volume *AFS_open_volume(struct AFSBase *handler, struct DosPacket { struct FileSysStartupMsg *fssm = BADDR(dp->dp_Arg2); - D(bug("AFS: Volume on Device %b, Unit %ld, Flags %ld, Environ %p\n", - fssm->fssm_Device, fssm->fssm_Unit, - fssm->fssm_Flags, BADDR(fssm->fssm_Environ))); - return initVolume(handler, - NULL, AROS_BSTR_ADDR(fssm->fssm_Device), - fssm->fssm_Unit, - fssm->fssm_Flags, - BADDR(fssm->fssm_Environ), - error); + D(bug("[AFS] Volume on Device=%b | Unit=%ld | Flags %ld | Environ %p\n", fssm->fssm_Device, fssm->fssm_Unit)); + + struct DosEnvec *de = BADDR(fssm->fssm_Environ); + + D(bug("\t[%s] de_SizeBlock = %10ld\n", __FUNCTION__ , de->de_SizeBlock)); + D(bug("\t[%s] de_Surfaces = %10ld\n", __FUNCTION__ , de->de_Surfaces)); + D(bug("\t[%s] de_BlocksPerTrack = %10ld\n", __FUNCTION__ , de->de_BlocksPerTrack)); + D(bug("\t[%s] de_LowCyl = %10ld\n", __FUNCTION__ , de->de_LowCyl)); + D(bug("\t[%s] de_HighCyl = %10ld\n", __FUNCTION__ , de->de_HighCyl)); + + return initVolume(handler, NULL, AROS_BSTR_ADDR(fssm->fssm_Device), fssm->fssm_Unit, fssm->fssm_Flags, BADDR(fssm->fssm_Environ), error); } static BOOL AFS_close_volume(struct AFSBase *handler, struct Volume *volume, SIPTR *io_DosError) @@ -143,7 +141,7 @@ static VOID startFlushTimer(struct AFSBase *handler) if (handler->timer_flags & TIMER_ACTIVE) { handler->timer_flags |= TIMER_RESTART; } else { - /* D(bug("[afs] Starting timer\n")); */ + /* D(bug("[AFS] Starting timer\n")); */ request = handler->timer_request; request->tr_node.io_Command = TR_ADDREQUEST; request->tr_time.tv_secs = 1; @@ -162,7 +160,7 @@ static VOID onFlushTimer(struct AFSBase *handler, struct Volume *volume) } else { struct BlockCache *blockbuffer; - /* D(bug("[afs] Alarm rang.\n")); */ + /* D(bug("[AFS] Alarm rang.\n")); */ if (((volume->dostype == ID_DOS_DISK) || (volume->dostype == ID_DOS_muFS_DISK)) && mediumPresent(&volume->ioh)) { /* Check if adding volume node needs to be retried */ @@ -241,11 +239,12 @@ LONG AFS_work(struct ExecBase *SysBase) LONG retval; BOOL dead = FALSE; - D(bug("[AFS] started\n")); + D(bug("\n[AFS] Started\n")); + mp = &((struct Process *)FindTask(NULL))->pr_MsgPort; WaitPort(mp); dp = (struct DosPacket *)GetMsg(mp)->mn_Node.ln_Name; - D(bug("[AFS] start message recevied. port=%p, path='%b'\n", mp, dp->dp_Arg1)); + D(bug("[AFS] Start message received: Port=%p | Path=%b\n", mp, dp->dp_Arg1)); handler = AFS_alloc(); @@ -261,7 +260,9 @@ LONG AFS_work(struct ExecBase *SysBase) replypkt2(dp, DOSFALSE, retval); AFS_free(handler); return RETURN_FAIL; - } + } else { + D(bug("[AFS] SUCCES opening volume: 0x%8lx\n", volume)); + } /* make non-packet functions to see our volume */ NEWLIST(&handler->device_list); @@ -284,7 +285,7 @@ LONG AFS_work(struct ExecBase *SysBase) onFlushTimer(handler, volume); if (sigs & changemask) { checkDeviceFlags(handler); - } + } if (!(sigs & packetmask)) continue; @@ -297,7 +298,7 @@ LONG AFS_work(struct ExecBase *SysBase) dp = (struct DosPacket *)mn->mn_Node.ln_Name; - D(bug("[AFS] packet %p:%d\n", dp, dp->dp_Type)); + //D(bug("[AFS] packet %p:%d\n", dp, dp->dp_Type)); startFlushTimer(handler); switch (dp->dp_Type) { diff --git a/rom/filesys/afs/misc.c b/rom/filesys/afs/misc.c index 6bddc835015..a6d994abc5f 100644 --- a/rom/filesys/afs/misc.c +++ b/rom/filesys/afs/misc.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2008, The AROS Development Team. All rights reserved. + Copyright � 1995-2008, The AROS Development Team. All rights reserved. $Id$ */ /* @@ -9,10 +9,6 @@ */ -#ifndef DEBUG -#define DEBUG 0 -#endif - #include "os.h" #include "misc.h" #include "afsblocks.h" diff --git a/rom/filesys/afs/os_aros_support.c b/rom/filesys/afs/os_aros_support.c index e66b1c98b5c..eb1fdd72727 100644 --- a/rom/filesys/afs/os_aros_support.c +++ b/rom/filesys/afs/os_aros_support.c @@ -1,12 +1,8 @@ /* - Copyright 1995-2013, The AROS Development Team. All rights reserved. + Copyright � 1995-2013, The AROS Development Team. All rights reserved. $Id$ */ -#ifndef DEBUG -#define DEBUG 0 -#endif - #include #include #include @@ -123,14 +119,14 @@ BSTR bname; UBYTE i; if (volume->volumenode) { - D(bug("[afs 0x%08lX] VolumeNode is already present!\n", volume)); + D(bug("[AFS] VolumeNode 0x%08lX is already present!\n", volume)); return DOSTRUE; } bname = volume->devicelist.dl_Name; for (i=0; ilocklist != NULL) { - D(bug("[afs 0x%08lX] VolumeNode in use, keeping as offline\n", volume)); + D(bug("[AFS] VolumeNode in use, keeping as offline: 0x%08lX\n", volume)); dl->dol_misc.dol_volume.dol_LockList = MKBADDR(volume->locklist); } else { - D(bug("[afs 0x%08lX] Removing VolumeNode\n", volume)); + D(bug("[AFS] Removing VolumeNode: 0x%08lX\n", volume)); remDosNode(afsbase, dl); } volume->volumenode = NULL; @@ -268,7 +264,9 @@ LONG getGeometry AROS_INTP(changeIntCode); -LONG addChangeInt(struct AFSBase *afsbase, struct IOHandle *ioh) { +LONG addChangeInt(struct AFSBase *afsbase, struct IOHandle *ioh) +{ + D(bug("[AFS] AddChangeInt() Hook sent to exec device driver: 0x%08lX\n", ioh->mc_int.is_Code)); ioh->mc_int.is_Code = (VOID_FUNC)changeIntCode; ioh->mc_int.is_Data = ioh; @@ -372,22 +370,25 @@ void motorOff(struct AFSBase *afsbase, struct IOHandle *ioh) { DoIO((struct IORequest *)&ioh->ioreq->iotd_Req); } -void checkDeviceFlags(struct AFSBase *afsbase) { +void checkDeviceFlags(struct AFSBase *afsbase) +{ struct Volume *volume; struct IOHandle *ioh; volume = (struct Volume *)afsbase->device_list.lh_Head; + D(bug("[AFS] Check Device Flags: 0x%08lX\n", volume)); + while (volume->ln.ln_Succ != NULL) { ioh = &volume->ioh; if ((ioh->ioflags & IOHF_MEDIA_CHANGE) && (!volume->inhibitcounter)) { - D(bug("[afs 0x%08lX] Media change signalled\n", volume)); + D(bug("[AFS] Media change signalled: 0x%08lX\n", volume)); if (diskPresent(afsbase, ioh)) { if (!volume->inhibitcounter) { - D(bug("[afs 0x%08lX] Media inserted\n", volume)); + D(bug("[AFS] Media inserted: 0x%08lX\n", volume)); newMedium(afsbase, volume); } ioh->ioflags |= IOHF_DISK_IN; @@ -424,7 +425,7 @@ UWORD *cmdcheck; volume->ioh.ioreq->iotd_Req.io_Length = sizeof(struct NSDeviceQueryResult); if (DoIO((struct IORequest *)volume->ioh.ioreq) == IOERR_NOCMD) { - D(bug("[afs] initVolume-NSD: device doesn't understand NSD-Query\n")); + D(bug("[AFS] initVolume-NSD: device doesn't understand NSD-Query\n")); } else { @@ -434,13 +435,13 @@ UWORD *cmdcheck; (volume->ioh.ioreq->iotd_Req.io_Actual != nsdq.SizeAvailable) ) { - D(bug("[afs] initVolume-NSD: WARNING wrong io_Actual using NSD\n")); + D(bug("[AFS] initVolume-NSD: WARNING wrong io_Actual using NSD\n")); } else { - D(bug("[afs] initVolume-NSD: using NSD commands\n")); + D(bug("[AFS] initVolume-NSD: using NSD commands\n")); if (nsdq.DeviceType != NSDEVTYPE_TRACKDISK) - D(bug("[afs] initVolume-NSD: WARNING no trackdisk type\n")); + D(bug("[AFS] initVolume-NSD: WARNING no trackdisk type\n")); for (cmdcheck=nsdq.SupportedCommands; *cmdcheck; cmdcheck++) { if (*cmdcheck == NSCMD_TD_READ64) @@ -456,13 +457,13 @@ UWORD *cmdcheck; (volume->ioh.cmdread != NSCMD_TD_READ64) || (volume->ioh.cmdwrite != NSCMD_TD_WRITE64) ) - D(bug("[afs] initVolume-NSD: WARNING no READ64/WRITE64\n")); + D(bug("[AFS] initVolume-NSD: WARNING no READ64/WRITE64\n")); } } } else { - D(bug("[afs] initVolume-NSD: no need for NSD\n")); + D(bug("[AFS] initVolume-NSD: no need for NSD\n")); } } @@ -527,7 +528,7 @@ BOOL retry = TRUE; while (retry) { - DB2(bug("[afs] readDisk: reading blocks %lu to %lu\n", start, start+count-1)); + DB2(bug("[AFS] ReadDisk: reading blocks %lu to %lu\n", start, start+count-1)); result = readwriteDisk(afsbase, volume, start, count, data, volume->ioh.cmdread); if (result == 0) retry = FALSE; @@ -544,7 +545,7 @@ BOOL retry = TRUE; while (retry) { - DB2(bug("[afs] writeDisk: writing blocks %lu to %lu\n", start, start+count-1)); + DB2(bug("[AFS] EriteDisk: writing blocks %lu to %lu\n", start, start+count-1)); result = readwriteDisk(afsbase, volume, start, count, data, volume->ioh.cmdwrite); if (result == 0) retry = FALSE; @@ -563,6 +564,7 @@ AROS_INTH1(changeIntCode, struct IOHandle *, ioh) ioh->ioflags |= IOHF_MEDIA_CHANGE; Signal(ioh->afsbase->port.mp_SigTask, 1<afsbase->port.mp_SigBit); + D(bug("[AFS] ChangeIntCode INVOKED\n")); return FALSE; diff --git a/rom/filesys/afs/os_aros_support.h b/rom/filesys/afs/os_aros_support.h index fd9d6055538..88964bb7671 100644 --- a/rom/filesys/afs/os_aros_support.h +++ b/rom/filesys/afs/os_aros_support.h @@ -2,7 +2,7 @@ #define OS_AROS_H /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -24,6 +24,14 @@ #include "error.h" #include "afshandler.h" +#define DEBUG 0 +#if DEBUG +# define D(x) x +#else +# define D(x) +#endif +#define bug kprintf + #define OS_BE2LONG AROS_BE2LONG #define OS_LONG2BE AROS_LONG2BE diff --git a/rom/filesys/afs/os_unix_support.h b/rom/filesys/afs/os_unix_support.h index 13a6800d10e..f4d5b6c489f 100644 --- a/rom/filesys/afs/os_unix_support.h +++ b/rom/filesys/afs/os_unix_support.h @@ -2,7 +2,7 @@ #define OS_UNIX_SUPPORT_H /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -204,11 +204,19 @@ struct DosEnvec { #define MODE_NEWFILE 1006 /* aros/debug.h */ + +#if APOLLO_DEBUG +#define DEBUG 0 +#else +#define DEBUG 0 +#endif + #if DEBUG # define D(x) x #else # define D(x) #endif + #define bug kprintf #define kprintf printf diff --git a/rom/filesys/afs/validator.c b/rom/filesys/afs/validator.c index 7bdf96baffe..95a53d5efe5 100644 --- a/rom/filesys/afs/validator.c +++ b/rom/filesys/afs/validator.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -17,10 +17,6 @@ #include "validator.h" #include "volumes.h" -#undef SDEBUG -#undef DEBUG -#define DEBUG 0 - #ifdef __AROS__ #include #include @@ -95,7 +91,7 @@ LONG checkValid(struct AFSBase *afsbase, struct Volume *vol) LONG launchValidator(struct AFSBase *afsbase, struct Volume *volume) { #ifdef __AROS__ - D(bug("[afs]: flushing cache...\n")); + D(bug("[AFS]: flushing cache...\n")); flushCache(afsbase, volume); /* diff --git a/rom/filesys/afs/volumes.c b/rom/filesys/afs/volumes.c index 788439e4e5d..8b95a7e1d3c 100644 --- a/rom/filesys/afs/volumes.c +++ b/rom/filesys/afs/volumes.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -13,11 +13,6 @@ #include -#ifdef DEBUG -#undef DEBUG -#endif -#define DEBUG 0 - #include "os.h" #include "bitmap.h" #include "checksums.h" @@ -37,7 +32,8 @@ BOOL mediumPresent(struct IOHandle *ioh) { Input : volume - Output: 0 for success; error code otherwise ********************************************/ -LONG newMedium(struct AFSBase *afsbase, struct Volume *volume) { +LONG newMedium(struct AFSBase *afsbase, struct Volume *volume) +{ struct BlockCache *blockbuffer; UWORD i; BOOL gotdostype = FALSE; @@ -45,6 +41,8 @@ LONG error; ULONG dostype; UBYTE dosflags; + D(bug("[AFS] newMedium: START\n")); + /* Check validity of root block first, since boot block may be left over from an overwritten partition of a different size Read bootblock first to prevent multiple seeks when using floppies @@ -52,45 +50,53 @@ UBYTE dosflags; blockbuffer=getBlock(afsbase, volume,0); volume->dostype = dostype = 0; volume->dosflags = dosflags = 0; - if (blockbuffer != NULL) { + if (blockbuffer != NULL) + { gotdostype = TRUE; dostype = OS_BE2LONG(blockbuffer->buffer[0]) & 0xFFFFFF00; dosflags = OS_BE2LONG(blockbuffer->buffer[0]) & 0xFF; } - + D(bug("[AFS] newMedium: 1\n")); blockbuffer=getBlock(afsbase, volume,volume->rootblock); - if (blockbuffer == NULL) { + if (blockbuffer == NULL) + { volume->dostype = ID_UNREADABLE_DISK; return ERROR_UNKNOWN; } + D(bug("[AFS] newMedium: 2\n")); if (calcChkSum(volume->SizeBlock, blockbuffer->buffer) != 0 || OS_BE2LONG(blockbuffer->buffer[BLK_PRIMARY_TYPE]) != T_SHORT || OS_BE2LONG(blockbuffer->buffer[BLK_SECONDARY_TYPE(volume)]) != ST_ROOT) { - D(bug("[afs] newMedium: incorrect checksum or root block type (%ld)\n", + D(bug("[AFS] newMedium: incorrect checksum or root block type (%ld)\n", OS_BE2LONG(blockbuffer->buffer[BLK_SECONDARY_TYPE(volume)]))); volume->dostype = ID_NOT_REALLY_DOS; return ERROR_NOT_A_DOS_DISK; } - - if (gotdostype == FALSE) { + D(bug("[AFS] newMedium: 3\n")); + if (gotdostype == FALSE) + { volume->dostype = ID_UNREADABLE_DISK; return ERROR_UNKNOWN; } + D(bug("[AFS] newMedium: 4\n")); if ((dostype != ID_DOS_DISK) && (dostype != ID_DOS_muFS_DISK)) { blockbuffer = getBlock(afsbase, volume, 1); dostype = OS_BE2LONG(blockbuffer->buffer[0]) & 0xFFFFFF00; dosflags = OS_BE2LONG(blockbuffer->buffer[0]) & 0xFF; } + D(bug("[AFS] newMedium: 5\n")); if ((dostype != ID_DOS_DISK) && (dostype != ID_DOS_muFS_DISK)) { - D(bug("[afs] newMedium: incorrect DOS type (0x%lx)\n", + D(bug("[AFS] newMedium: incorrect DOS type (0x%lx)\n", volume->dostype)); volume->dostype = ID_NOT_REALLY_DOS; return ERROR_NOT_A_DOS_DISK; } + D(bug("[AFS] newMedium: 6\n")); blockbuffer=getBlock(afsbase, volume,volume->rootblock); + if (blockbuffer == NULL) { volume->dostype = ID_UNREADABLE_DISK; return ERROR_UNKNOWN; @@ -98,18 +104,14 @@ UBYTE dosflags; volume->dostype = dostype; volume->dosflags = dosflags; - + D(bug("[AFS] newMedium: 7\n")); for (i=0;i<=24;i++) { - volume->bitmapblockpointers[i]=OS_BE2LONG - ( - blockbuffer->buffer[BLK_BITMAP_POINTERS_START(volume)+i] - ); + volume->bitmapblockpointers[i]=OS_BE2LONG(blockbuffer->buffer[BLK_BITMAP_POINTERS_START(volume)+i]); } - volume->bitmapextensionblock=OS_BE2LONG - ( - blockbuffer->buffer[BLK_BITMAP_EXTENSION(volume)] - ); + D(bug("[AFS] newMedium: 8\n")); + volume->bitmapextensionblock=OS_BE2LONG(blockbuffer->buffer[BLK_BITMAP_EXTENSION(volume)]); + D(bug("[AFS] newMedium: 9\n")); if (!blockbuffer->buffer[BLK_BITMAP_VALID_FLAG(volume)]) { /* since our disk is invalid at this point, * @@ -121,7 +123,7 @@ UBYTE dosflags; launchValidator(afsbase, volume); } - + D(bug("[AFS] newMedium: 10\n")); /* * it's safe to assume that the block is still there */ @@ -130,14 +132,17 @@ UBYTE dosflags; if (blockbuffer->buffer[BLK_BITMAP_VALID_FLAG(volume)]) { blockbuffer->flags |= BCF_USED; // won't be cleared until volume is ejected - volume->usedblockscount=countUsedBlocks(afsbase, volume); - volume->state = volume->state != ID_VALIDATING || diskWritable(afsbase, &volume->ioh) ? - ID_VALIDATED : ID_WRITE_PROTECTED; + //volume->usedblockscount=countUsedBlocks(afsbase, volume); + volume->state = volume->state != ID_VALIDATING || diskWritable(afsbase, &volume->ioh) ? ID_VALIDATED : ID_WRITE_PROTECTED; } + + D(bug("[AFS] newMedium: 11\n")); error = osMediumInit(afsbase, volume, blockbuffer); + if (error != 0) return error; - /* for free block searching */ + + /* for free block searching */ volume->lastaccess=volume->rootblock; return 0; } @@ -176,7 +181,7 @@ struct Volume *initVolume if (volume != NULL) { volume->FNameMax = MAX_NAME_LENGTH; - D(bug("[afs] initVolume: NameLen MAX =%d\n",volume->FNameMax)); + D(bug("[AFS] initVolume: NameLen MAX =%d\n",volume->FNameMax)); volume->device = device; volume->ioh.blockdevice = (STRPTR)(&volume[1]); /* Data after the volume alloc */ strcpy(volume->ioh.blockdevice, blockdevice); @@ -225,8 +230,8 @@ struct Volume *initVolume *error = 0; if ((*error == 0) || (*error == ERROR_NOT_A_DOS_DISK)) { - D(bug("[afs] initVolume: BootBlocks=%d\n",volume->bootblocks)); - D(bug("[afs] initVolume: RootBlock=%ld\n",volume->rootblock)); + D(bug("[AFS] initVolume: BootBlocks=%d\n",volume->bootblocks)); + D(bug("[AFS] initVolume: RootBlock=%ld\n",volume->rootblock)); volume->ah.header_block = volume->rootblock; return volume; } diff --git a/rom/filesys/fat/cache.c b/rom/filesys/fat/cache.c old mode 100755 new mode 100644 index 60730f5cb15..a56a2d793a1 --- a/rom/filesys/fat/cache.c +++ b/rom/filesys/fat/cache.c @@ -1,5 +1,5 @@ /* - Copyright 2010-2015, The AROS Development Team. All rights reserved. + Copyright � 2010-2015, The AROS Development Team. All rights reserved. $Id$ Disk cache. @@ -162,8 +162,7 @@ APTR Cache_GetBlock(APTR cache, ULONG blockNum, UBYTE **data) struct Cache *c = cache; struct BlockRange *b = NULL, *b2; LONG error = 0, data_offset; - struct MinList *l = - &c->hash_table[(blockNum >> RANGE_SHIFT) & (c->hash_size - 1)]; + struct MinList *l = &c->hash_table[(blockNum >> RANGE_SHIFT) & (c->hash_size - 1)]; struct MinNode *n; /* Change block number to the start block of a range and get byte offset @@ -212,8 +211,7 @@ APTR Cache_GetBlock(APTR cache, ULONG blockNum, UBYTE **data) /* Read the block from disk */ - if(AccessDisk(FALSE, blockNum, RANGE_SIZE, c->block_size, - b->data, c->priv) == 0) + if(AccessDisk(FALSE, blockNum, RANGE_SIZE, c->block_size, b->data, c->priv) == 0) { /* Remove block from its old position in the hash */ diff --git a/rom/filesys/fat/cache.h b/rom/filesys/fat/cache.h old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/charset.c b/rom/filesys/fat/charset.c old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/charset.h b/rom/filesys/fat/charset.h old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/date.c b/rom/filesys/fat/date.c old mode 100755 new mode 100644 index 171ca1959f5..2c1b690a95d --- a/rom/filesys/fat/date.c +++ b/rom/filesys/fat/date.c @@ -34,13 +34,12 @@ void ConvertFATDate(UWORD date, UWORD time, struct DateStamp *ds, mins = (time & 0x07e0) >> 5; /* Bits 10-5 */ secs = time & 0x001f; /* Bits 4-0 */ - D(bug("[fat] converting fat date: year %d month %d day %d hours %d" - " mins %d secs %d\n", year, month, day, hours, mins, secs)); + //D(bug("[FAT] converting fat date: year %d month %d day %d hours %d mins %d secs %d\n", year, month, day, hours, mins, secs)); if (month < 1 || month > 12 || day < 1 || day > 31 || hours > 23 || mins > 59 || secs > 29) { - D(bug("[fat] invalid fat date: using 01-01-1978 instead\n")); + D(bug("[FAT] invalid fat date: using 01-01-1978 instead\n")); secs = 0; } else @@ -63,8 +62,7 @@ void ConvertFATDate(UWORD date, UWORD time, struct DateStamp *ds, /* 1/50 sec ticks since last minute */ ds->ds_Tick = secs % 60 * TICKS_PER_SECOND; - D(bug("[fat] converted fat date: days %ld minutes %ld ticks %ld\n", - ds->ds_Days, ds->ds_Minute, ds->ds_Tick)); + //D(bug("[FAT] converted fat date: days %ld minutes %ld ticks %ld\n", ds->ds_Days, ds->ds_Minute, ds->ds_Tick)); } void ConvertDOSDate(struct DateStamp *ds, UWORD * date, UWORD * time, diff --git a/rom/filesys/fat/debug.h b/rom/filesys/fat/debug.h old mode 100755 new mode 100644 index b0f2b58853b..5957275055c --- a/rom/filesys/fat/debug.h +++ b/rom/filesys/fat/debug.h @@ -3,26 +3,9 @@ $Id$ */ -#ifdef __AROS__ -#include -#else -#if DEBUG > 0 -#include +#if DEBUG #define D(x) x #define bug kprintf - -static inline void RawPutChars(const UBYTE *string, int len) -{ - while (len--) - kputc(*string++); -} - #else #define D(x) #endif -#if DEBUG > 1 -#define DB2(x) x -#else -#define DB2(x) -#endif -#endif diff --git a/rom/filesys/fat/direntry.c b/rom/filesys/fat/direntry.c old mode 100755 new mode 100644 index d90696e6090..0fb2d737139 --- a/rom/filesys/fat/direntry.c +++ b/rom/filesys/fat/direntry.c @@ -37,7 +37,7 @@ LONG InitDirHandle(struct FSSuper *sb, ULONG cluster, struct DirHandle *dh, * valid or not */ if (reuse && (dh->ioh.sb == sb)) { - D(bug("[fat] reusing directory handle\n")); + D(bug("[FAT] reusing directory handle\n")); if (dh->ioh.block != NULL) { Cache_FreeBlock(sb->cache, dh->ioh.block); @@ -65,7 +65,7 @@ LONG InitDirHandle(struct FSSuper *sb, ULONG cluster, struct DirHandle *dh, dh->ioh.cur_sector = dh->ioh.first_sector; dh->ioh.sector_offset = 0; - D(bug("[fat] initialised dir handle, first cluster is %ld," + D(bug("[FAT] initialised dir handle, first cluster is %ld," " first sector is %ld\n", dh->ioh.first_cluster, dh->ioh.first_sector)); @@ -74,7 +74,7 @@ LONG InitDirHandle(struct FSSuper *sb, ULONG cluster, struct DirHandle *dh, LONG ReleaseDirHandle(struct DirHandle *dh, struct Globals *glob) { - D(bug("[fat] releasing dir handle (cluster %ld)\n", + D(bug("[FAT] releasing dir handle (cluster %ld)\n", dh->ioh.first_cluster)); RESET_DIRHANDLE(dh); @@ -87,13 +87,13 @@ LONG GetDirEntry(struct DirHandle *dh, ULONG index, struct DirEntry *de, LONG err = 0; ULONG nread; - D(bug("[fat] looking for dir entry %ld in dir starting at cluster %ld\n", + D(bug("[FAT] looking for dir entry %ld in dir starting at cluster %ld\n", index, dh->ioh.first_cluster)); /* FAT dirs are limited to 2^16 entries */ if (index >= 0x10000) { - D(bug("[fat] request for out-of-range index, returning not found\n")); + D(bug("[FAT] request for out-of-range index, returning not found\n")); return ERROR_OBJECT_NOT_FOUND; } @@ -108,7 +108,7 @@ LONG GetDirEntry(struct DirHandle *dh, ULONG index, struct DirEntry *de, (UBYTE *) &(de->e.entry), &nread); if (err != 0) { - D(bug("[fat] dir entry lookup failed\n")); + D(bug("[FAT] dir entry lookup failed\n")); return err; } @@ -124,7 +124,7 @@ LONG GetNextDirEntry(struct DirHandle *dh, struct DirEntry *de, { LONG err; - D(bug("[fat] looking for next entry after index %ld\n", dh->cur_index)); + D(bug("[FAT] looking for next entry after index %ld\n", dh->cur_index)); /* 'cur_index' defaults to -1, so this will do the right thing even on a * fresh dirhandle */ @@ -133,7 +133,7 @@ LONG GetNextDirEntry(struct DirHandle *dh, struct DirEntry *de, /* End of directory, there is no next entry */ if (de->e.entry.name[0] == 0x00) { - D(bug("[fat] entry %ld is end-of-directory marker, we're done\n", + D(bug("[FAT] entry %ld is end-of-directory marker, we're done\n", dh->cur_index)); RESET_DIRHANDLE(dh); return ERROR_OBJECT_NOT_FOUND; @@ -142,7 +142,7 @@ LONG GetNextDirEntry(struct DirHandle *dh, struct DirEntry *de, /* Skip unused entries */ if (de->e.entry.name[0] == 0xe5) { - D(bug("[fat] entry %ld is empty, skipping it\n", dh->cur_index)); + D(bug("[FAT] entry %ld is empty, skipping it\n", dh->cur_index)); continue; } @@ -150,7 +150,7 @@ LONG GetNextDirEntry(struct DirHandle *dh, struct DirEntry *de, * filename entries. Either way we want to skip them */ if (de->e.entry.attr & ATTR_VOLUME_ID) { - D(bug("[fat] entry %ld is a volume name or long filename," + D(bug("[FAT] entry %ld is a volume name or long filename," " skipping it\n", dh->cur_index)); continue; } @@ -163,11 +163,11 @@ LONG GetNextDirEntry(struct DirHandle *dh, struct DirEntry *de, && strncmp((char *)de->e.entry.name, ".. ", FAT_MAX_SHORT_NAME) == 0))) { - D(bug("[fat] skipping . or .. entry\n")); + D(bug("[FAT] skipping . or .. entry\n")); continue; } - D(bug("[fat] returning entry %ld\n", dh->cur_index)); + D(bug("[FAT] returning entry %ld\n", dh->cur_index)); return 0; } @@ -181,13 +181,13 @@ LONG GetParentDir(struct DirHandle *dh, struct DirEntry *de, LONG err = 0; ULONG cluster; - D(bug("[fat] getting parent for directory at cluster %ld\n", + D(bug("[FAT] getting parent for directory at cluster %ld\n", dh->ioh.first_cluster)); /* If we're already at the root, then we can't go any further */ if (dh->ioh.first_cluster == dh->ioh.sb->rootdir_cluster) { - D(bug("[fat] trying to go up past the root, so entry not found\n")); + D(bug("[FAT] trying to go up past the root, so entry not found\n")); return ERROR_OBJECT_NOT_FOUND; } @@ -200,8 +200,8 @@ LONG GetParentDir(struct DirHandle *dh, struct DirEntry *de, strncmp((char *)de->e.entry.name, ".. ", FAT_MAX_SHORT_NAME) != 0) { - D(bug("[fat] entry index 1 does not have name '..', can't go up\n")); - D(bug("[fat] actual name: '%.*s', attrs: 0x%x\n", FAT_MAX_SHORT_NAME, + D(bug("[FAT] entry index 1 does not have name '..', can't go up\n")); + D(bug("[FAT] actual name: '%.*s', attrs: 0x%x\n", FAT_MAX_SHORT_NAME, de->e.entry.name, de->e.entry.attr)); return ERROR_OBJECT_NOT_FOUND; } @@ -213,7 +213,7 @@ LONG GetParentDir(struct DirHandle *dh, struct DirEntry *de, * name */ if (dh->ioh.first_cluster != dh->ioh.sb->rootdir_cluster) { - D(bug("[fat] getting grandparent, first cluster is %ld," + D(bug("[FAT] getting grandparent, first cluster is %ld," " root cluster is %ld\n", dh->ioh.first_cluster, dh->ioh.sb->rootdir_cluster)); cluster = dh->ioh.first_cluster; @@ -231,7 +231,7 @@ LONG GetDirEntryByCluster(struct DirHandle *dh, ULONG cluster, { LONG err; - D(bug("[fat] looking for dir entry with first cluster %lu\n", cluster)); + D(bug("[FAT] looking for dir entry with first cluster %lu\n", cluster)); /* Start at the start */ RESET_DIRHANDLE(dh); @@ -242,13 +242,13 @@ LONG GetDirEntryByCluster(struct DirHandle *dh, ULONG cluster, if (AROS_LE2WORD(de->e.entry.first_cluster_hi) == (cluster >> 16) && AROS_LE2WORD(de->e.entry.first_cluster_lo) == (cluster & 0xffff)) { - D(bug("[fat] matched starting cluster at entry %ld, returning\n", + D(bug("[FAT] matched starting cluster at entry %ld, returning\n", dh->cur_index)); return 0; } } - D(bug("[fat] dir entry with first cluster %lu not found\n", cluster)); + D(bug("[FAT] dir entry with first cluster %lu not found\n", cluster)); return err; } @@ -259,7 +259,7 @@ LONG GetDirEntryByName(struct DirHandle *dh, STRPTR name, ULONG namelen, ULONG buflen; LONG err; - D(bug("[fat] looking for dir entry with name '%s'\n", name)); + D(bug("[FAT] looking for dir entry with name '%s'\n", name)); /* Start at the start */ RESET_DIRHANDLE(dh); @@ -272,7 +272,7 @@ LONG GetDirEntryByName(struct DirHandle *dh, STRPTR name, ULONG namelen, if (namelen == buflen && strnicmp((char *)name, (char *)buf, buflen) == 0) { - D(bug("[fat] matched short name '%s' at entry %ld, returning\n", + D(bug("[FAT] matched short name '%s' at entry %ld, returning\n", buf, dh->cur_index)); return 0; } @@ -282,7 +282,7 @@ LONG GetDirEntryByName(struct DirHandle *dh, STRPTR name, ULONG namelen, if (namelen == buflen && strnicmp((char *)name, (char *)buf, buflen) == 0) { - D(bug("[fat] matched long name '%s' at entry %ld, returning\n", + D(bug("[FAT] matched long name '%s' at entry %ld, returning\n", buf, dh->cur_index)); return 0; } @@ -298,7 +298,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, ULONG len, i; D( - bug("[fat] looking for entry with path '"); + bug("[FAT] looking for entry with path '"); RawPutChars(path, pathlen); bug("' from dir at cluster %ld\n", dh->ioh.first_cluster); ) @@ -312,7 +312,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, if (path[i] == ':') { D(bug( - "[fat] path has volume specifier, moving to the root dir\n")); + "[FAT] path has volume specifier, moving to the root dir\n")); pathlen -= (i + 1); path = &path[i + 1]; @@ -333,7 +333,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, } D( - bug("[fat] now looking for entry with path '"); + bug("[FAT] now looking for entry with path '"); RawPutChars(path, pathlen); bug("' from dir at cluster %ld\n", dh->ioh.first_cluster); ) @@ -346,7 +346,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, for (len = 0; len < pathlen && path[len] != '/'; len++); D( - bug("[fat] remaining path is '"); + bug("[FAT] remaining path is '"); RawPutChars(path, pathlen); bug("' (%d bytes), current chunk is '", pathlen); RawPutChars(path, len); bug("' (%d bytes)\n", len); @@ -385,7 +385,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, /* More to do, so this entry had better be a directory */ if (!(de->e.entry.attr & ATTR_DIRECTORY)) { - D(bug("[fat] '%.*s' is not a directory," + D(bug("[FAT] '%.*s' is not a directory," " so can't go any further\n", len, path)); return ERROR_OBJECT_WRONG_TYPE; } @@ -396,7 +396,7 @@ LONG GetDirEntryByPath(struct DirHandle *dh, STRPTR path, ULONG pathlen, } /* Nothing left, so we've found it */ - D(bug("[fat] found the entry, returning it\n")); + D(bug("[FAT] found the entry, returning it\n")); return 0; } @@ -406,7 +406,7 @@ LONG UpdateDirEntry(struct DirEntry *de, struct Globals *glob) LONG err = 0; ULONG nwritten; - D(bug("[fat] writing dir entry %ld in dir starting at cluster %ld\n", + D(bug("[FAT] writing dir entry %ld in dir starting at cluster %ld\n", de->index, de->cluster)); InitDirHandle(glob->sb, de->cluster, &dh, FALSE, glob); @@ -416,7 +416,7 @@ LONG UpdateDirEntry(struct DirEntry *de, struct Globals *glob) (UBYTE *) &(de->e.entry), &nwritten); if (err != 0) { - D(bug("[fat] dir entry update failed\n")); + D(bug("[FAT] dir entry update failed\n")); ReleaseDirHandle(&dh, glob); return err; } @@ -437,7 +437,7 @@ LONG AllocDirEntry(struct DirHandle *dh, ULONG gap, struct DirEntry *de, /* Find out how many entries we need */ nwant = gap + 1; - D(bug("[fat] need to find room for %ld contiguous entries\n", nwant)); + D(bug("[FAT] need to find room for %ld contiguous entries\n", nwant)); /* Get back to the start of the dir */ RESET_DIRHANDLE(dh); @@ -453,7 +453,7 @@ LONG AllocDirEntry(struct DirHandle *dh, ULONG gap, struct DirEntry *de, * space left */ if (err == ERROR_OBJECT_NOT_FOUND) { - D(bug("[fat] ran off the end of the directory, no space left\n")); + D(bug("[FAT] ran off the end of the directory, no space left\n")); return ERROR_NO_FREE_STORE; } @@ -475,12 +475,12 @@ LONG AllocDirEntry(struct DirHandle *dh, ULONG gap, struct DirEntry *de, if (de->index + nwant >= 0x10000) { - D(bug("[fat] hit end-of-directory marker," + D(bug("[FAT] hit end-of-directory marker," " but there's not enough room left after it\n")); return ERROR_NO_FREE_STORE; } - D(bug("[fat] found end-of-directory marker," + D(bug("[FAT] found end-of-directory marker," " making space after it\n")); last = de->index + nwant; @@ -493,7 +493,7 @@ LONG AllocDirEntry(struct DirHandle *dh, ULONG gap, struct DirEntry *de, } while (de->index != last); - D(bug("[fat] new end-of-directory is entry %ld\n", de->index)); + D(bug("[FAT] new end-of-directory is entry %ld\n", de->index)); /* Clear all remaining entries in any new cluster added */ if (clusteradded) @@ -513,7 +513,7 @@ LONG AllocDirEntry(struct DirHandle *dh, ULONG gap, struct DirEntry *de, nfound = 0; } - D(bug("[fat] found a gap, base (short name) entry is %ld\n", + D(bug("[FAT] found a gap, base (short name) entry is %ld\n", de->index)); return 0; } @@ -525,7 +525,7 @@ LONG CreateDirEntry(struct DirHandle *dh, STRPTR name, ULONG namelen, LONG err; D( - bug("[fat] creating dir entry (name '"); + bug("[FAT] creating dir entry (name '"); RawPutChars(name, namelen); bug("' attr 0x%02x cluster %ld)\n", attr, cluster); ) @@ -546,11 +546,11 @@ LONG CreateDirEntry(struct DirHandle *dh, STRPTR name, ULONG namelen, if ((err = UpdateDirEntry(de, glob)) != 0) { D(bug( - "[fat] couldn't update base directory entry, creation failed\n")); + "[FAT] couldn't update base directory entry, creation failed\n")); return err; } - D(bug("[fat] created dir entry %ld\n", de->index)); + D(bug("[FAT] created dir entry %ld\n", de->index)); return 0; } @@ -596,13 +596,13 @@ LONG DeleteDirEntry(struct DirEntry *de, struct Globals *glob) /* Calculate the short name checksum before we trample on the name */ CALC_SHORT_NAME_CHECKSUM(de->e.entry.name, checksum); - D(bug("[fat] short name checksum is 0x%02x\n", checksum)); + D(bug("[FAT] short name checksum is 0x%02x\n", checksum)); /* Mark the short entry free */ de->e.entry.name[0] = 0xe5; UpdateDirEntry(de, glob); - D(bug("[fat] deleted short name entry\n")); + D(bug("[FAT] deleted short name entry\n")); /* Now we loop over the previous entries, looking for matching long name * entries and killing them */ @@ -624,7 +624,7 @@ LONG DeleteDirEntry(struct DirEntry *de, struct Globals *glob) order++; } - D(bug("[fat] deleted %ld long name entries\n", order - 1)); + D(bug("[FAT] deleted %ld long name entries\n", order - 1)); ReleaseDirHandle(&dh, glob); diff --git a/rom/filesys/fat/disk.c b/rom/filesys/fat/disk.c old mode 100755 new mode 100644 index 423a2b92657..ac379ff1b62 --- a/rom/filesys/fat/disk.c +++ b/rom/filesys/fat/disk.c @@ -40,17 +40,13 @@ void ProcessDiskChange(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); - struct DriveGeometry geometry; - struct FileSysStartupMsg *fssm = glob->fssm; - struct DosEnvec *de = BADDR(fssm->fssm_Environ); - - D(bug("[%s] Got disk change request\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Got disk change request\n",__FUNCTION__ )); if (glob->disk_inhibited != 0) { - D(bug("[%s] Disk is inhibited, ignoring disk change\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Disk is inhibited, ignoring disk change\n",__FUNCTION__ )); return; } @@ -60,57 +56,26 @@ void ProcessDiskChange(struct Globals *glob) glob->diskioreq->iotd_Req.io_Flags = IOF_QUICK; DoIO((struct IORequest *)glob->diskioreq); - if (glob->diskioreq->iotd_Req.io_Error == 0 - && glob->diskioreq->iotd_Req.io_Actual == 0) + if (glob->diskioreq->iotd_Req.io_Error == 0 && glob->diskioreq->iotd_Req.io_Actual == 0) { - /* Disk has been inserted. */ - D(bug("[%s] Disk has been inserted\n",__FUNCTION__ )); glob->disk_inserted = TRUE; - - glob->diskioreq->iotd_Req.io_Data = &geometry; - glob->diskioreq->iotd_Req.io_Command = TD_GETGEOMETRY; - glob->diskioreq->iotd_Req.io_Length = sizeof(struct DriveGeometry); - DoIO((struct IORequest *)glob->diskioreq); - - D(bug("[%s] Disk geometry retrieved in DriveGeometry structure\n",__FUNCTION__ )); - D(bug("[%s] dg_SectorSize : %d\n",__FUNCTION__ , geometry.dg_SectorSize)); - D(bug("[%s] dg_TotalSectors : %d\n",__FUNCTION__ , geometry.dg_TotalSectors)); - D(bug("[%s] dg_Cylinders : %d\n",__FUNCTION__ , geometry.dg_Cylinders)); - D(bug("[%s] dg_CylSectors : %d\n",__FUNCTION__ , geometry.dg_CylSectors)); - D(bug("[%s] dg_Heads : %d\n",__FUNCTION__ , geometry.dg_Heads)); - D(bug("[%s] dg_TrackSectors : %d\n",__FUNCTION__ , geometry.dg_TrackSectors)); - - D(bug("[%s] Drive Geometry structure transfer to glob->fssm->fssm_Environ\n",__FUNCTION__ )); - - de->de_SizeBlock = geometry.dg_SectorSize >> 2; // Sizeblock = LONG p/Block = Shift 2 - de->de_Surfaces = geometry.dg_Heads; // Surfaces = Heads - de->de_BlocksPerTrack = geometry.dg_TrackSectors; // Block p/Track = #Sectors - de->de_LowCyl = 2; // HOW TO DETERMINE??? - de->de_HighCyl = geometry.dg_Cylinders - 1; // Assume 1 partition ??? - - D(bug("[%s] de_SizeBlock : %d\n",__FUNCTION__ , de->de_SizeBlock)); - D(bug("[%s] de_Surfaces : %d\n",__FUNCTION__ , de->de_Surfaces)); - D(bug("[%s] de_BlocksPerTrack : %d\n",__FUNCTION__ , de->de_BlocksPerTrack)); - D(bug("[%s] dg_LowCyl : %d\n",__FUNCTION__ , de->de_LowCyl)); - D(bug("[%s] dg_HighCyl : %d\n",__FUNCTION__ , de->de_HighCyl)); - DoDiskInsert(glob); + D(bug("[FAT] [%s] Disk has been inserted\n",__FUNCTION__ )); } else { - /* Disk has been removed. */ - D(bug("[%s] Disk has been removed\n",__FUNCTION__ )); glob->disk_inserted = FALSE; DoDiskRemove(glob); + D(bug("[FAT] [%s] Disk has been removed\n",__FUNCTION__ )); } - D(bug("[%s] Done process disk change request\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Done process disk change request\n",__FUNCTION__ )); } void UpdateDisk(struct Globals *glob) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); if (glob->sb) Cache_Flush(glob->sb->cache); @@ -121,7 +86,7 @@ void UpdateDisk(struct Globals *glob) * last timer period */ if (!glob->restart_timer) { - D(bug("[%s] Stopping drive motor\n",__FUNCTION__ )); + //D(bug("[FAT] [%s] Stopping drive motor\n",__FUNCTION__ )); glob->diskioreq->iotd_Req.io_Command = TD_MOTOR; glob->diskioreq->iotd_Req.io_Length = 0; DoIO((struct IORequest *)glob->diskioreq); @@ -132,7 +97,7 @@ void UpdateDisk(struct Globals *glob) void Probe64BitSupport(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct NSDeviceQueryResult nsd_query; UWORD *nsd_cmd; @@ -148,7 +113,7 @@ void Probe64BitSupport(struct Globals *glob) if (DoIO((struct IORequest *)glob->diskioreq) != IOERR_NOCMD) { - D(bug("[%s] Device supports 64-bit trackdisk extensions\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Device supports 64-bit trackdisk extensions\n",__FUNCTION__ )); glob->readcmd = TD_READ64; glob->writecmd = TD_WRITE64; } @@ -165,7 +130,7 @@ void Probe64BitSupport(struct Globals *glob) { if (*nsd_cmd == NSCMD_TD_READ64) { - D(bug("[%s] Device supports NSD 64-bit trackdisk extensions\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Device supports NSD 64-bit trackdisk extensions\n",__FUNCTION__ )); glob->readcmd = NSCMD_TD_READ64; glob->writecmd = NSCMD_TD_WRITE64; break; @@ -173,12 +138,29 @@ void Probe64BitSupport(struct Globals *glob) } } + +LONG RawDiskSectorRead(ULONG Sector, ULONG SectorSize, UBYTE *SectorBuffer, struct Globals *glob) +{ + ULONG err; + + glob->diskioreq->iotd_Req.io_Offset = (Sector * SectorSize) & 0xFFFFFFFF; + glob->diskioreq->iotd_Req.io_Actual = 0; + glob->diskioreq->iotd_Req.io_Length = SectorSize; + glob->diskioreq->iotd_Req.io_Data = SectorBuffer; + glob->diskioreq->iotd_Req.io_Command = glob->readcmd; + + err = DoIO((struct IORequest *)glob->diskioreq); + + return err; +} + + + /* N.B. returns an Exec error code, not a DOS error code! */ -LONG AccessDisk(BOOL do_write, ULONG num, ULONG nblocks, ULONG block_size, - UBYTE *data, APTR priv) +LONG AccessDisk(BOOL do_write, ULONG num, ULONG nblocks, ULONG block_size, UBYTE *data, APTR priv) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); struct Globals *glob = priv; UQUAD off; ULONG err; @@ -186,11 +168,9 @@ LONG AccessDisk(BOOL do_write, ULONG num, ULONG nblocks, ULONG block_size, BOOL retry = TRUE; TEXT vol_name[100]; -#if DEBUG_CACHESTATS > 1 - ErrorMessage("Accessing %lu sector(s) starting at %lu.\n" - "First volume sector is %lu, sector size is %lu.\n", "OK", nblocks, - num, glob->sb->first_device_sector, block_size); -#endif +//#if DEBUG_CACHESTATS > 1 + //D(bug("Accessing %lu sector(s) starting at %lu.\nFirst volume sector is %lu, sector size is %lu.\n", nblocks, num, glob->sb->first_device_sector, block_size)); +//#endif /* Adjust parameters if range is partially outside boundaries, or * warn user and bale out if completely outside boundaries */ @@ -243,6 +223,8 @@ LONG AccessDisk(BOOL do_write, ULONG num, ULONG nblocks, ULONG block_size, off = ((UQUAD) num) * block_size; + //D(bug("Reading from offset: %lu a total of %lu bytes", num * block_size, nblocks * block_size )); + while (retry) { glob->diskioreq->iotd_Req.io_Offset = off & 0xFFFFFFFF; diff --git a/rom/filesys/fat/fat.c b/rom/filesys/fat/fat.c old mode 100755 new mode 100644 index 33ce80122c9..d8e38e3fbe8 --- a/rom/filesys/fat/fat.c +++ b/rom/filesys/fat/fat.c @@ -23,8 +23,8 @@ static APTR GetFatEntryPtr(struct FSSuper *sb, ULONG offset, APTR *rb, UWORD fat_no) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; ULONG entry_cache_block = offset >> sb->fat_cachesize_bits; @@ -37,10 +37,10 @@ static APTR GetFatEntryPtr(struct FSSuper *sb, ULONG offset, APTR *rb, if (sb->fat_cache_block != entry_cache_block || sb->fat_cache_no != fat_no) { - D(bug("[%s] loading %ld FAT sectors starting at sector %ld\n",__FUNCTION__ , + /*D(bug("[FAT] [%s] loading %ld FAT sectors starting at sector %ld\n",__FUNCTION__ , sb->fat_blocks_count, entry_cache_block << (sb->fat_cachesize_bits - - sb->sectorsize_bits))); + sb->sectorsize_bits)));*/ /* Put the old ones back */ if (sb->fat_cache_block != 0xffffffff) @@ -101,8 +101,8 @@ static APTR GetFatEntryPtr(struct FSSuper *sb, ULONG offset, APTR *rb, */ ULONG GetFat12Entry(struct FSSuper *sb, ULONG n) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; ULONG offset = n + n / 2; @@ -111,7 +111,7 @@ ULONG GetFat12Entry(struct FSSuper *sb, ULONG n) if ((offset & (sb->sectorsize - 1)) == sb->sectorsize - 1) { - D(bug("[%s] FAT12 cluster pair on block boundary, compensating\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FAT12 cluster pair on block boundary, compensating\n",__FUNCTION__ )); p1 = GetFatEntryPtr(sb, offset + 1, NULL, 0); if (p1 != NULL) @@ -146,8 +146,8 @@ ULONG GetFat12Entry(struct FSSuper *sb, ULONG n) */ ULONG GetFat16Entry(struct FSSuper *sb, ULONG n) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); UWORD val = 0, *p; @@ -160,8 +160,8 @@ ULONG GetFat16Entry(struct FSSuper *sb, ULONG n) ULONG GetFat32Entry(struct FSSuper *sb, ULONG n) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); ULONG val = 0, *p; @@ -174,8 +174,8 @@ ULONG GetFat32Entry(struct FSSuper *sb, ULONG n) BOOL SetFat12Entry(struct FSSuper *sb, ULONG n, ULONG val) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; APTR b; @@ -190,7 +190,7 @@ BOOL SetFat12Entry(struct FSSuper *sb, ULONG n, ULONG val) { boundary = TRUE; - D(bug("[%s] FAT12 cluster pair on block boundary, compensating\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FAT12 cluster pair on block boundary, compensating\n",__FUNCTION__ )); p1 = GetFatEntryPtr(sb, offset + 1, NULL, i); if (p1 != NULL) @@ -258,8 +258,8 @@ BOOL SetFat12Entry(struct FSSuper *sb, ULONG n, ULONG val) BOOL SetFat16Entry(struct FSSuper *sb, ULONG n, ULONG val) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); BOOL success = TRUE; APTR b; @@ -282,8 +282,8 @@ BOOL SetFat16Entry(struct FSSuper *sb, ULONG n, ULONG val) BOOL SetFat32Entry(struct FSSuper *sb, ULONG n, ULONG val) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); BOOL success = TRUE; APTR b; @@ -307,8 +307,8 @@ BOOL SetFat32Entry(struct FSSuper *sb, ULONG n, ULONG val) LONG FindFreeCluster(struct FSSuper *sb, ULONG *rcluster) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; ULONG cluster = 0; @@ -338,13 +338,13 @@ LONG FindFreeCluster(struct FSSuper *sb, ULONG *rcluster) if (!found) { - D(bug("[%s] No more free clusters, we're out of space\n",__FUNCTION__ )); + D(bug("[FAT] [%s] No more free clusters, we're out of space\n",__FUNCTION__ )); return ERROR_DISK_FULL; } sb->next_cluster = *rcluster; - D(bug("[%s] Found free cluster %ld\n", __FUNCTION__, *rcluster)); + //D(bug("[FAT] [%s] Found free cluster %ld\n", __FUNCTION__, *rcluster)); return 0; } @@ -353,7 +353,7 @@ LONG FindFreeCluster(struct FSSuper *sb, ULONG *rcluster) void CountFreeClusters(struct FSSuper *sb) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; ULONG cluster = 0; @@ -370,13 +370,13 @@ void CountFreeClusters(struct FSSuper *sb) /* Put the value away for later */ sb->free_clusters = free; - D(bug("[%s] Free clusters: %ld\n", __FUNCTION__ , free)); + D(bug("[FAT] [%s] Free clusters: %ld\n", __FUNCTION__ , free)); } void AllocCluster(struct FSSuper *sb, ULONG cluster) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); SET_NEXT_CLUSTER(sb, cluster, sb->eoc_mark); sb->free_clusters--; @@ -390,8 +390,8 @@ void AllocCluster(struct FSSuper *sb, ULONG cluster) void FreeCluster(struct FSSuper *sb, ULONG cluster) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); SET_NEXT_CLUSTER(sb, cluster, 0); sb->free_clusters++; diff --git a/rom/filesys/fat/fat.conf b/rom/filesys/fat/fat.conf old mode 100755 new mode 100644 index 17f0455543f..77e676f8490 --- a/rom/filesys/fat/fat.conf +++ b/rom/filesys/fat/fat.conf @@ -1,5 +1,5 @@ ##begin config -version 42.00 +version 42.05 basename fat residentpri -1 handler_func handler @@ -7,6 +7,8 @@ handler_func handler ##begin handler DosType=0x46415400 +DosType=0x46415401 +DosType=0x46415402 Resident=fat-handler ##end handler diff --git a/rom/filesys/fat/fat_fs.h b/rom/filesys/fat/fat_fs.h old mode 100755 new mode 100644 index 2c3998559d8..b8cef57ca8c --- a/rom/filesys/fat/fat_fs.h +++ b/rom/filesys/fat/fat_fs.h @@ -13,6 +13,24 @@ #ifndef FAT_HANDLER_H #define FAT_HANDLER_H +#if APOLLO_DEBUG +#define DEBUG 1 +#else +#define DEBUG 0 +#endif + +#if DEBUG +#define DEBUG_DIRENTRY 0 +#define DEBUG_FILE 0 +#define DEBUG_DUMP 0 +#define DEBUG_LOCK 1 +#define DEBUG_NAMES 0 +#define DEBUG_NOTIFY 0 +#define DEBUG_OPS 0 +#define DEBUG_PACKETS 1 +#define DEBUG_CACHESTATS 0 +#define DEBUG_MISC 1 +#else #define DEBUG_DIRENTRY 0 #define DEBUG_FILE 0 #define DEBUG_DUMP 0 @@ -23,6 +41,10 @@ #define DEBUG_PACKETS 0 #define DEBUG_CACHESTATS 0 #define DEBUG_MISC 0 +#endif + + + #include #include diff --git a/rom/filesys/fat/fat_protos.h b/rom/filesys/fat/fat_protos.h old mode 100755 new mode 100644 index c106881a042..8c9974ff5c1 --- a/rom/filesys/fat/fat_protos.h +++ b/rom/filesys/fat/fat_protos.h @@ -1,8 +1,8 @@ /* * fat-handler - FAT12/16/32 filesystem handler * - * Copyright 2006 Marek Szyprowski - * Copyright 2007-2015 The AROS Development Team + * Copyright � 2006 Marek Szyprowski + * Copyright � 2007-2015 The AROS Development Team * * This program is free software; you can redistribute it and/or modify it * under the same terms as AROS itself. @@ -17,6 +17,8 @@ void ProcessDiskChange (struct Globals *glob); void UpdateDisk(struct Globals *glob); void Probe64BitSupport(struct Globals *glob); +LONG AccessDisk(BOOL do_write, ULONG num, ULONG nblocks, ULONG block_size, UBYTE *data, APTR priv); +LONG RawDiskSectorRead(ULONG Sector, ULONG SectorSize, UBYTE *SectorBuffer, struct Globals *glob); /* packet.c */ void ProcessPackets(struct Globals *glob); diff --git a/rom/filesys/fat/fat_struct.h b/rom/filesys/fat/fat_struct.h old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/file.c b/rom/filesys/fat/file.c old mode 100755 new mode 100644 index 700ffc68f0e..afd8fd14e20 --- a/rom/filesys/fat/file.c +++ b/rom/filesys/fat/file.c @@ -84,7 +84,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, /* Files with no data can't be read from */ if (ioh->first_cluster == 0xffffffff && nwant > 0) { - D(bug("[fat] file has no first cluster, so nothing to read!\n")); + D(bug("[FAT] file has no first cluster, so nothing to read!\n")); return ERROR_OBJECT_NOT_FOUND; } @@ -97,7 +97,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, while (nwant > 0) { - D(bug("[fat] trying to read %ld bytes" + D(bug("[FAT] trying to read %ld bytes" " (%ld sectors + %ld bytes into the file)\n", nwant, sector_offset, byte_offset)); @@ -116,7 +116,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->cluster_offset = 0; } - D(bug("[fat] moving forward %ld clusters from cluster %ld\n", + D(bug("[FAT] moving forward %ld clusters from cluster %ld\n", cluster_offset - ioh->cluster_offset, ioh->cur_cluster)); /* Find it */ @@ -131,7 +131,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, if (ioh->cur_cluster == 0 || ioh->cur_cluster >= ioh->sb->eoc_mark - 7) { - D(bug("[fat] hit empty or eoc cluster," + D(bug("[FAT] hit empty or eoc cluster," " no more file left\n")); RESET_HANDLE(ioh); @@ -143,7 +143,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, /* Remember how far in we are now */ ioh->cluster_offset = cluster_offset; - D(bug("[fat] moved to cluster %ld\n", ioh->cur_cluster)); + D(bug("[FAT] moved to cluster %ld\n", ioh->cur_cluster)); /* Reset the sector offset so the sector recalc gets triggered */ ioh->sector_offset = 0xffffffff; @@ -180,12 +180,12 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, return ERROR_OBJECT_NOT_FOUND; } - D(bug("[fat] adjusted for cluster 0," + D(bug("[FAT] adjusted for cluster 0," " chunk starts in sector %ld\n", ioh->cur_sector)); } else - D(bug("[fat] chunk starts %ld sectors into the cluster," + D(bug("[FAT] chunk starts %ld sectors into the cluster," " which is sector %ld\n", ioh->sector_offset, ioh->cur_sector)); } @@ -200,7 +200,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->block = NULL; } - D(bug("[fat] requesting sector %ld from cache\n", + D(bug("[FAT] requesting sector %ld from cache\n", ioh->cur_sector)); b = Cache_GetBlock(ioh->sb->cache, @@ -209,7 +209,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, { RESET_HANDLE(ioh); - D(bug("[fat] couldn't load sector, returning error %ld\n", + D(bug("[FAT] couldn't load sector, returning error %ld\n", IoErr())); return IoErr(); @@ -220,7 +220,7 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, } else - D(bug("[fat] using cached sector %ld\n", ioh->cur_sector)); + D(bug("[FAT] using cached sector %ld\n", ioh->cur_sector)); /* Now copy in the data */ ncopy = ioh->sb->sectorsize - byte_offset; @@ -229,14 +229,14 @@ LONG ReadFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, CopyMem(ioh->data + byte_offset, data + pos, ncopy); #if defined(DEBUG_DUMP) && DEBUG_DUMP != 0 - D(bug("[fat] dump of last read, %ld bytes:\n", ncopy)); + D(bug("[FAT] dump of last read, %ld bytes:\n", ncopy)); HexDump(&(data[pos]), ncopy, glob); #endif pos += ncopy; nwant -= ncopy; - D(bug("[fat] copied %ld bytes, want %ld more\n", ncopy, nwant)); + D(bug("[FAT] copied %ld bytes, want %ld more\n", ncopy, nwant)); if (nwant > 0) { @@ -269,7 +269,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, while (nwant > 0) { - D(bug("[fat] trying to write %ld bytes" + D(bug("[FAT] trying to write %ld bytes" " (%ld sectors + %ld bytes into the file)\n", nwant, sector_offset, byte_offset)); @@ -286,7 +286,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, { ULONG cluster; - D(bug("[fat] no first cluster, allocating one\n")); + D(bug("[FAT] no first cluster, allocating one\n")); /* Allocate a cluster */ if ((err = FindFreeCluster(ioh->sb, &cluster)) != 0) @@ -311,7 +311,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->cluster_offset = 0; } - D(bug("[fat] moving forward %ld clusters from cluster %ld\n", + D(bug("[FAT] moving forward %ld clusters from cluster %ld\n", cluster_offset - ioh->cluster_offset, ioh->cur_cluster)); /* Find it */ @@ -327,7 +327,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, if (next_cluster == 0 || next_cluster >= ioh->sb->eoc_mark - 7) { - D(bug("[fat] hit empty or eoc cluster," + D(bug("[FAT] hit empty or eoc cluster," " allocating another\n")); if ((err = FindFreeCluster(ioh->sb, &next_cluster)) != 0) @@ -345,7 +345,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->cur_cluster = next_cluster; - D(bug("[fat] allocated cluster %d\n", next_cluster)); + D(bug("[FAT] allocated cluster %d\n", next_cluster)); } else ioh->cur_cluster = next_cluster; @@ -354,7 +354,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, /* Remember how far in we are now */ ioh->cluster_offset = cluster_offset; - D(bug("[fat] moved to cluster %ld\n", ioh->cur_cluster)); + D(bug("[FAT] moved to cluster %ld\n", ioh->cur_cluster)); /* Reset the sector offset so the sector recalc gets triggered */ ioh->sector_offset = 0xffffffff; @@ -383,11 +383,11 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->sector_offset = sector_offset - ioh->first_sector; ioh->cur_sector = ioh->first_sector + sector_offset; - D(bug("[fat] adjusted for cluster 0," + D(bug("[FAT] adjusted for cluster 0," " chunk starts in sector %ld\n", ioh->cur_sector)); } else - D(bug("[fat] chunk starts %ld sectors into the cluster," + D(bug("[FAT] chunk starts %ld sectors into the cluster," " which is sector %ld\n", ioh->sector_offset, ioh->cur_sector)); } @@ -402,7 +402,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->block = NULL; } - D(bug("[fat] requesting sector %ld from cache\n", + D(bug("[FAT] requesting sector %ld from cache\n", ioh->cur_sector)); b = Cache_GetBlock(ioh->sb->cache, ioh->sb->first_device_sector @@ -411,7 +411,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, { RESET_HANDLE(ioh); - D(bug("[fat] couldn't load sector, returning error %ld\n", + D(bug("[FAT] couldn't load sector, returning error %ld\n", IoErr())); return IoErr(); @@ -421,7 +421,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, ioh->data = p; } else - D(bug("[fat] using cached sector %ld\n", ioh->cur_sector)); + D(bug("[FAT] using cached sector %ld\n", ioh->cur_sector)); /* Copy our data into the block */ ncopy = ioh->sb->sectorsize - byte_offset; @@ -430,7 +430,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, CopyMem(data + pos, ioh->data + byte_offset, ncopy); #if defined(DEBUG_DUMP) && DEBUG_DUMP != 0 - D(bug("[fat] dump of last write, %ld bytes:\n", ncopy)); + D(bug("[FAT] dump of last write, %ld bytes:\n", ncopy)); HexDump(&(ioh->data[byte_offset]), ncopy, glob); #endif @@ -439,7 +439,7 @@ LONG WriteFileChunk(struct IOHandle *ioh, ULONG file_pos, ULONG nwant, pos += ncopy; nwant -= ncopy; - D(bug("[fat] wrote %ld bytes, want %ld more\n", ncopy, nwant)); + D(bug("[FAT] wrote %ld bytes, want %ld more\n", ncopy, nwant)); if (nwant > 0) { diff --git a/rom/filesys/fat/lock.c b/rom/filesys/fat/lock.c old mode 100755 new mode 100644 index c58c6fff661..69d59ab7745 --- a/rom/filesys/fat/lock.c +++ b/rom/filesys/fat/lock.c @@ -37,17 +37,16 @@ static void DumpLocks(struct FSSuper *sb, struct Globals *glob) struct GlobalLock *gl; ULONG count; - D(bug("[fat] global locks:\n")); - ListLength(&sb->info->root_lock.locks, count); - bug(" root: %ld references\n", count); + + D(bug("[FAT] [%s] Global Locks Root: %ld references:\n",__FUNCTION__, count)); ForeachNode(&sb->info->locks, gl) { ListLength(&gl->locks, count); - D(bug(" (%ld/%ld) ", gl->dir_cluster, gl->dir_entry)); + D(bug("\t(%ld/%ld) ", gl->dir_cluster, gl->dir_entry)); RawPutChars(&(gl->name[1]), gl->name[0]); - bug(": %ld references\n", count); + D(bug(": %ld references\n", count)); } } #endif @@ -105,7 +104,7 @@ LONG LockFileByName(struct ExtFileLock *fl, UBYTE *name, LONG namelen, /* The . and .. entries are invisible to the user */ if (name[0] == '.' && (namelen == 1 || (name[1] == '.' && namelen == 2))) { - D(bug("[fat] not allowing access to '.' or '..' entries\n")); + D(bug("[FAT] [%s] not allowing access to '.' or '..' entries\n",__FUNCTION__)); return ERROR_OBJECT_NOT_FOUND; } @@ -118,7 +117,7 @@ LONG LockFileByName(struct ExtFileLock *fl, UBYTE *name, LONG namelen, dir_cluster = fl->gl->dir_cluster; D( - bug("[fat] trying to obtain lock on '"); + bug("[FAT] [%s] trying to obtain lock on '",__FUNCTION__); RawPutChars(name, namelen); bug("' in dir at cluster %ld\n", dir_cluster); ) @@ -130,7 +129,7 @@ LONG LockFileByName(struct ExtFileLock *fl, UBYTE *name, LONG namelen, if ((err = GetDirEntryByPath(&dh, name, namelen, &de, glob)) != 0) { ReleaseDirHandle(&dh, glob); - D(bug("[fat] couldn't get lock\n")); + D(bug("[FAT] [%s] couldn't get lock\n",__FUNCTION__)); return err; } @@ -155,8 +154,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, struct DirEntry de; ULONG len; - D(bug("[fat] locking file (%ld/%ld) (%s)\n", dir_cluster, dir_entry, - access == SHARED_LOCK ? "shared" : "exclusive")); + D(bug("[FAT] [%s] locking file (%ld/%ld) (%s)\n",__FUNCTION__, dir_cluster, dir_entry, access == SHARED_LOCK ? "shared" : "exclusive")); /* First see if we already have a global lock for this file */ gl = NULL; @@ -173,7 +171,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, /* If we do and we're trying for an exclusive lock, then bail out */ if (gl != NULL && access == EXCLUSIVE_LOCK) { - D(bug("[fat] can't obtain exclusive lock on already-locked file\n")); + D(bug("[FAT] [%s] can't obtain exclusive lock on already-locked file\n",__FUNCTION__)); return ERROR_OBJECT_IN_USE; } @@ -224,7 +222,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, ADDTAIL(&glob->sb->info->locks, gl); - D(bug("[fat] created new global lock\n")); + D(bug("[FAT] [%s] created new global lock\n",__FUNCTION__)); /* Look through the notify list. If there's any in there that aren't * currently attached to a global lock, expand them and if they are @@ -236,8 +234,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, { if (nn->gl == NULL) { - D(bug("[fat] searching for notify name '%s'\n", - nn->nr->nr_FullName)); + D(bug("[FAT] [%s] searching for notify name '%s'\n",__FUNCTION__, nn->nr->nr_FullName)); if (InitDirHandle(glob->sb, 0, &dh, TRUE, glob) != 0) continue; @@ -249,9 +246,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, if (gl->dir_cluster == de.cluster && gl->dir_entry == de.index) { - D(bug("[fat] found and matched to the global lock" - " (%ld/%ld)\n", - gl->dir_cluster, gl->dir_entry)); + D(bug("[FAT] [%s] found and matched to the global lock (%ld/%ld)\n",__FUNCTION__, gl->dir_cluster, gl->dir_entry)); nn->gl = gl; } } @@ -281,7 +276,7 @@ LONG LockFile(ULONG dir_cluster, ULONG dir_entry, LONG access, fl->sb = glob->sb; ADDTAIL(&gl->locks, &fl->node); - D(bug("[fat] created file lock 0x%08x\n", fl)); + D(bug("[FAT] [%s] created file lock 0x%08x\n",__FUNCTION__, fl)); DumpLocks(glob->sb, glob); @@ -293,11 +288,11 @@ LONG LockRoot(LONG access, struct ExtFileLock **lock, struct Globals *glob) { struct ExtFileLock *fl; - D(bug("[fat] locking root\n")); + D(bug("[FAT] [%s] locking root\n",__FUNCTION__)); if (access == EXCLUSIVE_LOCK) { - D(bug("[fat] can't obtain exclusive lock on the fs root\n")); + D(bug("[FAT] [%s] can't obtain exclusive lock on the fs root\n",__FUNCTION__)); return ERROR_OBJECT_IN_USE; } @@ -328,7 +323,7 @@ LONG LockRoot(LONG access, struct ExtFileLock **lock, struct Globals *glob) fl->sb = glob->sb; ADDTAIL(&glob->sb->info->root_lock.locks, &fl->node); - D(bug("[fat] created root lock 0x%08x\n", fl)); + D(bug("[FAT] [%s] created root lock 0x%08x\n",__FUNCTION__, fl)); DumpLocks(glob->sb, glob); @@ -339,14 +334,14 @@ LONG LockRoot(LONG access, struct ExtFileLock **lock, struct Globals *glob) LONG CopyLock(struct ExtFileLock *fl, struct ExtFileLock **lock, struct Globals *glob) { - D(bug("[fat] copying lock\n")); + D(bug("[FAT] [%s] copying lock\n",__FUNCTION__)); if (fl == NULL || fl->gl == &glob->sb->info->root_lock) return LockRoot(SHARED_LOCK, lock, glob); if (fl->fl_Access == EXCLUSIVE_LOCK) { - D(bug("[fat] can't copy exclusive lock\n")); + D(bug("[FAT] [%s] can't copy exclusive lock\n",__FUNCTION__)); return ERROR_OBJECT_IN_USE; } @@ -361,7 +356,7 @@ void FreeLock(struct ExtFileLock *fl, struct Globals *glob) if (fl == NULL) return; - D(bug("[fat] freeing lock 0x%08x\n", fl)); + D(bug("[FAT] [%s] freeing lock 0x%08x\n",__FUNCTION__, fl)); if (fl->do_notify) SendNotifyByLock(fl->ioh.sb, fl->gl); @@ -379,7 +374,7 @@ void FreeLock(struct ExtFileLock *fl, struct Globals *glob) if (fl->gl != &fl->sb->info->root_lock) FreeVecPooled(glob->sb->info->mem_pool, fl->gl); - D(bug("[fat] freed associated global lock\n")); + D(bug("[FAT] [%s] freed associated global lock\n",__FUNCTION__)); } DumpLocks(fl->sb, glob); @@ -389,5 +384,10 @@ void FreeLock(struct ExtFileLock *fl, struct Globals *glob) if (fl->sb != glob->sb) AttemptDestroyVolume(fl->sb); - FreeVecPooled(glob->sb->info->mem_pool, fl); + D(bug("[FAT] [%s] Lock is Freed, cleaning up glob->sb->info->mem_pool\n",__FUNCTION__)); + + //FreeVecPooled(glob->sb->info->mem_pool, fl); + FreeVecPooled(fl->sb->info->mem_pool, fl); + + D(bug("[FAT] [%s] Lock Cleaned\n",__FUNCTION__)); } diff --git a/rom/filesys/fat/main.c b/rom/filesys/fat/main.c old mode 100755 new mode 100644 index c64a1ff93d2..4bc776ead72 --- a/rom/filesys/fat/main.c +++ b/rom/filesys/fat/main.c @@ -40,7 +40,7 @@ static void CleanupDiskHandler(struct Globals *glob); static void InitCharsetTables(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); int i; @@ -56,11 +56,10 @@ static void InitCharsetTables(struct Globals *glob) } } -static struct Globals *fat_init(struct Process *proc, struct DosPacket *dp, - struct ExecBase *SysBase) +static struct Globals *fat_init(struct Process *proc, struct DosPacket *dp, struct ExecBase *SysBase) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); struct Globals *glob; @@ -68,8 +67,7 @@ static struct Globals *fat_init(struct Process *proc, struct DosPacket *dp, if (glob) { glob->gl_SysBase = SysBase; - if ((glob->gl_DOSBase = - (struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS))) + if ((glob->gl_DOSBase = (struct DosLibrary *)TaggedOpenLibrary(TAGGEDOPEN_DOS))) { if ((glob->gl_UtilityBase = OpenLibrary("utility.library", 0))) { @@ -79,8 +77,8 @@ static struct Globals *fat_init(struct Process *proc, struct DosPacket *dp, glob->devnode = BADDR(dp->dp_Arg3); - D(bug("[%s] Opening libraries.\n",__FUNCTION__ )); - D(bug("[%s] FS task: %lx, port %lx\n",__FUNCTION__ , glob->ourtask, glob->ourport)); + D(bug("[FAT] [%s] Opening libraries.\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FS task: %lx, port %lx\n",__FUNCTION__ , glob->ourtask, glob->ourport)); glob->notifyport = CreateMsgPort(); @@ -118,7 +116,7 @@ static struct Globals *fat_init(struct Process *proc, struct DosPacket *dp, static void fat_exit(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); struct ExecBase *SysBase = glob->gl_SysBase; CleanupDiskHandler(glob); @@ -135,8 +133,8 @@ static void fat_exit(struct Globals *glob) LONG handler(struct ExecBase *SysBase) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start \n",__FUNCTION__ )); + D(bug("\n----------------------------------------------------------------\n")); + D(bug("[FAT] [%s] Start \n",__FUNCTION__ )); struct Globals *glob; struct Process *proc; @@ -148,13 +146,13 @@ LONG handler(struct ExecBase *SysBase) WaitPort(mp); dp = (struct DosPacket *)GetMsg(mp)->mn_Node.ln_Name; - D(bug("[%s] mp=%p, path='%b'\n", __FUNCTION__ , mp, dp->dp_Arg1)); + D(bug("[FAT] [%s] mp=%p, path='%b'\n", __FUNCTION__ , mp, dp->dp_Arg1)); glob = fat_init(proc, dp, SysBase); if (!glob) { - D(bug("[%s] %b - error %d\n", __FUNCTION__ , dp->dp_Arg1, RETURN_FAIL)); + D(bug("[FAT] [%s] %b - error %d\n", __FUNCTION__ , dp->dp_Arg1, RETURN_FAIL)); dp->dp_Res1 = DOSFALSE; dp->dp_Res2 = ERROR_NO_FREE_STORE; ReplyPacket(dp, SysBase); @@ -169,44 +167,39 @@ LONG handler(struct ExecBase *SysBase) ULONG mask = pktsig | diskchgsig | notifysig | timersig; ULONG sigs; - D(bug("[%s] Initiated device: %s\n",__FUNCTION__ , AROS_BSTR_ADDR(glob->devnode->dol_Name))); + D(bug("[FAT] [%s] Initiated device: %s\n",__FUNCTION__ , AROS_BSTR_ADDR(glob->devnode->dol_Name))); glob->devnode->dol_Task = glob->ourport; - D(bug("[%s] Returning startup packet\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Returning startup packet\n",__FUNCTION__ )); dp->dp_Res1 = DOSTRUE; dp->dp_Res2 = 0; ReplyPacket(dp, SysBase); - D(bug("[%s] Handler init finished\n",__FUNCTION__ )); + //Force a DoDiskInsert regardless if Disk is present + DoDiskInsert(glob); - /* Insert disk */ - ProcessDiskChange(glob); + D(bug("[FAT] [%s] Handler init finished, starting Main Loop\n",__FUNCTION__ )); while (!glob->quit) { sigs = Wait(mask); - if (sigs & diskchgsig) - ProcessDiskChange(glob); - if (sigs & pktsig) - ProcessPackets(glob); - if (sigs & notifysig) - ProcessNotify(glob); - if (sigs & timersig) - HandleTimer(glob); + if (sigs & diskchgsig) ProcessDiskChange(glob); + if (sigs & pktsig) ProcessPackets(glob); + if (sigs & notifysig) ProcessNotify(glob); + if (sigs & timersig) HandleTimer(glob); } - D(bug("[%s] Handler shutdown initiated\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Handler shutdown initiated\n",__FUNCTION__ )); dp = NULL; - if (glob->death_packet != NULL) - ReplyPacket(glob->death_packet, SysBase); + if (glob->death_packet != NULL) ReplyPacket(glob->death_packet, SysBase); fat_exit(glob); } - D(bug("[%s] End\n",__FUNCTION__ )); + D(bug("[FAT] [%s] End\n",__FUNCTION__ )); return RETURN_OK; } @@ -214,7 +207,7 @@ LONG handler(struct ExecBase *SysBase) static AROS_INTH1(DiskChangeIntHandler, struct IntData *, MyIntData) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); AROS_INTFUNC_INIT @@ -229,7 +222,7 @@ static AROS_INTH1(DiskChangeIntHandler, struct IntData *, MyIntData) static LONG InitDiskHandler(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct ExecBase *SysBase = glob->gl_SysBase; struct FileSysStartupMsg *fssm = glob->fssm; @@ -240,7 +233,7 @@ static LONG InitDiskHandler(struct Globals *glob) unit = fssm->fssm_Unit; flags = fssm->fssm_Flags; - D(bug ("[%s] Received unit number : %d\n",__FUNCTION__ ,fssm->fssm_Unit)); + D(bug("[FAT] [%s] Received unit number : %d\n",__FUNCTION__ ,fssm->fssm_Unit)); device = AROS_BSTR_ADDR(fssm->fssm_Device); if ((diskchgintbit = AllocSignal(-1)) >= 0) @@ -253,10 +246,9 @@ static LONG InitDiskHandler(struct Globals *glob) if ((glob->diskioreq = CreateIORequest(glob->diskport, sizeof(struct IOExtTD)))) { - if (OpenDevice(device, unit, - (struct IORequest *)glob->diskioreq, flags) == 0) + if (OpenDevice(device, unit, (struct IORequest *)glob->diskioreq, flags) == 0) { - D(bug("[%s] Device successfully opened\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Device successfully opened\n",__FUNCTION__ )); Probe64BitSupport(glob); if ((glob->diskchgreq = @@ -270,29 +262,21 @@ static LONG InitDiskHandler(struct Globals *glob) glob->DiskChangeIntData.task = glob->ourtask; glob->DiskChangeIntData.signal = 1 << diskchgintbit; - glob->DiskChangeIntData.Interrupt.is_Node.ln_Type = - NT_INTERRUPT; - glob->DiskChangeIntData.Interrupt.is_Node.ln_Pri = - 0; + glob->DiskChangeIntData.Interrupt.is_Node.ln_Type = NT_INTERRUPT; + glob->DiskChangeIntData.Interrupt.is_Node.ln_Pri = 0; glob->DiskChangeIntData.Interrupt.is_Node.ln_Name = "FATFS"; - glob->DiskChangeIntData.Interrupt.is_Data = - &glob->DiskChangeIntData; - glob->DiskChangeIntData.Interrupt.is_Code = - (VOID_FUNC) - AROS_ASMSYMNAME(DiskChangeIntHandler); + glob->DiskChangeIntData.Interrupt.is_Data = &glob->DiskChangeIntData; + glob->DiskChangeIntData.Interrupt.is_Code = (VOID_FUNC) AROS_ASMSYMNAME(DiskChangeIntHandler); /* Fill I/O request data */ - glob->diskchgreq->iotd_Req.io_Command = - TD_ADDCHANGEINT; - glob->diskchgreq->iotd_Req.io_Data = - &glob->DiskChangeIntData.Interrupt; - glob->diskchgreq->iotd_Req.io_Length = - sizeof(struct Interrupt); + glob->diskchgreq->iotd_Req.io_Command = TD_ADDCHANGEINT; + glob->diskchgreq->iotd_Req.io_Data = &glob->DiskChangeIntData.Interrupt; + glob->diskchgreq->iotd_Req.io_Length = sizeof(struct Interrupt); glob->diskchgreq->iotd_Req.io_Flags = 0; + D(bug("[FAT] [%s] Request Install Disk change handler\n",__FUNCTION__ )); SendIO((struct IORequest *)glob->diskchgreq); - - D(bug("[%s] Disk change interrupt handler installed\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Disk change interrupt handler installed\n",__FUNCTION__ )); return 0; } @@ -334,11 +318,11 @@ static LONG InitDiskHandler(struct Globals *glob) static void CleanupDiskHandler(struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct ExecBase *SysBase = glob->gl_SysBase; - D(bug("[%s] Freeing handler resources:\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Freeing handler resources:\n",__FUNCTION__ )); /* Remove disk change interrupt */ glob->diskchgreq->iotd_Req.io_Command = TD_REMCHANGEINT; @@ -347,13 +331,13 @@ static void CleanupDiskHandler(struct Globals *glob) glob->diskchgreq->iotd_Req.io_Flags = 0; DoIO((struct IORequest *)glob->diskchgreq); - D(bug("[%s] Disk change interrupt handler removed\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Disk change interrupt handler removed\n",__FUNCTION__ )); CloseDevice((struct IORequest *)glob->diskioreq); DeleteIORequest(glob->diskioreq); FreeVec(glob->diskchgreq); DeleteMsgPort(glob->diskport); - D(bug("[%s] Device closed\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Device closed\n",__FUNCTION__ )); glob->diskioreq = NULL; glob->diskchgreq = NULL; @@ -361,5 +345,5 @@ static void CleanupDiskHandler(struct Globals *glob) FreeSignal(glob->diskchgsig_bit); - D(bug("[%s] Done\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Done\n",__FUNCTION__ )); } diff --git a/rom/filesys/fat/mmakefile.src b/rom/filesys/fat/mmakefile.src old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/names.c b/rom/filesys/fat/names.c old mode 100755 new mode 100644 index 60ee527a26c..664aae5aa51 --- a/rom/filesys/fat/names.c +++ b/rom/filesys/fat/names.c @@ -61,7 +61,7 @@ LONG GetDirEntryShortName(struct DirEntry *de, STRPTR name, ULONG *len, raw = de->e.entry.name; if (raw[0] == 0x00 || raw[0] == 0xe5 || raw[0] == 0x20) { - D(bug("[fat] entry name has first byte 0x%02x," + D(bug("[FAT] entry name has first byte 0x%02x," " returning empty short name\n", raw[0])); *name = '\0'; len = 0; @@ -69,7 +69,7 @@ LONG GetDirEntryShortName(struct DirEntry *de, STRPTR name, ULONG *len, } D( - bug("[fat] extracting short name for name '"); + bug("[FAT] extracting short name for name '"); RawPutChars(raw, FAT_MAX_SHORT_NAME); bug("' (index %ld)\n", de->index); ) @@ -78,7 +78,7 @@ LONG GetDirEntryShortName(struct DirEntry *de, STRPTR name, ULONG *len, c = name; for (i = 0; i < FAT_MAX_SHORT_NAME; i++) { - *c = tolower(raw[i]); + *c = raw[i]; /* * FAT names are weird. the name FOO.BAR is stored as "FOO BAR". @@ -122,7 +122,7 @@ LONG GetDirEntryShortName(struct DirEntry *de, STRPTR name, ULONG *len, *len = strlen(name); D( - bug("[fat] extracted short name '"); + bug("[FAT] extracted short name '"); RawPutChars(name, *len); bug("'\n"); ) @@ -148,21 +148,21 @@ LONG GetDirEntryLongName(struct DirEntry *short_de, STRPTR name, raw = short_de->e.entry.name; if (raw[0] == 0x00 || raw[0] == 0xe5 || raw[0] == 0x20) { - D(bug("[fat] entry name has first byte 0x%02x," + D(bug("[FAT] entry name has first byte 0x%02x," " returning empty long name\n", raw[0])); *name = '\0'; len = 0; return 0; } - D(bug("[fat] looking for long name for name '%.*s' (index %ld)\n", + D(bug("[FAT] looking for long name for name '%.*s' (index %ld)\n", FAT_MAX_SHORT_NAME, raw, short_de->index)); /* Compute the short name checksum. This value is held in every associated * long name entry to help us identify it. See FATdoc 1.03 p28 */ CALC_SHORT_NAME_CHECKSUM(raw, checksum); - D(bug("[fat] short name checksum is 0x%02x\n", checksum)); + D(bug("[FAT] short name checksum is 0x%02x\n", checksum)); /* Get a handle on the directory */ InitDirHandle(short_de->sb, short_de->cluster, &dh, FALSE, glob); @@ -173,7 +173,7 @@ LONG GetDirEntryLongName(struct DirEntry *short_de, STRPTR name, index = short_de->index - 1; while (index >= 0) { - D(bug("[fat] looking for long name order 0x%02x in entry %ld\n", + D(bug("[FAT] looking for long name order 0x%02x in entry %ld\n", order, index)); if ((err = GetDirEntry(&dh, index, &de, glob)) != 0) @@ -185,7 +185,7 @@ LONG GetDirEntryLongName(struct DirEntry *short_de, STRPTR name, de.e.long_entry.checksum != checksum) { - D(bug("[fat] bad long name entry %ld" + D(bug("[FAT] bad long name entry %ld" " (attr 0x%02x order 0x%02x checksum 0x%02x)\n", index, de.e.entry.attr, de.e.long_entry.order, de.e.long_entry.checksum)); @@ -225,7 +225,7 @@ LONG GetDirEntryLongName(struct DirEntry *short_de, STRPTR name, *len = strlen((char *)buf); CopyMem(buf, name, *len); - D(bug("[fat] extracted long name '%s'\n", buf)); + D(bug("[FAT] extracted long name '%s'\n", buf)); ReleaseDirHandle(&dh, glob); @@ -238,7 +238,7 @@ LONG GetDirEntryLongName(struct DirEntry *short_de, STRPTR name, ReleaseDirHandle(&dh, glob); - D(bug("[fat] long name construction failed\n")); + D(bug("[FAT] long name construction failed\n")); return ERROR_OBJECT_NOT_FOUND; } @@ -261,7 +261,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) UBYTE order; D( - bug("[fat] setting name for entry index %ld to '", short_de->index); + bug("[FAT] setting name for entry index %ld to '", short_de->index); RawPutChars(name, len); bug("'\n"); ) @@ -285,7 +285,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) return ERROR_INVALID_COMPONENT_NAME; nlong = NumLongNameEntries(name, len); - D(bug("[fat] name requires %ld long name entries\n", nlong)); + D(bug("[FAT] name requires %ld long name entries\n", nlong)); /* First we generate the "basis name" of the passed in name. XXX: we just * take the first eight characters and any three-letter extension and mash @@ -375,7 +375,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) for (; dst < FAT_MAX_SHORT_NAME; dst++) basis[dst] = ' '; - D(bug("[fat] basis name is '%.*s'\n", FAT_MAX_SHORT_NAME, basis)); + D(bug("[FAT] basis name is '%.*s'\n", FAT_MAX_SHORT_NAME, basis)); /* Get a fresh handle on the current directory */ InitDirHandle(short_de->sb, short_de->cluster, &dh, FALSE, glob); @@ -385,7 +385,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) * sure it's not in use */ if (nlong > 0) { - D(bug("[fat] searching for basis name to confirm that" + D(bug("[FAT] searching for basis name to confirm that" " it's not in use\n")); /* Loop over the entries and compare them with the basis until we find @@ -401,7 +401,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) CopyMem(tail, &basis[left], strlen(tail)); cur = seq; - D(bug("[fat] new basis name is '%.*s'\n", + D(bug("[FAT] new basis name is '%.*s'\n", FAT_MAX_SHORT_NAME, basis)); } @@ -418,7 +418,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) } /* Compare the two names */ - D(bug("[fat] comparing '%.*s' with '%.*s'\n", + D(bug("[FAT] comparing '%.*s' with '%.*s'\n", FAT_MAX_SHORT_NAME, basis, FAT_MAX_SHORT_NAME, de.e.entry.name)); for (i = 0; i < FAT_MAX_SHORT_NAME; i++) @@ -434,7 +434,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) } } - D(bug("[fat] basis name '%.*s' not in use, using it\n", + D(bug("[FAT] basis name '%.*s' not in use, using it\n", FAT_MAX_SHORT_NAME, basis)); } @@ -445,7 +445,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) /* We can stop here if no long name is required */ if (nlong == 0) { - D(bug("[fat] copied short name and long name not required," + D(bug("[FAT] copied short name and long name not required," " we're done\n")); ReleaseDirHandle(&dh, glob); return 0; @@ -454,7 +454,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) /* Compute the short name checksum */ CALC_SHORT_NAME_CHECKSUM(basis, checksum); - D(bug("[fat] short name checksum is 0x%02x\n", checksum)); + D(bug("[FAT] short name checksum is 0x%02x\n", checksum)); /* Now we loop back over the previous entries and fill them in with * long name components */ @@ -473,7 +473,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) /* It must be unused (or end of directory) */ if (de.e.entry.name[0] != 0xe5 && de.e.entry.name[0] != 0x00) { - D(bug("[fat] index %ld appears to be in use, aborting long name\n", + D(bug("[FAT] index %ld appears to be in use, aborting long name\n", de.index)); /* Clean up any long name entries we already added */ @@ -493,7 +493,7 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) return ERROR_NO_FREE_STORE; } - D(bug("[fat] building long name entry %ld\n", de.index)); + D(bug("[FAT] building long name entry %ld\n", de.index)); /* Copy bytes in */ for (dst = 0; dst < 5; dst++) @@ -531,13 +531,13 @@ LONG SetDirEntryName(struct DirEntry *short_de, STRPTR name, ULONG len) /* Write the entry out */ UpdateDirEntry(&de, glob); - D(bug("[fat] wrote long name entry %ld order 0x%02x\n", de.index, + D(bug("[FAT] wrote long name entry %ld order 0x%02x\n", de.index, de.e.long_entry.order)); } ReleaseDirHandle(&dh, glob); - D(bug("[fat] successfully wrote short & long names\n")); + D(bug("[FAT] successfully wrote short & long names\n")); /* Set hidden flags on .info files */ if (strcmp(name + len - 5, ".info") == 0) diff --git a/rom/filesys/fat/notify.c b/rom/filesys/fat/notify.c old mode 100755 new mode 100644 index 7efa75c4c99..67cd76a2ff5 --- a/rom/filesys/fat/notify.c +++ b/rom/filesys/fat/notify.c @@ -25,12 +25,12 @@ void SendNotify(struct NotifyRequest *nr, struct Globals *glob) { struct NotifyMessage *nm; - D(bug("[fat] notifying for '%s'\n", nr->nr_FullName)); + D(bug("[FAT] notifying for '%s'\n", nr->nr_FullName)); /* Signals are a doddle */ if (nr->nr_Flags & NRF_SEND_SIGNAL) { - D(bug("[fat] sending signal %ld to task 0x%08x\n", + D(bug("[FAT] sending signal %ld to task 0x%08x\n", nr->nr_stuff.nr_Signal.nr_SignalNum, nr->nr_stuff.nr_Signal.nr_Task)); @@ -43,7 +43,7 @@ void SendNotify(struct NotifyRequest *nr, struct Globals *glob) /* If message isn't set, then they screwed up, and there's nothing to do */ if (!(nr->nr_Flags & NRF_SEND_MESSAGE)) { - D(bug("[fat] weird, request doesn't have SIGNAL or MESSAGE bits set," + D(bug("[FAT] weird, request doesn't have SIGNAL or MESSAGE bits set," " doing nothing\n")); return; } @@ -52,7 +52,7 @@ void SendNotify(struct NotifyRequest *nr, struct Globals *glob) * still messages outstanding */ if (nr->nr_Flags & NRF_WAIT_REPLY && nr->nr_MsgCount > 0) { - D(bug("[fat] request has WAIT_REPLY set and there are %ld messages" + D(bug("[FAT] request has WAIT_REPLY set and there are %ld messages" " outstanding, doing nothing\n", nr->nr_MsgCount)); return; } @@ -60,7 +60,7 @@ void SendNotify(struct NotifyRequest *nr, struct Globals *glob) /* New message */ nr->nr_MsgCount++; - D(bug("[fat] request now has %ld messages outstanding\n", + D(bug("[FAT] request now has %ld messages outstanding\n", nr->nr_MsgCount)); /* Allocate and build the message */ @@ -71,7 +71,7 @@ void SendNotify(struct NotifyRequest *nr, struct Globals *glob) nm->nm_Code = NOTIFY_CODE; nm->nm_NReq = nr; - D(bug("[fat] sending notify message to port 0x%08x\n", + D(bug("[FAT] sending notify message to port 0x%08x\n", nr->nr_stuff.nr_Msg.nr_Port)); /* Send it */ @@ -84,7 +84,7 @@ void SendNotifyByLock(struct FSSuper *sb, struct GlobalLock *gl) struct Globals *glob = sb->glob; struct NotifyNode *nn; - D(bug("[fat] notifying for lock (%ld/%ld)\n", gl->dir_cluster, + D(bug("[FAT] notifying for lock (%ld/%ld)\n", gl->dir_cluster, gl->dir_entry)); ForeachNode(&sb->info->notifies, nn) @@ -104,7 +104,7 @@ void SendNotifyByDirEntry(struct FSSuper *sb, struct DirEntry *de) it as uninitialised */ sdh.ioh.sb = NULL; - D(bug("[fat] notifying for dir entry (%ld/%ld)\n", de->cluster, + D(bug("[FAT] notifying for dir entry (%ld/%ld)\n", de->cluster, de->index)); ForeachNode(&sb->info->notifies, nn) @@ -145,12 +145,12 @@ void ProcessNotify(struct Globals *glob) if (nm->nm_NReq->nr_MsgCount < 0) nm->nm_NReq->nr_MsgCount = 0; - D(bug("[fat] received notify message reply," + D(bug("[FAT] received notify message reply," " %ld messages outstanding for this request\n", nm->nm_NReq->nr_MsgCount)); FreeVec(nm); } else - D(bug("[fat] non-notify message received, dropping it\n")); + D(bug("[FAT] non-notify message received, dropping it\n")); } diff --git a/rom/filesys/fat/ops.c b/rom/filesys/fat/ops.c old mode 100755 new mode 100644 index 5c89928bc1a..03aac3434b4 --- a/rom/filesys/fat/ops.c +++ b/rom/filesys/fat/ops.c @@ -1,8 +1,8 @@ /* * fat-handler - FAT12/16/32 filesystem handler * - * Copyright ? 2007-2020 The AROS Development Team - * Copyright ? 2006 Marek Szyprowski + * Copyright � 2007-2020 The AROS Development Team + * Copyright � 2006 Marek Szyprowski * * This program is free software; you can redistribute it and/or modify it * under the same terms as AROS itself. @@ -78,7 +78,7 @@ static LONG MoveToSubdir(struct DirHandle *dh, UBYTE **pname, name = &base[baselen]; D( - bug("[fat] base is '"); + bug("[FAT] base is '"); RawPutChars(base, baselen); bug("', name is '"); RawPutChars(name, namelen); bug("'\n"); @@ -88,7 +88,7 @@ static LONG MoveToSubdir(struct DirHandle *dh, UBYTE **pname, { if ((err = GetDirEntryByPath(dh, base, baselen, &de, glob)) != 0) { - D(bug("[fat] base not found\n")); + D(bug("[FAT] base not found\n")); return err; } @@ -212,7 +212,7 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, struct DirEntry de; D( - bug("[fat] opening file '"); + bug("[FAT] opening file '"); RawPutChars(name, namelen); bug("' in dir at cluster %ld, action %s\n", dirlock != NULL ? dirlock->ioh.first_cluster : 0, @@ -230,18 +230,18 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, * so this will only work for FINDINPUT (read-only) */ if (namelen == 0) { - D(bug("[fat] trying to copy passed dir lock\n")); + D(bug("[FAT] trying to copy passed dir lock\n")); if (action != ACTION_FINDINPUT) { - D(bug("[fat] can't copy lock for write (exclusive)\n")); + D(bug("[FAT] can't copy lock for write (exclusive)\n")); return ERROR_OBJECT_IN_USE; } /* Dirs can't be opened */ if (dirlock == NULL || dirlock->gl->attr & ATTR_DIRECTORY) { - D(bug("[fat] dir lock is a directory, which can't be opened\n")); + D(bug("[FAT] dir lock is a directory, which can't be opened\n")); return ERROR_OBJECT_WRONG_TYPE; } @@ -257,12 +257,12 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* Found it */ if (err == 0) { - D(bug("[fat] found existing file\n")); + D(bug("[FAT] found existing file\n")); /* Can't open directories */ if (lock->gl->attr & ATTR_DIRECTORY) { - D(bug("[fat] it's a directory, can't open it\n")); + D(bug("[FAT] it's a directory, can't open it\n")); FreeLock(lock, glob); return ERROR_OBJECT_WRONG_TYPE; } @@ -270,17 +270,17 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* INPUT/UPDATE use the file as/is */ if (action != ACTION_FINDOUTPUT) { - D(bug("[fat] returning the lock\n")); + D(bug("[FAT] returning the lock\n")); *filelock = lock; return 0; } /* Whereas OUTPUT truncates it */ - D(bug("[fat] handling FINDOUTPUT, so truncating the file\n")); + D(bug("[FAT] handling FINDOUTPUT, so truncating the file\n")); if (lock->gl->attr & ATTR_READ_ONLY) { - D(bug("[fat] file is write protected, doing nothing\n")); + D(bug("[FAT] file is write protected, doing nothing\n")); FreeLock(lock, glob); return ERROR_WRITE_PROTECTED; } @@ -293,7 +293,7 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, de.e.entry.attr |= ATTR_ARCHIVE; UpdateDirEntry(&de, glob); - D(bug("[fat] set first cluster and size to 0 in directory entry\n")); + D(bug("[FAT] set first cluster and size to 0 in directory entry\n")); /* Free the clusters */ FREE_CLUSTER_CHAIN(lock->ioh.sb, lock->ioh.first_cluster); @@ -301,7 +301,7 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, RESET_HANDLE(&lock->ioh); lock->gl->size = 0; - D(bug("[fat] file truncated, returning the lock\n")); + D(bug("[FAT] file truncated, returning the lock\n")); /* File is empty, go */ *filelock = lock; @@ -316,12 +316,12 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* Not found. For INPUT we bail out */ if (action == ACTION_FINDINPUT) { - D(bug("[fat] file not found, and not creating it\n")); + D(bug("[FAT] file not found, and not creating it\n")); return ERROR_OBJECT_NOT_FOUND; } D( - bug("[fat] trying to create '"); + bug("[FAT] trying to create '"); RawPutChars(name, namelen); bug("'\n"); ) @@ -346,7 +346,7 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, GetDirEntry(&dh, 0, &de, glob); if (de.e.entry.attr & ATTR_READ_ONLY) { - D(bug("[fat] containing dir is write protected, doing nothing\n")); + D(bug("[FAT] containing dir is write protected, doing nothing\n")); ReleaseDirHandle(&dh, glob); return ERROR_WRITE_PROTECTED; } @@ -369,7 +369,7 @@ LONG OpOpenFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, if (err == 0) { (*filelock)->do_notify = TRUE; - D(bug("[fat] returning lock on new file\n")); + D(bug("[FAT] returning lock on new file\n")); } return err; @@ -386,7 +386,7 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, struct DirEntry de; D( - bug("[fat] deleting file '"); + bug("[FAT] deleting file '"); RawPutChars(name, namelen); bug("' in directory at cluster % ld\n", dirlock != NULL ? dirlock->ioh.first_cluster : 0); @@ -399,13 +399,13 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, if ((err = LockFileByName(dirlock, name, namelen, EXCLUSIVE_LOCK, &lock, glob)) != 0) { - D(bug("[fat] couldn't obtain exclusive lock on named file\n")); + D(bug("[FAT] couldn't obtain exclusive lock on named file\n")); return err; } if (lock->gl->attr & ATTR_READ_ONLY) { - D(bug("[fat] file is write protected, doing nothing\n")); + D(bug("[FAT] file is write protected, doing nothing\n")); FreeLock(lock, glob); return ERROR_DELETE_PROTECTED; } @@ -413,7 +413,7 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* If it's a directory, we have to make sure it's empty */ if (lock->gl->attr & ATTR_DIRECTORY) { - D(bug("[fat] file is a directory, making sure it's empty\n")); + D(bug("[FAT] file is a directory, making sure it's empty\n")); if ((err = InitDirHandle(lock->ioh.sb, lock->ioh.first_cluster, &dh, FALSE, glob)) != 0) @@ -438,7 +438,7 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, break; /* Otherwise the directory is still in use */ - D(bug("[fat] directory still has files in it, won't delete it\n")); + D(bug("[FAT] directory still has files in it, won't delete it\n")); ReleaseDirHandle(&dh, glob); FreeLock(lock, glob); @@ -463,7 +463,7 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, GetDirEntry(&dh, 0, &de, glob); if (de.e.entry.attr & ATTR_READ_ONLY) { - D(bug("[fat] containing dir is write protected, doing nothing\n")); + D(bug("[FAT] containing dir is write protected, doing nothing\n")); ReleaseDirHandle(&dh, glob); FreeLock(lock, glob); return ERROR_WRITE_PROTECTED; @@ -489,7 +489,7 @@ LONG OpDeleteFile(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, FreeLock(lock, glob); D( - bug("[fat] deleted '"); + bug("[FAT] deleted '"); RawPutChars(name, namelen); bug("'\n"); ) @@ -548,7 +548,7 @@ LONG OpRenameFile(struct ExtFileLock *sdirlock, UBYTE *sname, GetDirEntry(&sdh, 0, &dde, glob); if (dde.e.entry.attr & ATTR_READ_ONLY) { - D(bug("[fat] source dir is read only, doing nothing\n")); + D(bug("[FAT] source dir is read only, doing nothing\n")); ReleaseDirHandle(&ddh, glob); ReleaseDirHandle(&sdh, glob); return ERROR_WRITE_PROTECTED; @@ -556,7 +556,7 @@ LONG OpRenameFile(struct ExtFileLock *sdirlock, UBYTE *sname, GetDirEntry(&ddh, 0, &dde, glob); if (dde.e.entry.attr & ATTR_READ_ONLY) { - D(bug("[fat] dest dir is read only, doing nothing\n")); + D(bug("[FAT] dest dir is read only, doing nothing\n")); ReleaseDirHandle(&ddh, glob); ReleaseDirHandle(&sdh, glob); return ERROR_WRITE_PROTECTED; @@ -585,12 +585,11 @@ LONG OpRenameFile(struct ExtFileLock *sdirlock, UBYTE *sname, /* Make a new entry in the target dir */ if ((err = CreateDirEntry(&ddh, dname, dnamelen, sde.e.entry.attr | ATTR_ARCHIVE, - AROS_LE2WORD(sde.e.entry.first_cluster_hi << 16) | AROS_LE2WORD(sde.e.entry.first_cluster_lo), + (sde.e.entry.first_cluster_hi << 16) | sde.e.entry.first_cluster_lo, &dde, glob)) != 0) { ReleaseDirHandle(&ddh, glob); ReleaseDirHandle(&sdh, glob); - return err; } /* Copy in the leftover attributes */ @@ -609,7 +608,7 @@ LONG OpRenameFile(struct ExtFileLock *sdirlock, UBYTE *sname, { if (gl->dir_cluster == sde.cluster && gl->dir_entry == sde.index) { - D(bug("[fat] found lock with old dir entry (%ld/%ld)," + D(bug("[FAT] found lock with old dir entry (%ld/%ld)," " changing to (%ld/%ld)\n", sde.cluster, sde.index, dde.cluster, dde.index)); @@ -645,7 +644,7 @@ LONG OpCreateDir(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, struct DirEntry de, sde; D( - bug("[fat] creating directory '"); + bug("[FAT] creating directory '"); RawPutChars(name, namelen); bug("' in directory at cluster %ld\n", dirlock != NULL ? dirlock->ioh.first_cluster : 0); @@ -682,7 +681,7 @@ LONG OpCreateDir(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, GetDirEntry(&dh, 0, &de, glob); if (de.e.entry.attr & ATTR_READ_ONLY) { - D(bug("[fat] containing dir is write protected, doing nothing\n")); + D(bug("[FAT] containing dir is write protected, doing nothing\n")); ReleaseDirHandle(&dh, glob); return ERROR_WRITE_PROTECTED; } @@ -692,7 +691,7 @@ LONG OpCreateDir(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, * nothing */ if ((err = GetDirEntryByName(&dh, name, namelen, &de, glob)) == 0) { - D(bug("[fat] name exists, can't do anything\n")); + D(bug("[FAT] name exists, can't do anything\n")); ReleaseDirHandle(&dh, glob); return ERROR_OBJECT_EXISTS; } @@ -707,7 +706,7 @@ LONG OpCreateDir(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* Allocate it */ AllocCluster(dh.ioh.sb, cluster); - D(bug("[fat] allocated cluster %ld for directory\n", cluster)); + D(bug("[FAT] allocated cluster %ld for directory\n", cluster)); /* Create the entry, pointing to the new cluster */ if ((err = CreateDirEntry(&dh, name, namelen, @@ -770,7 +769,7 @@ LONG OpRead(struct ExtFileLock *lock, UBYTE *data, ULONG want, { LONG err; - D(bug("[fat] request to read %ld bytes from file pos %ld\n", want, + D(bug("[FAT] request to read %ld bytes from file pos %ld\n", want, lock->pos)); if (want == 0) @@ -779,14 +778,14 @@ LONG OpRead(struct ExtFileLock *lock, UBYTE *data, ULONG want, if (want + lock->pos > lock->gl->size) { want = lock->gl->size - lock->pos; - D(bug("[fat] full read would take us past end-of-file," + D(bug("[FAT] full read would take us past end-of-file," " adjusted want to %ld bytes\n", want)); } if ((err = ReadFileChunk(&(lock->ioh), lock->pos, want, data, read)) == 0) { lock->pos += *read; - D(bug("[fat] read %ld bytes, new file pos is %ld\n", *read, + D(bug("[FAT] read %ld bytes, new file pos is %ld\n", *read, lock->pos)); } @@ -801,20 +800,20 @@ LONG OpWrite(struct ExtFileLock *lock, UBYTE *data, ULONG want, struct DirHandle dh; struct DirEntry de; - D(bug("[fat] request to write %ld bytes to file pos %ld\n", want, + D(bug("[FAT] request to write %ld bytes to file pos %ld\n", want, lock->pos)); /* Need an exclusive lock */ if (lock->gl->access != EXCLUSIVE_LOCK) { - D(bug("[fat] can't modify global attributes via a shared lock\n")); + D(bug("[FAT] can't modify global attributes via a shared lock\n")); return ERROR_OBJECT_IN_USE; } /* Don't modify the file if it's protected */ if (lock->gl->attr & ATTR_READ_ONLY) { - D(bug("[fat] file is write protected\n")); + D(bug("[FAT] file is write protected\n")); return ERROR_WRITE_PROTECTED; } @@ -836,7 +835,7 @@ LONG OpWrite(struct ExtFileLock *lock, UBYTE *data, ULONG want, * happen?) then we don't want to mess with the dir entry */ if (*written == 0) { - D(bug("[fat] nothing successfully written (!)," + D(bug("[FAT] nothing successfully written (!)," " nothing else to do\n")); return 0; } @@ -860,12 +859,12 @@ LONG OpWrite(struct ExtFileLock *lock, UBYTE *data, ULONG want, else if (!(lock->gl->attr & ATTR_ARCHIVE)) update_entry = TRUE; - D(bug("[fat] wrote %ld bytes, new file pos is %ld, size is %ld\n", + D(bug("[FAT] wrote %ld bytes, new file pos is %ld, size is %ld\n", *written, lock->pos, lock->gl->size)); if (update_entry) { - D(bug("[fat] updating dir entry, first cluster is %ld," + D(bug("[FAT] updating dir entry, first cluster is %ld," " size is %ld\n", lock->ioh.first_cluster, lock->gl->size)); @@ -902,14 +901,14 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, /* Need an exclusive lock to do what is effectively a write */ if (lock->gl->access != EXCLUSIVE_LOCK) { - D(bug("[fat] can't modify global attributes via a shared lock\n")); + D(bug("[FAT] can't modify global attributes via a shared lock\n")); return ERROR_OBJECT_IN_USE; } /* Don't modify the file if it's protected */ if (lock->gl->attr & ATTR_READ_ONLY) { - D(bug("[fat] file is write protected\n")); + D(bug("[FAT] file is write protected\n")); return ERROR_WRITE_PROTECTED; } @@ -926,12 +925,12 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, if (lock->gl->size == size) { - D(bug("[fat] new size matches old size, nothing to do\n")); + D(bug("[FAT] new size matches old size, nothing to do\n")); *newsize = size; return 0; } - D(bug("[fat] old size was %ld bytes, new size is %ld bytes\n", + D(bug("[FAT] old size was %ld bytes, new size is %ld bytes\n", lock->gl->size, size)); /* Get the dir that this file is in */ @@ -950,7 +949,7 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, want = (size >> glob->sb->clustersize_bits) + ((size & (glob->sb->clustersize - 1)) ? 1 : 0); - D(bug("[fat] want %ld clusters for file\n", want)); + D(bug("[FAT] want %ld clusters for file\n", want)); /* We're getting three things here - the first cluster of the existing * file, the last cluster of the existing file (which might be the same), @@ -963,7 +962,7 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, cl = FIRST_FILE_CLUSTER(&de); if (cl == 0) { - D(bug("[fat] file is empty\n")); + D(bug("[FAT] file is empty\n")); first = 0; count = 0; @@ -976,7 +975,7 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, * past want first time around the loop). It's a pain to incorporate a * full truncate into the loop, not counting the change to the first * cluster, so it's easier to just take care of it all here */ - D(bug("[fat] want nothing, so truncating the entire file\n")); + D(bug("[FAT] want nothing, so truncating the entire file\n")); FREE_CLUSTER_CHAIN(glob->sb, cl); @@ -1004,20 +1003,20 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, FREE_CLUSTER_CHAIN(glob->sb, GET_NEXT_CLUSTER(glob->sb, cl)); SET_NEXT_CLUSTER(glob->sb, cl, glob->sb->eoc_mark); - D(bug("[fat] truncated file\n")); + D(bug("[FAT] truncated file\n")); break; } } - D(bug("[fat] file has %ld clusters\n", count)); + D(bug("[FAT] file has %ld clusters\n", count)); } /* Now we know how big the current file is. If we don't have enough, * allocate more until we do */ if (count < want) { - D(bug("[fat] growing file\n")); + D(bug("[FAT] growing file\n")); while (count < want) { @@ -1055,7 +1054,7 @@ LONG OpSetFileSize(struct ExtFileLock *lock, LONG offset, LONG whence, de.e.entry.attr |= ATTR_ARCHIVE; UpdateDirEntry(&de, glob); - D(bug("[fat] set file size to %ld, first cluster is %ld\n", size, + D(bug("[FAT] set file size to %ld, first cluster is %ld\n", size, first)); /* Done! */ @@ -1087,7 +1086,7 @@ LONG OpSetProtect(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* Can't change permissions on the root */ if (dh.ioh.first_cluster == dh.ioh.sb->rootdir_cluster && namelen == 0) { - D(bug("[fat] can't set protection on root dir\n")); + D(bug("[FAT] can't set protection on root dir\n")); ReleaseDirHandle(&dh, glob); return ERROR_INVALID_LOCK; } @@ -1108,7 +1107,7 @@ LONG OpSetProtect(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, de.e.entry.attr |= ATTR_READ_ONLY; UpdateDirEntry(&de, glob); - D(bug("[fat] new protection is 0x%08x\n", de.e.entry.attr)); + D(bug("[FAT] new protection is 0x%08x\n", de.e.entry.attr)); SendNotifyByDirEntry(glob->sb, &de); @@ -1118,7 +1117,7 @@ LONG OpSetProtect(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, { ULONG attr = de.e.entry.attr; - D(bug("[fat] setting protections for directory '.' entry\n")); + D(bug("[FAT] setting protections for directory '.' entry\n")); InitDirHandle(glob->sb, FIRST_FILE_CLUSTER(&de), &dh, TRUE, glob); GetDirEntry(&dh, 0, &de, glob); @@ -1155,7 +1154,7 @@ LONG OpSetDate(struct ExtFileLock *dirlock, UBYTE *name, ULONG namelen, /* Can't set date on the root */ if (dh.ioh.first_cluster == dh.ioh.sb->rootdir_cluster && namelen == 0) { - D(bug("[fat] can't set date on root dir\n")); + D(bug("[FAT] can't set date on root dir\n")); ReleaseDirHandle(&dh, glob); return ERROR_INVALID_LOCK; } @@ -1193,13 +1192,13 @@ LONG OpAddNotify(struct NotifyRequest *nr, struct Globals *glob) struct NotifyNode *nn; BOOL exists = FALSE; - D(bug("[fat] trying to add notification for '%s'\n", nr->nr_FullName)); + D(bug("[FAT] trying to add notification for '%s'\n", nr->nr_FullName)); /* If the request is for the volume root, then we just link to the root * lock */ if (nr->nr_FullName[strlen(nr->nr_FullName) - 1] == ':') { - D(bug("[fat] adding notify for root dir\n")); + D(bug("[FAT] adding notify for root dir\n")); gl = &glob->sb->info->root_lock; } @@ -1221,7 +1220,7 @@ LONG OpAddNotify(struct NotifyRequest *nr, struct Globals *glob) { exists = TRUE; - D(bug("[fat] file exists (%ld/%ld), looking for global lock\n", + D(bug("[FAT] file exists (%ld/%ld), looking for global lock\n", de.cluster, de.index)); ForeachNode(&glob->sb->info->locks, tmp) @@ -1231,7 +1230,7 @@ LONG OpAddNotify(struct NotifyRequest *nr, struct Globals *glob) { gl = tmp; - D(bug("[fat] found global lock 0x%0x\n", gl)); + D(bug("[FAT] found global lock 0x%0x\n", gl)); break; } @@ -1242,12 +1241,12 @@ LONG OpAddNotify(struct NotifyRequest *nr, struct Globals *glob) { exists = FALSE; - D(bug("[fat] file doesn't exist\n")); + D(bug("[FAT] file doesn't exist\n")); } } if (gl == NULL) - D(bug("[fat] file not currently locked\n")); + D(bug("[FAT] file not currently locked\n")); /* Allocate space for the notify node */ if ((nn = AllocVecPooled(glob->sb->info->mem_pool, @@ -1265,7 +1264,7 @@ LONG OpAddNotify(struct NotifyRequest *nr, struct Globals *glob) if (exists && nr->nr_Flags & NRF_NOTIFY_INITIAL) SendNotify(nr, glob); - D(bug("[fat] now reporting activity on '%s'\n", nr->nr_FullName)); + D(bug("[FAT] now reporting activity on '%s'\n", nr->nr_FullName)); return 0; } @@ -1275,7 +1274,7 @@ LONG OpRemoveNotify(struct NotifyRequest *nr, struct Globals *glob) struct FSSuper *sb; struct NotifyNode *nn, *nn2; - D(bug("[fat] trying to remove notification for '%s'\n", + D(bug("[FAT] trying to remove notification for '%s'\n", nr->nr_FullName)); /* Search inserted volume for the request */ @@ -1285,7 +1284,7 @@ LONG OpRemoveNotify(struct NotifyRequest *nr, struct Globals *glob) { if (nn->nr == nr) { - D(bug("[fat] found notify request in list, removing it\n")); + D(bug("[FAT] found notify request in list, removing it\n")); REMOVE(nn); FreeVecPooled(glob->sb->info->mem_pool, nn); return 0; @@ -1300,7 +1299,7 @@ LONG OpRemoveNotify(struct NotifyRequest *nr, struct Globals *glob) { if (nn->nr == nr) { - D(bug("[fat] found notify request in list, removing it\n")); + D(bug("[FAT] found notify request in list, removing it\n")); REMOVE(nn); FreeVecPooled(sb->info->mem_pool, nn); AttemptDestroyVolume(sb); @@ -1309,7 +1308,7 @@ LONG OpRemoveNotify(struct NotifyRequest *nr, struct Globals *glob) } } - D(bug("[fat] not found, doing nothing\n")); + D(bug("[FAT] not found, doing nothing\n")); return 0; } diff --git a/rom/filesys/fat/packet.c b/rom/filesys/fat/packet.c old mode 100755 new mode 100644 index 83aa01a8a50..57eee690e01 --- a/rom/filesys/fat/packet.c +++ b/rom/filesys/fat/packet.c @@ -48,13 +48,9 @@ void ProcessPackets(struct Globals *glob) LONG access = pkt->dp_Arg3; D( - bug("[fat] LOCATE_OBJECT: lock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), - AROS_BSTR_strlen(pkt->dp_Arg2)); - bug("' type %s\n", pkt->dp_Arg3 == EXCLUSIVE_LOCK ? - "EXCLUSIVE" : "SHARED"); + bug("[FAT] ACTION_LOCATE_OBJECT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), AROS_BSTR_strlen(pkt->dp_Arg2)); bug("\n"); + bug("\t- type = %s\n", pkt->dp_Arg3 == EXCLUSIVE_LOCK ? "EXCLUSIVE" : "SHARED"); ) if ((err = TestLock(fl, glob))) @@ -72,10 +68,7 @@ void ProcessPackets(struct Globals *glob) { struct ExtFileLock *fl = BADDR(pkt->dp_Arg1); - D(bug("[fat] FREE_LOCK: lock 0x%08x (dir %ld/%ld)\n", - pkt->dp_Arg1, - fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0)); + D(bug("[FAT] ACTION_FREE_LOCK: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); OpUnlockFile(fl, glob); @@ -88,10 +81,7 @@ void ProcessPackets(struct Globals *glob) { struct ExtFileLock *fl = BADDR(pkt->dp_Arg1), *lock; - D(bug("[fat] COPY_DIR: lock 0x%08x (dir %ld/%ld)\n", - pkt->dp_Arg1, - fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0)); + D(bug("[FAT] ACTION_COPY_DIR: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); if ((err = TestLock(fl, glob))) break; @@ -107,7 +97,7 @@ void ProcessPackets(struct Globals *glob) { struct ExtFileLock *fl = BADDR(pkt->dp_Arg1), *lock; - D(bug("[fat] ACTION_PARENT: lock 0x%08x (dir %ld/%ld)\n", + D(bug("[FAT] ACTION_PARENT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); @@ -126,8 +116,7 @@ void ProcessPackets(struct Globals *glob) struct ExtFileLock *fl1 = BADDR(pkt->dp_Arg1); struct ExtFileLock *fl2 = BADDR(pkt->dp_Arg2); - D(bug("[fat] ACTION_SAME_LOCK: lock #1 0x%08x (dir %ld/%ld)" - " lock #2 0x%08x (dir %ld/%ld)\n", + D(bug("[FAT] ACTION_SAME_LOCK: lock #1 = 0x%08x (dir %ld/%ld) lock #2 = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl1 != NULL ? fl1->gl->dir_cluster : 0, fl1 != NULL ? fl1->gl->dir_entry : 0, pkt->dp_Arg2, @@ -148,7 +137,7 @@ void ProcessPackets(struct Globals *glob) struct ExtFileLock *fl = BADDR(pkt->dp_Arg1); struct FileInfoBlock *fib = BADDR(pkt->dp_Arg2); - D(bug("[fat] EXAMINE_OBJECT: lock 0x%08x (dir %ld/%ld)\n", + D(bug("[FAT] ACTION_EXAMINE_OBJECT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); @@ -169,7 +158,7 @@ void ProcessPackets(struct Globals *glob) struct DirHandle dh; struct DirEntry de; - D(bug("[fat] EXAMINE_NEXT: lock 0x%08x (dir %ld/%ld)\n", + D(bug("[FAT] ACTION_EXAMINE_NEXT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); @@ -219,7 +208,7 @@ void ProcessPackets(struct Globals *glob) struct ExtFileLock *lock; D( - bug("[fat] %s: lock 0x%08x (dir %ld/%ld) path '", + bug("[FAT] %s: lock = 0x%08x (dir %ld/%ld) path '", pkt->dp_Type == ACTION_FINDINPUT ? "FINDINPUT" : pkt->dp_Type == ACTION_FINDOUTPUT ? "FINDOUTPUT" : "FINDUPDATE", @@ -253,8 +242,7 @@ void ProcessPackets(struct Globals *glob) APTR buffer = (APTR) pkt->dp_Arg2; ULONG want = pkt->dp_Arg3, read; - D(bug("[fat] READ: lock 0x%08x (dir %ld/%ld pos %ld)" - " want %ld\n", + D(bug("[FAT] ACTION_READ: lock = 0x%08x (dir %ld/%ld pos %ld) want = %ld\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0, fl->pos, want)); @@ -278,8 +266,7 @@ void ProcessPackets(struct Globals *glob) APTR buffer = (APTR) pkt->dp_Arg2; ULONG want = pkt->dp_Arg3, written; - D(bug("[fat] WRITE: lock 0x%08x (dir %ld/%ld pos %ld)" - " want %ld\n", + D(bug("[FAT] ACTION_WRITE: lock = 0x%08x (dir %ld/%ld pos %ld) want = %ld\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0, fl->pos, want)); @@ -303,8 +290,7 @@ void ProcessPackets(struct Globals *glob) LONG offset = pkt->dp_Arg2; ULONG whence = pkt->dp_Arg3; - D(bug("[fat] SEEK: lock 0x%08x (dir %ld/%ld pos %ld)" - " offset %ld whence %s\n", + D(bug("[FAT] ACTION_SEEK: lock = 0x%08x (dir %ld/%ld pos %ld) offset = %ld whence = %s\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0, fl->pos, offset, whence == OFFSET_BEGINNING ? "BEGINNING" : @@ -347,8 +333,7 @@ void ProcessPackets(struct Globals *glob) LONG whence = pkt->dp_Arg3; LONG newsize; - D(bug("[fat] SET_FILE_SIZE: lock 0x%08x" - " (dir %ld/%ld pos %ld) offset %ld whence %s\n", + D(bug("[FAT] ACTION_SET_FILE_SIZE: lock = 0x%08x (dir %ld/%ld pos %ld) offset = %ld whence = %s\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0, fl->pos, offset, whence == OFFSET_BEGINNING ? "BEGINNING" : @@ -375,7 +360,7 @@ void ProcessPackets(struct Globals *glob) { struct ExtFileLock *fl = BADDR(pkt->dp_Arg1); - D(bug("[fat] END: lock 0x%08x (dir %ld/%ld)\n", + D(bug("[FAT] ACTION_END: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0)); @@ -390,7 +375,7 @@ void ProcessPackets(struct Globals *glob) } case ACTION_IS_FILESYSTEM: - D(bug("[fat] IS_FILESYSTEM\n")); + D(bug("[FAT] ACTION_IS_FILESYSTEM\n")); res = DOSTRUE; break; @@ -399,7 +384,7 @@ void ProcessPackets(struct Globals *glob) { struct ExtFileLock *fl = BADDR(pkt->dp_Arg1); - D(bug("[fat] CURRENT_VOLUME: lock 0x%08x\n", pkt->dp_Arg1)); + D(bug("[FAT] ACTION_CURRENT_VOLUME: lock = 0x%08x\n", pkt->dp_Arg1)); res = (IPTR) ((fl) ? fl->fl_Volume : ((glob->sb != NULL) ? MKBADDR(glob->sb->doslist) : BNULL)); @@ -415,7 +400,7 @@ void ProcessPackets(struct Globals *glob) { struct FileLock *fl = BADDR(pkt->dp_Arg1); - D(bug("[fat] INFO: lock 0x%08x\n", pkt->dp_Arg1)); + D(bug("[FAT] ACTION_INFO: lock = 0x%08x\n", pkt->dp_Arg1)); if (fl && (glob->sb == NULL || fl->fl_Volume != MKBADDR(glob->sb->doslist))) @@ -428,7 +413,7 @@ void ProcessPackets(struct Globals *glob) } else { - D(bug("[fat] DISK_INFO\n")); + //D(bug("[FAT] ACTION_DISK_INFO\n")); id = BADDR(pkt->dp_Arg1); } @@ -443,7 +428,7 @@ void ProcessPackets(struct Globals *glob) { LONG inhibit = pkt->dp_Arg1; - D(bug("[fat] INHIBIT: %sinhibit\n", + D(bug("[FAT] ACTION_INHIBIT: %sinhibit\n", inhibit == DOSTRUE ? "" : "un")); if (inhibit == DOSTRUE) @@ -468,10 +453,9 @@ void ProcessPackets(struct Globals *glob) struct FSSuper *sb; struct NotifyNode *nn; - D(bug("[fat] DIE\n")); + D(bug("[FAT] ACTION_DIE\n")); - /* Clear our message port from notification requests so DOS - * won't send notification-end packets to us after we're gone */ + /* Clear our message port from notification requests so DOS won't send notification-end packets to us after we're gone */ ForeachNode(&glob->sblist, sb) { ForeachNode(&sb->info->notifies, nn) @@ -485,14 +469,13 @@ void ProcessPackets(struct Globals *glob) && IsListEmpty(&glob->sb->info->notifies)))) { - D(bug("\tThere are remaining locks or notification " - "requests. Shutting down is not possible\n")); + D(bug("\t- WARNING: Remaining locks/notifications - Shutdown NOT possible\n")); err = ERROR_OBJECT_IN_USE; break; } - D(bug("\tNothing pending. Shutting down the handler\n")); + D(bug("\t- CLEAR: Nothing pending. Shutting down Handler\n")); /* Risky, because of async. volume remove, but works */ DoDiskRemove(glob); @@ -529,11 +512,10 @@ void ProcessPackets(struct Globals *glob) case ACTION_DISK_CHANGE: /* Internal */ { struct DosList *vol = (struct DosList *)pkt->dp_Arg2; - struct VolumeInfo *vol_info = - BADDR(vol->dol_misc.dol_volume.dol_LockList); + struct VolumeInfo *vol_info = BADDR(vol->dol_misc.dol_volume.dol_LockList); ULONG type = pkt->dp_Arg3; - D(bug("[fat] DISK_CHANGE [INTERNAL]\n")); + D(bug("[FAT] ACTION_DISK_CHANGE (Internal):\n")); if (pkt->dp_Arg1 == ID_FAT_DISK) /* Security check */ { @@ -546,7 +528,7 @@ void ProcessPackets(struct Globals *glob) SendEvent(IECLASS_DISKINSERTED, glob); - D(bug("\tVolume added\n")); + D(bug("\t- Volume added\n")); } else if (type == ACTION_VOLUME_REMOVE) { @@ -556,22 +538,19 @@ void ProcessPackets(struct Globals *glob) SendEvent(IECLASS_DISKREMOVED, glob); - D(bug("\tVolume removed\n")); + D(bug("\t-Volume removed\n")); } FreeDosObject(DOS_STDPKT, pkt); /* Cleanup */ pkt = NULL; - D(bug("Packet destroyed\n")); - } - - else - { - D(bug("\tDosList is locked\n")); + D(bug("\t- Packet destroyed\n")); + } else { + D(bug("\t- DosList is locked\n")); Delay(5); PutMsg(glob->ourport, pkt->dp_Link); pkt = NULL; - D(bug("Message moved to the end of the queue\n")); + D(bug("\t- Message moved to queue end\n")); } } else @@ -584,9 +563,8 @@ void ProcessPackets(struct Globals *glob) { D( - bug("[fat] RENAME_DISK: name '"); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg1), - AROS_BSTR_strlen(pkt->dp_Arg1)); + bug("[FAT] ACTION_RENAME_DISK: name '"); + RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg1), AROS_BSTR_strlen(pkt->dp_Arg1)); bug("'\n"); ) @@ -600,8 +578,7 @@ void ProcessPackets(struct Globals *glob) while (!AttemptLockDosList(LDF_VOLUMES | LDF_WRITE)) ProcessPackets(glob); - err = SetVolumeName(glob->sb, AROS_BSTR_ADDR(pkt->dp_Arg1), - AROS_BSTR_strlen(pkt->dp_Arg1)); + err = SetVolumeName(glob->sb, AROS_BSTR_ADDR(pkt->dp_Arg1), AROS_BSTR_strlen(pkt->dp_Arg1)); UnLockDosList(LDF_VOLUMES | LDF_WRITE); if (err != 0) break; @@ -630,7 +607,7 @@ void ProcessPackets(struct Globals *glob) case ACTION_FORMAT: { D( - bug("[fat] FORMAT: name '"); + bug("[FAT] ACTION_FORMAT: name '"); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg1), AROS_BSTR_strlen(pkt->dp_Arg1)); bug("'\n"); @@ -642,8 +619,7 @@ void ProcessPackets(struct Globals *glob) break; } - err = FormatFATVolume(AROS_BSTR_ADDR(pkt->dp_Arg1), - AROS_BSTR_strlen(pkt->dp_Arg1), glob); + err = FormatFATVolume(AROS_BSTR_ADDR(pkt->dp_Arg1), AROS_BSTR_strlen(pkt->dp_Arg1), glob); if (err != 0) break; @@ -659,13 +635,8 @@ void ProcessPackets(struct Globals *glob) struct ExtFileLock *fl = BADDR(pkt->dp_Arg1); D( - bug("[fat] DELETE_OBJECT:" - " lock 0x%08x (dir %ld/%ld) path '", - pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), - AROS_BSTR_strlen(pkt->dp_Arg2)); - bug("'\n"); + bug("[FAT] ACTION_DELETE_OBJECT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0); + bug("\t- path = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), AROS_BSTR_strlen(pkt->dp_Arg2)); bug("\n"); ) if ((err = TestLock(fl, glob))) @@ -685,20 +656,11 @@ void ProcessPackets(struct Globals *glob) BADDR(pkt->dp_Arg3); D( - bug("[fat] RENAME_OBJECT:" - " srclock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg1, - sfl != NULL ? sfl->gl->dir_cluster : 0, - sfl != NULL ? sfl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), - AROS_BSTR_strlen(pkt->dp_Arg2)); - bug("' destlock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg3, - dfl != NULL ? dfl->gl->dir_cluster : 0, - dfl != NULL ? dfl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg4), - AROS_BSTR_strlen(pkt->dp_Arg4)); - bug("'\n"); + bug("[FAT] ACTION_RENAME_OBJECT:\n"); + bug("\t- srclock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, sfl != NULL ? sfl->gl->dir_cluster : 0, sfl != NULL ? sfl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), AROS_BSTR_strlen(pkt->dp_Arg2)); bug("\n"); + bug("\t- destlock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg3, dfl != NULL ? dfl->gl->dir_cluster : 0, dfl != NULL ? dfl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg4), AROS_BSTR_strlen(pkt->dp_Arg4)); bug("\n"); ) if ((err = TestLock(sfl, glob)) != 0 @@ -720,13 +682,8 @@ void ProcessPackets(struct Globals *glob) struct ExtFileLock *fl = BADDR(pkt->dp_Arg1), *new; D( - bug("[fat] CREATE_DIR: lock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg1, - fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), - AROS_BSTR_strlen(pkt->dp_Arg2)); - bug("'\n"); + bug("[FAT] ACTION_CREATE_DIR: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg1, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg2), AROS_BSTR_strlen(pkt->dp_Arg2)); bug("'\n"); ) if ((err = TestLock(fl, glob))) @@ -745,13 +702,11 @@ void ProcessPackets(struct Globals *glob) ULONG prot = pkt->dp_Arg4; D( - bug("[fat] SET_PROTECT: lock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg2, fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg3), - AROS_BSTR_strlen(pkt->dp_Arg3)); - bug("' prot 0x%08x\n", prot); + bug("[FAT] ACTION_SET_PROTECT: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg2, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg3), AROS_BSTR_strlen(pkt->dp_Arg3)); bug("\n"); + bug("\t- prot = 0x%08x\n", prot); ) + if ((err = TestLock(fl, glob))) break; @@ -780,13 +735,9 @@ void ProcessPackets(struct Globals *glob) DateToStr(&dt); D( - bug("[fat] SET_DATE: lock 0x%08x (dir %ld/%ld) name '", - pkt->dp_Arg2, - fl != NULL ? fl->gl->dir_cluster : 0, - fl != NULL ? fl->gl->dir_entry : 0); - RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg3), - AROS_BSTR_strlen(pkt->dp_Arg3)); - bug("' ds '%s'\n", datestr); + bug("[FAT] ACTION_SET_DATE: lock = 0x%08x (dir %ld/%ld)\n", pkt->dp_Arg2, fl != NULL ? fl->gl->dir_cluster : 0, fl != NULL ? fl->gl->dir_entry : 0); + bug("\t- name = "); RawPutChars(AROS_BSTR_ADDR(pkt->dp_Arg3), AROS_BSTR_strlen(pkt->dp_Arg3)); bug("\n"); + bug("\t- ds = '%s'\n", datestr); ) } #endif @@ -805,8 +756,7 @@ void ProcessPackets(struct Globals *glob) struct NotifyRequest *nr = (struct NotifyRequest *)pkt->dp_Arg1; - D(bug("[fat] ADD_NOTIFY: nr 0x%08x name '%s'\n", nr, - nr->nr_FullName)); + D(bug("[FAT] ACTION_ADD_NOTIFY: nr = 0x%08x name = '%s'\n", nr, nr->nr_FullName)); err = OpAddNotify(nr, glob); @@ -818,8 +768,7 @@ void ProcessPackets(struct Globals *glob) struct NotifyRequest *nr = (struct NotifyRequest *)pkt->dp_Arg1; - D(bug("[fat] REMOVE_NOTIFY: nr 0x%08x name '%s'\n", nr, - nr->nr_FullName)); + D(bug("[FAT] ACTION_REMOVE_NOTIFY: nr = 0x%08x name = '%s'\n", nr, nr->nr_FullName)); err = OpRemoveNotify(nr, glob); @@ -827,7 +776,7 @@ void ProcessPackets(struct Globals *glob) } default: - D(bug("[fat] got unknown packet type %ld\n", pkt->dp_Type)); + D(bug("[FAT] ERROR_ACTION_NOT_KNOWN = %ld\n", pkt->dp_Type)); err = ERROR_ACTION_NOT_KNOWN; } @@ -838,8 +787,7 @@ void ProcessPackets(struct Globals *glob) pkt->dp_Res2 = err; if (!glob->quit) { - D(bug("[fat] replying to packet: result 0x%lx, error %ld\n", - res, err)); + //D(bug("[FAT] Replying to packet: result = 0x%lx | error = %ld\n", res, err)); ReplyPacket(pkt, SysBase); } } diff --git a/rom/filesys/fat/support.c b/rom/filesys/fat/support.c old mode 100755 new mode 100644 index e6594bc4003..41605162fb7 --- a/rom/filesys/fat/support.c +++ b/rom/filesys/fat/support.c @@ -1,8 +1,8 @@ /* * fat-handler - FAT12/16/32 filesystem handler * - * Copyright 2006 Marek Szyprowski - * Copyright 2007-2020 The AROS Development Team + * Copyright � 2006 Marek Szyprowski + * Copyright � 2007-2020 The AROS Development Team * * This program is free software; you can redistribute it and/or modify it * under the same terms as AROS itself. @@ -36,17 +36,13 @@ void SendEvent(LONG event, struct Globals *glob) if ((InputPort = (struct MsgPort *)CreateMsgPort())) { - - if ((InputRequest = (struct IOStdReq *)CreateIORequest(InputPort, - sizeof(struct IOStdReq)))) + if ((InputRequest = (struct IOStdReq *)CreateIORequest(InputPort, sizeof(struct IOStdReq)))) { - if (!OpenDevice("input.device", 0, (struct IORequest *)InputRequest, 0)) { - if ((ie = AllocVec(sizeof(struct InputEvent), - MEMF_PUBLIC | MEMF_CLEAR))) + if ((ie = AllocVec(sizeof(struct InputEvent), MEMF_PUBLIC | MEMF_CLEAR))) { ie->ie_Class = event; InputRequest->io_Command = IND_WRITEEVENT; diff --git a/rom/filesys/fat/support.h b/rom/filesys/fat/support.h old mode 100755 new mode 100644 diff --git a/rom/filesys/fat/timer.c b/rom/filesys/fat/timer.c old mode 100755 new mode 100644 index a59a6a34681..d8a07d2e756 --- a/rom/filesys/fat/timer.c +++ b/rom/filesys/fat/timer.c @@ -39,7 +39,7 @@ LONG InitTimer(struct Globals *glob) glob->timer_active = FALSE; glob->restart_timer = TRUE; glob->gl_TimerBase = glob->timereq->tr_node.io_Device; - D(bug("[fat] Timer ready\n")); + D(bug("[FAT] Timer ready\n")); return 0; } DeleteIORequest((struct IORequest *)glob->timereq); @@ -51,10 +51,10 @@ LONG InitTimer(struct Globals *glob) void CleanupTimer(struct Globals *glob) { - D(bug("[fat] Cleaning up timer\n")); + D(bug("[FAT] Cleaning up timer\n")); if (glob->timer_active) { - D(bug("[fat] Terminating active request\n")); + D(bug("[FAT] Terminating active request\n")); AbortIO((struct IORequest *)glob->timereq); WaitIO((struct IORequest *)glob->timereq); } diff --git a/rom/filesys/fat/volume.c b/rom/filesys/fat/volume.c old mode 100755 new mode 100644 index 5059d9d630f..4975c41d8a4 --- a/rom/filesys/fat/volume.c +++ b/rom/filesys/fat/volume.c @@ -16,9 +16,11 @@ #include #include + #include #include #include +#include #include @@ -71,7 +73,7 @@ static void FreeFATSuper(struct FSSuper *s); LONG ReadFATSuper(struct FSSuper *sb) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; struct DosEnvec *de = BADDR(glob->fssm->fssm_Environ); @@ -80,38 +82,31 @@ LONG ReadFATSuper(struct FSSuper *sb) struct FATBootSector *boot; struct FATEBPB *ebpb; struct FATFSInfo *fsinfo; - BOOL invalid = FALSE; + BOOL invalid; ULONG end; LONG i; struct DirHandle dh; struct DirEntry dir_entry; APTR block_ref; UBYTE *fat_block; + invalid = FALSE; - D(bug("[%s] Reading boot sector\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Reading boot sector\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Blockspertrack %ld\n",__FUNCTION__ , de->de_BlocksPerTrack)); + D(bug("[FAT] [%s] Surfaces %ld\n", __FUNCTION__ , de->de_Surfaces)); + D(bug("[FAT] [%s] Lowcyl %ld\n", __FUNCTION__ , de->de_LowCyl)); + D(bug("[FAT] [%s] Highcyl %ld\n", __FUNCTION__ , de->de_HighCyl)); boot = AllocMem(bsize, MEMF_ANY); if (!boot) return ERROR_NO_FREE_STORE; -tryagain: - invalid = FALSE; - - D(bug("[%s] Blockspertrack %ld\n",__FUNCTION__ , de->de_BlocksPerTrack)); - D(bug("[%s] Surfaces %ld\n", __FUNCTION__ , de->de_Surfaces)); - D(bug("[%s] Lowcyl %ld\n", __FUNCTION__ , de->de_LowCyl)); - D(bug("[%s] Highcyl %ld\n", __FUNCTION__ , de->de_HighCyl)); - - sb->first_device_sector = - de->de_BlocksPerTrack * de->de_Surfaces * de->de_LowCyl; - D(bug("[%s] Boot sector at sector %ld\n", __FUNCTION__ , sb->first_device_sector)); - - /* Get a preliminary total-sectors value so we don't risk going outside - * partition limits */ - sb->total_sectors = - de->de_BlocksPerTrack * de->de_Surfaces * (de->de_HighCyl + 1) - - sb->first_device_sector; - D(bug("[%s] Calculated Total Sectors %ld\n", __FUNCTION__ , sb->total_sectors)); + sb->first_device_sector = de->de_BlocksPerTrack * de->de_Surfaces * de->de_LowCyl; + D(bug("\n[FAT] [%s] TRYING Boot sector at sector %ld\n", __FUNCTION__ , sb->first_device_sector)); + + /* Get a preliminary total-sectors value so we don't risk going outside partition limits */ + sb->total_sectors = de->de_BlocksPerTrack * de->de_Surfaces * (de->de_HighCyl + 1) - sb->first_device_sector; + D(bug("[FAT] [%s] Calculated Total Sectors %ld\n", __FUNCTION__ , sb->total_sectors)); /* * Read the boot sector. We go direct because we don't have a cache yet, @@ -119,78 +114,84 @@ LONG ReadFATSuper(struct FSSuper *sb) * the boot sector. In practice it doesn't matter - we're going to use * this once and once only. */ - if ((td_err = AccessDisk(FALSE, sb->first_device_sector, 1, bsize, - (UBYTE *) boot, glob)) != 0) + if ((td_err = AccessDisk(FALSE, sb->first_device_sector, 1, bsize, (UBYTE *) boot, glob)) != 0) { - D(bug("[%s] Couldn't read boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't read boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); return ERROR_UNKNOWN; } - D(bug("[%s]Boot sector:\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Boot sector:\n",__FUNCTION__ )); sb->sectorsize = AROS_LE2WORD(boot->bpb_bytes_per_sect); sb->sectorsize_bits = log2(sb->sectorsize); - D(bug("[%s] SectorSize = %ld\n", __FUNCTION__ , sb->sectorsize)); - D(bug("[%s] SectorSize Bits = %ld\n", __FUNCTION__ , sb->sectorsize_bits)); + D(bug("[FAT] [%s] SectorSize = %ld\n", __FUNCTION__ , sb->sectorsize)); + D(bug("[FAT] [%s] SectorSize Bits = %ld\n", __FUNCTION__ , sb->sectorsize_bits)); sb->cluster_sectors = boot->bpb_sect_per_clust; sb->clustersize = sb->sectorsize * boot->bpb_sect_per_clust; sb->clustersize_bits = log2(sb->clustersize); sb->cluster_sectors_bits = sb->clustersize_bits - sb->sectorsize_bits; - D(bug("[%s] SectorsPerCluster = %ld\n",__FUNCTION__ , (ULONG) boot->bpb_sect_per_clust)); - D(bug("[%s] ClusterSize = %ld\n", __FUNCTION__ , sb->clustersize)); - D(bug("[%s] ClusterSize Bits = %ld\n", __FUNCTION__ , sb->clustersize_bits)); - D(bug("[%s] Cluster Sectors Bits = %ld\n", __FUNCTION__ , sb->cluster_sectors_bits)); + D(bug("[FAT] [%s] SectorsPerCluster = %ld\n",__FUNCTION__ , (ULONG) boot->bpb_sect_per_clust)); + D(bug("[FAT] [%s] ClusterSize = %ld\n", __FUNCTION__ , sb->clustersize)); + D(bug("[FAT] [%s] ClusterSize Bits = %ld\n", __FUNCTION__ , sb->clustersize_bits)); + D(bug("[FAT] [%s] Cluster Sectors Bits = %ld\n", __FUNCTION__ , sb->cluster_sectors_bits)); sb->first_fat_sector = AROS_LE2WORD(boot->bpb_rsvd_sect_count); - D(bug("[%s] First FAT Sector = %ld\n", __FUNCTION__ , sb->first_fat_sector)); + D(bug("[FAT] [%s] First FAT Sector = %ld\n", __FUNCTION__ , sb->first_fat_sector)); sb->fat_count = boot->bpb_num_fats; - D(bug("[%s]Number of FATs = %d\n", __FUNCTION__ , sb->fat_count)); + D(bug("[FAT] [%s] Number of FATs = %d\n", __FUNCTION__ , sb->fat_count)); if (boot->bpb_fat_size_16 != 0) + { sb->fat_size = AROS_LE2WORD(boot->bpb_fat_size_16); - else + D(bug("[FAT] [%s] FAT16 Size = %ld\n", __FUNCTION__ , sb->fat_size)); + } else { sb->fat_size = AROS_LE2LONG(boot->ebpbs.ebpb32.bpb_fat_size_32); - D(bug("[%s] FAT Size = %ld\n", __FUNCTION__ , sb->fat_size)); + D(bug("[FAT] [%s] FAT32 Size = %ld\n", __FUNCTION__ , sb->fat_size)); + } if (boot->bpb_total_sectors_16 != 0) + { total_sectors = AROS_LE2WORD(boot->bpb_total_sectors_16); - else + D(bug("[FAT] [%s] Total Sectors (FAT16) = %ld\n", __FUNCTION__ , total_sectors)); + } else { total_sectors = AROS_LE2LONG(boot->bpb_total_sectors_32); - D(bug("[%s] Total Sectors = %ld\n", __FUNCTION__ , sb->total_sectors)); - + D(bug("[FAT] [%s] Total Sectors (FAT32) = %ld\n", __FUNCTION__ , total_sectors)); + } + /* Check that the boot block's sector count is the same as the * partition's sector count. This stops a resized partition being * mounted before reformatting */ - //if ((total_sectors +4096) < sb->total_sectors) - //{ - // invalid = TRUE; - // D(bug("[%s] #Boot-Sectors (%ld) < Partition-Sectors (%ld)\n", __FUNCTION__ , total_sectors, sb->total_sectors)); - //} + + if ((total_sectors +4096) < sb->total_sectors) + { + invalid = TRUE; + D(bug("[FAT] [%s] #Boot-Sectors (%ld) < Partition-Sectors (%ld)\n", __FUNCTION__ , total_sectors + 4096, sb->total_sectors)); + } sb->rootdir_sectors = ((AROS_LE2WORD(boot->bpb_root_entries_count) * sizeof(struct FATDirEntry)) + (sb->sectorsize - 1)) >> sb->sectorsize_bits; - D(bug("[%s] RootDir Sectors = %ld\n", __FUNCTION__ , sb->rootdir_sectors)); + D(bug("[FAT] [%s] RootDir Sectors = %ld\n", __FUNCTION__ , sb->rootdir_sectors)); sb->data_sectors = sb->total_sectors - (sb->first_fat_sector + (sb->fat_count * sb->fat_size) + sb->rootdir_sectors); - D(bug("[%s] Data Sectors = %ld\n", __FUNCTION__ , sb->data_sectors)); + D(bug("[FAT] [%s] Data Sectors = %ld\n", __FUNCTION__ , sb->data_sectors)); sb->clusters_count = sb->data_sectors >> sb->cluster_sectors_bits; - D(bug("[%s] Clusters Count = %ld\n", __FUNCTION__ , sb->clusters_count)); + D(bug("[FAT] [%s] Clusters Count = %ld\n", __FUNCTION__ , sb->clusters_count)); sb->first_rootdir_sector = sb->first_fat_sector + (sb->fat_count * sb->fat_size); - D(bug("[%s] First RootDir Sector = %ld\n", __FUNCTION__ , sb->first_rootdir_sector)); + D(bug("[FAT] [%s] First RootDir Sector = %ld\n", __FUNCTION__ , sb->first_rootdir_sector)); sb->first_data_sector = sb->first_fat_sector + (sb->fat_count * sb->fat_size) + sb->rootdir_sectors; - D(bug("[%s] First Data Sector = %ld\n", __FUNCTION__ , sb->first_data_sector)); + D(bug("[FAT] [%s] First Data Sector = %ld\n", __FUNCTION__ , sb->first_data_sector)); /* Check if disk is in fact a FAT filesystem */ @@ -199,7 +200,7 @@ LONG ReadFATSuper(struct FSSuper *sb) && sb->sectorsize != 2048 && sb->sectorsize != 4096) { invalid = TRUE; - D(bug("[%s] Invalid FAT Sectorsize: %ld\n", __FUNCTION__ , sb->sectorsize)); + D(bug("[FAT] [%s] Invalid FAT Sectorsize: %ld\n", __FUNCTION__ , sb->sectorsize)); } /* Valid bpb_sect_per_clust: 1, 2, 4, 8, 16, 32, 64, 128 */ @@ -207,51 +208,45 @@ LONG ReadFATSuper(struct FSSuper *sb) || boot->bpb_sect_per_clust == 0 || boot->bpb_sect_per_clust > 128) { invalid = TRUE; - D(bug("[%s] Invalid FAT Sectorsize: %ld\n", __FUNCTION__ , sb->sectorsize)); + D(bug("[FAT] [%s] Invalid FAT Sectorsize: %ld\n", __FUNCTION__ , sb->sectorsize)); } /* Valid cluster size: 512, 1024, 2048, 4096, 8192, 16k, 32k, 64k */ if (sb->clustersize > 64 * 1024) { invalid = TRUE; - D(bug("[%s] Invalid FAT Clustersize: %ld\n", __FUNCTION__ , sb->clustersize)); + D(bug("[FAT] [%s] Invalid FAT Clustersize: %ld\n", __FUNCTION__ , sb->clustersize)); } if (sb->first_fat_sector == 0) { invalid = TRUE; - D(bug("[%s] Invalid first FAT Sector (0) %ld\n", __FUNCTION__ , sb->first_fat_sector)); + D(bug("[FAT] [%s] Invalid first FAT Sector (0) %ld\n", __FUNCTION__ , sb->first_fat_sector)); } if (sb->fat_count == 0) { invalid = TRUE; - D(bug("[%s] Invalid FAT Count: %ld\n", __FUNCTION__ , sb->fat_count)); + D(bug("[FAT] [%s] Invalid FAT Count: %ld\n", __FUNCTION__ , sb->fat_count)); } if (boot->bpb_media < 0xF0) { invalid = TRUE; - D(bug("[%s] Invalid Media (boot->bpb_Media < 0xF0\n", __FUNCTION__)); + D(bug("[FAT] [%s] Invalid Media (boot->bpb_Media < 0xF0\n", __FUNCTION__)); } /* FAT "signature" */ if (boot->bpb_signature[0] != 0x55 || boot->bpb_signature[1] != 0xaa) { invalid = TRUE; - D(bug("[%s] Invalid FAT Signature (boot->bpb_signature\n", __FUNCTION__ )); + D(bug("[FAT] [%s] Invalid FAT Signature (boot->bpb_signature\n", __FUNCTION__ )); } - if (invalid == TRUE) + if (invalid) { - if (de->de_LowCyl < 256) //ugly hack for special SDcards, we should read the MBR and calculate the offset - { - de->de_LowCyl+=1; - D(bug("[%s] FAT32 =%c %c %c %c \n", __FUNCTION__, boot->bpb_signature[82], boot->bpb_signature[83], boot->bpb_signature[84], boot->bpb_signature[85])); - D(bug("[%s] Invalid FAT Boot Sector, try again with offset %ld\n",__FUNCTION__ , de->de_LowCyl)); - goto tryagain; - } - D(bug("[%s] Invalid FAT Boot Sector\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Invalid FAT Boot Sector\n",__FUNCTION__ )); + FreeMem(boot, bsize); return ERROR_NOT_A_DOS_DISK; } @@ -260,7 +255,7 @@ LONG ReadFATSuper(struct FSSuper *sb) if ((sb->first_device_sector + sb->total_sectors - 1 > end) && (glob->readcmd == CMD_READ)) { - D(bug("[%s] Device is too large\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Device is too large\n",__FUNCTION__ )); ErrorMessage("Your device driver does not support 64-bit\n" "disk addressing, but it is needed to access\n" "the volume in device %s.\n\n" @@ -283,7 +278,7 @@ LONG ReadFATSuper(struct FSSuper *sb) if (sb->clusters_count < 4085) { - D(bug("[%s] FAT12 filesystem detected\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FAT12 filesystem detected\n",__FUNCTION__ )); sb->type = 12; sb->eoc_mark = 0x0FFF; sb->func_get_fat_entry = GetFat12Entry; @@ -291,7 +286,7 @@ LONG ReadFATSuper(struct FSSuper *sb) } else if (sb->clusters_count < 65525) { - D(bug("[%s] FAT16 filesystem detected\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FAT16 filesystem detected\n",__FUNCTION__ )); sb->type = 16; sb->eoc_mark = 0xFFFF; sb->func_get_fat_entry = GetFat16Entry; @@ -299,7 +294,7 @@ LONG ReadFATSuper(struct FSSuper *sb) } else { - D(bug("[%s] FAT32 filesystem detected\n",__FUNCTION__ )); + D(bug("[FAT] [%s] FAT32 filesystem detected\n",__FUNCTION__ )); sb->type = 32; sb->eoc_mark = 0x0FFFFFFF; sb->func_get_fat_entry = GetFat32Entry; @@ -313,10 +308,8 @@ LONG ReadFATSuper(struct FSSuper *sb) sb->fat_blocks_count = MIN(sb->fat_size, sb->fat_cachesize >> sb->sectorsize_bits); - sb->fat_blocks = AllocVecPooled(glob->mempool, - sizeof(APTR) * sb->fat_blocks_count); - sb->fat_buffers = AllocVecPooled(glob->mempool, - sizeof(APTR) * sb->fat_blocks_count); + sb->fat_blocks = AllocVecPooled(glob->mempool, sizeof(APTR) * sb->fat_blocks_count); + sb->fat_buffers = AllocVecPooled(glob->mempool, sizeof(APTR) * sb->fat_blocks_count); if (sb->fat_blocks == NULL || sb->fat_buffers == NULL) { err = ERROR_NO_FREE_STORE; @@ -349,18 +342,17 @@ LONG ReadFATSuper(struct FSSuper *sb) ebpb = &boot->ebpbs.ebpb32.ebpb; } - D(bug("[%s] Rootdir at cluster %ld sector %ld\n", __FUNCTION__ , sb->rootdir_cluster, - sb->rootdir_sector)); + D(bug("[FAT] [%s] Rootdir at cluster %ld sector %ld\n", __FUNCTION__ , sb->rootdir_cluster, sb->rootdir_sector)); /* Initialise the root directory if this is a newly formatted volume */ if (glob->formatting) { + D(bug("[FAT] [%s] Initialise the CACHE root directory if this is a newly formatted volume\n", __FUNCTION__ )); + /* Clear all FAT sectors */ for (i = 0; err == 0 && i < sb->fat_size * 2; i++) { - block_ref = Cache_GetBlock(sb->cache, - sb->first_device_sector + sb->first_fat_sector + i, - &fat_block); + block_ref = Cache_GetBlock(sb->cache, sb->first_device_sector + sb->first_fat_sector + i, &fat_block); if (block_ref != NULL) { /* FIXME: Handle IO errors on cache read! */ @@ -369,8 +361,7 @@ LONG ReadFATSuper(struct FSSuper *sb) { /* The first two entries are special */ if (sb->type == 32) - *(UQUAD *) fat_block = - AROS_QUAD2LE(0x0FFFFFFF0FFFFFF8); + *(UQUAD *) fat_block = AROS_QUAD2LE(0x0FFFFFFF0FFFFFF8); else if (sb->type == 16) *(ULONG *) fat_block = AROS_LONG2LE(0xFFFFFFF8); else @@ -383,6 +374,8 @@ LONG ReadFATSuper(struct FSSuper *sb) err = IoErr(); } + D(bug("[FAT] [%s] Finished Cleaning all CACHE FAT sectors - Result = %u\n", __FUNCTION__, err )); + if (err == 0) { /* Allocate first cluster of the root directory */ @@ -391,23 +384,26 @@ LONG ReadFATSuper(struct FSSuper *sb) /* Get a handle on the root directory */ InitDirHandle(sb, 0, &dh, FALSE, glob); + + D(bug("[FAT] [%s] Finished allocating first cluster and obtaining handle on root\n", __FUNCTION__ )); } /* Clear all entries in the root directory */ - for (i = 0; err == 0 && GetDirEntry(&dh, i, &dir_entry, glob) == 0; - i++) + for (i = 0; err == 0 && GetDirEntry(&dh, i, &dir_entry, glob) == 0; i++) { SetMem(&dir_entry.e.entry, 0, sizeof(struct FATDirEntry)); err = UpdateDirEntry(&dir_entry, glob); } + D(bug("[FAT] [%s] Finished Clear all entries in the root directory\n", __FUNCTION__ )); + if (err == 0) { err = SetVolumeName(sb, ebpb->bs_vollab, FAT_MAX_SHORT_NAME); ReleaseDirHandle(&dh, glob); glob->formatting = FALSE; - D(bug("[%s] Root dir created.\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Root dir created.\n",__FUNCTION__ )); } if (err == 0) @@ -415,6 +411,7 @@ LONG ReadFATSuper(struct FSSuper *sb) /* Check everything is really written to disk before we proceed */ if (!Cache_Flush(sb->cache)) err = IoErr(); + D(bug("[FAT] [%s] SUCCESS - Cache Flushed\n", __FUNCTION__ )); } } @@ -456,7 +453,7 @@ LONG ReadFATSuper(struct FSSuper *sb) sb->volume.create_time.ds_Days = 0; sb->volume.create_time.ds_Minute = 0; sb->volume.create_time.ds_Tick = (id >> 22 ^ id >> 11 ^ id) & 0x7FF; - D(bug("[%s] Set hash time to %ld ticks\n", __FUNCTION__ , sb->volume.create_time.ds_Tick)); + D(bug("[FAT] [%s] Set hash time to %ld ticks\n", __FUNCTION__ , sb->volume.create_time.ds_Tick)); } /* Get initial number of free clusters */ @@ -464,37 +461,33 @@ LONG ReadFATSuper(struct FSSuper *sb) sb->next_cluster = -1; if (sb->type == 32) { - sb->fsinfo_block = Cache_GetBlock(sb->cache, sb->first_device_sector - + AROS_LE2WORD(boot->ebpbs.ebpb32.bpb_fs_info), - (UBYTE **) &fsinfo); + sb->fsinfo_block = Cache_GetBlock(sb->cache, sb->first_device_sector + AROS_LE2WORD(boot->ebpbs.ebpb32.bpb_fs_info), (UBYTE **) &fsinfo); if (sb->fsinfo_block != NULL) { - if (fsinfo->lead_sig == AROS_LONG2LE(FSI_LEAD_SIG) - && fsinfo->struct_sig == AROS_LONG2LE(FSI_STRUCT_SIG) - && fsinfo->trail_sig == AROS_LONG2LE(FSI_TRAIL_SIG)) + if (fsinfo->lead_sig == AROS_LONG2LE(FSI_LEAD_SIG) && fsinfo->struct_sig == AROS_LONG2LE(FSI_STRUCT_SIG) && fsinfo->trail_sig == AROS_LONG2LE(FSI_TRAIL_SIG)) { sb->free_clusters = AROS_LE2LONG(fsinfo->free_count); sb->next_cluster = AROS_LE2LONG(fsinfo->next_free); - D(bug("[%s] Valid FATFSInfo block found\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Valid FATFSInfo block found\n",__FUNCTION__ )); sb->fsinfo_buffer = fsinfo; - } - else + } else { Cache_FreeBlock(sb->cache, sb->fsinfo_block); + } } } - if (sb->free_clusters == -1) - CountFreeClusters(sb); - if (sb->next_cluster == -1) - sb->next_cluster = 2; + if (sb->free_clusters == -1) CountFreeClusters(sb); + if (sb->next_cluster == -1) sb->next_cluster = 2; + + FreeMem(boot, bsize); if (err != 0) FreeFATSuper(sb); else { - D(bug("[%s] FAT Filesystem successfully detected.\n",__FUNCTION__ )); - D(bug("[%s] Free Clusters = %ld\n", __FUNCTION__ , sb->free_clusters)); - D(bug("[%s] Next Free Cluster = %ld\n", __FUNCTION__ , sb->next_cluster)); + D(bug("[FAT] [%s] FAT Filesystem successfully detected.\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Free Clusters = %ld\n", __FUNCTION__ , sb->free_clusters)); + D(bug("[FAT] [%s] Next Free Cluster = %ld\n", __FUNCTION__ , sb->next_cluster)); } return err; @@ -504,7 +497,7 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, struct VolumeIdentity *volume) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; struct DirHandle dh; @@ -512,7 +505,7 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, LONG err; int i; - D(bug("[%s] Searching root directory for volume name\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Searching root directory for volume name\n",__FUNCTION__ )); /* Search the directory for the volume ID entry. It would've been nice to * just use GetNextDirEntry but I didn't want a flag or something to tell @@ -526,16 +519,13 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, if ((de.e.entry.attr & ATTR_VOLUME_ID_MASK) == ATTR_VOLUME_ID && de.e.entry.name[0] != 0xe5) { - D(bug("[%s] Found volume id entry %ld\n", __FUNCTION__ , dh.cur_index)); + D(bug("[FAT] [%s] Found volume id entry %ld\n", __FUNCTION__ , dh.cur_index)); /* Copy the name in. 'volume->name' is a BSTR */ volume->name[1] = de.e.entry.name[0]; for (i = 1; i < FAT_MAX_SHORT_NAME; i++) { - if (volume->name[i] == ' ') - volume->name[i + 1] = de.e.entry.name[i]; - else - volume->name[i + 1] = tolower(de.e.entry.name[i]); + volume->name[i + 1] = de.e.entry.name[i]; } for (i = 10; volume->name[i + 1] == ' '; i--); @@ -546,7 +536,7 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, ConvertFATDate(de.e.entry.create_date, de.e.entry.create_time, &volume->create_time, glob); - D(bug("[%s] Volume name is '%s'\n", __FUNCTION__ , &(volume->name[1]))); + D(bug("[FAT] [%s] Volume name is '%s'\n", __FUNCTION__ , &(volume->name[1]))); break; } @@ -554,7 +544,7 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, /* Bail out if we hit the end of the dir */ if (de.e.entry.name[0] == 0x00) { - D(bug("[%s] Found end-of-directory marker, volume name entry not found\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Found end-of-directory marker, volume name entry not found\n",__FUNCTION__ )); err = ERROR_OBJECT_NOT_FOUND; break; } @@ -567,7 +557,7 @@ static LONG GetVolumeIdentity(struct FSSuper *sb, LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct DosEnvec *de = BADDR(glob->fssm->fssm_Environ); LONG td_err; @@ -577,12 +567,15 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) struct FATFSInfo *fsinfo; UWORD type, i, root_entries_count; struct EClockVal eclock; - ULONG sectors_per_cluster = 0, sector_count, first_fat_sector, - fat_size, root_dir_sectors, first_device_sector, temp1, temp2; + ULONG sectors_per_cluster = 0, sector_count, first_fat_sector, fat_size, root_dir_sectors, first_device_sector, temp1, temp2; + + D(bug("[FAT] [%s] Blockspertrack %ld\n",__FUNCTION__ , de->de_BlocksPerTrack)); + D(bug("[FAT] [%s] Surfaces %ld\n", __FUNCTION__ , de->de_Surfaces)); + D(bug("[FAT] [%s] Lowcyl %ld\n", __FUNCTION__ , de->de_LowCyl)); + D(bug("[FAT] [%s] Highcyl %ld\n", __FUNCTION__ , de->de_HighCyl)); /* Decide on FAT type based on number of sectors */ - sector_count = (de->de_HighCyl - de->de_LowCyl + 1) - * de->de_Surfaces * de->de_BlocksPerTrack; + sector_count = (de->de_HighCyl - de->de_LowCyl + 1) * de->de_Surfaces * de->de_BlocksPerTrack; if (sector_count < 4085) type = 12; else if (sector_count < 1024 * 1024) @@ -590,7 +583,9 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) else type = 32; - D(bug("[%s] Writing boot sector\n",__FUNCTION__ )); + + D(bug("[FAT] [%s] FAT version chosen based on total sector count = %u | FAT%2d\n",__FUNCTION__, sector_count, type )); + D(bug("[FAT] [%s] Writing boot sector\n",__FUNCTION__ )); /* Decide on cluster size and root dir entries */ first_fat_sector = 1; @@ -631,12 +626,12 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) first_fat_sector = 32; } - D(bug("[%s] First FAT Sector = %ld\n", __FUNCTION__ , first_fat_sector)); + D(bug("[FAT] [%s] First FAT Sector = %ld\n", __FUNCTION__ , first_fat_sector)); /* Determine FAT size */ root_dir_sectors = (root_entries_count * 32 + (bsize - 1)) / bsize; temp1 = sector_count - (first_fat_sector + root_dir_sectors); - temp2 = 256 * sectors_per_cluster + 2; + temp2 = 256 * sectors_per_cluster + 4; if (type == 32) temp2 /= 2; fat_size = (temp1 + temp2 - 1) / temp2; @@ -689,8 +684,7 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) ebpb->bs_drvnum = 0x80; ebpb->bs_bootsig = 0x29; - /* Generate a pseudo-random serial number. Not the original algorithm, - * but it shouldn't matter */ + /* Generate a pseudo-random serial number. Not the original algorithm, but it shouldn't matter */ ReadEClock(&eclock); ebpb->bs_volid = FastRand(eclock.ev_lo ^ eclock.ev_hi); @@ -713,15 +707,19 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) boot->bpb_signature[1] = 0xaa; /* Write the boot sector */ - first_device_sector = - de->de_BlocksPerTrack * de->de_Surfaces * de->de_LowCyl; + first_device_sector = de->de_BlocksPerTrack * de->de_Surfaces * de->de_LowCyl; - D(bug("[%s] Boot sector at sector %ld\n", __FUNCTION__ , first_device_sector)); + D(bug("[FAT] [%s] Boot sector at sector %ld\n", __FUNCTION__ , first_device_sector)); + D(bug("[FAT] [%s] Calculated Total Sectors %ld\n", __FUNCTION__ , sector_count)); + D(bug("[FAT] [%s] SectorSize = %ld\n", __FUNCTION__ , bsize)); + D(bug("[FAT] [%s] SectorsPerCluster = %ld\n",__FUNCTION__ , sectors_per_cluster)); + D(bug("[FAT] [%s] First FAT Sector = %ld\n", __FUNCTION__ , first_fat_sector)); + D(bug("[FAT] [%s] FAT Size = %ld\n", __FUNCTION__ , fat_size)); + D(bug("[FAT] [%s] Total Sectors = %ld\n", __FUNCTION__ , sector_count)); - if ((td_err = AccessDisk(TRUE, first_device_sector, 1, bsize, - (UBYTE *) boot, glob)) != 0) + if ((td_err = AccessDisk(TRUE, first_device_sector, 1, bsize, (UBYTE *) boot, glob)) != 0) { - D(bug("[%s] Couldn't write boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't write boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); return ERROR_UNKNOWN; } @@ -732,7 +730,7 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) if ((td_err = AccessDisk(TRUE, first_device_sector + 6, 1, bsize, (UBYTE *) boot, glob)) != 0) { - D(bug("[%s] Couldn't write back-up boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't write back-up boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); return ERROR_UNKNOWN; } @@ -749,7 +747,7 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) if ((td_err = AccessDisk(TRUE, first_device_sector + 1, 1, bsize, (UBYTE *) fsinfo, glob)) != 0) { - D(bug("[%s] Couldn't write back-up boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't write back-up boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); return ERROR_UNKNOWN; } @@ -765,7 +763,7 @@ LONG FormatFATVolume(const UBYTE *name, UWORD len, struct Globals *glob) LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; struct DirHandle dh; @@ -785,15 +783,14 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) if (!boot) return ERROR_NO_FREE_STORE; - if ((td_err = AccessDisk(FALSE, sb->first_device_sector, 1, bsize, - (UBYTE *) boot, glob)) != 0) + if ((td_err = AccessDisk(FALSE, sb->first_device_sector, 1, bsize, (UBYTE *) boot, glob)) != 0) { - D(bug("[%s] Couldn't read boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't read boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); return ERROR_UNKNOWN; } - D(bug("[%s] Searching root directory for volume name\n", __FUNCTION__ )); + D(bug("[FAT] [%s] Searching root directory for volume name\n", __FUNCTION__ )); /* Search the directory for the volume ID entry. It would've been nice to * just use GetNextDirEntry but I didn't want a flag or something to tell @@ -807,7 +804,7 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) if ((de.e.entry.attr & ATTR_VOLUME_ID_MASK) == ATTR_VOLUME_ID && de.e.entry.name[0] != 0xe5) { - D(bug("[%s] Found volume id entry %ld\n", __FUNCTION__ , dh.cur_index)); + D(bug("[FAT] [%s] Found volume id entry %ld\n", __FUNCTION__ , dh.cur_index)); err = 0; break; } @@ -815,7 +812,7 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) /* Bail out if we hit the end of the dir */ if (de.e.entry.name[0] == 0x00) { - D(bug("[%s] Found end-of-directory marker, volume name entry not found\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Found end-of-directory marker, volume name entry not found\n",__FUNCTION__ )); err = ERROR_OBJECT_NOT_FOUND; break; } @@ -840,7 +837,7 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) if ((err = UpdateDirEntry(&de, glob)) != 0) { - D(bug("[%s] Couldn't change volume name\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Couldn't change volume name\n",__FUNCTION__ )); return err; } } @@ -855,17 +852,17 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) if ((td_err = AccessDisk(TRUE, sb->first_device_sector, 1, bsize, (UBYTE *) boot, glob)) != 0) - D(bug("[%s] Couldn't write boot block (%ld)\n", __FUNCTION__ , td_err)); + D(bug("[FAT] [%s] Couldn't write boot block (%ld)\n", __FUNCTION__ , td_err)); FreeMem(boot, bsize); /* Update name in SB */ sb->volume.name[0] = len; - sb->volume.name[1] = toupper(name[0]); + sb->volume.name[1] = name[0]; for (i = 1; i < len; i++) - sb->volume.name[i + 1] = tolower(name[i]); + sb->volume.name[i + 1] = name[i]; sb->volume.name[len + 1] = '\0'; - D(bug("[%s] New volume name is '%s'\n", __FUNCTION__ , &(sb->volume.name[1]))); + D(bug("[FAT] [%s] New volume name is '%s'\n", __FUNCTION__ , &(sb->volume.name[1]))); ReleaseDirHandle(&dh, glob); return err; @@ -874,24 +871,24 @@ LONG SetVolumeName(struct FSSuper *sb, UBYTE *name, UWORD len) static void FreeFATSuper(struct FSSuper *sb) { D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; - D(bug("[%s] Removing Super Block from memory\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Removing Super Block from memory\n",__FUNCTION__ )); Cache_DestroyCache(sb->cache); - D(bug("[%s] Removing FAT Buffers\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Removing FAT Buffers\n",__FUNCTION__ )); FreeVecPooled(glob->mempool, sb->fat_buffers); sb->fat_buffers = NULL; - D(bug("[%s] Removing FAT Blocks\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Removing FAT Blocks\n",__FUNCTION__ )); FreeVecPooled(glob->mempool, sb->fat_blocks); sb->fat_blocks = NULL; - D(bug("[%s] Done clearing memory\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Done clearing memory\n",__FUNCTION__ )); } void FillDiskInfo(struct InfoData *id, struct Globals *glob) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + //D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct DosEnvec *de = BADDR(glob->fssm->fssm_Environ); @@ -902,15 +899,13 @@ void FillDiskInfo(struct InfoData *id, struct Globals *glob) if (glob->sb) { id->id_NumBlocks = glob->sb->total_sectors; - id->id_NumBlocksUsed = glob->sb->total_sectors - - (glob->sb->free_clusters << glob->sb->cluster_sectors_bits); + id->id_NumBlocksUsed = glob->sb->total_sectors - (glob->sb->free_clusters << glob->sb->cluster_sectors_bits); id->id_BytesPerBlock = glob->sb->sectorsize; id->id_DiskType = ID_DOS_DISK; id->id_VolumeNode = MKBADDR(glob->sb->doslist); - id->id_InUse = (IsListEmpty(&glob->sb->info->locks) - && IsListEmpty(&glob->sb->info->notifies)) ? DOSFALSE : DOSTRUE; + id->id_InUse = (IsListEmpty(&glob->sb->info->locks) && IsListEmpty(&glob->sb->info->notifies)) ? DOSFALSE : DOSTRUE; } else @@ -932,13 +927,16 @@ void FillDiskInfo(struct InfoData *id, struct Globals *glob) id->id_VolumeNode = BNULL; id->id_InUse = DOSFALSE; } + + D(bug("[FAT] fillinfodata: VolumeNode = %12s (0x%8lx) | DiskType = 0x%08lx | DiskState = %d | LockList = %s\n", + AROS_BSTR_ADDR(glob->devnode->dol_Name), id->id_VolumeNode, id->id_DiskType, id->id_DiskState, (id->id_InUse == DOSTRUE)? "DOSTRUE":"DOSFALSE")); + } -static void SendVolumePacket(struct DosList *vol, ULONG action, - struct Globals *glob) +static void SendVolumePacket(struct DosList *vol, ULONG action, struct Globals *glob) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + //D(bug("----------------------------------------------------------------\n")); + D(bug("[FAT] [%s] ACTION_DISK_CHANGE\n",__FUNCTION__ )); struct DosPacket *dospacket; @@ -954,8 +952,7 @@ static void SendVolumePacket(struct DosList *vol, ULONG action, void DoDiskInsert(struct Globals *glob) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct FSSuper *sb; ULONG err; @@ -968,26 +965,145 @@ void DoDiskInsert(struct Globals *glob) struct NotifyNode *nn; struct DosList *newvol = NULL; - if (glob->sb == NULL - && (sb = AllocVecPooled(glob->mempool, sizeof(struct FSSuper)))) + struct DriveGeometry geometry; + struct FileSysStartupMsg *fssm = glob->fssm; + struct DosEnvec *de = BADDR(fssm->fssm_Environ); + + D(bug("\n[FAT] [%s] Current glob->fssm->fssm_Environ (DOSENVEC):\n",__FUNCTION__)); + D(bug("[FAT] [%s] de_SizeBlock : %d\n",__FUNCTION__ , de->de_SizeBlock)); + D(bug("[FAT] [%s] de_Surfaces : %d\n",__FUNCTION__ , de->de_Surfaces)); + D(bug("[FAT] [%s] de_BlocksPerTrack : %d\n",__FUNCTION__ , de->de_BlocksPerTrack)); + D(bug("[FAT] [%s] dg_LowCyl : %d\n",__FUNCTION__ , de->de_LowCyl)); + D(bug("[FAT] [%s] dg_HighCyl : %d\n\n",__FUNCTION__ , de->de_HighCyl)); + + // To Support hot-swap for FAT32 we need to reset DosEnvec based on Inserted Disk properties + // First we obtain SizeBlock, Surfaces and BlocksPerTrack directly from TD_GETGEOMETRY query to device driver + glob->diskioreq->iotd_Req.io_Data = &geometry; + glob->diskioreq->iotd_Req.io_Command = TD_GETGEOMETRY; + glob->diskioreq->iotd_Req.io_Length = sizeof(struct DriveGeometry); + DoIO((struct IORequest *)glob->diskioreq); + + D(bug("\n[FAT] [%s] Disk geometry received from Device Driver:\n",__FUNCTION__ )); + D(bug("[FAT] [%s] dg_SectorSize : %d\n",__FUNCTION__ , geometry.dg_SectorSize)); + D(bug("[FAT] [%s] dg_TotalSectors : %d\n",__FUNCTION__ , geometry.dg_TotalSectors)); + D(bug("[FAT] [%s] dg_Cylinders : %d\n",__FUNCTION__ , geometry.dg_Cylinders)); + D(bug("[FAT] [%s] dg_CylSectors : %d\n",__FUNCTION__ , geometry.dg_CylSectors)); + D(bug("[FAT] [%s] dg_Heads : %d\n",__FUNCTION__ , geometry.dg_Heads)); + D(bug("[FAT] [%s] dg_TrackSectors : %d\n",__FUNCTION__ , geometry.dg_TrackSectors)); + + de->de_SizeBlock = geometry.dg_SectorSize >> 2; // Sizeblock = #LONG p/Sector = SectorSize/4 = BitShift 2 + de->de_Surfaces = geometry.dg_Heads; // Surfaces = #Heads + de->de_BlocksPerTrack = geometry.dg_TrackSectors; // Block p/Track = #Sectors + + // First we check if there is a disk inserted (Sector Size == 512) or no disk is inserted (Sector Size == 0) + if (geometry.dg_SectorSize == 0) + { + D(bug("[FAT] [%s] No Disk Inserted - Device is ready for insertion of FAT Disk\n",__FUNCTION__ )); + return; + } + + // Then we check if disk inserted is a Amiga Partitioned RDB Disk (BYTE 0x200=512 = Sector#1/LONG#0x0 | ID=0x5244534b=RDSK). IN the case of a hybrid disk (RDB + MBR) we give priority to RDB + // if RDB is found then we cannot do anything and we present user with a requester to inform that inserted disk is Amiga RDB and a reboot is required to perform DosBoot process to Mount RDB + + UBYTE read_buffer[0x200]; + + err = RawDiskSectorRead(1, geometry.dg_SectorSize, (UBYTE*)&read_buffer[0], glob); + if (err) + { + D(bug("[FAT] [%s] Read Error = %d on BootSector #1 (RDB Check)\n",__FUNCTION__, err )); + return; + } else { + ULONG RDB_ID = ((read_buffer[0]<<24) + (read_buffer[1]<<16) + (read_buffer[2]<<8) + read_buffer[3]); + D(kprintf("[FAT] [%s] RDB = %4d|%08x\n", __FUNCTION__, 0x200, RDB_ID)); + if(RDB_ID == 0x5244534b) + { + glob->diskioreq->iotd_Req.io_Command = 0xffff; + glob->diskioreq->iotd_Req.io_Length = 1; + DoIO((struct IORequest *)glob->diskioreq); + return; + } + } + + // Now we check if disk inserted is a PC Partitoned MBR Disk (BYTE 0x1fe=510 = Sector#0/WORD#0x1fe | ID=0x55aa=MBR) + // if MBR is found then we read MBR-PART-1 to obtain start sector and total sector count for first partition (which gives us LowCyl and HighCyl) and from there we try to Mount + err = RawDiskSectorRead(0, geometry.dg_SectorSize, (UBYTE*)&read_buffer[0], glob); + if (err) + { + D(bug("[FAT] [%s] Read Error on BootSector #0 (MBR Check)\n",__FUNCTION__ )); + return; + } + + UWORD MBR_ID = (read_buffer[0x1fe]<<8) + read_buffer[0x1ff]; + D(kprintf("[FAT] [%s] MBR = %4d|%08x\n", __FUNCTION__, 0x1fe, MBR_ID)); + if(MBR_ID != 0x55aa) + { + D(bug("[FAT] [%s] No RDB or MBR Boot Record found\n",__FUNCTION__ )); + return; + } + + ULONG MDB_PART1_START = (read_buffer[0x1be + 0x8])+(read_buffer[0x1be + 0x9]<<8)+(read_buffer[0x1be + 0xa]<<16)+(read_buffer[0x1be + 0xb]<<24); + ULONG MDB_PART1_TOTAL = (read_buffer[0x1be + 0xc])+(read_buffer[0x1be + 0xd]<<8)+(read_buffer[0x1be + 0xe]<<16)+(read_buffer[0x1be + 0xf]<<24); + ULONG MDB_PART2_START = (read_buffer[0x1ce + 0x8])+(read_buffer[0x1ce + 0x9]<<8)+(read_buffer[0x1ce + 0xa]<<16)+(read_buffer[0x1ce + 0xb]<<24); + ULONG MDB_PART2_TOTAL = (read_buffer[0x1ce + 0xc])+(read_buffer[0x1ce + 0xd]<<8)+(read_buffer[0x1ce + 0xe]<<16)+(read_buffer[0x1ce + 0xf]<<24); + ULONG MDB_PART3_START = (read_buffer[0x1de + 0x8])+(read_buffer[0x1de + 0x9]<<8)+(read_buffer[0x1de + 0xa]<<16)+(read_buffer[0x1de + 0xb]<<24); + ULONG MDB_PART3_TOTAL = (read_buffer[0x1de + 0xc])+(read_buffer[0x1de + 0xd]<<8)+(read_buffer[0x1de + 0xe]<<16)+(read_buffer[0x1de + 0xf]<<24); + ULONG MDB_PART4_START = (read_buffer[0x1ee + 0x8])+(read_buffer[0x1ee + 0x9]<<8)+(read_buffer[0x1ee + 0xa]<<16)+(read_buffer[0x1ee + 0xb]<<24); + ULONG MDB_PART4_TOTAL = (read_buffer[0x1ee + 0xc])+(read_buffer[0x1ee + 0xd]<<8)+(read_buffer[0x1ee + 0xe]<<16)+(read_buffer[0x1ee + 0xf]<<24); + + D(kprintf("\tPART#1-LBA-Start = %4d|%08x\n", 0x1be + 0x8, MDB_PART1_START)); + D(kprintf("\tPART#1-LBA-Total = %4d|%08x\n", 0x1be + 0xc, MDB_PART1_TOTAL)); + D(kprintf("\tPART#2-LBA-Start = %4d|%08x\n", 0x1ce + 0x8, MDB_PART2_START)); + D(kprintf("\tPART#2-LBA-Total = %4d|%08x\n", 0x1ce + 0xc, MDB_PART2_TOTAL)); + D(kprintf("\tPART#3-LBA-Start = %4d|%08x\n", 0x1de + 0x8, MDB_PART3_START)); + D(kprintf("\tPART#3-LBA-Total = %4d|%08x\n", 0x1de + 0xc, MDB_PART3_TOTAL)); + D(kprintf("\tPART#4-LBA-Start = %4d|%08x\n", 0x1ee + 0x8, MDB_PART4_START)); + D(kprintf("\tPART#4-LBA-Total = %4d|%08x\n\n", 0x1ee + 0xc, MDB_PART4_TOTAL)); + + //Final step is to translate MDB_PART1_START LBA addresses to a valid LowCyl and with MDB_PART1_TOTAL also a valid HighCyl + //LBA = Surfaces * BlocksPerTrack * Cylinders or Cylinders = LBA / Surfaces / BlocksPerTrack + //In most cases the default values of Surfaces = 16 and BlocksPerTrack = 64 will work, but for smaller SD this may fail because Cylinder must be an integer and >0 + + if ((MDB_PART1_START % de->de_BlocksPerTrack % de->de_Surfaces) == 0) + { + de->de_LowCyl = MDB_PART1_START / de->de_BlocksPerTrack / de->de_Surfaces ; // Read ULONG from MBR-PART1 = 0x1BE + 0x8 + de->de_HighCyl = MDB_PART1_TOTAL / de->de_BlocksPerTrack / de->de_Surfaces + de->de_LowCyl; // Read ULONG from MBR-PART1 = 0x1BE + 0xC + } else { + de->de_Surfaces = 1; + de->de_BlocksPerTrack = 1; + de->de_LowCyl = MDB_PART1_START; + de->de_HighCyl = MDB_PART1_TOTAL; + } + + D(bug("\n[FAT] [%s] Drive Geometry transfer to glob->fssm->fssm_Environ:\n",__FUNCTION__ )); + D(bug("[FAT] [%s] de_SizeBlock : %d\n",__FUNCTION__ , de->de_SizeBlock)); + D(bug("[FAT] [%s] de_Surfaces : %d\n",__FUNCTION__ , de->de_Surfaces)); + D(bug("[FAT] [%s] de_BlocksPerTrack : %d\n",__FUNCTION__ , de->de_BlocksPerTrack)); + D(bug("[FAT] [%s] de_LowCyl : %d\n",__FUNCTION__ , de->de_LowCyl)); + D(bug("[FAT] [%s] de_HighCyl : %d\n\n",__FUNCTION__ , de->de_HighCyl)); + + if (glob->sb == NULL && (sb = AllocVecPooled(glob->mempool, sizeof(struct FSSuper)))) { SetMem(sb, 0, sizeof(struct FSSuper)); sb->glob = glob; err = ReadFATSuper(sb); + + D(bug("[FAT] [%s] ReadFatSuper Result = %u\n", __FUNCTION__, err)); + if (err == 0) { - - /* Scan volume list for a matching volume (would be better to - * match by serial number) */ - dl = LockDosList(LDF_VOLUMES | LDF_WRITE); - dl = FindDosEntry(dl, sb->volume.name + 1, - LDF_VOLUMES | LDF_WRITE); + D(bug("[FAT] [%s] Scan volume list for a matching volume\n", __FUNCTION__)); // would be better to match by serial number) + + D(bug("[FAT] [%s] LockDosList\n", __FUNCTION__)); + dl = AttemptLockDosList(LDF_VOLUMES | LDF_WRITE); + + D(bug("[FAT] [%s] FindDosEntry\n", __FUNCTION__)); + dl = FindDosEntry(dl, sb->volume.name + 1, LDF_VOLUMES | LDF_WRITE); + + D(bug("[FAT] [%s] UnLockDosList\n", __FUNCTION__)); UnLockDosList(LDF_VOLUMES | LDF_WRITE); - if (dl != NULL && - CompareDates(&dl->dol_misc.dol_volume.dol_VolumeDate, - &sb->volume.create_time) != 0) + if (dl != NULL && CompareDates(&dl->dol_misc.dol_volume.dol_VolumeDate, &sb->volume.create_time) != 0) dl = NULL; if (dl != NULL) @@ -995,20 +1111,17 @@ void DoDiskInsert(struct Globals *glob) dl->dol_Task = glob->ourport; sb->doslist = dl; - D(bug("[%s] Found old volume.\n", __FUNCTION__ )); + D(bug("[FAT] [%s] Found old volume.\n", __FUNCTION__ )); vol_info = BADDR(dl->dol_misc.dol_volume.dol_LockList); #if 0 /* No point until we match volumes by serial number */ /* Update name */ #ifdef AROS_FAST_BPTR - /* ReadFATSuper() sets a null byte after the - * string, so this should be fine */ - CopyMem(sb->volume.name + 1, dl->dol_Name, - sb->volume.name[0] + 1); + /* ReadFATSuper() sets a null byte after the string, so this should be fine */ + CopyMem(sb->volume.name + 1, dl->dol_Name, sb->volume.name[0] + 1); #else - CopyMem(sb->volume.name, dl->dol_Name, - sb->volume.name[0] + 2); + CopyMem(sb->volume.name, dl->dol_Name, sb->volume.name[0] + 2); #endif #endif @@ -1019,7 +1132,7 @@ void DoDiskInsert(struct Globals *glob) ForeachNode(&global_lock->locks, lock_node) { ext_lock = LOCKFROMNODE(lock_node); - D(bug("[%s] Patching adopted lock %p. old port = %p, new port = %p\n", + D(bug("[FAT] [%s] Patching adopted lock %p. old port = %p, new port = %p\n", __FUNCTION__ , ext_lock, ext_lock->fl_Task, glob->ourport)); ext_lock->fl_Task = glob->ourport; ext_lock->sb = sb; @@ -1030,7 +1143,7 @@ void DoDiskInsert(struct Globals *glob) ForeachNode(&vol_info->root_lock.locks, lock_node) { ext_lock = LOCKFROMNODE(lock_node); - D(bug("[%s] Patching adopted ROOT lock %p. old port = %p, new port = %p\n", + D(bug("[FAT] [%s] Patching adopted ROOT lock %p. old port = %p, new port = %p\n", __FUNCTION__ , ext_lock, ext_lock->fl_Task, glob->ourport)); ext_lock->fl_Task = glob->ourport; ext_lock->sb = sb; @@ -1042,16 +1155,13 @@ void DoDiskInsert(struct Globals *glob) } else { - D(bug("[%s] Creating new volume.\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Creating new volume.\n",__FUNCTION__ )); /* Create transferable core volume info */ - pool = - CreatePool(MEMF_PUBLIC, DEF_POOL_SIZE, - DEF_POOL_THRESHOLD); + pool = CreatePool(MEMF_PUBLIC, DEF_POOL_SIZE, DEF_POOL_THRESHOLD); if (pool != NULL) { - vol_info = - AllocVecPooled(pool, sizeof(struct VolumeInfo)); + vol_info = AllocVecPooled(pool, sizeof(struct VolumeInfo)); if (vol_info != NULL) { vol_info->mem_pool = pool; @@ -1065,25 +1175,20 @@ void DoDiskInsert(struct Globals *glob) vol_info->root_lock.first_cluster = 0; vol_info->root_lock.attr = ATTR_DIRECTORY; vol_info->root_lock.size = 0; - CopyMem(sb->volume.name, vol_info->root_lock.name, - sb->volume.name[0] + 1); + CopyMem(sb->volume.name, vol_info->root_lock.name, sb->volume.name[0] + 1); NEWLIST(&vol_info->root_lock.locks); } - if ((newvol = - AllocVecPooled(pool, sizeof(struct DosList)))) + if ((newvol = AllocVecPooled(pool, sizeof(struct DosList)))) { newvol->dol_Next = BNULL; newvol->dol_Type = DLT_VOLUME; newvol->dol_Task = glob->ourport; newvol->dol_Lock = BNULL; - CopyMem(&sb->volume.create_time, - &newvol->dol_misc.dol_volume.dol_VolumeDate, - sizeof(struct DateStamp)); + CopyMem(&sb->volume.create_time, &newvol->dol_misc.dol_volume.dol_VolumeDate, sizeof(struct DateStamp)); - newvol->dol_misc.dol_volume.dol_LockList = - MKBADDR(vol_info); + newvol->dol_misc.dol_volume.dol_LockList = MKBADDR(vol_info); newvol->dol_misc.dol_volume.dol_DiskType = (sb->type == 12) ? ID_FAT12_DISK : @@ -1091,8 +1196,7 @@ void DoDiskInsert(struct Globals *glob) (sb->type == 32) ? ID_FAT32_DISK : ID_FAT12_DISK; - if ((newvol->dol_Name = MKBADDR( - AllocVecPooled(pool, FAT_MAX_SHORT_NAME + 2)))) + if ((newvol->dol_Name = MKBADDR(AllocVecPooled(pool, FAT_MAX_SHORT_NAME + 2)))) { #ifdef AROS_FAST_BPTR /* ReadFATSuper() sets a null byte after the @@ -1116,38 +1220,34 @@ void DoDiskInsert(struct Globals *glob) sb->info = vol_info; glob->last_num = -1; - if (dl != NULL) - SendEvent(IECLASS_DISKINSERTED, glob); - else - SendVolumePacket(newvol, ACTION_VOLUME_ADD, glob); - - D(bug("[%s] Disk successfully initialised\n",__FUNCTION__ )); - + if (dl != NULL) SendEvent(IECLASS_DISKINSERTED, glob); + else SendVolumePacket(newvol, ACTION_VOLUME_ADD, glob); + D(bug("[FAT] [%s] Disk successfully initialised\n",__FUNCTION__ )); return; - } - + } FreeVecPooled(glob->mempool, sb); } - SendEvent(IECLASS_DISKINSERTED, glob); + glob->diskioreq->iotd_Req.io_Command = TD_EJECT; + glob->diskioreq->iotd_Req.io_Length = 1; + DoIO((struct IORequest *)glob->diskioreq); return; } BOOL AttemptDestroyVolume(struct FSSuper *sb) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Start\n",__FUNCTION__ )); struct Globals *glob = sb->glob; BOOL destroyed = FALSE; - D(bug("[%s] Attempting to destroy volume\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Attempting to destroy volume\n",__FUNCTION__ )); /* Check if the volume can be removed */ if (IsListEmpty(&sb->info->locks) && IsListEmpty(&sb->info->notifies)) { - D(bug("[%s] Removing volume completely\n", __FUNCTION__ )); + D(bug("[FAT] [%s] Removing volume completely\n", __FUNCTION__ )); if (sb == glob->sb) glob->sb = NULL; @@ -1157,8 +1257,16 @@ BOOL AttemptDestroyVolume(struct FSSuper *sb) SendVolumePacket(sb->doslist, ACTION_VOLUME_REMOVE, glob); FreeFATSuper(sb); + + D(bug("[FAT] [%s] FreeFATSuper finished\n", __FUNCTION__ )); + FreeVecPooled(glob->mempool, sb); + + D(bug("[FAT] [%s] SuperBlock Freed completely\n", __FUNCTION__ )); + destroyed = TRUE; + } else { + D(bug("[FAT] [%s] Volume NOT REMOVED as it has Locks and/or Notifications pending\n",__FUNCTION__ )); } return destroyed; @@ -1166,8 +1274,7 @@ BOOL AttemptDestroyVolume(struct FSSuper *sb) void DoDiskRemove(struct Globals *glob) { - D(bug("----------------------------------------------------------------\n")); - D(bug("[%s] Start\n",__FUNCTION__ )); + D(bug("[FAT] [%s] %s\n",__FUNCTION__, AROS_BSTR_ADDR(glob->sb->doslist->dol_Name) )); if (glob->sb) { @@ -1177,7 +1284,7 @@ void DoDiskRemove(struct Globals *glob) { sb->doslist->dol_Task = NULL; glob->sb = NULL; - D(bug("[%s] Moved in-mem SB block to spare, waiting for locks and notifications to be freed\n",__FUNCTION__ )); + D(bug("[FAT] [%s] Moved in-mem SB block to spare, waiting for locks and notifications to be freed\n",__FUNCTION__ )); AddTail((struct List *)&glob->sblist, (struct Node *)sb); SendEvent(IECLASS_DISKREMOVED, glob); } diff --git a/rom/graphics/fakegfxhidd.c b/rom/graphics/fakegfxhidd.c index b146595b264..c3321ff67f1 100644 --- a/rom/graphics/fakegfxhidd.c +++ b/rom/graphics/fakegfxhidd.c @@ -166,8 +166,7 @@ static void FakeGfxHidd_ObtainSemaphore(struct SignalSemaphore *sigSem, BOOL urg /******************************************************************************/ -static void FakeGfxHidd_ReleaseSemaphore(struct SignalSemaphore *sigSem, - struct GfxBase *GfxBase) +static void FakeGfxHidd_ReleaseSemaphore(struct SignalSemaphore *sigSem, struct GfxBase *GfxBase) { /* Protect the semaphore structure from multiple access. */ Forbid(); @@ -258,7 +257,10 @@ static void FakeGfxHidd_ReleaseSemaphore(struct SignalSemaphore *sigSem, This can't happen. It means that somebody has released more times than they have obtained. */ - Alert( AN_SemCorrupt ); + + kprintf("FakeGfxHidd_ReleaseSemaphore(): This can't happen. It means that somebody has released more times than they have obtained.d\n"); + + Alert( AN_SemCorrupt ); } /* All done. */ diff --git a/rom/hidds/gfx/gfx_debug.h b/rom/hidds/gfx/gfx_debug.h index d7717a7bc0e..cd8ffd85f69 100644 --- a/rom/hidds/gfx/gfx_debug.h +++ b/rom/hidds/gfx/gfx_debug.h @@ -13,6 +13,6 @@ #define DPF(x) #define DCOPYBOX(x) -#define DSOFTEV(x) x -#define DSOFTE(x) x -#define DSOFTEDRAW(x) x +#define DSOFTEV(x) +#define DSOFTE(x) +#define DSOFTEDRAW(x) diff --git a/rom/hidds/pci/pcitool/catalogs b/rom/hidds/pci/pcitool/catalogs deleted file mode 160000 index ac8384b655e..00000000000 --- a/rom/hidds/pci/pcitool/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ac8384b655e31ee6f61f027548bb139d15552b3b diff --git a/rom/hidds/pci/pcitool/catalogs/.gitattributes b/rom/hidds/pci/pcitool/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/rom/hidds/pci/pcitool/catalogs/czech.ct b/rom/hidds/pci/pcitool/catalogs/czech.ct new file mode 100644 index 00000000000..bf4ffecf6a6 --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/czech.ct @@ -0,0 +1,169 @@ +## version $VER: PCITool.catalog 1.2 (21.1.2010) +## language czech +## codeset 0 +; +; +MSG_TITLE +PCI Tool +; PCI Tool +; +MSG_WINTITLE +PCI Tool +; PCI Tool +; +MSG_DESCRIPTION +Přehled stavu sběrnice PCI +; PCI querying and managment +; +MSG_ERROR_LOCALE +Nelze inicializovat systém lokalizace. +; Can't open locale +; +MSG_ERROR_OK +OK +; Ok +; +MSG_ERROR_HEADER +Chyba +; ERROR +; +MSG_DRIVER_INFO +Informace o ovladači +; Driver info +; +MSG_DRIVER_NAME +Název: +; Driver name: +; +MSG_DIRECT_BUS +Přímý přístup: +; Direct bus: +; +MSG_HARDWARE_INFO +Hardware: +; Hardware info: +; +MSG_PCI_DEVICE_INFO +Informace o zařízení +; PCI device info +; +MSG_DEVICE_DESCRIPTION +Popis: +; Description: +; +MSG_VENDORNAME +Výrobce: +; Vendor Name: +; +MSG_PRODUCTNAME +Název: +; Product Name: +; +MSG_SUBSYSTEM +Podsystém: +; Subsystem: +; +MSG_VENDORID +VendorID: +; VendorID: +; +MSG_PRODUCTID +ProductID: +; ProductID: +; +MSG_REVISIONID +RevisionID: +; RevisionID: +; +MSG_INTERFACE +Rozhraní: +; Interface: +; +MSG_CLASS +Třída: +; Class: +; +MSG_SUBCLASS +Podtřída: +; Subclass: +; +MSG_IRQ +IRQ: +; IRQ: +; +MSG_ROM_BASE +Adresa ROM: +; ROM Base: +; +MSG_ROM_SIZE +Velikost ROM: +; ROM Size: +; +MSG_BRIDGE +Bridge pro sběrnici %d (ISA %saktivní, VGA %saktivní) +; Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +Rozsah paměti: %08x - %08x +; Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Rozsah vyrovnávací paměti: %08x - %08x +; Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +Rozsah IO: %04x - %04x +; IO ranges from %04x to %04x +; +MSG_IO_MSG +IO: %s, Paměť: %s, Master: %s, PaletteSnoop: %s, 66 MHz: %s +; IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +I/O +; I/O +; +MSG_MEMORY +Paměť +; Memory +; +MSG_PREFETCHABLE +Vyrovnávací paměť +; Prefetchable Memory +; +MSG_YES +ano +; yes +; +MSG_NO +ne +; no +; +MSG_NA +--- +; N/A +; +MSG_NOT +ne +; not +; +MSG_SIZE4 +%s na adrese 0x%04x (velikost: 0x%04x) +; %s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s na adrese 0x%08x (velikost: 0x%08x) +; %s at 0x%08x (size 0x%08x) +; +MSG_SAVETORAMDISK +Uložit informace o vybraném zařízení +; Save Device Information to RAM Disk +; +MSG_SAVEALLTORAMDISK +Uložit veškeré zobrazené informace +; Save complete PCI Information to RAM Disk +; +MSG_UNUSED +-nepoužito- +; --unused-- +; diff --git a/rom/hidds/pci/pcitool/catalogs/french.ct b/rom/hidds/pci/pcitool/catalogs/french.ct new file mode 100644 index 00000000000..03c4d81ed1d --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/french.ct @@ -0,0 +1,161 @@ +## version $VER: pcitool.catalog 1.1 (6.2.2004) +## language français +## codeset 0 +; +; +MSG_TITLE +Outil PCI +; PCI Tool +; +MSG_WINTITLE +PCITool +; PCI Tool +; +MSG_DESCRIPTION +Outil de gestion du bus PCI +; PCI querying and managment +; +MSG_ERROR_LOCALE +Impossible d'ouvrir la locale +; Can't open locale +; +MSG_ERROR_OK +Ok +; Ok +; +MSG_ERROR_HEADER +ERREUR +; ERROR +; +MSG_DRIVER_INFO +Info du pilote +;Driver info +; +MSG_DRIVER_NAME +Nom du pilote : +;Driver name: +; +MSG_DIRECT_BUS +Bus direct : +;Direct bus: +; +MSG_HARDWARE_INFO +Info matériel : +;Hardware info: +; +MSG_PCI_DEVICE_INFO +Info du périphérique PCI +;PCI device info +; +MSG_DEVICE_DESCRIPTION +Description : +;Description: +; +MSG_VENDORNAME +Nom du constructeur : +;VendorID: +; +MSG_PRODUCTNAME +Nom du produit : +;ProductID: +; +MSG_SUBSYSTEM +Sous-système : +;Subsystem: +; +MSG_VENDORID +n° constructeur : +;VendorID: +; +MSG_PRODUCTID +n° de produit : +;ProductID: +; +MSG_REVISIONID +n° de version : +;RevisionID: +; +MSG_INTERFACE +Interface : +;Interface: +; +MSG_CLASS +Classe : +;Class: +; +MSG_SUBCLASS +Sous classe : +;Subclass: +; +MSG_IRQ +IRQ : +;IRQ: +; +MSG_ROM_BASE +Base de la ROM : +;ROM Base +; +MSG_ROM_SIZE +Taille de la ROM : +;ROM Size: +; +MSG_BRIDGE +Ce pont gère le bus %d (ISA%s permis, VGA%s permis) +;Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +L'espace mémoire va de %08x à %08x +;Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Mémoire en prélecture de %08x à %08x +;Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +E/S de %04x à %04x +;IO ranges from %04x to %04x +; +MSG_IO_MSG +E/S : %s, MEM : %s, Maître: %s, PaletteSnoop: %s, Capable de 66MHz: %s +;IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +E/S +;I/O +; +MSG_MEMORY +Mémoire +;Memory +; +MSG_PREFETCHABLE +Mémoire en prélecture +;Prefetchable +; +MSG_YES +oui +;yes +; +MSG_NO +non +;no +; +MSG_NA +N/A +;N/A +; +MSG_NOT + non +;not +; +MSG_SIZE4 +%s%s à 0x04x (taille 0x%04x) +;%s%s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s%s à 0x08x (taille 0x%08x) +;%s%s at 0x%08x (size 0x%08x) +; +MSG_UNUSED +inutilisé +;--unused-- +; diff --git a/rom/hidds/pci/pcitool/catalogs/german.ct b/rom/hidds/pci/pcitool/catalogs/german.ct new file mode 100644 index 00000000000..be1707a8955 --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/german.ct @@ -0,0 +1,185 @@ +## version $VER: pcitool.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +PCI Tool +; PCI Tool +; +MSG_WINTITLE +PCITool +; PCI Tool +; +MSG_DESCRIPTION +PCI Abfrage und Management Tool +; PCI querying and managment +; +MSG_ERROR_LOCALE +Kann locale nicht öffnen +; Can't open locale +; +MSG_ERROR_OK +OK +; Ok +; +MSG_ERROR_HEADER +FEHLER +; ERROR +; +MSG_DRIVER_INFO +Treiber Information +; Driver info +; +MSG_DRIVER_NAME +Treibername: +; Driver name: +; +MSG_DIRECT_BUS +Direkt Bus: +; Direct bus: +; +MSG_HARDWARE_INFO +Hardware Information: +; Hardware info: +; +MSG_PCI_DEVICE_INFO +PCI-Geräte Information +; PCI device info +; +MSG_DEVICE_DESCRIPTION +Beschreibung: +; Description: +; +MSG_VENDORNAME +Herstellername: +; Vendor Name: +; +MSG_PRODUCTNAME +Produktname: +; Product Name: +; +MSG_SUBSYSTEM +Subsystem: +; Subsystem: +; +MSG_VENDORID +Herstellernr.: +; VendorID: +; +MSG_PRODUCTID +Produktnr.: +; ProductID: +; +MSG_REVISIONID +Revisionsnr.: +; RevisionID: +; +MSG_INTERFACE +Schnittstelle: +; Interface: +; +MSG_CLASS +Klasse: +; Class: +; +MSG_SUBCLASS +Unterklasse: +; Subclass: +; +MSG_IRQ +IRQ: +; IRQ: +; +MSG_ROM_BASE +ROM Basis: +; ROM Base: +; +MSG_ROM_SIZE +ROM Größe: +; ROM Size: +; +MSG_BRIDGE +Bridge für Bus %d (ISA %saktiv, VGA %saktiv) +; Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +Speicherbereich von %08x bis %08x +; Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Prefetchbarer Speicher von %08x bis %08x +; Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +E/A von %04x bis %04x +; IO ranges from %04x to %04x +; +MSG_IO_MSG +E/A: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +E/A +; I/O +; +MSG_MEMORY +Speicher +; Memory +; +MSG_PREFETCHABLE +Prefetchbar +; Prefetchable Memory +; +MSG_YES +ja +; yes +; +MSG_NO +nein +; no +; +MSG_NA +n.v. +; N/A +; +MSG_NOT +in +; not +; +MSG_SIZE4 +%s bei 0x%04x (Größe 0x%04x) +; %s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s bei 0x%08x (Größe 0x%08x) +; %s at 0x%08x (size 0x%08x) +; +MSG_SAVETORAMDISK +Speichere Geräte Informationen nach RAM Disk +; Save Device Information to RAM Disk +; +MSG_SAVEALLTORAMDISK +Speichere alle Geräteinformationen nach RAM Disk +; Save complete PCI Information to RAM Disk +; +MSG_UNUSED +--unbenutzt-- +; --unused-- +; +MSG_IO_BASE +E/A-Basis: +; I/O base: +; +MSG_OWNER +Benutzt von: +; Used by: +; +MSG_PCIE_DEVICE_INFO +PCIe-Geräte Information +; PCIe device info +; +MSG_PCIE_SERIAL_NUMBER +PCIe Seriennummer +; PCIe Serial Number +; diff --git a/rom/hidds/pci/pcitool/catalogs/italian.ct b/rom/hidds/pci/pcitool/catalogs/italian.ct new file mode 100644 index 00000000000..3619678bdaf --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/italian.ct @@ -0,0 +1,157 @@ +## version $VER: pcitool.catalog 1.1 (6.2.2004) +## language italiano +## codeset 0 +; +; +MSG_TITLE +PCI Tool +; PCI Tool +; +MSG_WINTITLE +PCITool +; PCI Tool +; +MSG_DESCRIPTION +Rilevazione e gestione schede PCI +; PCI querying and managment +; +MSG_ERROR_LOCALE +Impossibile aprire impostazioni locali +; Can't open locale +; +MSG_ERROR_OK +OK +; Ok +; +MSG_ERROR_HEADER +ERRORE +; ERROR +; +MSG_DRIVER_INFO +Informazioni driver +;Driver info +; +MSG_DRIVER_NAME +Nome driver: +;Driver name: +; +MSG_DIRECT_BUS +Bus diretto: +;Direct bus: +; +MSG_HARDWARE_INFO +Info sull'hardware: +;Hardware info: +; +MSG_PCI_DEVICE_INFO +Info su dispositivo PCI +;PCI device info +; +MSG_DEVICE_DESCRIPTION +Descrizione: +;Description: +; +MSG_VENDORNAME +ID produttore: +;VendorID: +; +MSG_PRODUCTNAME +Nome: +;ProductID: +; +MSG_VENDORID +ID produttore: +;VendorID: +; +MSG_PRODUCTID +ID prodotto: +;ProductID: +; +MSG_REVISIONID +Revisione: +;RevisionID: +; +MSG_INTERFACE +Interfaccia: +;Interface: +; +MSG_CLASS +Classe: +;Class: +; +MSG_SUBCLASS +Sottoclasse: +;Subclass: +; +MSG_IRQ +IRQ: +;IRQ: +; +MSG_ROM_BASE +ROM base: +;ROM Base +; +MSG_ROM_SIZE +dimens. ROM: +;ROM Size: +; +MSG_BRIDGE +Bridge per bus %d (ISA %sattivo, VGA %sattivo) +;Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +Memoria usata da %08x a %08x +;Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Memoria prefetch da %08x a %08x +;Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +I/O da %04x a %04x +;IO ranges from %04x to %04x +; +MSG_IO_MSG +IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz abilitata: %s +;IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +I/O +;I/O +; +MSG_MEMORY +memoria +;Memory +; +MSG_PREFETCHABLE +Prefetch +;Prefetchable +; +MSG_YES +sì +;yes +; +MSG_NO +no +;no +; +MSG_NA +N/D +;N/A +; +MSG_NOT +no +;not +; +MSG_SIZE4 +%s%s a 0x04x (dim. 0x%04x) +;%s%s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s%s a 0x08x (dim. 0x%08x) +;%s%s at 0x%08x (size 0x%08x) +; +MSG_UNUSED +--inutile-- +;--unused-- +; diff --git a/rom/hidds/pci/pcitool/catalogs/mmakefile.src b/rom/hidds/pci/pcitool/catalogs/mmakefile.src new file mode 100644 index 00000000000..f6aa0935bfb --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german +# other catalogs need update to version 2 + +%build_catalogs mmake=debug-tools-pcitool-catalogs \ + catalogs=$(CATALOGS) \ + name=PCITool subdir=System/Tools/ diff --git a/rom/hidds/pci/pcitool/catalogs/pcitool.cd b/rom/hidds/pci/pcitool/catalogs/pcitool.cd new file mode 100644 index 00000000000..57e0e911a4c --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/pcitool.cd @@ -0,0 +1,136 @@ +; +MSG_TITLE (//) +PCI Tool +; +MSG_WINTITLE (//) +PCI Tool +; +MSG_DESCRIPTION (//) +PCI querying and managment +; +MSG_ERROR_LOCALE (//) +Can't open locale +; +MSG_ERROR_OK (//) +Ok +; +MSG_ERROR_HEADER (//) +ERROR +; +MSG_DRIVER_INFO (//) +Driver info +; +MSG_DRIVER_NAME (//) +Driver name: +; +MSG_DIRECT_BUS (//) +Direct bus: +; +MSG_HARDWARE_INFO (//) +Hardware info: +; +MSG_PCI_DEVICE_INFO (//) +PCI device info +; +MSG_DEVICE_DESCRIPTION (//) +Description: +; +MSG_VENDORNAME (//) +Vendor Name: +; +MSG_PRODUCTNAME (//) +Product Name: +; +MSG_SUBSYSTEM (//) +Subsystem: +; +MSG_VENDORID (//) +VendorID: +; +MSG_PRODUCTID (//) +ProductID: +; +MSG_REVISIONID (//) +RevisionID: +; +MSG_INTERFACE (//) +Interface: +; +MSG_CLASS (//) +Class: +; +MSG_SUBCLASS (//) +Subclass: +; +MSG_IRQ (//) +IRQ: +; +MSG_ROM_BASE (//) +ROM Base: +; +MSG_ROM_SIZE (//) +ROM Size: +; +MSG_BRIDGE (//) +Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE (//) +Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY (//) +Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE (//) +IO ranges from %04x to %04x +; +MSG_IO_MSG (//) +IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO (//) +I/O +; +MSG_MEMORY (//) +Memory +; +MSG_PREFETCHABLE (//) +Prefetchable Memory +; +MSG_YES (//) +yes +; +MSG_NO (//) +no +; +MSG_NA (//) +N/A +; +MSG_NOT (//) +not +; +MSG_SIZE4 (//) +%s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 (//) +%s at 0x%08x (size 0x%08x) +; +MSG_SAVETORAMDISK (//) +Save Device Information to RAM Disk +; +MSG_SAVEALLTORAMDISK (//) +Save complete PCI Information to RAM Disk +; +MSG_UNUSED (//) +--unused-- +; +MSG_IO_BASE (//) +I/O base: +; +MSG_OWNER (//) +Used by: +; +MSG_PCIE_DEVICE_INFO (//) +PCIe device info +; +MSG_PCIE_SERIAL_NUMBER (//) +PCIe Serial Number +; diff --git a/rom/hidds/pci/pcitool/catalogs/polish.ct b/rom/hidds/pci/pcitool/catalogs/polish.ct new file mode 100644 index 00000000000..2cff632b132 --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/polish.ct @@ -0,0 +1,168 @@ +## version $VER: pcitool.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_TITLE +PCI Tool +; PCI Tool +; +MSG_WINTITLE +PCI Tool +; PCI Tool +; +MSG_DESCRIPTION +Odpytywanie i zarządzanie urządzeniami PCI +; PCI querying and managment +; +MSG_ERROR_LOCALE +Nie można otworzyć lokalizacji +; Can't open locale +; +MSG_ERROR_OK +OK +; Ok +; +MSG_ERROR_HEADER +BŁĄD +; ERROR +; +MSG_DRIVER_INFO +Informacje o sterowniku +; Driver info +; +MSG_DRIVER_NAME +Nazwa sterownika: +; Driver name: +; +MSG_DIRECT_BUS +Szyna bezpośrednia: +; Direct bus: +; +MSG_HARDWARE_INFO +Informacje o sprzęcie: +; Hardware info: +; +MSG_PCI_DEVICE_INFO +Informacje o urządzeniach PCI +; PCI device info +; +MSG_DEVICE_DESCRIPTION +Opis: +; Description: +; +MSG_VENDORNAME +Nazwa producenta: +; Vendor Name: +; +MSG_PRODUCTNAME +Nazwa produktu: +; Product Name: +; +MSG_SUBSYSTEM +Podsystem: +; Subsystem: +; +MSG_VENDORID +Identyfikator producenta: +; VendorID: +; +MSG_PRODUCTID +Identyfikator produktu: +; ProductID: +; +MSG_REVISIONID +Identyfikator rewizji: +; RevisionID: +; +MSG_INTERFACE +Interfejs: +; Interface: +; +MSG_CLASS +Klasa: +; Class: +; +MSG_SUBCLASS +Podklasa: +; Subclass: +; +MSG_IRQ +Przerwanie: +; IRQ: +; +MSG_ROM_BASE +Adres pamięci ROM: +; ROM Base: +; +MSG_ROM_SIZE +Wielkość pamięci ROM: +; ROM Size: +; +MSG_BRIDGE +Mostek obsługuje szynę %d (szyna ISA %swłączona, VGA %swłączone) +; Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +Zakres pamięci od %08x do %08x +; Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Zakres pamięci buforowalnej od %08x do %08x +; Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +Zakres adresów we/wy od %04x do %04x +; IO ranges from %04x to %04x +; +MSG_IO_MSG +We/wy: %s, pamięć: %s, główny: %s, przeszukiwanie palety: %s, obsługa 66MHz: %s +; IO: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +Urządzenie wejścia/wyjścia +; I/O +; +MSG_MEMORY +Pamięć +; Memory +; +MSG_PREFETCHABLE +Pamięć buforowalna +; Prefetchable Memory +; +MSG_YES +tak +; yes +; +MSG_NO +nie +; no +; +MSG_NA +niedostępny +; N/A +; +MSG_NOT +nie +; not +; +MSG_SIZE4 +%s pod adresem 0x%04x (wielkość 0x%04x) +; %s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s pod adresem 0x%08x (wielkość 0x%08x) +; %s at 0x%08x (size 0x%08x) +; +MSG_SAVETORAMDISK +Zapisz informacje o urządzeniu do RAM dysku +; Save Device Information to RAM Disk +; +MSG_SAVEALLTORAMDISK +Zapisz kompletne informacje o urządzeniach PCI do RAM dysku +; Save complete PCI Information to RAM Disk +; +MSG_UNUSED +-- nieużywane --- +; --unused-- +; diff --git a/rom/hidds/pci/pcitool/catalogs/spanish.ct b/rom/hidds/pci/pcitool/catalogs/spanish.ct new file mode 100644 index 00000000000..aba0461f7a2 --- /dev/null +++ b/rom/hidds/pci/pcitool/catalogs/spanish.ct @@ -0,0 +1,158 @@ +## version $VER: pcitool.catalog 1.1 (30.09.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +Herramienta PCI +;PCI Tool +; +MSG_WINTITLE +La Herramienta PCI +;PCI Tool +; +MSG_DESCRIPTION +Inspección y gestión del bus PCI +;PCI querying and managment +; +MSG_ERROR_LOCALE +No se puede abrir el locale +;Can't open locale +; +MSG_ERROR_OK +Aceptar +;Ok +; +MSG_ERROR_HEADER +ERROR +; +MSG_DRIVER_INFO +Información del controlador +;Driver info +; +MSG_DRIVER_NAME +Nombre: +;Driver name: +; +MSG_DIRECT_BUS +Bus directo: +;Direct bus: +; +MSG_HARDWARE_INFO +Hardware: +;Hardware info: +; +MSG_PCI_DEVICE_INFO +Información del dispositivo PCI +;PCI device info +; +MSG_DEVICE_DESCRIPTION +Descripción: +;Description: +; +MSG_VENDORNAME +Fabricante: +;Vendor Name: +; +MSG_PRODUCTNAME +Producto: +;Product Name: +; +MSG_SUBSYSTEM +Subsistema: +;Subsystem: +; +MSG_VENDORID +ID-Fabte.: +;VendorID: +; +MSG_PRODUCTID +ID-Prod.: +;ProductID: +; +MSG_REVISIONID +ID-revisión: +;RevisionID: +; +MSG_INTERFACE +Interfaz: +;Interface: +; +MSG_CLASS +Clase: +;Class: +; +MSG_SUBCLASS +Subclase: +;Subclass: +; +MSG_IRQ +IRQ: +; +MSG_ROM_BASE +Direcc-ROM: +;ROM Base: +; +MSG_ROM_SIZE +Tamaño-ROM: +;ROM Size: +; +MSG_BRIDGE +El puente maneja el bus %d (ISA %shabilitado, VGA %shabilitado) +;Bridge handles bus %d (ISA %senabled, VGA %senabled) +; +MSG_MEMORY_RANGE +Rangos de memoria desde %08x a %08x +;Memory ranges from %08x to %08x +; +MSG_PREFETCHABLE_MEMORY +Rangos de memoria prefetchable desde %08x a %08x +;Prefetchable ranges memory from %08x to %08x +; +MSG_IO_RANGE +Rangos de E/S desde %04x a %04x +;IO ranges from %04x to %04x +; +MSG_IO_MSG +E/S: %s, MEM: %s, Master: %s, PaletteSnoop: %s, anda a 66MHz: %s +;I/O: %s, MEM: %s, Master: %s, PaletteSnoop: %s, 66MHz capable: %s +; +MSG_IO +E/S +;I/O +; +MSG_MEMORY +Memoria +;Memory +; +MSG_PREFETCHABLE +Memoria prefetchable +;Prefetchable Memory +; +MSG_YES +sí +;yes +; +MSG_NO +no +; +MSG_NA +N/A +; +MSG_NOT +no +;not +; +MSG_SIZE4 +%s en 0x%04x (tamaño 0x%04x) +;%s at 0x%04x (size 0x%04x) +; +MSG_SIZE8 +%s en 0x%08x (tamaño 0x%08x) +;%s at 0x%08x (size 0x%08x) +; +MSG_UNUSED +--sin usar-- +;--unused-- +; \ No newline at end of file diff --git a/rom/intuition/intuition_intern.h b/rom/intuition/intuition_intern.h index 9b0dcd26ef7..32025be6b41 100644 --- a/rom/intuition/intuition_intern.h +++ b/rom/intuition/intuition_intern.h @@ -2,8 +2,8 @@ #define INTUITION_INTERN_H /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. - Copyright 2001-2013, The MorphOS Development Team. All Rights Reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 2001-2013, The MorphOS Development Team. All Rights Reserved. $Id$ */ @@ -1249,19 +1249,32 @@ AROS_UFPA(APTR , args , A1)); #define DEBUG_UNLOCKPUBSCREENLIST(x) ; #define DEBUG_RETHINKDISPLAY(x) ; -#ifdef NO_RUNTIME_DEBUG +#if APOLLO_DEBUG +#define DEBUG 1 +#else +#define DEBUG 0 +#endif +#if DEBUG +#define DEBUG_INIT(x) ;//if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; +#define DEBUG_SETIPREFS(x) x ;//if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; +#define DEBUG_SETPREFS(x) ;//if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; +#else #define DEBUG_INIT(x) ; #define DEBUG_SETIPREFS(x) ; #define DEBUG_SETPREFS(x) ; +#endif + + + + + + + + -#else -#define DEBUG_INIT(x) if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; -#define DEBUG_SETIPREFS(x) if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; -#define DEBUG_SETPREFS(x) if (SysBase->ex_DebugFlags & EXECDEBUGF_INIT) x; -#endif /* * Private data structures of the classes defined by intuition.library diff --git a/rom/intuition/setiprefs.c b/rom/intuition/setiprefs.c index 94fde34086a..9df8138b19d 100644 --- a/rom/intuition/setiprefs.c +++ b/rom/intuition/setiprefs.c @@ -1,6 +1,6 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. - Copyright 2001-2003, The MorphOS Development Team. All Rights Reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 2001-2003, The MorphOS Development Team. All Rights Reserved. $Id$ */ @@ -71,6 +71,11 @@ case IPREFS_TYPE_SCREENMODE_V37: { + struct IScreenModePrefs *smp; + smp = data; + D(bug("[SetiPrefs] ModeID: 0x%08lX, Size: %dx%d, Depth: %d, Control: 0x%08lX\n", + smp->smp_DisplayID, smp->smp_Width, smp->smp_Height, smp->smp_Depth, smp->smp_Control)); + BOOL reopen = FALSE, closed = (GetPrivIBase(IntuitionBase)->WorkBench) ? FALSE : TRUE; DEBUG_SETIPREFS(bug("[Intuition] %s: IP_SCREENMODE_V37\n", __func__)); @@ -80,20 +85,25 @@ if (!GetPrivIBase(IntuitionBase)->ScreenModePrefs) GetPrivIBase(IntuitionBase)->ScreenModePrefs = AllocMem(sizeof(struct IScreenModePrefs), MEMF_ANY); - if (memcmp(GetPrivIBase(IntuitionBase)->ScreenModePrefs, data, - sizeof(struct IScreenModePrefs)) == 0) + if (memcmp(GetPrivIBase(IntuitionBase)->ScreenModePrefs, data, sizeof(struct IScreenModePrefs)) == 0) + { + DEBUG_SETIPREFS(bug("[Intuition] %s: Copy Prefs Failed!\n", __func__)); break; + } if (!closed) { + DEBUG_SETIPREFS(bug("[Intuition] %s: WB Not Closed . . .\n", __func__)); + BOOL try = TRUE; - reopen = TRUE; UnlockIBase(lock); while (try && !(closed = CloseWorkBench())) { + DEBUG_SETIPREFS(bug("[Intuition] %s: Trying to Close WB\n", __func__)); + struct EasyStruct es = { sizeof(struct EasyStruct), @@ -109,8 +119,11 @@ } if (closed) + { + DEBUG_SETIPREFS(bug("[Intuition] %s: WB is Closed !\n", __func__)); CopyMem(data, GetPrivIBase(IntuitionBase)->ScreenModePrefs, sizeof(struct IScreenModePrefs)); - + } + if (reopen) { if (closed) diff --git a/rom/partition/addbootfilesystem.c b/rom/partition/addbootfilesystem.c index c9225920fde..70bb65c9492 100644 --- a/rom/partition/addbootfilesystem.c +++ b/rom/partition/addbootfilesystem.c @@ -1,5 +1,5 @@ /* - Copyright 2011-2020, The AROS Development Team. All rights reserved. + Copyright � 2011-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -10,6 +10,7 @@ #include "partition_support.h" #include "platform.h" #include "fsloader.h" +#include "debug.h" /***************************************************************************** @@ -52,6 +53,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] AddBootFileSystem\n")); + ObtainSemaphore(&PBASE(PartitionBase)->bootSem); if (!PBASE(PartitionBase)->pb_DOSBase) diff --git a/rom/partition/addpartition.c b/rom/partition/addpartition.c index 3e1f8a8450c..1853b392e42 100644 --- a/rom/partition/addpartition.c +++ b/rom/partition/addpartition.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -7,6 +7,7 @@ #include "partition_intern.h" #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -55,6 +56,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] AddPartition\n")); + if (root->table) { struct PTFunctionTable *handler = root->table->handler; diff --git a/rom/partition/closepartitiontable.c b/rom/partition/closepartitiontable.c index 38ed2f18c46..18bf26da188 100644 --- a/rom/partition/closepartitiontable.c +++ b/rom/partition/closepartitiontable.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -8,6 +8,7 @@ #include "partition_support.h" #include "partition_intern.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -45,6 +46,8 @@ { AROS_LIBFUNC_INIT + //D(bug("[PART:ROOT] ClosePartitionTable\n")); + if (root->table) { struct PTFunctionTable *handler = root->table->handler; diff --git a/rom/partition/closerootpartition.c b/rom/partition/closerootpartition.c index bdd19a6a852..a84664dffc8 100644 --- a/rom/partition/closerootpartition.c +++ b/rom/partition/closerootpartition.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -9,6 +9,7 @@ #include "partition_intern.h" #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -45,6 +46,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART:ROOT] CloseRootPartition\n")); + if (ph->table) { struct PTFunctionTable *handler = ph->table->handler; diff --git a/rom/partition/createpartitiontable.c b/rom/partition/createpartitiontable.c index 97d01f90089..1eaae7b0f00 100644 --- a/rom/partition/createpartitiontable.c +++ b/rom/partition/createpartitiontable.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -7,6 +7,7 @@ #include #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -50,6 +51,8 @@ AROS_LIBFUNC_INIT LONG retval=1; + D(bug("[PART] CreatePartitionTable\n")); + if (root->table == NULL) { const struct PTFunctionTable * const *pst; diff --git a/rom/partition/debug.h b/rom/partition/debug.h index bdf59ca164f..954d339ecfb 100644 --- a/rom/partition/debug.h +++ b/rom/partition/debug.h @@ -2,14 +2,21 @@ #define PDEBUG_H #ifdef __AMIGAOS__ -#if DEBUG -# define D(x) x -# define bug kprintf -#endif -#define kprintf(x) -#else -#include -#endif + #if APOLLO_DEBUG + #define DEBUG 1 + #else + #define DEBUG 0 + #endif + + #if DEBUG + #define D(x) x + #define bug kprintf + #endif + + #define kprintf(x) +#else + #include #endif +#endif \ No newline at end of file diff --git a/rom/partition/deletepartition.c b/rom/partition/deletepartition.c index 3b8e6bc36aa..bc7cc3c2aeb 100644 --- a/rom/partition/deletepartition.c +++ b/rom/partition/deletepartition.c @@ -1,10 +1,11 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -41,6 +42,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] DeletePartitionTable\n")); + if (ph->root) { struct PTFunctionTable *handler = ph->root->table->handler; diff --git a/rom/partition/destroypartitiontable.c b/rom/partition/destroypartitiontable.c index 3e29efb9489..c5584985560 100644 --- a/rom/partition/destroypartitiontable.c +++ b/rom/partition/destroypartitiontable.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -8,6 +8,7 @@ #include #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -50,6 +51,8 @@ AROS_LIBFUNC_INIT LONG retval=1; + D(bug("[PART] DestroyPartitionTable\n")); + if (root->table) { struct PTFunctionTable *handler = root->table->handler; diff --git a/rom/partition/findfilesystema.c b/rom/partition/findfilesystema.c index eb1e02c2c8f..860a751e673 100644 --- a/rom/partition/findfilesystema.c +++ b/rom/partition/findfilesystema.c @@ -1,10 +1,11 @@ /* - Copyright 2011-2017, The AROS Development Team. All rights reserved. + Copyright � 2011-2017, The AROS Development Team. All rights reserved. $Id$ */ #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -52,6 +53,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] FindFileSystemA\n")); + if (table->table) { struct PTFunctionTable *handler = table->table->handler; diff --git a/rom/partition/fsloader.c b/rom/partition/fsloader.c index f59191b73e3..696acd20a6a 100644 --- a/rom/partition/fsloader.c +++ b/rom/partition/fsloader.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2014, The AROS Development Team. All rights reserved. + Copyright � 1995-2014, The AROS Development Team. All rights reserved. $Id$ */ @@ -19,15 +19,26 @@ #include "partition_support.h" #include "fsloader.h" +#include "debug.h" static struct FileSysEntry *FindResidentFS(struct FileSysResource *fsr, ULONG dostype, ULONG version) { struct FileSysEntry *fsrnode; + D(bug("[PART] FindResidentFS . . . ")); + ForeachNode(&fsr->fsr_FileSysEntries, fsrnode) { - if (fsrnode->fse_DosType == dostype && fsrnode->fse_Version >= version) - return fsrnode; + if (fsrnode->fse_DosType == dostype) + { + if (fsrnode->fse_Version >= version) + { + D(bug("FOUND a HIGHER version Resident, so NO Loading version from RDB\n")); + return fsrnode; + } else { + D(bug("FOUND a LOWER version Resident, so continue with Loading version from RDB\n")); + } + } } return NULL; @@ -41,6 +52,8 @@ ULONG AddFS(struct Library *PartitionBase, struct FileSysHandle *fs) ULONG dostype; ULONG version; + D(bug("[PART] AddFS: FileSystem=%s", fs->ln.ln_Name)); + fsr = OpenResource("FileSystem.resource"); if (!fsr) return ERROR_INVALID_RESIDENT_LIBRARY; @@ -55,6 +68,12 @@ ULONG AddFS(struct Library *PartitionBase, struct FileSysHandle *fs) * when someone loads newer version of the filesystem that we are loading * at the moment. */ + D(ULONG version_major); + D(ULONG version_minor); + D(version_minor = version % 65536); + D(version_major = ( (version - version_minor) / 65536 )); + D(bug("[PART] AddFS Stage #1: DosType=0x%8lx | version=%u.%u | Checking if Resident in FileSystem.resource\n", dostype, version_major, version_minor)); + Forbid(); fsrnode = FindResidentFS(fsr, dostype, version); Permit(); @@ -69,46 +88,54 @@ ULONG AddFS(struct Library *PartitionBase, struct FileSysHandle *fs) GetFileSystemAttrs(&fs->ln, FST_FSENTRY, fsrnode, TAG_DONE); fsrnode->fse_SegList = LoadFileSystem(&fs->ln); - /* - * FIXME: Name of the filesystem is currently not filled in. - * I left it this way just because this was originally done in m68k-specific hack. - * May be it should be added? - */ + D(version_minor = fsrnode->fse_Version % 65536); + D(version_major = ( (fsrnode->fse_Version - version_minor) / 65536 )); if (fsrnode->fse_SegList) { struct FileSysEntry *dup; - /* - * Repeat checking, and insert the filesystem only if still not found. - * If found, unload our seglist and return error. - * This really sucks but nothing can be done with it. Even if we implement - * a global semaphore on the resource original m68k software won't know - * about it. - */ - Forbid(); - - dup = FindResidentFS(fsr, dostype, version); - if (!dup) - /* - * Entries in the list are not sorted by priority. - * Adding to head makes them sorted by version. - */ - AddHead(&fsr->fsr_FileSysEntries, &fsrnode->fse_Node); - - Permit(); - - if (dup) - { - UnLoadSeg(fsrnode->fse_SegList); - FreeVec(fsrnode); - - return ERROR_OBJECT_EXISTS; - } - - return 0; + /* + * Repeat checking, and insert the filesystem only if still not found. + * If found, unload our seglist and return error. + * This really sucks but nothing can be done with it. Even if we implement + * a global semaphore on the resource original m68k software won't know + * about it. + */ + Forbid(); + + dup = FindResidentFS(fsr, dostype, version); + + D(bug("[PART] AddFS Stage #2: DosType=0x%8lx | version=%u.%u | Handler=%s | SegList=0x%8xl | Loading Filesystem from RDB . . . ", + fsrnode->fse_DosType, version_major, version_minor, fsrnode->fse_Handler, fsrnode->fse_SegList)); + + if (!dup) + /* + * Entries in the list are not sorted by priority. + * Adding to head makes them sorted by version. + */ + AddHead(&fsr->fsr_FileSysEntries, &fsrnode->fse_Node); + + Permit(); + + if (dup) + { + UnLoadSeg(fsrnode->fse_SegList); + FreeVec(fsrnode); + + D(bug("NOT LOADED (Duplicate Found)\n")); + return ERROR_OBJECT_EXISTS; + } + + D(bug("LOADED\n")); + return 0; + } + D(bug("[PART] AddFS Stage #2: DosType=0x%8lx | version=%u.%u | Handler=%s | SegList=0x%8xl | Loading Filesystem from RDB . . .", + fsrnode->fse_DosType, version_major, version_minor, fsrnode->fse_Handler, fsrnode->fse_SegList)); + D(bug("NOT LOADED (FS Not Found)\n")); + /* InternalLoadSeg() will leave its error code in IoErr() */ return IoErr(); } diff --git a/rom/partition/getfilesystemattrsa.c b/rom/partition/getfilesystemattrsa.c index 9bd4c595906..ff4c024784b 100644 --- a/rom/partition/getfilesystemattrsa.c +++ b/rom/partition/getfilesystemattrsa.c @@ -1,5 +1,5 @@ /* - Copyright 2011-2017, The AROS Development Team. All rights reserved. + Copyright � 2011-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -7,6 +7,7 @@ #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -64,6 +65,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] GetFileSystemAttributes\n")); + const struct FSFunctionTable *handler = ((struct FileSysHandle *)handle)->handler; struct TagItem *tag; diff --git a/rom/partition/getpartitionattrs.c b/rom/partition/getpartitionattrs.c index 2133a7ed474..550a0de4a09 100644 --- a/rom/partition/getpartitionattrs.c +++ b/rom/partition/getpartitionattrs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -89,6 +89,8 @@ { AROS_LIBFUNC_INIT + //D(bug("[PART] GetPartitionAttributes\n")); + LONG (*getPartitionAttr)(struct Library *, struct PartitionHandle *, const struct TagItem *) = NULL; @@ -105,88 +107,88 @@ { ULONG sup; - /* If we have partition handler, call its function first */ + /* If we have partition handler, call its function first */ if (getPartitionAttr) sup = getPartitionAttr(PartitionBase, ph, tag); else sup = FALSE; - if (!sup) - { - struct PartitionHandle *list_ph = NULL; + if (!sup) + { + struct PartitionHandle *list_ph = NULL; - /* - * No handler (root partition) or the handler didn't process the attribute. - * Return defaults. - */ + /* + * No handler (root partition) or the handler didn't process the attribute. + * Return defaults. + */ switch (tag->ti_Tag) { - case PT_GEOMETRY: - CopyMem(&ph->dg, (APTR)tag->ti_Data, sizeof(struct DriveGeometry)); + case PT_GEOMETRY: + CopyMem(&ph->dg, (APTR)tag->ti_Data, sizeof(struct DriveGeometry)); + break; + + case PT_DOSENVEC: + CopyMem(&ph->de, (APTR)tag->ti_Data, sizeof(struct DosEnvec)); + break; + + case PT_TYPE: + /* We have no type semantics */ + PTYPE(tag->ti_Data)->id_len = 0; break; - case PT_DOSENVEC: - CopyMem(&ph->de, (APTR)tag->ti_Data, sizeof(struct DosEnvec)); - break; - - case PT_TYPE: - /* We have no type semantics */ - PTYPE(tag->ti_Data)->id_len = 0; - break; - - case PT_LEADIN: - case PT_ACTIVE: - case PT_BOOTABLE: - case PT_AUTOMOUNT: - *((ULONG *)tag->ti_Data) = 0; - break; - - case PT_POSITION: - D(bug("[GetPartitionAttrs] PT_POSITION(0x%p)\n", ph)); - - if (ph->root) - { - ULONG i = 0; - - D(bug("[GetPartitionAttrs] Parent table 0x%p\n", ph->root->table)); - - ForeachNode(&ph->root->table->list, list_ph) - { - D(bug("[GetPartitionAttrs] Child handle 0x%p\n", list_ph)); - - if (list_ph == ph) - { - *((ULONG *)tag->ti_Data) = i; - break; - } - i++; - } - } - - /* If nothing was found, return -1 (means "not applicable") */ - if (list_ph != ph) - *((ULONG *)tag->ti_Data) = -1; - - break; - - case PT_NAME: - if (ph->ln.ln_Name) - { - strncpy((STRPTR)tag->ti_Data, ph->ln.ln_Name, 31); - /* Make sure that name is NULL-terminated */ - ((STRPTR)tag->ti_Data)[31] = 0; - } - else - ((STRPTR)tag->ti_Data)[0] = 0; - break; - - case PT_STARTBLOCK: - *((UQUAD *)tag->ti_Data) = (UQUAD)ph->de.de_LowCyl * ph->de.de_Surfaces * ph->de.de_BlocksPerTrack; - break; - - case PT_ENDBLOCK: - *((UQUAD *)tag->ti_Data) = ((UQUAD)ph->de.de_HighCyl + 1) * ph->de.de_Surfaces * ph->de.de_BlocksPerTrack - 1; - break; + case PT_LEADIN: + case PT_ACTIVE: + case PT_BOOTABLE: + case PT_AUTOMOUNT: + *((ULONG *)tag->ti_Data) = 0; + break; + + case PT_POSITION: + D(bug("[GetPartitionAttrs] PT_POSITION(0x%p)\n", ph)); + + if (ph->root) + { + ULONG i = 0; + + D(bug("[GetPartitionAttrs] Parent table 0x%p\n", ph->root->table)); + + ForeachNode(&ph->root->table->list, list_ph) + { + D(bug("[GetPartitionAttrs] Child handle 0x%p\n", list_ph)); + + if (list_ph == ph) + { + *((ULONG *)tag->ti_Data) = i; + break; + } + i++; + } + } + + /* If nothing was found, return -1 (means "not applicable") */ + if (list_ph != ph) + *((ULONG *)tag->ti_Data) = -1; + + break; + + case PT_NAME: + if (ph->ln.ln_Name) + { + strncpy((STRPTR)tag->ti_Data, ph->ln.ln_Name, 31); + /* Make sure that name is NULL-terminated */ + ((STRPTR)tag->ti_Data)[31] = 0; + } + else + ((STRPTR)tag->ti_Data)[0] = 0; + break; + + case PT_STARTBLOCK: + *((UQUAD *)tag->ti_Data) = (UQUAD)ph->de.de_LowCyl * ph->de.de_Surfaces * ph->de.de_BlocksPerTrack; + break; + + case PT_ENDBLOCK: + *((UQUAD *)tag->ti_Data) = ((UQUAD)ph->de.de_HighCyl + 1) * ph->de.de_Surfaces * ph->de.de_BlocksPerTrack - 1; + break; } } } diff --git a/rom/partition/getpartitiontableattrs.c b/rom/partition/getpartitiontableattrs.c index 4060ccef869..c423d4a4548 100644 --- a/rom/partition/getpartitiontableattrs.c +++ b/rom/partition/getpartitiontableattrs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -54,6 +54,8 @@ { AROS_LIBFUNC_INIT + //D(bug("[PART] GetPartitionTableAttributes\n")); + if (root->table) { struct PTFunctionTable *handler = root->table->handler; diff --git a/rom/partition/loadbootfilesystems.c b/rom/partition/loadbootfilesystems.c index 66da8f22bdf..06fc23bfa40 100644 --- a/rom/partition/loadbootfilesystems.c +++ b/rom/partition/loadbootfilesystems.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -11,6 +11,7 @@ #include "partition_support.h" #include "fsloader.h" +#include "debug.h" /***************************************************************************** @@ -55,7 +56,7 @@ PBASE(PartitionBase)->pb_DOSBase = TaggedOpenLibrary(TAGGEDOPEN_DOS); DOSBase = (struct DosLibrary *)PBASE(PartitionBase)->pb_DOSBase; /* We should really have dos.library online now */ - D(bug("[LoadBootPartitions] DOSBase 0x%p\n", DOSBase)); + D(bug("\n[PART:BOOT] DOSBase 0x%p\n", DOSBase)); if (!DOSBase) return ERROR_INVALID_RESIDENT_LIBRARY; @@ -64,24 +65,27 @@ ForeachNodeSafe(&PBASE(PartitionBase)->bootList, bfs, bfs2) { ULONG res; - /* - * Unfortunately we have no way to process errors here. - * Well, let's hope that everything will be okay. - */ - D(bug("[LoadBootPartitions] Loading %s...\n", bfs->ln.ln_Name)); - - res = AddFS(PartitionBase, bfs->handle); - if (res) - { - lasterr = res; - } - else - { - /* A filesystem is loaded, remove it from the queue and free associated data. */ - Remove(&bfs->ln); - bfs->handle->handler->freeFileSystem(bfs->handle); - FreeMem(bfs, sizeof(struct BootFileSystem)); - } + /* + * Unfortunately we have no way to process errors here. + * Well, let's hope that everything will be okay. + */ + + res = AddFS(PartitionBase, bfs->handle); + + D(bug("[PART:BOOT] Loading %s... ", bfs->ln.ln_Name)); + if (res) + { + D(bug("ABORTED: Code = %u\n", res)); + lasterr = res; + } + else + { + D(bug("SUCCESS\n")); + /* A filesystem is loaded, remove it from the queue and free associated data. */ + Remove(&bfs->ln); + bfs->handle->handler->freeFileSystem(bfs->handle); + FreeMem(bfs, sizeof(struct BootFileSystem)); + } } ReleaseSemaphore(&PBASE(PartitionBase)->bootSem); @@ -91,6 +95,9 @@ * (see dos_init.c and cliinit.c). */ CloseLibrary(&DOSBase->dl_lib); + + D(bug("[PART:BOOT] Finished\n\n")); + return lasterr; AROS_LIBFUNC_EXIT diff --git a/rom/partition/loadfilesystem.c b/rom/partition/loadfilesystem.c index 162c28600ef..760c3440cdc 100644 --- a/rom/partition/loadfilesystem.c +++ b/rom/partition/loadfilesystem.c @@ -1,10 +1,11 @@ /* - Copyright 2011-2017, The AROS Development Team. All rights reserved. + Copyright � 2011-2017, The AROS Development Team. All rights reserved. $Id$ */ #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -42,6 +43,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART] LoadFileSystem\n")); + const struct FSFunctionTable *handler = ((struct FileSysHandle *)handle)->handler; return handler->loadFileSystem((struct PartitionBase_intern *)PartitionBase, (struct FileSysHandle *)handle); diff --git a/rom/partition/openpartitiontable.c b/rom/partition/openpartitiontable.c index faf43169c17..0b47124bc00 100644 --- a/rom/partition/openpartitiontable.c +++ b/rom/partition/openpartitiontable.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -9,6 +9,7 @@ #include "partition_intern.h" #include "partition_support.h" #include "platform.h" +#include "debug.h" /***************************************************************************** @@ -49,6 +50,8 @@ { AROS_LIBFUNC_INIT + D(bug("[PART:ROOT] OpenPartitionTable\n")); + const struct PTFunctionTable * const *pst; pst = PartitionSupport; @@ -62,11 +65,13 @@ { LONG retval; - NEWLIST(&root->table->list); + NEWLIST(&root->table->list); root->table->type = pst[0]->type; root->table->handler = (void *)pst[0]; + D(bug("[PART:ROOT] OpenPartitionTable: Type = %u | Handler = %u\n", root->table->type, root->table->handler )); + retval = pst[0]->openPartitionTable(PartitionBase, root); if (retval) { diff --git a/rom/partition/openrootpartition.c b/rom/partition/openrootpartition.c index 2c16990674a..b7876ee156e 100644 --- a/rom/partition/openrootpartition.c +++ b/rom/partition/openrootpartition.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ */ @@ -10,7 +10,7 @@ #include "partition_intern.h" #include "partition_support.h" #include "platform.h" - +#include "debug.h" /***************************************************************************** NAME */ @@ -52,6 +52,8 @@ if (Device == NULL) return NULL; + D(bug("[PART] OpenRootPartition: Device = %s | Unit = %u\n", Device, Unit)); + ph = AllocMem(sizeof(struct PartitionHandle), MEMF_PUBLIC | MEMF_CLEAR); if (ph) { @@ -83,6 +85,12 @@ ph->de.de_SectorPerBlock = 1; ph->de.de_NumBuffers = 20; + D(bug("\t[%s] de_SizeBlock = %10ld\t(dg_SectorSize>>2)\n", __FUNCTION__ , ph->de.de_SizeBlock)); + D(bug("\t[%s] de_Surfaces = %10ld\t(dg_Heads)\n", __FUNCTION__ , ph->de.de_Surfaces)); + D(bug("\t[%s] de_BlocksPerTrack = %10ld\t(dg_TrackSectors)\n", __FUNCTION__ , ph->de.de_BlocksPerTrack)); + D(bug("\t[%s] de_BufMemType = %10ld\t(dg_BufMemType)\n", __FUNCTION__ , ph->dg.dg_BufMemType)); + D(bug("\t[%s] de_HighCyl = %10ld\t(dg_Cylinders - 1)\n", __FUNCTION__ , ph->de.de_HighCyl)); + PartitionNsdCheck(PartitionBase, ph); return ph; } diff --git a/rom/partition/partition_init.c b/rom/partition/partition_init.c index 3715d3d16ec..88ea12e115a 100644 --- a/rom/partition/partition_init.c +++ b/rom/partition/partition_init.c @@ -1,5 +1,5 @@ /* - Copyright 2001-2020, The AROS Development Team. All rights reserved. + Copyright � 2001-2020, The AROS Development Team. All rights reserved. $Id$ Desc: Partition initialization code @@ -9,6 +9,7 @@ #include #include #include +#include "debug.h" #include "partition_intern.h" #include "partition_support.h" @@ -16,6 +17,8 @@ static int PartitionInit(LIBBASETYPEPTR LIBBASE) { + D(bug("[PART] PartitionInit\n")); + LIBBASE->partbase.tables = (struct PartitionTableInfo **)PartitionSupport; NewList(&LIBBASE->bootList); InitSemaphore(&LIBBASE->bootSem); @@ -32,6 +35,8 @@ static int PartitionInit(LIBBASETYPEPTR LIBBASE) static int PartitionCleanup(struct PartitionBase_intern *base) { + D(bug("[PART] PartitionCleanup\n")); + /* If there's something in our boot list, we can't quit without losing it */ if (!IsListEmpty(&base->bootList)) return FALSE; diff --git a/rom/partition/partition_support.c b/rom/partition/partition_support.c index 5128db9a0f8..e839d4cedfc 100644 --- a/rom/partition/partition_support.c +++ b/rom/partition/partition_support.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. + Copyright � 1995-2011, The AROS Development Team. All rights reserved. $Id$ */ @@ -14,9 +14,9 @@ const struct PTFunctionTable * const PartitionSupport[] = { - &PartitionGPT, /* The order of these two is important, GPT must be checked before MBR */ + //&PartitionGPT, /* The order of these two is important, GPT must be checked before MBR */ &PartitionMBR, - &PartitionEBR, + //&PartitionEBR, &PartitionRDB, NULL }; @@ -27,82 +27,76 @@ const struct PTFunctionTable * const PartitionSupport[] = */ /* get geometry */ -LONG PartitionGetGeometry - ( - struct Library *PartitionBase, - struct IOExtTD *ioreq, - struct DriveGeometry *dg - ) +LONG PartitionGetGeometry(struct Library *PartitionBase, struct IOExtTD *ioreq, struct DriveGeometry *dg) { + D(bug("[PART:ROOT] PartitionGetGeometry\n")); - ioreq->iotd_Req.io_Command = TD_GETGEOMETRY; - ioreq->iotd_Req.io_Data = dg; - ioreq->iotd_Req.io_Length = sizeof(struct DriveGeometry); - return DoIO((struct IORequest *)ioreq); + ioreq->iotd_Req.io_Command = TD_GETGEOMETRY; + ioreq->iotd_Req.io_Data = dg; + ioreq->iotd_Req.io_Length = sizeof(struct DriveGeometry); + return DoIO((struct IORequest *)ioreq); } /* query NSD commands */ -void PartitionNsdCheck - ( - struct Library *PartitionBase, - struct PartitionHandle *root - ) +void PartitionNsdCheck(struct Library *PartitionBase, struct PartitionHandle *root) { -struct NSDeviceQueryResult nsdq; -struct IOExtTD *ioreq = root->bd->ioreq; -UWORD *cmdcheck; - - if ( - ( - root->de.de_HighCyl* - root->de.de_Surfaces* - root->de.de_BlocksPerTrack* - ((root->de.de_SizeBlock<<2)/512) - )>8388608) - { - nsdq.SizeAvailable=0; - nsdq.DevQueryFormat=0; - ioreq->iotd_Req.io_Command=NSCMD_DEVICEQUERY; - ioreq->iotd_Req.io_Data=&nsdq; - ioreq->iotd_Req.io_Length=sizeof(struct NSDeviceQueryResult); - if (DoIO((struct IORequest *)ioreq)==0) - { - if ( - (ioreq->iotd_Req.io_Actual<=sizeof(struct NSDeviceQueryResult)) && - (ioreq->iotd_Req.io_Actual!=0) && - (ioreq->iotd_Req.io_Actual==nsdq.SizeAvailable) + struct NSDeviceQueryResult nsdq; + struct IOExtTD *ioreq = root->bd->ioreq; + UWORD *cmdcheck; + + D(bug("[PART:ROOT] PartitionNSDCheck\n")); + + if ((root->de.de_HighCyl * root->de.de_Surfaces * root->de.de_BlocksPerTrack * ((root->de.de_SizeBlock<<2)/512)) > 8388608) + { + nsdq.SizeAvailable=0; + nsdq.DevQueryFormat=0; + ioreq->iotd_Req.io_Command=NSCMD_DEVICEQUERY; + ioreq->iotd_Req.io_Data=&nsdq; + ioreq->iotd_Req.io_Length=sizeof(struct NSDeviceQueryResult); + if (DoIO((struct IORequest *)ioreq)==0) + { + if ( + (ioreq->iotd_Req.io_Actual<=sizeof(struct NSDeviceQueryResult)) && + (ioreq->iotd_Req.io_Actual!=0) && + (ioreq->iotd_Req.io_Actual==nsdq.SizeAvailable) ) - { + { if (nsdq.DeviceType != NSDEVTYPE_TRACKDISK) - D(bug("partition: NSDcheck: WARNING no trackdisk type\n")); + D(bug("[PART:ROOT] NSDcheck: WARNING no trackdisk type\n")); for (cmdcheck=nsdq.SupportedCommands;*cmdcheck;cmdcheck++) { - if (*cmdcheck == NSCMD_TD_READ64) - root->bd->cmdread = NSCMD_TD_READ64; - if (*cmdcheck == NSCMD_TD_WRITE64) - root->bd->cmdwrite = NSCMD_TD_WRITE64; + if (*cmdcheck == NSCMD_TD_READ64) + root->bd->cmdread = NSCMD_TD_READ64; + if (*cmdcheck == NSCMD_TD_WRITE64) + root->bd->cmdwrite = NSCMD_TD_WRITE64; + } } - } else - D(bug("partition: NSDcheck: WARNING wrong io_Actual using NSD\n")); - } - } + D(bug("[PART:ROOT] NSDcheck: WARNING wrong io_Actual using NSD\n")); + } + } } /* get real first block of partition ph */ -ULONG getStartBlock(struct PartitionHandle *ph) { -ULONG start = 0; +ULONG getStartBlock(struct PartitionHandle *ph) +{ + ULONG start = 0; while (ph) { start += ph->de.de_LowCyl*ph->de.de_BlocksPerTrack*ph->de.de_Surfaces; ph = ph->root; } + + //D(bug("[PART:%s] GetStartBlock: %u\n", ph->ln.ln_Name, start)); + return start; } LONG deviceError(LONG err) { + D(bug("[PART] deviceError\n")); + switch (err) { case 0: @@ -128,6 +122,8 @@ void initPartitionHandle(struct PartitionHandle *root, struct PartitionHandle *p { ULONG cylsecs = root->de.de_BlocksPerTrack * root->de.de_Surfaces; + D(bug("[PART:%s] initPartitionHandle\n", ph->ln.ln_Name)); + /* Attach parent */ ph->root = root; ph->bd = root->bd; @@ -135,22 +131,29 @@ void initPartitionHandle(struct PartitionHandle *root, struct PartitionHandle *p /* initialize DosEnvec */ CopyMem(&root->de, &ph->de, sizeof(struct DosEnvec)); + D(bug("\n[PART] [%s] Disk geometry received from MBR:\n",__FUNCTION__ )); + D(bug("[PART] [%s] first_sector : %d\n",__FUNCTION__ , first_sector)); + D(bug("[PART] [%s] count_sector : %d\n",__FUNCTION__ , count_sector)); + D(bug("[PART] [%s] cylsecs : %d\n",__FUNCTION__ , cylsecs)); + /* Check if partition starts and ends on a cylinder boundary */ if ((first_sector % cylsecs != 0) || (count_sector % cylsecs != 0)) { /* Treat each track as a cylinder if possible */ ph->de.de_Surfaces = 1; cylsecs = ph->de.de_BlocksPerTrack; + D(bug("\n[PART] [%s] Disk geometry adjusted (flat LBA):\n",__FUNCTION__ )); + D(bug("[PART] [%s] cylsecs : %d\n",__FUNCTION__ , cylsecs)); + D(bug("[PART] [%s] de.de_Surfaces : %d\n",__FUNCTION__ , ph->de.de_Surfaces)); if ((first_sector % cylsecs != 0) || (count_sector % cylsecs != 0)) { - /* - * We can't. We could find the highest common factor of - * first_sector and count_sector here, but currently we - * simply use one block per cylinder (flat LBA) - */ + /* We can't. We could find the highest common factor of first_sector and count_sector here, but currently we simply use one block per cylinder (flat LBA) */ ph->de.de_BlocksPerTrack = 1; cylsecs = 1; + + D(bug("[PART] [%s] cylsecs : %d\n",__FUNCTION__ , cylsecs)); + D(bug("[PART] [%s] de.BlocksperTrack: %d\n",__FUNCTION__ , ph->de.de_BlocksPerTrack)); } } @@ -163,10 +166,22 @@ void initPartitionHandle(struct PartitionHandle *root, struct PartitionHandle *p ph->dg.dg_CylSectors = cylsecs; ph->dg.dg_BufMemType = ph->de.de_BufMemType; + D(bug("\n[PART] [%s] Disk geometry received from Device Driver:\n",__FUNCTION__ )); + D(bug("[PART] [%s] dg_SectorSize : %d\n",__FUNCTION__ , ph->dg.dg_SectorSize)); + D(bug("[PART] [%s] dg_TotalSectors : %d\n",__FUNCTION__ , ph->dg.dg_TotalSectors)); + D(bug("[PART] [%s] dg_Cylinders : %d\n",__FUNCTION__ , ph->dg.dg_Cylinders)); + D(bug("[PART] [%s] dg_CylSectors : %d\n",__FUNCTION__ , ph->dg.dg_CylSectors)); + D(bug("[PART] [%s] dg_Heads : %d\n",__FUNCTION__ , ph->dg.dg_Heads)); + D(bug("[PART] [%s] dg_TrackSectors : %d\n",__FUNCTION__ , ph->dg.dg_TrackSectors)); + /* Set start/end cylinder in DosEnvec */ ph->de.de_LowCyl = first_sector / cylsecs; ph->de.de_HighCyl = ph->de.de_LowCyl + ph->dg.dg_Cylinders - 1; + D(bug("\n[PART] [%s] Drive Geometry transfer to ph->de (DosEnvec):\n",__FUNCTION__ )); + D(bug("[PART] [%s] de_LowCyl : %d\n",__FUNCTION__ , ph->de.de_LowCyl)); + D(bug("[PART] [%s] de_HighCyl : %d\n\n",__FUNCTION__ , ph->de.de_HighCyl)); + /* Fix up DosEnvec size if necessary */ if (ph->de.de_TableSize < DE_BUFMEMTYPE) ph->de.de_TableSize = DE_BUFMEMTYPE; @@ -175,6 +190,8 @@ void initPartitionHandle(struct PartitionHandle *root, struct PartitionHandle *p /* Set DOSType and some defaults according to it */ void setDosType(struct DosEnvec *de, ULONG type) { + D(bug("[PART] setDosType: 0x%8lx\n", type )); + de->de_TableSize = DE_DOSTYPE; de->de_SectorPerBlock = 1; de->de_DosType = type; diff --git a/rom/partition/partition_types.c b/rom/partition/partition_types.c index 543ce5b790b..73623c88993 100644 --- a/rom/partition/partition_types.c +++ b/rom/partition/partition_types.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2019, The AROS Development Team. All rights reserved. + Copyright � 1995-2019, The AROS Development Team. All rights reserved. $Id$ */ @@ -7,6 +7,7 @@ #include #include "partition_types.h" +#include "debug.h" /* * TODO: This should not be a hardcoded mapping, instead it should be loaded @@ -51,6 +52,8 @@ const struct TypeMapping PartTypes[] = ULONG MBR_FindDosType(UBYTE id) { + D(bug("[PART] MBR_FindDosType\n")); + const struct TypeMapping *m; for (m = PartTypes; m->DOSType; m++) diff --git a/rom/partition/partitionami_init.c b/rom/partition/partitionami_init.c index 96b108e5d49..215c2b27fa3 100644 --- a/rom/partition/partitionami_init.c +++ b/rom/partition/partitionami_init.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2002, The AROS Development Team. All rights reserved. + Copyright � 1995-2002, The AROS Development Team. All rights reserved. $Id$ Desc: AmigaOS specific partition initialization code. @@ -15,6 +15,7 @@ #include #include "platform.h" #include "partition_support.h" +#include "debug.h" /****************************************************************************************/ diff --git a/rom/partition/partitiongpt.c b/rom/partition/partitiongpt.c index 586e8c55a95..78525e5b0ec 100644 --- a/rom/partition/partitiongpt.c +++ b/rom/partition/partitiongpt.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ Desc: GPT partition table handler @@ -247,6 +247,8 @@ static LONG PartitionGPTCheckPartitionTable(struct Library *PartitionBase, struc APTR blk; LONG res = 0; + D(bug("[PART:GPT] PartitionGPTCheckPartitionTable\n")); + /* GPT can be placed only in the root of the disk */ if (root->root) return 0; @@ -261,7 +263,7 @@ static LONG PartitionGPTCheckPartitionTable(struct Library *PartitionBase, struc { struct PCPartitionTable *pcpt = ((struct MBR *)blk)->pcpt; - D(bug("[GPT] MBR check passed, first partition type 0x%02X, start block %u\n", pcpt[0].type, pcpt[0].first_sector)); + D(bug("[PART:GPT] PartitionGPTCheckPartitionTable: MBR check passed, first partition type 0x%02X, start block %u |", pcpt[0].type, pcpt[0].first_sector)); /* We must have partition 0 of type GPT starting at block 1 */ if ((pcpt[0].type == MBRT_GPT) && (AROS_LE2LONG(pcpt[0].first_sector) == 1)) @@ -279,8 +281,17 @@ static LONG PartitionGPTCheckPartitionTable(struct Library *PartitionBase, struc /* There's no third backup :( */ if (res == ERROR_BAD_CRC) res = 0; + + D(bug("ERROR_BAD_CRC\n")); + } else { + D(bug("GPT FOUND\n")); } + } else { + D(bug("NO GPT FOUND\n")); } + + } else { + D(bug("[PART:GPT] PartitionGPTCheckPartitionTable: NO MBR FOUND -> NO GPT\n")); } FreeMem(blk, root->de.de_SizeBlock << 2); diff --git a/rom/partition/partitionmbr.c b/rom/partition/partitionmbr.c index 432b45f809f..548472d88f5 100644 --- a/rom/partition/partitionmbr.c +++ b/rom/partition/partitionmbr.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -82,58 +82,110 @@ LONG MBRCheckPartitionTable(struct Library *PartitionBase, struct PartitionHandl struct rootblock *blk = buffer; LONG res = 0; + struct PCPartitionTable *pcpt = blk->u.mbr.pcpt; + + D(bug("[PART:MBR] [%s] Check if we have a valid MBR . . . \n",__FUNCTION__)); + if (readBlock(PartitionBase, root, 0, blk) == 0) { - /* Check it doesn't look like a FAT boot sector */ - ULONG sectorsize, clustersectors; + /* Check status bytes of all partition slots and block signature */ + if ((AROS_LE2WORD(blk->u.mbr.magic) != MBR_MAGIC) || + (!MBR_STATUS_VALID(pcpt[0].status)) || (!MBR_STATUS_VALID(pcpt[1].status)) || + (!MBR_STATUS_VALID(pcpt[2].status)) || (!MBR_STATUS_VALID(pcpt[3].status))) + { + D(bug("NO\n")); + res = 0; + } else { + D(bug("YES\n")); + res = 1; + } + } else { + D(bug("[PART:MBR] [%s] readBlock FAIL\n",__FUNCTION__)); + } + + /* if (res == 0) + { + D(bug("[PART:MBR] [%s] No MBR, but maybe we have a valid FAT Boot record . . . \n",__FUNCTION__)); - /* Valid sector size: 512, 1024, 2048, 4096 */ + ULONG sectorsize, clustersectors; + + // Valid sector size: 512, 1024, 2048, 4096 sectorsize = AROS_LE2WORD(blk->u.bs.bpb_bytes_per_sect); - if (sectorsize != 512 && sectorsize != 1024 && sectorsize != 2048 && sectorsize != 4096) + + D(bug("[PART:MBR] [%s] Sector Size : %u\n",__FUNCTION__, sectorsize)); + + if (sectorsize == 512 || sectorsize == 1024 || sectorsize == 2048 || sectorsize == 4096) + { res = 1; + D(bug("[PART:MBR] [%s] res is set (%u)\n",__FUNCTION__,res)); + } - /* Valid bpb_sect_per_clust: 1, 2, 4, 8, 16, 32, 64, 128 */ + // Valid bpb_sect_per_clust: 1, 2, 4, 8, 16, 32, 64, 128 clustersectors = blk->u.bs.bpb_sect_per_clust; - if ((clustersectors & (clustersectors - 1)) != 0 || clustersectors == 0 || clustersectors > 128) - res = 1; - /* Valid cluster size: 512, 1024, 2048, 4096, 8192, 16k, 32k, 64k */ - if (clustersectors * sectorsize > 64 * 1024) + D(bug("[PART:MBR] [%s] Sectors per Cluster : %u\n",__FUNCTION__, clustersectors)); + + if ((clustersectors & (clustersectors - 1)) == 0 && clustersectors != 0 && clustersectors <= 128) + { res = 1; + D(bug("[PART:MBR] [%s] res is set (%u)\n",__FUNCTION__,res)); + } else { + res = 0; + D(bug("[PART:MBR] [%s] res is cleared (%u)\n",__FUNCTION__,res)); + } + + // Valid cluster size: 512, 1024, 2048, 4096, 8192, 16k, 32k, 64k + D(bug("[PART:MBR] [%s] Cluster Size: %u\n",__FUNCTION__, clustersectors * sectorsize )); - if (blk->u.bs.bpb_media < 0xF0) + if (clustersectors * sectorsize <= 64 * 1024) + { res = 1; + D(bug("[PART:MBR] [%s] res is set (%u)\n",__FUNCTION__,res)); + } else { + res = 0; + D(bug("[PART:MBR] [%s] res is cleared (%u)\n",__FUNCTION__,res)); + } - if (res) - { - struct PCPartitionTable *pcpt = blk->u.mbr.pcpt; + D(bug("[PART:MBR] [%s] bpb_media : 0x%x\n",__FUNCTION__, blk->u.bs.bpb_media)); - /* Check status bytes of all partition slots and block signature */ - if ((AROS_LE2WORD(blk->u.mbr.magic) != MBR_MAGIC) || - (!MBR_STATUS_VALID(pcpt[0].status)) || (!MBR_STATUS_VALID(pcpt[1].status)) || - (!MBR_STATUS_VALID(pcpt[2].status)) || (!MBR_STATUS_VALID(pcpt[3].status))) - { - res = 0; - } + if (blk->u.bs.bpb_media >= 0xF0) + { + res = 1; + D(bug("[PART:MBR] [%s] res is set (%u)\n",__FUNCTION__,res)); + } else { + res = 0; + D(bug("[PART:MBR] [%s] res is cleared (%u)\n",__FUNCTION__,res)); } - } + + } */ + + D(bug("[PART:MBR] [%s]]: res = %u",__FUNCTION__,res)); + D(bug(res ? " = FOUND\n" : " = NOT FOUND\n")); return res; } + static LONG PartitionMBRCheckPartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { + D(bug("[PART:MBR] PartitionMBRCheckPartitionTable: ")); + LONG res; void *blk; /* MBR can be placed only in the root of the disk */ if (root->root) - return 0; + { + D(bug("NO MBR FOUND\n")); + return 0; + } blk = AllocMem(root->de.de_SizeBlock << 2, MEMF_ANY); if (!blk) return 0; + D(bug("Partition is valid Root -> Checking Partition Table\n")); + res = MBRCheckPartitionTable(PartitionBase, root, blk); FreeMem(blk, root->de.de_SizeBlock << 2); @@ -142,6 +194,8 @@ static LONG PartitionMBRCheckPartitionTable(struct Library *PartitionBase, struc static struct PartitionHandle *PartitionMBRNewHandle(struct Library *PartitionBase, struct PartitionHandle *root, UBYTE position, struct PCPartitionTable *entry) { + D(bug("[PART:MBR] PartitionMBRNewHandle\n")); + struct PartitionHandle *ph; if (entry->first_sector != 0) @@ -176,6 +230,8 @@ static struct PartitionHandle *PartitionMBRNewHandle(struct Library *PartitionBa static LONG PartitionMBROpenPartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { + D(bug("[PART] PartitionMBROpenPartitionTable\n")); + struct PartitionHandle *ph; struct MBR *mbr; UBYTE i; @@ -205,6 +261,8 @@ static void PartitionMBRFreeHandle struct PartitionHandle *ph ) { + D(bug("[PART] PartitionMBRFreeHandle\n")); + ClosePartitionTable(ph); FreeMem(ph->data, sizeof(struct MBRData)); FreeMem(ph, sizeof(struct PartitionHandle)); @@ -216,7 +274,9 @@ static void PartitionMBRClosePartitionTable struct PartitionHandle *root ) { -struct PartitionHandle *ph; + D(bug("[PART] PartitionMBRClosePartitionTable\n")); + + struct PartitionHandle *ph; while ((ph = (struct PartitionHandle *)RemTail(&root->table->list))) PartitionMBRFreeHandle(PartitionBase, ph); @@ -229,6 +289,7 @@ static LONG PartitionMBRWritePartitionTable struct PartitionHandle *root ) { + D(bug("[PART] PartitionMBRWritePartitionTable\n")); /* FIXME: readBlock(0) and synchronize data */ /* root->data = mbr is up to date */ @@ -243,7 +304,9 @@ static LONG PartitionMBRCreatePartitionTable struct PartitionHandle *ph ) { -struct MBR *mbr; + D(bug("[PART] PartitionMBRCreatePartitionTable\n")); + + struct MBR *mbr; mbr = AllocMem(ph->de.de_SizeBlock<<2, MEMF_PUBLIC); if (mbr) @@ -272,9 +335,12 @@ void PartitionMBRSetGeometry ULONG relative_sector ) { -ULONG track; -ULONG cyl; + D(bug("[PART] PartitionMBRSetGeometry\n")); + + ULONG track; + ULONG cyl; + /* Store LBA start block and block count */ entry->first_sector = AROS_LONG2LE(sector - relative_sector); @@ -327,7 +393,9 @@ static void PartitionMBRSetDosEnvec struct DosEnvec *de ) { -ULONG sector, count; + D(bug("[PART] PartitionMBRSetDosEnvec\n")); + + ULONG sector, count; sector = de->de_LowCyl * de->de_Surfaces * de->de_BlocksPerTrack; count = (de->de_HighCyl - de->de_LowCyl + 1) * @@ -338,6 +406,8 @@ ULONG sector, count; static struct PartitionHandle *PartitionMBRAddPartition(struct Library *PartitionBase, struct PartitionHandle *root, const struct TagItem *taglist) { + D(bug("[PART] PartitionMBRAddPartition\n")); + struct TagItem *tag; tag = FindTagItem(PT_DOSENVEC, taglist); @@ -395,6 +465,8 @@ static struct PartitionHandle *PartitionMBRAddPartition(struct Library *Partitio static void PartitionMBRDeletePartition(struct Library *PartitionBase, struct PartitionHandle *ph) { + D(bug("[PART] PartitionMBRDeletePartition\n")); + struct MBRData *data = (struct MBRData *)ph->data; SetMem(data->entry, 0, sizeof(struct PCPartitionTable)); @@ -406,6 +478,8 @@ static void PartitionMBRDeletePartition(struct Library *PartitionBase, struct Pa static LONG PartitionMBRGetPartitionTableAttr(struct Library *PartitionBase, struct PartitionHandle *root, const struct TagItem *tag) { + D(bug("[PART] PartitionMBRGetPartitionTableAttr\n")); + switch (tag->ti_Tag) { case PTT_RESERVED: @@ -423,6 +497,8 @@ static LONG PartitionMBRGetPartitionTableAttr(struct Library *PartitionBase, static LONG PartitionMBRGetPartitionAttr(struct Library *PartitionBase, struct PartitionHandle *ph, const struct TagItem *tag) { + D(bug("[PART] PartitionMBRGetPartitionAttr\n")); + struct MBRData *data = (struct MBRData *)ph->data; switch (tag->ti_Tag) @@ -455,6 +531,8 @@ static LONG PartitionMBRGetPartitionAttr(struct Library *PartitionBase, static LONG PartitionMBRSetPartitionAttrs(struct Library *PartitionBase, struct PartitionHandle *ph, const struct TagItem *taglist) { + D(bug("[PART] PartitionMBRSetPartitionAttrs\n")); + struct MBRData *data = (struct MBRData *)ph->data; struct TagItem *tag; @@ -532,6 +610,8 @@ static const struct PartitionAttribute PartitionMBRPartitionAttrs[]= ULONG PartitionMBRDestroyPartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { + D(bug("[PART] PartitionMBRDestroyPartitionTable\n")); + struct MBR *mbr = root->table->data; SetMem(mbr->pcpt, 0, sizeof(mbr->pcpt)); diff --git a/rom/partition/partitionrdb.c b/rom/partition/partitionrdb.c index fc0474752d3..4e06691a559 100644 --- a/rom/partition/partitionrdb.c +++ b/rom/partition/partitionrdb.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ */ @@ -21,9 +21,6 @@ #include "partition_support.h" #include "platform.h" -#ifndef DEBUG -#define DEBUG 1 -#endif #include "debug.h" #include @@ -67,6 +64,8 @@ static AROS_UFH4(LONG, ReadFunc, { AROS_USERFUNC_INIT + //D(bug("[PART] ReadFunc\n")); + struct FileSysReader *fsr = (struct FileSysReader*)file; ULONG outsize = 0; UBYTE *outbuf = buffer; @@ -108,6 +107,8 @@ static AROS_UFH4(LONG, SeekFunc, { AROS_USERFUNC_INIT + D(bug("[PART] SeekFunc\n")); + struct FileSysReader *fsr = (struct FileSysReader*)file; LONG oldpos = fsr->offset; @@ -131,6 +132,13 @@ static AROS_UFH4(LONG, SeekFunc, /* Load a filesystem into DOS seglist */ static BPTR LoadFS(struct FileSysNode *node, struct DosLibrary *DOSBase) { + D(ULONG version_major); + D(ULONG version_minor); + D(version_minor = node->fhb.fhb_Version % 65536); + D(version_major = ( (node->fhb.fhb_Version - version_minor) / 65536 )); + + D(bug("[PART:RDB] LoadFS: Name=%s | DOSType=0x%8lx | Version=%u.%u\n", node->fhb.fhb_FileSysName, node->fhb.fhb_DosType, version_major, version_minor)); + LONG_FUNC FunctionArray[4]; struct FileSysReader fakefile; @@ -165,8 +173,10 @@ static BPTR LoadFS(struct FileSysNode *node, struct DosLibrary *DOSBase) static ULONG calcChkSum(ULONG *ptr, ULONG size) { - ULONG i; - ULONG sum=0; + //D(bug("[PART] calcChkSum\n")); + + ULONG i; + ULONG sum=0; for (i=0;ibuffer; -struct PartitionType type; -struct TagItem tags[] = {{PT_TYPE, (IPTR)&type}, {TAG_DONE, 0}}; + UBYTE i; + struct RigidDiskBlock *rdb = (struct RigidDiskBlock *)root->buffer; + struct PartitionType type; + struct TagItem tags[] = {{PT_TYPE, (IPTR)&type}, {TAG_DONE, 0}}; if (sizeof(root->buffer) < (root->de.de_SizeBlock << 2)) + { + D(bug("[PART:RDB] PartitionRDBCheckPartitionTable: ")); + D(bug("ERROR: Buffer too small\n")); return 0; + } if (root->root != NULL) { GetPartitionAttrs(root, tags); - if ( - (root->root->table->type != PHPTT_MBR && - root->root->table->type != PHPTT_EBR) || - (type.id[0] != 0x30 && type.id[0] != 0x76) - ) + if ((root->root->table->type != PHPTT_MBR && root->root->table->type != PHPTT_EBR) ||(type.id[0] != 0x30 && type.id[0] != 0x76) ) { + D(bug("[PART:RDB] PartitionRDBCheckPartitionTable: root->root already exists, skipping RDB partitioning scheme\n")); return 0; } } + for (i=0;irdb_ID == AROS_BE2LONG(IDNAME_RIGIDDISK)) break; } + if (i != RDB_LOCATION_LIMIT) { if (calcChkSum((ULONG *)rdb, AROS_BE2LONG(rdb->rdb_SummedLongs))==0) + { + D(bug("[PART:RDB] PartitionRDBCheckPartitionTable: RDB Boot Record Found\n")); return 1; + } } + + D(bug("[PART:RDB] PartitionRDBCheckPartitionTable: No RDB Boot Record Found\n")); return 0; } -void CopyBE2HostDosEnvec(LONG *src, SIPTR *dst, ULONG size) { -ULONG count=0; +void CopyBE2HostDosEnvec(LONG *src, SIPTR *dst, ULONG size) +{ + //D(bug("[PART] CopyBE2HostDosEnvec\n")); + + ULONG count=0; while (count != size) { @@ -228,7 +250,9 @@ ULONG count=0; } } -void CopyHost2BEDosEnvec(SIPTR *src, ULONG *dst, ULONG size) { +void CopyHost2BEDosEnvec(SIPTR *src, ULONG *dst, ULONG size) +{ + //D(bug("[PART] CopyHost2BEDosEnvec\n")); ULONG count=0; @@ -241,14 +265,11 @@ void CopyHost2BEDosEnvec(SIPTR *src, ULONG *dst, ULONG size) { } -struct BadBlockNode *PartitionRDBNewBadBlock - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct BadBlockBlock *buffer - ) +struct BadBlockNode *PartitionRDBNewBadBlock(struct Library *PartitionBase, struct PartitionHandle *root, struct BadBlockBlock *buffer) { -struct BadBlockNode *bn; + D(bug("[PART:RDB] PartitionRDBNewBadBlock\n")); + + struct BadBlockNode *bn; if ( (AROS_BE2LONG(buffer->bbb_ID) == IDNAME_BADBLOCK) && @@ -265,20 +286,14 @@ struct BadBlockNode *bn; return NULL; } -struct PartitionHandle *PartitionRDBNewHandle - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct PartitionBlock *buffer - ) +struct PartitionHandle *PartitionRDBNewHandle(struct Library *PartitionBase, struct PartitionHandle *root, struct PartitionBlock *buffer) { -struct PartitionBlock *pblock; -struct PartitionHandle *ph; + D(bug("[PART:RDB] PartitionRDBNewHandle\n")); - if ( - (AROS_BE2LONG(buffer->pb_ID) == IDNAME_PARTITION) && - (calcChkSum((ULONG *)buffer, AROS_BE2LONG(buffer->pb_SummedLongs))==0) - ) + struct PartitionBlock *pblock; + struct PartitionHandle *ph; + + if ( (AROS_BE2LONG(buffer->pb_ID) == IDNAME_PARTITION) && (calcChkSum((ULONG *)buffer, AROS_BE2LONG(buffer->pb_SummedLongs))==0) ) { ph = AllocMem(sizeof(struct PartitionHandle), MEMF_PUBLIC | MEMF_CLEAR); if (ph) @@ -302,6 +317,19 @@ struct PartitionHandle *ph; ph->dg.dg_TrackSectors = ph->de.de_BlocksPerTrack; ph->dg.dg_Cylinders = ph->de.de_HighCyl - ph->de.de_LowCyl + 1; ph->dg.dg_BufMemType = ph->de.de_BufMemType; + + D(bug("\t[%s] ph->ln.ln_Name = %s\n", __FUNCTION__ , ph->ln.ln_Name)); + D(bug("\t[%s] ph->data->pb_Flags = %10ld\n", __FUNCTION__ , pblock->pb_Flags)); + D(bug("\t[%s] ph->de.de_BootPri = %10ld\n", __FUNCTION__ , ph->de.de_BootPri)); + D(bug("\t[%s] ph->de.de_SizeBlock = %10ld\n", __FUNCTION__ , ph->de.de_SizeBlock)); + D(bug("\t[%s] ph->de.de_Surfaces = %10ld\n", __FUNCTION__ , ph->de.de_Surfaces)); + D(bug("\t[%s] ph->de.de_BlocksperTrack = %10ld\n", __FUNCTION__ , ph->de.de_BlocksPerTrack)); + D(bug("\t[%s] ph->de.de_BufMemType = %10ld\n", __FUNCTION__ , ph->de.de_BufMemType)); + D(bug("\t[%s] ph->de.de_LowCyl = %10ld\n", __FUNCTION__ , ph->de.de_LowCyl)); + D(bug("\t[%s] ph->de.de_HighCyl = %10ld\n", __FUNCTION__ , ph->de.de_HighCyl)); + D(bug("\t[%s] ph->de.de_DosType = 0x%x\n", __FUNCTION__ , ph->de.de_DosType)); + D(bug("\t[%s] ph->de.de_MaxTransfer = 0x%x\n", __FUNCTION__ , ph->de.de_MaxTransfer)); + return ph; } FreeVec(ph->ln.ln_Name); @@ -312,26 +340,20 @@ struct PartitionHandle *ph; return NULL; } -struct FileSysNode *PartitionRDBNewFileSys - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct FileSysHeaderBlock *buffer - ) +struct FileSysNode *PartitionRDBNewFileSys(struct Library *PartitionBase, struct PartitionHandle *root, struct FileSysHeaderBlock *buffer) { -struct FileSysNode *fn; + D(bug("[PART:RDB] PartitionRDBNewFileSys\n")); - if ( - (AROS_BE2LONG(buffer->fhb_ID) == IDNAME_FILESYSHEADER) && - (calcChkSum((ULONG *)buffer, AROS_BE2LONG(buffer->fhb_SummedLongs))==0) - ) + struct FileSysNode *fn; + + if ( (AROS_BE2LONG(buffer->fhb_ID) == IDNAME_FILESYSHEADER) && (calcChkSum((ULONG *)buffer, AROS_BE2LONG(buffer->fhb_SummedLongs))==0) ) { fn = AllocMem(sizeof(struct FileSysNode), MEMF_PUBLIC | MEMF_CLEAR); if (fn) { CopyMem(buffer, &fn->fhb, sizeof(struct FileSysHeaderBlock)); - /* Fill in common part of the handle */ + /* Fill in common part of the handle */ fn->h.ln.ln_Name = fn->fhb.fhb_FileSysName; fn->h.ln.ln_Pri = 0; fn->h.handler = &FilesystemRDB; @@ -344,22 +366,20 @@ struct FileSysNode *fn; static void PartitionRDBFreeFileSystem(struct FileSysHandle *fsh) { + D(bug("[PART:RDB] PartitionRDBFreeFileSystem\n")); + struct FileSysNode *fn = (struct FileSysNode *)fsh; FreeVec(fn->filesystem); FreeMem(fn, sizeof(struct FileSysNode)); } -ULONG PartitionRDBCalcFSSize - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct FileSysNode *fn, - struct LoadSegBlock *buffer - ) +ULONG PartitionRDBCalcFSSize(struct Library *PartitionBase, struct PartitionHandle *root, struct FileSysNode *fn, struct LoadSegBlock *buffer) { -ULONG size; -ULONG block; + D(bug("[PART:RDB] PartitionRDBCalcFSSize\n")); + + ULONG size; + ULONG block; size = 0; block = AROS_BE2LONG(fn->fhb.fhb_SegListBlocks); @@ -378,16 +398,12 @@ ULONG block; return size; } -void PartitionRDBReadFileSys - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct FileSysNode *fn, - struct LoadSegBlock *buffer - ) +void PartitionRDBReadFileSys(struct Library *PartitionBase, struct PartitionHandle *root, struct FileSysNode *fn, struct LoadSegBlock *buffer) { -ULONG size; -ULONG block; + D(bug("[PART:RDB] PartitionRDBReadFileSys\n")); + + ULONG size; + ULONG block; size = PartitionRDBCalcFSSize(PartitionBase, root, fn, buffer); if (size) @@ -409,15 +425,13 @@ ULONG block; } } -LONG PartitionRDBOpenPartitionTable - ( - struct Library *PartitionBase, - struct PartitionHandle *root - ) +LONG PartitionRDBOpenPartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { -UBYTE *buffer; -struct RDBData *data; -UBYTE i; + D(bug("[PART:RDB] PartitionRDBOpenPartitionTable\n")); + + UBYTE *buffer; + struct RDBData *data; + UBYTE i; buffer = AllocVec(root->de.de_SizeBlock << 2, MEMF_PUBLIC); if (!buffer) @@ -450,6 +464,12 @@ UBYTE i; root->dg.dg_Cylinders = AROS_BE2LONG(data->rdb.rdb_Cylinders); root->dg.dg_TrackSectors = AROS_BE2LONG(data->rdb.rdb_Sectors); root->dg.dg_Heads = AROS_BE2LONG(data->rdb.rdb_Heads); + + D(bug("\t[%s] dg_SectorSize = %10ld\t(rdb_BlockBytes)\n", __FUNCTION__ , root->dg.dg_SectorSize)); + D(bug("\t[%s] dg_Cylinders = %10ld\t(rdb_Cylinders)\n", __FUNCTION__ , root->dg.dg_Cylinders)); + D(bug("\t[%s] dg_TrackSectors = %10ld\t(rdb_Sectors)\n", __FUNCTION__ , root->dg.dg_TrackSectors)); + D(bug("\t[%s] dg_Heads = %10ld\t(rdb_Heads)\n", __FUNCTION__ , root->dg.dg_Heads)); + /* * Before v3.1 partition.library left rdb_CylBlocks uninitialized, so don't rely on it here. * Otherwise you'll get problem reading drives partitioned with earlier partition.library. @@ -477,6 +497,7 @@ UBYTE i; else break; } + /* read partition blocks */ block = AROS_BE2LONG(data->rdb.rdb_PartitionList); while (block != (ULONG)-1) @@ -496,6 +517,7 @@ UBYTE i; else break; } + /* read filesystem blocks */ block = AROS_BE2LONG(data->rdb.rdb_FileSysHeaderList); while (block != (ULONG)-1) @@ -526,12 +548,10 @@ UBYTE i; return 1; } -void PartitionRDBFreeHandle - ( - struct Library *PartitionBase, - struct PartitionHandle *ph - ) +void PartitionRDBFreeHandle(struct Library *PartitionBase, struct PartitionHandle *ph) { + //D(bug("[PART:RDB] PartitionRDBFreeHandle\n")); + ClosePartitionTable(ph); Remove(&ph->ln); FreeMem(ph->data, sizeof(struct PartitionBlock)); @@ -539,16 +559,14 @@ void PartitionRDBFreeHandle FreeMem(ph, sizeof(struct PartitionHandle)); } -void PartitionRDBClosePartitionTable - ( - struct Library *PartitionBase, - struct PartitionHandle *root - ) +void PartitionRDBClosePartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { -struct PartitionHandle *ph; -struct BadBlockNode *bn; -struct FileSysNode *fn; -struct RDBData *data; + //D(bug("[PART:RDB] PartitionRDBClosePartitionTable\n")); + + struct PartitionHandle *ph; + struct BadBlockNode *bn; + struct FileSysNode *fn; + struct RDBData *data; while ((ph = (struct PartitionHandle *)RemTail(&root->table->list))) PartitionRDBFreeHandle(PartitionBase, ph); @@ -565,15 +583,16 @@ struct RDBData *data; FreeMem(data, sizeof(struct RDBData)); } -ULONG PartitionRDBWriteFileSys - ( - struct Library *PartitionBase, - struct PartitionHandle *root, - struct FileSysNode *fn, - ULONG block - ) +ULONG PartitionRDBWriteFileSys(struct Library *PartitionBase, struct PartitionHandle *root, struct FileSysNode *fn, ULONG block) { -ULONG size; + D(ULONG version_major); + D(ULONG version_minor); + D(version_minor = fn->fhb.fhb_Version % 65536); + D(version_major = ( (fn->fhb.fhb_Version - version_minor) / 65536 )); + + D(bug("[PART:RDB] PartitionRDBWriteFileSys: Name=%s | DOSType=0x%8lx | Version=%u.%u\n", fn->fhb.fhb_FileSysName, fn->fhb.fhb_DosType, version_major, version_minor)); + + ULONG size; if (fn->filesystem) { @@ -598,6 +617,8 @@ ULONG size; static LONG PartitionRDBWritePartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { + D(bug("[PART:RDB] PartitionRDBWritePartitionTable\n")); + struct RDBData *data; struct PartitionHandle *ph; struct PartitionBlock *pblock; @@ -699,6 +720,8 @@ static LONG PartitionRDBWritePartitionTable(struct Library *PartitionBase, struc LONG PartitionRDBCreatePartitionTable(struct Library *PartitionBase, struct PartitionHandle *ph) { + D(bug("[PART:RDB] PartitionRDBCreatePartitionTabel\n")); + struct RDBData *data; ULONG i; @@ -760,9 +783,10 @@ LONG PartitionRDBCreatePartitionTable(struct Library *PartitionBase, struct Part return 1; } -static LONG PartitionRDBGetPartitionTableAttr(struct Library *PartitionBase, - struct PartitionHandle *root, const struct TagItem *tag) +static LONG PartitionRDBGetPartitionTableAttr(struct Library *PartitionBase, struct PartitionHandle *root, const struct TagItem *tag) { + //D(bug("[PART:RDB] PartitionRDBGetPartitionTableAttr\n")); + struct RDBData *data = root->table->data; switch (tag->ti_Tag) @@ -775,9 +799,10 @@ static LONG PartitionRDBGetPartitionTableAttr(struct Library *PartitionBase, return 0; } -static LONG PartitionRDBGetPartitionAttr(struct Library *PartitionBase, - struct PartitionHandle *ph, const struct TagItem *tag) +static LONG PartitionRDBGetPartitionAttr(struct Library *PartitionBase, struct PartitionHandle *ph, const struct TagItem *tag) { + //D(bug("[PART:RDB] PartitionRDBGetPArtitionAttr\n")); + struct PartitionBlock *data = (struct PartitionBlock *)ph->data; switch (tag->ti_Tag) @@ -801,6 +826,8 @@ static LONG PartitionRDBGetPartitionAttr(struct Library *PartitionBase, static LONG PartitionRDBSetPartitionAttrs(struct Library *PartitionBase, struct PartitionHandle *ph, const struct TagItem *taglist) { + D(bug("[PART:RDB] PartitionRDBSetPartitionAttrs\n")); + struct TagItem *tag; struct PartitionBlock *data = (struct PartitionBlock *)ph->data; @@ -856,6 +883,8 @@ static LONG PartitionRDBSetPartitionAttrs(struct Library *PartitionBase, struct struct PartitionHandle *PartitionRDBAddPartition(struct Library *PartitionBase, struct PartitionHandle *root, const struct TagItem *taglist) { + D(bug("[PART:RDB] PartitionRDBAddPartition\n")); + if (FindTagItem(PT_DOSENVEC, taglist) != NULL) { struct PartitionBlock *pblock; @@ -915,13 +944,10 @@ struct PartitionHandle *PartitionRDBAddPartition(struct Library *PartitionBase, return NULL; } -void PartitionRDBDeletePartition - ( - struct Library *PartitionBase, - struct PartitionHandle *ph - ) +void PartitionRDBDeletePartition(struct Library *PartitionBase, struct PartitionHandle *ph) { - + D(bug("[PART:RDB] PartitionRDBDeletePartition\n")); + PartitionRDBFreeHandle(PartitionBase, ph); } @@ -944,14 +970,12 @@ const struct PartitionAttribute PartitionRDBPartitionAttrs[]= {TAG_DONE, 0} }; -ULONG PartitionRDBDestroyPartitionTable - ( - struct Library *PartitionBase, - struct PartitionHandle *root - ) +ULONG PartitionRDBDestroyPartitionTable(struct Library *PartitionBase, struct PartitionHandle *root) { -struct RDBData *data; -struct RigidDiskBlock *rdb; + D(bug("[PART:RDB] PartitionDestroyPartitionTable\n")); + + struct RDBData *data; + struct RigidDiskBlock *rdb; if (sizeof(root->buffer) < (root->de.de_SizeBlock << 2)) return 0; @@ -967,34 +991,45 @@ struct RigidDiskBlock *rdb; struct Node *PartitionRDBFindFileSystem(struct Library *PartitionBase, struct PartitionHandle *ph, const struct TagItem *tags) { + D(bug("[PART:RDB] PartitionRDBFindFileSystem\n")); + struct RDBData *data = (struct RDBData *)ph->table->data; struct FileSysNode *fn; struct TagItem *idTag = FindTagItem(FST_ID , tags); struct TagItem *nameTag = FindTagItem(FST_NAME, tags); - for (fn = (struct FileSysNode *)data->fsheaderlist.lh_Head; fn->h.ln.ln_Succ; - fn = (struct FileSysNode *)fn->h.ln.ln_Succ) + for (fn = (struct FileSysNode *)data->fsheaderlist.lh_Head; fn->h.ln.ln_Succ; fn = (struct FileSysNode *)fn->h.ln.ln_Succ) { - if (idTag) - { - if (fn->fhb.fhb_DosType != idTag->ti_Data) - continue; - } + if (idTag) + { + D(bug("\tSearching DosType=0x%8lx ||| Inspecting DosType=0x%8lx\n", idTag->ti_Data, fn->fhb.fhb_DosType)); + + if (fn->fhb.fhb_DosType != idTag->ti_Data) + continue; + } - if (nameTag) - { - if (strcmp(fn->fhb.fhb_FileSysName, (char *)nameTag->ti_Data)) - continue; - } + if (nameTag) + { + D(bug("\tSearching FS=%s ||| Inspecting FS=%s\n", (char *)nameTag->ti_Data, fn->fhb.fhb_FileSysName)); + + if (strcmp(fn->fhb.fhb_FileSysName, (char *)nameTag->ti_Data)) + continue; + } + + D(bug("\tReturn FS=%s | DosType=0x%8lx\n", fn->fhb.fhb_FileSysName, fn->fhb.fhb_DosType)); - return &fn->h.ln; + return &fn->h.ln; } + D(bug("\tNo FileSystems available in RDB\n")); + return NULL; } BPTR PartitionRDBLoadFileSystem(struct PartitionBase_intern *PartitionBase, struct FileSysHandle *fn) { + D(bug("[PART:RDB] PartitionRDBLoadFileSystem\n")); + if (PartitionBase->pb_DOSBase) return LoadFS((struct FileSysNode *)fn, (struct DosLibrary *)PartitionBase->pb_DOSBase); else @@ -1003,49 +1038,51 @@ BPTR PartitionRDBLoadFileSystem(struct PartitionBase_intern *PartitionBase, stru static LONG PartitionRDBGetFileSystemAttr(struct Library *PartitionBase, struct FileSysHandle *fn, const struct TagItem *tag) { + D(bug("[PART:RDB] PartitionRDBGetFileSystemAttr\n")); + struct FileSysEntry *fse; struct FileSysHeaderBlock *fhb = &((struct FileSysNode *)fn)->fhb; switch (tag->ti_Tag) { - case FST_ID: - *((ULONG *)tag->ti_Data) = AROS_BE2LONG(fhb->fhb_DosType); - return TRUE; + case FST_ID: + *((ULONG *)tag->ti_Data) = AROS_BE2LONG(fhb->fhb_DosType); + return TRUE; + + case FST_NAME: + *((STRPTR *)tag->ti_Data) = fhb->fhb_FileSysName; + return TRUE; - case FST_NAME: - *((STRPTR *)tag->ti_Data) = fhb->fhb_FileSysName; + case FST_FSENTRY: + fse = (struct FileSysEntry *)tag->ti_Data; + + /* RDB filesystems are not prioritized */ + fse->fse_Node.ln_Pri = 0; + + /* + * Don't use CopyMem() or something like that. + * First, you need to deal with endianess. + * Second, some things are actually pointers, you need + * to sign-extend them on 64 bits. + */ + fse->fse_DosType = AROS_BE2LONG(fhb->fhb_DosType); + fse->fse_Version = AROS_BE2LONG(fhb->fhb_Version); + fse->fse_PatchFlags = AROS_BE2LONG(fhb->fhb_PatchFlags); + fse->fse_Type = AROS_BE2LONG(fhb->fhb_Type); + fse->fse_Task = AROS_BE2LONG(fhb->fhb_Task); + fse->fse_Lock = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Lock); + /* Just for convenience. This is expected to be zero. */ + fse->fse_Handler = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Handler); + fse->fse_StackSize = AROS_BE2LONG(fhb->fhb_StackSize); + fse->fse_Priority = AROS_BE2LONG(fhb->fhb_Priority); + fse->fse_Startup = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Startup); + /* Skip fse_SegList */ + fse->fse_GlobalVec = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_GlobalVec); return TRUE; - case FST_FSENTRY: - fse = (struct FileSysEntry *)tag->ti_Data; - - /* RDB filesystems are not prioritized */ - fse->fse_Node.ln_Pri = 0; - - /* - * Don't use CopyMem() or something like that. - * First, you need to deal with endianess. - * Second, some things are actually pointers, you need - * to sign-extend them on 64 bits. - */ - fse->fse_DosType = AROS_BE2LONG(fhb->fhb_DosType); - fse->fse_Version = AROS_BE2LONG(fhb->fhb_Version); - fse->fse_PatchFlags = AROS_BE2LONG(fhb->fhb_PatchFlags); - fse->fse_Type = AROS_BE2LONG(fhb->fhb_Type); - fse->fse_Task = AROS_BE2LONG(fhb->fhb_Task); - fse->fse_Lock = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Lock); - /* Just for convenience. This is expected to be zero. */ - fse->fse_Handler = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Handler); - fse->fse_StackSize = AROS_BE2LONG(fhb->fhb_StackSize); - fse->fse_Priority = AROS_BE2LONG(fhb->fhb_Priority); - fse->fse_Startup = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_Startup); - /* Skip fse_SegList */ - fse->fse_GlobalVec = (BPTR)(SIPTR)AROS_BE2LONG(fhb->fhb_GlobalVec); - return TRUE; - - case FST_VERSION: - *((ULONG *)tag->ti_Data) = AROS_BE2LONG(fhb->fhb_Version); - return TRUE; + case FST_VERSION: + *((ULONG *)tag->ti_Data) = AROS_BE2LONG(fhb->fhb_Version); + return TRUE; } return 0; diff --git a/rom/security/catalogs b/rom/security/catalogs deleted file mode 160000 index b1641898606..00000000000 --- a/rom/security/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b16418986060675ed340e8f75e69a4371b13b678 diff --git a/rom/security/catalogs/.gitattributes b/rom/security/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/rom/security/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/rom/security/catalogs/croatian.ct b/rom/security/catalogs/croatian.ct new file mode 100644 index 00000000000..c9ef88a41c5 --- /dev/null +++ b/rom/security/catalogs/croatian.ct @@ -0,0 +1,126 @@ +## version $VER: Security.catalog 1.0 (05.01.2020) +## language hrvatski +## codeset 5 +; +; Translated by Damir Sijakovic +; +; misc. strings +; +MSG_OK +U Redu +;OK +; +MSG_RESUME +Nastaviti +;Resume +; +MSG_WARNING_GUI +Sigurnosno Upozorenje +;Security Warning +; +MSG_LOGINREQ_GUI +Sigurnosna Prijava +;Security Login Request +; +MSG_LOGINPROMPT_GUI +\33cDobrodošli u AROS Research OS\nAROS Verzija: %s\n\nMolimo vas unesite korisničke detalje %s. +;\33cWelcome to the AROS Research OS\nAROS Version: %s\n\nPlease fill in your user details\nto log onto %s. +; +MSG_LOGINREQ_CON +\033[0;0H\033[J\n\n\n AROS %s em %s\n +; +MSG_LOGINPROMPT_CON +\n\nPrijava..: +;\n\nLogin : +; +MSG_PASSWDPROMPT_GUI +Unesite vašu Zaporku +;Enter your Password +; +MSG_PASSWDPROMPT_CON +Zaporka : +;Password : +; +MSG_LOGINFAIL_GUI +Neispravna Prijava +;Login Incorrect +; +MSG_LOGINFAIL_CON +\n Neispravna Prijava!\n +;\n Login Incorrect !!\n +; +MSG_LASTLOGIN +Prijavljen %s, %s en %s.\n\nZadnja prijava %s, %s u %s. +;Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN +Prijavljen %s, %s en %s.\n\nKorisnik nije prijavljen ranije. +;Logged in on %s, %s at %s.\n\nNever logged in before. +; +; warning strings +; +MSG_NOMUFS +Morate imati barem jednu particiju u AFFS formatu +;You must have at least one partition with the AFFS FileSystem +; +MSG_NOCONFIGFILE +;Konfiguracijsku datoteku nije moguće učitati\nSustav koristi zadanu konfiguraciju +Couldn't load the configuration file\nUsing the default configuration +; +MSG_BADKEYFILE +;Sigurnost je narušena: Pronađen neispravan ili neusklađen ključ(evi) +Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD +;Neispravan unos pronađen na liniji %ld datoteke zaporke\nOva linija će biti ignorirana +Bad entry found on line %ld of the password file\nThis line will be ignored +; +MSG_BADENTRY_GROUP +;Neispravan unos pronađen na liniji %ld datoteke grupe\nOva linija će biti ignorirana +Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG +;Neispravan vrijednost pronađena na liniji %ld konfiguracijske datoteke\nOva vrijednost će biti ignorirana +Bad value(s) found on line %ld of the configuration file\n\ +This value will be ignored +; +MSG_BADOPTION_CONFIG +;Neispravan opcija pronađena na liniji %ld konfiguracijske datoteke\nOva vrijednost će biti ignorirana +Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS +Korisnik sa uid %ld ima previše sporednih grupa\n\ +Linija %ld datoteke grupe će biti zanemarena +;Too many secondary groups for user with uid %ld\n\ +;Line %ld of the group file will be ignored +; +; logfile strings +; +MSG_LOG_STARTUP +Podizanje +;Startup +; +MSG_LOG_LOGIN +Prijava od %ld do \'%s\' +;Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL +Prijava od %ld do \'%s\' neuspjela +;Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD +Zaporka za %ld +;Passwd for %ld +; +MSG_LOG_PASSWDFAIL +Zaporka za %ld neuspjela +;Passwd for %ld failed +; +MSG_LOG_CHECKPASSWD +Provjera zaporke za %ld +;CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL +Provjera zaporke za %ld neuspjela +;CheckPasswd for %ld failed +; diff --git a/rom/security/catalogs/italian.ct b/rom/security/catalogs/italian.ct new file mode 100644 index 00000000000..2108e76771a --- /dev/null +++ b/rom/security/catalogs/italian.ct @@ -0,0 +1,96 @@ +## version $VER: Security.catalog 1.0 (05.01.2020) +## language italiano +## codeset 0 +; +; misc. strings +; +MSG_OK +OK +; +MSG_RESUME +Riprendi +; +MSG_WARNING_GUI +Avviso sicurezza +; +MSG_LOGINREQ_GUI +Richiesta di login +; +MSG_LOGINPROMPT_GUI +\33cBenvenuto in AROS Research OS\nAROS Versione: %s\n\nPer cortesia, inserisci i tuoi dati\nper accedere ad %s. +; +MSG_LOGINREQ_CON +\033[0;0H\033[J\n\n\n AROS %s at %s\n +; +MSG_LOGINPROMPT_CON +\n\nLogin : +; +MSG_PASSWDPROMPT_GUI +Inserisci la password +; +MSG_PASSWDPROMPT_CON +Password : +; +MSG_LOGINFAIL_GUI +Errore di login +; +MSG_LOGINFAIL_CON +\n Errore di login !!\n +; +MSG_LASTLOGIN +Ingresso avvenuto %s, %s alle %s.\n\nUltimo ingresso il %s, %s alle %s. +; +MSG_FIRSTLOGIN +Ingresso il %s, %s alle %s.\n\nMai entrato prima. +; +; warning strings +; +MSG_NOMUFS +Devi avere almeno una partizione con filesystem AFFS +; +MSG_NOCONFIGFILE +Impossibile leggere il file di configurazione\nUtilizzate le impostazioni di default +; +MSG_BADKEYFILE +Violazione di sicurezza: Trovato un file di accesso inutilizzabile. +; +MSG_BADENTRY_PASSWD +Dati corrotti nella riga %ld del file delle password\nQuesta riga verrà ignorata. +; +MSG_BADENTRY_GROUP +Dati corrotti nella riga %ld del file dei gruppi\nQuesta riga verrà ignorata. +; +MSG_BADVALUE_CONFIG +Valore/i errato/i alla riga %ld del file di configurazione\n\ +Quanto non valido sarà ignorato. +; +MSG_BADOPTION_CONFIG +Opzione non valida alla riga %ld del file di configurazione\nQuesta riga sarà ignorata. +; +MSG_TOOMANYSECGROUPS +Troppi gruppi secondari per l'utente con uid %ld\n\ +La riga %ld del gruppo sarà ignorata. +; +; logfile strings +; +MSG_LOG_STARTUP +Avvio +; +MSG_LOG_LOGIN +Login da %ld a \'%s\' +; +MSG_LOG_LOGINFAIL +Login da %ld a \'%s\' fallito +; +MSG_LOG_PASSWD +Passwd per %ld +; +MSG_LOG_PASSWDFAIL +Passwd per %ld errata +; +MSG_LOG_CHECKPASSWD +Controllo per %ld +; +MSG_LOG_CHECKPASSWDFAIL +Controllo per %ld fallito +; diff --git a/rom/security/catalogs/mmakefile.src b/rom/security/catalogs/mmakefile.src new file mode 100644 index 00000000000..e5eabbc6993 --- /dev/null +++ b/rom/security/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2018, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +# croatian portuguese +CATALOGS:= italian russian spanish + +%build_catalogs mmake=kernel-security-catalogs \ + catalogs=$(CATALOGS) description=$(SRCDIR)/$(CURDIR)/security \ + name=Security subdir=System diff --git a/rom/security/catalogs/portuguese.ct b/rom/security/catalogs/portuguese.ct new file mode 100644 index 00000000000..5dd407d596f --- /dev/null +++ b/rom/security/catalogs/portuguese.ct @@ -0,0 +1,135 @@ +## version $VER: Security.catalog 1.0 (05.01.2020) +## language portugus +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +; misc. strings +; +MSG_OK +Aceitar +;OK +; +MSG_RESUME +Continuar +;Resume +; +MSG_WARNING_GUI +Aviso de Segurança +;Security Warning +; +MSG_LOGINREQ_GUI +Pedido de Acesso Seguro +;Security Login Request +; +MSG_LOGINPROMPT_GUI +\33cBem-vindos ao AROS Research OS\n\ +Versión de AROS: %s\n\n\ +Escreva seus dados de utilizador\n\ +para iniciar sessão %s. +;\33cWelcome to the AROS Research OS\nAROS Version: %s\n\nPlease fill in your user details\nto log onto %s. +; +MSG_LOGINREQ_CON +\033[0;0H\033[J\n\n\n AROS %s em %s\n +; +MSG_LOGINPROMPT_CON +\n\nUtilizador..: +;\n\nLogin : +; +MSG_PASSWDPROMPT_GUI +Entre a sua Password +;Enter your Password +; +MSG_PASSWDPROMPT_CON +;Contraseña : +; +MSG_LOGINFAIL_GUI +Utilizador incorrecto +;Login Incorrect +; +MSG_LOGINFAIL_CON +\n....¡Utilizador incorrecto!\n +;\n Login Incorrect !!\n +; +MSG_LASTLOGIN +Entrada em %s, %s en %s.\n\nA última entrada em %s, %s fue en %s. +;Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN +Entrada em %s, %s en %s.\n\nNenhum registo anterior. +;Logged in on %s, %s at %s.\n\nNever logged in before. +; +; warning strings +; +MSG_NOMUFS +Deverá ter pelo menos uma partição com sistema de ficheiros AFFS +;You must have at least one partition with the AFFS FileSystem +; +MSG_NOCONFIGFILE +;No se puede cargar el archivo de configuración\n\ +;Usando la configuración predeterminada +Couldn't load the configuration file\nUsing the default configuration +; +MSG_BADKEYFILE +;Violación de Seguridad:\n\ +;El archivo de claves está mal\n\ +;o es inconsistente +Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD +;La entrada del renglón %ld del archivo\n\ +;de contraseñas está mal. Será ignorada +Bad entry found on line %ld of the password file\nThis line will be ignored +; +MSG_BADENTRY_GROUP +;La entrada del renglón %ld del archivo \n\ +;de grupos está mal. Será ignorada +Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG +;El valor en el renglón %ld del archivo\n\ +;de configuración está mal. Será ignorado +Bad value(s) found on line %ld of the configuration file\n\ +This value will be ignored +; +MSG_BADOPTION_CONFIG +;La opción en el renglón %ld del archivo\n\ +;de configuración está mal. Será ignorado +Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS +Demasiados grupos secundarios para el usuario con uid %ld\n\ +Se ignorará el renglón %ld del archivo de grupos +;Too many secondary groups for user with uid %ld\n\ +;Line %ld of the group file will be ignored +; +; logfile strings +; +MSG_LOG_STARTUP +Início +;Startup +; +MSG_LOG_LOGIN +Sessão aberta desde %ld a \'%s\' +;Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL +Falhou o login desde %ld a \'%s\' +;Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD +Password para %ld +;Passwd for %ld +; +MSG_LOG_PASSWDFAIL +Falhou a password para %ld +;Passwd for %ld failed +; +MSG_LOG_CHECKPASSWD +Comprobação da Password para %ld +;CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL +Falhou a comprobação da Password para %ld +;CheckPasswd for %ld failed +; \ No newline at end of file diff --git a/rom/security/catalogs/russian.ct b/rom/security/catalogs/russian.ct new file mode 100644 index 00000000000..a06a7775bca --- /dev/null +++ b/rom/security/catalogs/russian.ct @@ -0,0 +1,96 @@ +## version $VER: Security.catalog 1.0 (05.01.2020) +## language russian +## codeset 2104 +; +; misc. strings +; +MSG_OK +OK +; +MSG_RESUME +Продолжить +; +MSG_WARNING_GUI +Security Warning +; +MSG_LOGINREQ_GUI +Запрос логина +; +MSG_LOGINPROMPT_GUI +\33cДобро пожаловать в AROS Research OS\nВерсия AROS: %s\n\nПожалуйста, введите ваши данные\nдля входа в %s. +; +MSG_LOGINREQ_CON +\033[0;0H\033[J\n\n\n AROS %s at %s\n +; +MSG_LOGINPROMPT_CON +\n\nLogin : +; +MSG_PASSWDPROMPT_GUI +Введите Ваш пароль +; +MSG_PASSWDPROMPT_CON +Пароль : +; +MSG_LOGINFAIL_GUI +Login Incorrect +; +MSG_LOGINFAIL_CON +\n Login Incorrect !!\n +; +MSG_LASTLOGIN +Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN +Logged in on %s, %s at %s.\n\nNever logged in before. +; +; warning strings +; +MSG_NOMUFS +У Вас должен быть хотя бы один раздел с файловой системой AFFS +; +MSG_NOCONFIGFILE +Ошибка загрузки конфигурационного файла\nИспользуются параметры по умолчанию +; +MSG_BADKEYFILE +Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD +Найдено неверное значение на строке %ld файла паролей\nЭта линия будет игнорироваться +; +MSG_BADENTRY_GROUP +Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG +Bad value(s) found on line %ld of the configuration file\n\ +This value will be ignored +; +MSG_BADOPTION_CONFIG +Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS +Too many secondary groups for user with uid %ld\n\ +Line %ld of the group file will be ignored +; +; logfile strings +; +MSG_LOG_STARTUP +Startup +; +MSG_LOG_LOGIN +Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL +Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD +Passwd for %ld +; +MSG_LOG_PASSWDFAIL +Неверный пароль для %ld +; +MSG_LOG_CHECKPASSWD +CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL +CheckPasswd for %ld failed +; diff --git a/rom/security/catalogs/security._t b/rom/security/catalogs/security._t new file mode 100644 index 00000000000..54de2d10116 --- /dev/null +++ b/rom/security/catalogs/security._t @@ -0,0 +1,116 @@ +## version $VER: XX.catalog XX.XX (XX.XX.XX) +## codeset X +## language X +; +MSG_OK + +; OK +; +MSG_RESUME + +; Resume +; +MSG_WARNING_GUI + +; Multiuser Warning +; +MSG_LOGINREQ_GUI + +; Multiuser Login Request +; +MSG_LOGINPROMPT_GUI + +; AROS %s at %s\n\nEnter your Login ID +; +MSG_LOGINREQ_CON + +; \033[0;0H\033[J\n\n\n AROS %s at %s\n +; +MSG_LOGINPROMPT_CON + +; \n\nLogin : +; +MSG_PASSWDPROMPT_GUI + +; Enter your Password +; +MSG_PASSWDPROMPT_CON + +; Password : +; +MSG_LOGINFAIL_GUI + +; Login Incorrect +; +MSG_LOGINFAIL_CON + +; \n Login Incorrect !!\n +; +MSG_LASTLOGIN + +; Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN + +; Logged in on %s, %s at %s.\n\nNever logged in before. +; +MSG_NOMUFS + +; You must have at least one partition with the MultiUserFileSystem +; +MSG_NOCONFIGFILE + +; Couldn't load the configuration file\nUsing the default configuration +; +MSG_BADKEYFILE + +; Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD + +; Bad entry found on line %ld of the password file\nThis line will be ignored +; +MSG_BADENTRY_GROUP + +; Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG + +; Bad value(s) found on line %ld of the configuration file\nThis value will be ignored +; +MSG_BADOPTION_CONFIG + +; Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS + +; Too many secondary groups for user with uid %ld\nLine %ld of the group file will be ignored +; +MSG_LOG_STARTUP + +; Startup +; +MSG_LOG_LOGIN + +; Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL + +; Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD + +; Passwd for %ld +; +MSG_LOG_PASSWDFAIL + +; Passwd for %ld failed +; +MSG_LOG_CHECKPASSWD + +; CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL + +; CheckPasswd for %ld failed +; diff --git a/rom/security/catalogs/security.cd b/rom/security/catalogs/security.cd new file mode 100644 index 00000000000..871c533f784 --- /dev/null +++ b/rom/security/catalogs/security.cd @@ -0,0 +1,95 @@ +; +; $VER: Security.cd 1.0 (28.02.94) +; +; misc. strings +; +MSG_OK(//) +OK +; +MSG_RESUME(//) +Resume +; +MSG_WARNING_GUI(//) +Security Warning +; +MSG_LOGINREQ_GUI(//) +Security Login Request +; +MSG_LOGINPROMPT_GUI(//) +\33cWelcome to the AROS Research OS\nAROS Version: %s\n\nPlease fill in your user details\nto log onto %s. +; +MSG_LOGINREQ_CON(//) +\033[0;0H\033[J\n\n\n AROS %s at %s\n +; +MSG_LOGINPROMPT_CON(//) +\n\nLogin : +; +MSG_PASSWDPROMPT_GUI(//) +Enter your Password +; +MSG_PASSWDPROMPT_CON(//) +Password : +; +MSG_LOGINFAIL_GUI(//) +Login Incorrect +; +MSG_LOGINFAIL_CON(//) +\n Login Incorrect !!\n +; +MSG_LASTLOGIN(//) +Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN(//) +Logged in on %s, %s at %s.\n\nNever logged in before. +; +; warning strings +; +MSG_NOMUFS(100//) +You must have at least one partition with the AFFS FileSystem +; +MSG_NOCONFIGFILE(//) +Couldn't load the configuration file\nUsing the default configuration +; +MSG_BADKEYFILE(//) +Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD(//) +Bad entry found on line %ld of the password file\nThis line will be ignored +; +MSG_BADENTRY_GROUP(//) +Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG(//) +Bad value(s) found on line %ld of the configuration file\n\ +This value will be ignored +; +MSG_BADOPTION_CONFIG(//) +Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS(//) +Too many secondary groups for user with uid %ld\n\ +Line %ld of the group file will be ignored +; +; logfile strings +; +MSG_LOG_STARTUP(200//) +Startup +; +MSG_LOG_LOGIN(//) +Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL(//) +Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD(//) +Passwd for %ld +; +MSG_LOG_PASSWDFAIL(//) +Passwd for %ld failed +; +MSG_LOG_CHECKPASSWD(//) +CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL(//) +CheckPasswd for %ld failed +; diff --git a/rom/security/catalogs/securitysupp.cd b/rom/security/catalogs/securitysupp.cd new file mode 100644 index 00000000000..0f1061124f3 --- /dev/null +++ b/rom/security/catalogs/securitysupp.cd @@ -0,0 +1,244 @@ +; +; $VER: security_support.cd 1.0 (4.3.94) +; +; Freeze, Kill, Unfreeze +; +MSG_BADARG(//) +Bad argument\n +; +MSG_KILLFAIL(//) +Couldn't kill task\n +; +MSG_FREEZEFAIL(//) +Couldn't freeze task\n +; +MSG_UNFREEZEFAIL(//) +Couldn't unfreeze task\n +; +; LimitDOSSetProtection +; +MSG_BOTH_ONOFF(//) +You can't specify both ON and OFF\n +; +MSG_NO_ONOFF(//) +You must specify one of ON and OFF\n +; +; Login & Logout +; +MSG_BOTH_TASKPROC(//) +Both TASK and PROCESS cannot be specified \n +; +MSG_BOTH_USERIDOWN(//) +Both USERID and OWN cannot be specified \n +; +MSG_TASKNOTFOUND(//) +Couldn't find task [ID=\'%s\']\n +; +MSG_PROCNOTFOUND(//) +Couldn't find process [ID=%ld]\n +; +MSG_LOGINOK(//) +Successfully Loged in \n +; +MSG_LOGINFAIL(//) +Login has failed\n +; +; MakeKeyFiles +; +MSG_KEYFILEFAIL(//) +Couldn't create keyfile on volume \'%s\' +; +MSG_KEYFILEBACKUP(//) +\n\033[1m Do NOT forget to make a backup of all Keyfiles!!\033[0m\n\n +; +MSG_BADCONFIGDIR(//) +The configuration directory must be on a partition using the AFFS FileSystem\n +; +MSG_BADPASSWDDIR(//) +The password directory must be on a partition using the AFFS FileSystem\n +; +; MAssign +; +MSG_INVALID_DEVICE(//) +Invalid device name %s\n +; +MSG_MUSTBEROOT(//) +MAssign must be run by root\n +; +MSG_ASSIGNCONFLICT(//) +%s conflicts with another assign\n +; +; MList +; +MSG_DIRECTORY(//) +Directory \"%s\"\n +; +MSG_USAGE(//) +%ld files - %ld directories - %ld blocks used\n\n +; +MSG_TOTAL(//) +TOTAL: +; +; MProtect +; +MSG_BOTH_ADDSUB(//) +You can't specify both ADD and SUB\n +; +MSG_WARN_UW(//) +WARNING: U and W are both set\n +; +MSG_DONE(//) +...Done\n +; +MSG_INVALID_FLAG(//) +Invalid flag - must be one of %s\n +; +; Passwd +; +MSG_ENTEROLDPWD_GUI(//) +Enter your old password +; +MSG_ENTERNEWPWD_GUI(//) +Enter your new password +; +MSG_RETYPEPWD_GUI(//) +Retype your new password +; +MSG_PASSWDREQ_GUI(//) +MultiUser Passwd Request +; +MSG_ENTEROLDPWD_CON(//) +Old password : +; +MSG_ENTERNEWPWD_CON(//) +\nNew password : +; +MSG_RETYPEPWD_CON(//) +\nRetype new password : +; +MSG_RETYPEERROR_GUI(//) +Error retyping new password +; +MSG_RETYPEERROR_CON(//) +Error retyping new password\n +; +MSG_PWDCHANGEOK_GUI(//) +Password successfully changed +; +MSG_PWDCHANGEOK_CON(//) +Password successfully changed\n +; +MSG_PWDCHANGEFAIL_GUI(//) +Changing password failed +; +MSG_PWDCHANGEFAIL_CON(//) +Changing password failed\n +; +MSG_OK(//) +OK +; +; RunCommand +; +MSG_NOMEMSTACK(//) +Not enough memory for stack\n +; +MSG_ONLYFROMCLI(//) +RunCommand must be used from a CLI\n +; +; SetDefProtection +; +MSG_SETDEFPROTECTFAIL(//) +SetDefProtect failed\n +; +; SetOwner(37) (see also MProtect) +; +MSG_INVALID_OPTIONS(//) +Invalid options\n +; +MSG_UNKNOWN_USER(//) +Unknown User \'%s\'\n +; +MSG_UNKNOWN_GROUP(//) +Unknown Group \'%s\'\n +; +; Tasks (see also MProtect) +; +MSG_TFORMAT_HEAD1(//) +Type Node Pri Name/Command Owner\n +; +MSG_TFORMAT_HEAD2(//) +-----------------------------------------------------------\n +; +MSG_TFORMAT_LINE(//) +%-7s %08lx %3ld %-32s %s\n +; +MSG_CLI(//) +CLI %3ld +; +MSG_PROC(//) +Process +; +MSG_TASK(//) +Task +; +; UserInfo (see also SetOwner) +; +MSG_UINFO_THIS(//) +Dumping information for this user...\n +; +MSG_UINFO_ALL(//) +Dumping information for all users...\n +; +MSG_UINFO_USERID(//) +Dumping information for user \'%s\'...\n +; +MSG_UINFO_UID(//) +Dumping information for user %ld...\n +; +MSG_GINFO_GROUPID(//) +Dumping information for group \'%s\'...\n +; +MSG_GINFO_GID(//) +Dumping information for group %ld...\n +; +MSG_NOINFO(//) +No information\n +; +MSG_UFORMAT_USER(//) +\nUser \'%s\' (uid %ld), group \'%s\' (gid %ld)\n\ +In real life \'%s\'\nHome Directory \'%s\'\n +; +MSG_UFORMAT_SECGROUPS(//) +Secondary groups: \'%s\' (gid %ld) +; +MSG_UFORMAT_SECGROUPS2(//) +, \'%s\' (gid %ld) +; +MSG_UFORMAT_NOSECGROUPS(//) +No secondary groups.\n +; +MSG_NEVERLOGGED(//) +Never logged in.\n +; +MSG_LASTLOGGED(//) +Last login on %s, %s at %s.\n +; +MSG_PLAN(//) +Plan:\n +; +MSG_NOPLAN(//) +No plan.\n +; +MSG_NOLOGACCESS(//) +No access to last login or plan.\n +; +; Who +; +MSG_UNKNOWN_UID(//) +Unknown user %04lx\n +; +MSG_NOBODY(//) +Anonymous User +; +; see also SetOwner +; diff --git a/rom/security/catalogs/spanish.ct b/rom/security/catalogs/spanish.ct new file mode 100644 index 00000000000..e36f79ecbbc --- /dev/null +++ b/rom/security/catalogs/spanish.ct @@ -0,0 +1,138 @@ +## version $VER: Security.catalog 1.0 (05.01.2020) +## language español +## codeset 0 +; +; Translated by ahg +; +; misc. strings +; +MSG_OK +Aceptar +;OK +; +MSG_RESUME +Continuar +;Resume +; +MSG_WARNING_GUI +Advertencia de Seguridad +;Security Warning +; +MSG_LOGINREQ_GUI +Petición de Acceso de Seguridad +;Pedido de Acceso Seguro +;Security Login Request +; +MSG_LOGINPROMPT_GUI +\33cBienvenido al AROS Research OS\n\ +Versión de AROS: %s\n\n\ +Escriba sus datos de usuario\n\ +para ingresar en %s. +;\33cWelcome to the AROS Research OS\nAROS Version: %s\n\nPlease fill in your user details\nto log onto %s. +; +MSG_LOGINREQ_CON +\033[0;0H\033[J\n\n\n AROS %s at %s\n +; +MSG_LOGINPROMPT_CON +\n\nUsuario..: +;\n\nLogin : +; +MSG_PASSWDPROMPT_GUI +Escriba su Contraseña +;Enter your Password +; +MSG_PASSWDPROMPT_CON +Contraseña : +;Password : +; +MSG_LOGINFAIL_GUI +Usuario Incorrecto +;Login Incorrect +; +MSG_LOGINFAIL_CON +\n....¡Usuario Incorrecto!\n +;\n Login Incorrect !!\n +; +MSG_LASTLOGIN +Ingreso en %s, %s en %s.\n\nEl último ingreso en %s, %s fue en %s. +;Logged in on %s, %s at %s.\n\nLast login on %s, %s at %s. +; +MSG_FIRSTLOGIN +Ingreso en %s, %s en %s.\n\nNunca antes ingresó. +;Logged in on %s, %s at %s.\n\nNever logged in before. +; +; warning strings +; +MSG_NOMUFS +Debes tener al menos una partición\n\ +con el Sistema de Archivos AFFS +;You must have at least one partition with the AFFS FileSystem +; +MSG_NOCONFIGFILE +No se puede cargar el archivo de configuración\n\ +Usando la configuración predeterminada +;Couldn't load the configuration file\nUsing the default configuration +; +MSG_BADKEYFILE +Violación de Seguridad:\n\ +El archivo de claves está mal\n\ +o es inconsistente +;Security violation: Bad or inconsistent keyfile(s) found +; +MSG_BADENTRY_PASSWD +La entrada del renglón %ld del archivo\n\ +de contraseñas está mal. Será ignorada +;Bad entry found on line %ld of the password file\nThis line will be ignored +; +MSG_BADENTRY_GROUP +La entrada del renglón %ld del archivo \n\ +de grupos está mal. Será ignorada +;Bad entry found on line %ld of the group file\nThis line will be ignored +; +MSG_BADVALUE_CONFIG +El valor en el renglón %ld del archivo\n\ +de configuración está mal. Será ignorado +;Bad value(s) found on line %ld of the configuration file\n\ +;This value will be ignored +; +MSG_BADOPTION_CONFIG +La opción en el renglón %ld del archivo\n\ +de configuración está mal. Será ignorado +;Bad option found on line %ld of the configuration file\nThis line will be ignored +; +MSG_TOOMANYSECGROUPS +Demasiados grupos secundarios para el usuario con uid %ld\n\ +Se ignorará el renglón %ld del archivo de grupos +;Too many secondary groups for user with uid %ld\n\ +;Line %ld of the group file will be ignored +; +; logfile strings +; +MSG_LOG_STARTUP +Inicio +;Startup +; +MSG_LOG_LOGIN +Ingreso desde %ld a \'%s\' +;Login from %ld to \'%s\' +; +MSG_LOG_LOGINFAIL +Falló el ingreso desde %ld a \'%s\' +;Login from %ld to \'%s\' failed +; +MSG_LOG_PASSWD +Contraseña para %ld +;Passwd for %ld +; +MSG_LOG_PASSWDFAIL +Falló la contraseña para %ld +;Passwd for %ld failed +; +MSG_LOG_CHECKPASSWD +Comprobación de la Contraseña para %ld +;CheckPasswd for %ld +; +MSG_LOG_CHECKPASSWDFAIL +Falló la Comprobación de la Contraseña para %ld +;CheckPasswd for %ld failed +; diff --git a/rom/usb/trident/catalogs b/rom/usb/trident/catalogs deleted file mode 160000 index 436a8461e65..00000000000 --- a/rom/usb/trident/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 436a8461e65030cf13671cce6855ca66fcbd7f2b diff --git a/rom/usb/trident/catalogs/.gitattributes b/rom/usb/trident/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/rom/usb/trident/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/rom/usb/trident/catalogs/czech.ct b/rom/usb/trident/catalogs/czech.ct new file mode 100644 index 00000000000..daa007832db --- /dev/null +++ b/rom/usb/trident/catalogs/czech.ct @@ -0,0 +1,1134 @@ +## version $VER: Trident.catalog 2.0 (24.1.2017) +## language czech +## codeset 5 +; +MSG_APP_TITLE +Trident +; Trident +; +MSG_APP_VERSION +4.3 (27. května 2009) +; 4.3 (27-May-09) +; +MSG_APP_DESC +Nastavení pro Poseidon +; Poseidon USB Stack GUI +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_ABOUT +O programu... +; About... +; +MSG_MENU_ABOUTMUI +O rozhraní MUI... +; About MUI... +; +MSG_MENU_HELP +Nápověda +; Help +; +MSG_MENU_ONLINE +Online +; Online +; +MSG_MENU_SC_ONLINE +O +; O +; +MSG_MENU_OFFLINE +Offline +; Offline +; +MSG_MENU_SC_OFFLINE +F +; F +; +MSG_MENU_ICONIFY +Ikonifikovat +; Iconify +; +MSG_MENU_SC_ICONIFY +H +; H +; +MSG_MENU_QUIT +Ukončit +; Quit +; +MSG_MENU_SC_QUIT +Q +; Q +; +MSG_MENU_INFO +Informace +; Information +; +MSG_MENU_SAVELOG +Uložit výpis chyb... +; Save error log... +; +MSG_MENU_FLUSH +Vymazat výpis chyb +; Flush errors +; +MSG_MENU_SAVEDEV +Uložit seznam zařízení... +; Save device list... +; +MSG_MENU_SETTINGS +Nastavení +; Settings +; +MSG_MENU_LOAD +Načíst... +; Load... +; +MSG_MENU_SC_LOAD +L +; L +; +MSG_MENU_SAVE +Uložit +; Save +; +MSG_MENU_SC_SAVE +S +; S +; +MSG_MENU_SAVEAS +Uložit jako... +; Save as... +; +MSG_MENU_SC_SAVEAS +A +; A +; +MSG_MENU_MUISETTINGS +Nastavení MUI +; MUI Settings +; +MSG_MENU_SC_MUISETTINGS +M +; M +; +MSG_WINDOW_TITLE +Trident 4.3 +; Trident 4.3 +; +MSG_MAINPANEL_GENERAL +Obecné +; General +; +MSG_MAINPANEL_CONTROLLERS +Řadiče +; Controllers +; +MSG_MAINPANEL_DEVICES +Zařízení +; Devices +; +MSG_MAINPANEL_CLASSES +Kategorie +; Classes +; +MSG_MAINPANEL_OPTIONS +Možnosti +; Options +; +MSG_MAINPANEL_POPUPS +Upozornění +; Popups +; +MSG_MAINPANEL_CONFIG +Konfigurace +; Config +; +MSG_ERRLVL_ALL +Všechny zprávy +; All messages +; +MSG_ERRLVL_WARNINGS +Upozornění +; Warning and worse +; +MSG_ERRLVL_ERRORS +Všechny chyby +; Errors and failures +; +MSG_ERRLVL_FAILURES +Závažné chyby +; Failures only +; +MSG_POPUP_NEVER +Upozornění nezobrazovat +; Never open a popup window! Bah! +; +MSG_POPUP_ERROR +Upozornit pouze na chyby +; Only popup on an error condition +; +MSG_POPUP_UNKNOWN +Upozornit na nové, neznámé zařízení +; Popup on new, unknown devices +; +MSG_POPUP_NOBINDING +Upozornit na neexistující propojení +; Popup, if there is no binding +; +MSG_POPUP_NOCONFIG +Upozornit na chybějící konfiguraci +; Popup, if there is no config yet +; +MSG_POPUP_CONFIGCLASS +Upozornit na známou kategorii +; Popup on configurable class +; +MSG_POPUP_BINDING +Upozornit bez ohledu na stav propojení +; Popup, regardless of binding +; +MSG_POPUP_ALWAYS +Upozornit na každou změnu +; Always immediately annoy me +; +MSG_PANEL_GENERAL_LABEL1 +\33cGrafické rozhraní Trident +; \33cTrident V4.3 Graphical User Interface +; +MSG_PANEL_GENERAL_LABEL2 +\33cpro balík Poseidon USB +; \33cfor the Poseidon USB Stack +; +MSG_PANEL_GENERAL_LABEL3 +\33cCopyright (c) 2002-2009 Chris Hodges +; \33cCopyright \xa92002-2009 Chris Hodges +; +MSG_PANEL_GENERAL_LABEL4 +\33cVšechna práva vyhrazena +; \33cAll rights reserved. +; +MSG_PANEL_GENERAL_LABEL5 +\33cMason Icons (c) Martin Merz +; \33cMason Icons are\ncourtesy of Martin Merz. +; +MSG_PANEL_HARDWARE_LABEL1 +\33c\33bSeznam řadičů +; \33c\33bUSB Hardware Controllers available +; +MSG_PANEL_HARDWARE_CONTROLLER_HELP +Zobrazí seznam řadičů hardwaru, přičemž v systému\nlze mít vícero různých typů.\nNový přidáte kliknutím na tlačítko 'Přidat'. Před\npřipojením prvního nového zařízení je nutno řadič\nručně uvést do stavu online. +; This is the list of available hardware controllers.\nSeveral different controllers can be in the system at\nthe same time.\nTo add an entry, use the 'New' gadget at the bottom.\nYou need to manually set an hardware controller online\nthe first time you add the device. +; +MSG_PANEL_HARDWARE_COLS_NAME +\33uNázev +; \33uName +; +MSG_PANEL_HARDWARE_COLS_UNIT +\33uJedn. +; \33uUnit +; +MSG_PANEL_HARDWARE_COLS_ONLINE +\33uOnline +; \33uOnline +; +MSG_PANEL_HARDWARE_COLS_PRODUCT +\33uProdukt +; \33uProduct +; +MSG_PANEL_HARDWARE_ONLINE_YES +ano +; Yes +; +MSG_PANEL_HARDWARE_ONLINE_NO +ne +; No +; +MSG_PANEL_HARDWARE_UNKNOWN +\33ineznámý +; \33iunknown until online +; +MSG_PANEL_HARDWARE_LABEL2 +Zařízení: +; Device: +; +MSG_PANEL_HARDWARE_DEVICE_HELP +Zobrazí název ovladače zařízení. Tyto soubory\nnajdete obvykle v DEVS:USBHardware. +; Give the name of the controller device\ndriver in this field. These devices are\nnormally stored in DEVS:USBHardware. +; +MSG_PANEL_HARDWARE_SELECT +Vyberte řadič USB... +; Select USBHardware device... +; +MSG_PANEL_HARDWARE_UNIT +Jednotka: +; Unit: +; +MSG_PANEL_HARDWARE_UNIT_HELP +Pokud je v systému připojeno více karet téhož\ntypu, zde zadejte číslo vybraného. +; If there are multiple cards of the\nsame kind in your machine, enter\nthe unit number of the board here. +; +MSG_PANEL_HARDWARE_DRIVER_NEW +\33cPřidat +; \33c New +; +MSG_PANEL_HARDWARE_DRIVER_NEW_HELP +Kliknutím přidáte nový ovladač hardwaru. +; Click here to create a\nnew hardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_COPY +\33cZkopírovat +; \33c Copy +; +MSG_PANEL_HARDWARE_DRIVER_COPY_HELP +Kliknutím zkopírujete vybraný ovladač hardwaru. +; Click here to copy the selected\nhardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_DELETE +\33cOdebrat +; \33c Delete +; +MSG_PANEL_HARDWARE_DRIVER_DELETE_HELP +Kliknutím odstraníte vybraný ovladač hardwaru.\nOdpovídající (včetně souvisejících) zařízení\nse automaticky odpojí. +; Click here to remove the selected entry.\nThe hardware will automatically go offline,\ntaking all its connected devices down. +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE +\33cOnline +; \33c Online +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE_HELP +Kliknutím aktivujete vybraný ovladač hardwaru. +; Click here to activate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE +\33cOffline +; \33c Offline +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE_HELP +Kliknutím deaktivujete vybraný ovladač hardwaru. +; Click here to deactivate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_INFO +\33c Informace +; \33c Info +; +MSG_PANEL_HARDWARE_DRIVER_INFO_HELP +Zobrazuje přehled informací o ovladačích hardwaru.\nChcete-li zobrazit podrobnější údaje, vyberte\npožadovaný ovladač a klikněte na tlačítko 'Informace'. +; To get information on the device driver,\nclick here. The device needs to be online\nfor the information to be available. +; +MSG_PANEL_DEVICES_LABEL +\33c\33bSeznam zařízení +; \33c\33bUSB Devices in the system +; +MSG_PANEL_DEVICES_HELP +Zobrazuje seznam zařízení připojených do systému\nvčetně údajů o rychlosti, stavu, kategorii a event.\npropojení. +; This is the list of USB devices (functions)\ncurrently in the system. It also shows the\ncurrently existing device or interface bindings. +; +MSG_PANEL_DEVICES_COLS_NAME +\33uNázev +; \33uName +; +MSG_PANEL_DEVICES_COLS_SPEED +\33uRychlost +; \33uSpeed +; +MSG_PANEL_DEVICES_COLS_STATE +\33uStav +; \33uState +; +MSG_PANEL_DEVICES_COLS_CLASS +\33uKategorie +; \33uClass +; +MSG_PANEL_DEVICES_COLS_BINDINGS +\33uPropojení +; \33uBindings +; +MSG_PANEL_DEVICES_SCAN +\33cZařadit +; \33c Class Scan +; +MSG_PANEL_DEVICES_SCAN_HELP +Provede rozřazení zařízení do kategorií. Podle svých\nfunkcí patří každé zařízení do určité kategorie\na pokud danou kategorii Poseidon podporuje, přiřadí\nodpovídající propojení včetně zavedení do systému. +; Clicking on this button will start a class scan. This means that\neach device will be examined if it matches some of the standard\nclasses in the system. In this case, a binding will be established\nand the functionality will be added to the system automatically.\n +; +MSG_PANEL_DEVICES_UNBIND +\33cOdpojit +; \33c Unbind +; +MSG_PANEL_DEVICES_UNBIND_HELP +Umožní ručně odpojit vybrané zařízení. To je výhodné\ntehdy, chcete-li dané zařízení dočasně deaktivovat.\nZnovu ho aktivujete kliknutím na tlačítko 'Zařadit'. +; Manually removes a binding. This can be\nuseful to temporarily deactivate a device.\nUse 'Class Scan' to reactivate the binding. +; +MSG_PANEL_DEVICES_INFO +\33cInformace +; \33c Information +; +MSG_PANEL_DEVICES_INFO_HELP +Otevře okno s podrobnými informacemi o zařízení. +; Opens a detailed information window.\nJust try it, nothing can go wrong. +; +MSG_PANEL_DEVICES_SETTINGS +\33cNastavení +; \33c Settings +; +MSG_PANEL_DEVICES_SETTINGS_HELP +Pokud vybrané zařízení nabízí možnost konfigurace,\nkliknutím na toto tlačítko otevřete okno s přehledem\nmožností nastavení.\n\nPozn.: Možnosti týkající se konfigurace propojení\nnajdete v okně s informacemi o zařízení. +; If there is a device binding and the class\nsupports a configuration GUI, clicking on this\nbutton will open the preferences window.\n\nNote well, that the corresponding button for the\ninterface binding settings can be found inside\nthe information window. +; +MSG_PANEL_DEVICES_SUSPEND +\33cUspat +; \33c Suspend +; +MSG_PANEL_DEVICES_SUSPEND_HELP +Přepne vybrané zařízení do režimu spánku. Pokud\nkategorie daného zařízení tento režim nepodporuje,\nnestane se nic. +; Sends device into power saving suspend mode.\nIf a class binding does not support suspend,\nthis button will do nothing. +; +MSG_PANEL_DEVICES_RESUME +\33cProbudit +; \33c Resume +; +MSG_PANEL_DEVICES_RESUME_HELP +Probudí vybrané zařízení z režimu spánku (bylo-li\npředtím v tomto režimu). +; Resumes the device to full operation after\nit was placed into suspend mode.\n +; +MSG_PANEL_DEVICES_POWERCYCLE +\33cReaktivovat +; \33c Powercycle +; +MSG_PANEL_DEVICES_POWERCYCLE_HELP +Vypne a zapne napájení pro odpovídající port rozbočovače.\nTento postup je výhodný tehdy, chcete-li znovu aktivovat\nnereagující zařízení. +; Power cycles the hub port and re-enumerates\ndevice. Comes handy to reactivate dead devices.\n +; +MSG_PANEL_DEVICES_DISABLE +\33cVypnout +; \33c Disable +; +MSG_PANEL_DEVICES_DISABLE_HELP +Odpojí napájení portu rozbočovače, ve kterém je\nvybrané zařízení. Toto zařízení pak již nelze znovu\naktivovat prostým vytažením a zasunutím zpět do portu. +; Permanently powers off the port. It cannot be\nreactivated by unplugging/replugging the device.\n +; +MSG_POSEIDON_SHORTHELP +Poseidón (v římské mytologii Neptun) je bůh moře,\nsyn Kronův a Rheiin, bratr Dia, Háda, Démétér, Héry\na Hestie. Jeho manželkou je Amfitríta a synem Triton.\nStejně jako ostatní olympští bohové má mnoho pletek\n(např. s Medúsou) a z nich nesčetně dalších potomků\n(např. Pegas). +; Poseidon (his latin name Neptune) the god of the sea\nand its inhabitants, and one of the Olympians, the son\nof Cronus and Rhea, brother of Zeus, Hades, Demeter,\nHera, Hestia. He was married to Amphitrite, a Nereid,\nand had by her the son Triton, a merman. Like other\nOlympians, had many love affairs (e.g. with Medusa)\nand numerous children (e.g. Pegasos). +; +MSG_PANEL_CLASSES +\33c\33bSeznam kategorií +; \33c\33bUSB Classes available +; +MSG_PANEL_CLASSES_HELP +Představuje seznam kategorií zařízení, přičemž každé\nkategorii odpovídá ovladač. Pomocí tlačítka 'Přidat'\nlze ovladač dodat ručně, tlačítkem 'Identifikovat' pak\nautomaticky. +; This is the list of USB classes available.\nEach class is a software driver for a group of\nUSB devices. Classes can be manually added using\nthe 'Add' button or automatically with 'Dir Scan'. +; +MSG_PANEL_CLASSES_COLS_NAME +\33uNázev +; \33uName +; +MSG_PANEL_CLASSES_COLS_USE +\33uPoužití +; \33uUse# +; +MSG_PANEL_CLASSES_COLS_DESC +\33uPopis +; \33uDescription +; +MSG_PANEL_CLASSES_LABEL +Kategorie: +; Class library: +; +MSG_PANEL_CLASSES_LABEL_HELP +Chcete-li přidat ovladač pro kategorii (skupinu)\nzařízení ručně, zadejte do tohoto textového pole\ncestu včetně názvu ovladače a klikněte na tlačítko\n'Přidat'. +; To manually add an usb class driver,\nenter its name here and click on 'Add'. +; +MSG_PANEL_CLASSES_SELECT +Vyberte kategorii zařízení... +; Select USB class library... +; +MSG_PANEL_CLASSES_ADD +\33cPřidat +; \33cAdd +; +MSG_PANEL_CLASSES_ADD_HELP +Chcete-li přidat ovladač pro kategorii (skupinu)\nzařízení ručně, zadejte do výše umístěného textového\npole cestu včetně názvu ovladače a klikněte na toto\ntlačítko. +; To manually add an usb class\ndriver, enter its name above\nand click on this button. +; +MSG_PANEL_CLASSES_REMOVE +\33cOdebrat +; \33c Remove +; +MSG_PANEL_CLASSES_REMOVE_HELP +Umožní odebrat ovladač kategorie zařízení včetně\nvšech propojení. +; Click here to remove a class driver\nand all its current bindings. +; +MSG_PANEL_CLASSES_CONFIG +\33cKonfigurovat +; \33c Configure +; +MSG_PANEL_CLASSES_CONFIG_HELP +Pokud vybraný ovladač nabízí možnost konfigurace,\nkliknutím na toto tlačítko otevřete okno s přehledem\nmožností nastavení. +; If a class driver supports some kind of\nconfiguration, click here and it will\nopen a configuration window of the class. +; +MSG_PANEL_CLASSES_SCAN +\33cIdentifikovat +; \33c Dir Scan +; +MSG_PANEL_CLASSES_SCAN_HELP +Projde seznam dostupných ovladačů a automaticky\nje přidá do systému. +; Automatically scans for class\ndrivers and\nadds all drivers found to the system. +; +MSG_PANEL_OPTIONS +\33c\33bOstatní možnosti +; \33c\33bVarious Settings +; +MSG_PANEL_OPTIONS_STACK +Obecné možnosti +; Stack Settings +; +MSG_PANEL_OPTIONS_PRIORITY +Priorita úloh: +; SubTask priority: +; +MSG_PANEL_OPTIONS_PRIORITY_HELP +Definuje priority všech podpůrných úloh spouštěných\nprogramem Poseidon. +; Defines the task priority of all\nsubtasks started by Poseidon. +; +MSG_PANEL_OPTIONS_BOOT +Zpoždění při startu: +; Boot delay: +; +MSG_PANEL_OPTIONS_BOOT_HELP +Definuje dobu, po kterou Poseidon čeká na pomalejší\nzařízení typu mechaniky CD nebo DVD tak, aby z nich\nbylo možno nastartovat systém. +; If reset resident, this value defines,\nhow long Poseidon should wait for USB\ndevices to settle, allowing to boot from\nslow devices such as an USB CD drive. +; +MSG_PANEL_OPTIONS_BOOT_FORMAT +%ld sek. +; %ld sec. +; +MSG_PANEL_OPTIONS_DISABLELOW +V případě nedostatečného napájení vypnout port rozbočovače: +; Automatically disable hub port on low power conditions: +; +MSG_PANEL_OPTIONS_DISABLELOW_HELP +Umožní automaticky odpojit zařízení, jehož odběr\npřevyšuje možnosti portu rozbočovače. +; If a low power condition is detected at a port,\nselecting this switch will automatically turn off\nthe device causing the low power condition. +; +MSG_PANEL_OPTIONS_DISABLEDEAD +V případě chyby zařízení vypnout port rozbočovače: +; Automatically disable hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_DISABLEDEAD_HELP +Vypne port rozbočovače v případě, že zařízení přestane\nreagovat (obvykle chyby při přenosu dat). +; If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be disabled automatically to avoid unnecessary\nperformance penalties. +; +MSG_PANEL_OPTIONS_POWERCYCLE +V případě chyby zařízení reaktivovat port rozbočovače: +; Automatically power cycle hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_POWERCYCLE_HELP +Pokusí se reaktivovat port rozbočovače v případě,\nže zařízení přestane reagovat (obvykle se předtím\nobjevují chyby při přenosu dat).\nTímto způsobem může dojít jak k nápravě situace,\ntak také k výraznému \33bzhoršení\33n (např. zacyklení této\noperace) a pádu systému! +; If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be reset automatically to try to revive the\ndevice. However, this can lead to nasty infinity loops. +; +MSG_PANEL_OPTIONS_POWERSAVE +Povolit režim šetření energií: +; Enable power-saving suspend mode: +; +MSG_PANEL_OPTIONS_POWERSAVE_HELP +Po uplynutí definované doby přepne zařízení do režimu\nšetření energií.\nOdběr v tomto režimu klesne pod 1 mA, přičemž obnovení\npracovního režimu trvá obvykle do 25 ms. +; Devices will be placed into suspend mode after\na specified interval of inactivity.\nPower consumption goes down to less than 1mA.\nResuming of operation usually takes place within 25ms. +; +MSG_PANEL_OPTIONS_FORCESUSPEND +Vynutit režim spánku i tehdy, nepodporuje-li ho ovladač: +; Force suspend mode, even if not supported by class: +; +MSG_PANEL_OPTIONS_FORCESUSPEND_HELP +Ovladače jednotlivých kategorií zařízení by měly\npodporovat režim šetření energií. V případě že tomu\ntak není, tato funkce zruší propojení související\ns ovladačem a následně zařízení nuceně uvede\ndo režimu spánku.\nPozn.: Funkce se týká pouze těch zařízení, které lze\nprobudit odpovídajícím signálem zvenčí. +; Class drivers should support going into suspend\nmode. If they don't, enabling this switch will\nsimply release the binding prior to suspending.\nThis is only performed on remote wakeup devices,\notherwise the class wouldn't rebind automatically. +; +MSG_PANEL_OPTIONS_INACTIVITY +Režim spánku po: +; Inactivity timeout for suspend: +; +MSG_PANEL_OPTIONS_INACTIVITY_HELP +Po uplynutí definované doby přepne zařízení do režimu\nšetření energií. +; Timeout before trying to place a device into\npower saving suspend mode. +; +MSG_PANEL_OPTIONS_INACTIVITY_FORMAT +%ld sek. +; %ld sec. +; +MSG_PANEL_OPTIONS_LOGGING +Výpis hlášení +; Logging Options +; +MSG_PANEL_OPTIONS_LOGGING_LABEL +Běžné informace: +; Log info messages: +; +MSG_PANEL_OPTIONS_LOGGING_LABEL_HELP +Povolí výpis běžných informací programu Poseidon. +; Toggles logging of normal\ninformation messages. +; +MSG_PANEL_OPTIONS_LOGGING_WARN +Upozornění: +; Log warnings: +; +MSG_PANEL_OPTIONS_LOGGING_WARN_HELP +Povolí výpis upozornění programu Poseidon. +; Toggles logging of warnings. +; +MSG_PANEL_OPTIONS_LOGGING_ERR +Běžné chyby: +; Log errors: +; +MSG_PANEL_OPTIONS_LOGGING_ERR_HELP +Povolí výpis běžných chyb programu Poseidon. +; Toggles logging of errors. +; +MSG_PANEL_OPTIONS_LOGGING_FAIL +Závažné chyby: +; Log failures: +; +MSG_PANEL_OPTIONS_LOGGING_FAIL_HELP +Povolí výpis závažných chyb programu Poseidon. +; Toggles logging of failures. +; +MSG_PANEL_OPTIONS_MEMORY +Velikost bloku paměti pro Poseidon Pool: +; Memory allocated in Poseidon Pool: +; +MSG_PANEL_POPO +\33c\33bMožnosti upozornění +; \33c\33bPopup Settings +; +MSG_PANEL_POPO_LABEL +Možnosti upozornění +; Popup Window Options +; +MSG_PANEL_POPO_CONNECT +Při připojení: +; On connecting: +; +MSG_PANEL_POPO_CONNECT_HELP +Zobrazí upozornění při připojení nového zařízení. +; Popup display behaviour on\nconnecting new USB devices +; +MSG_PANEL_POPO_DISCONNECT +Při odpojení: +; On disconnect: +; +MSG_PANEL_POPO_DISCONNECT_HELP +Zobrazí upozornění po odpojení zařízení. +; Whether to popup a window\nif the device is removed. +; +MSG_PANEL_POPO_DEATH +Při chybě zařízení: +; On device death: +; +MSG_PANEL_POPO_DEATH_HELP +Zobrazí upozornění v případě, že zařízení nereaguje. +; Open a requester, if device seems to be dead. +; +MSG_PANEL_POPO_DELAY +Doba upozornění: +; Popup delay: +; +MSG_PANEL_POPO_DELAY_HELP +Definuje dobu, po kterou bude upozornění zobrazeno. +; How long should the requester be displayed\nbefore disappearing automatically. +; +MSG_PANEL_POPO_DELAY_FORMAT +%ld sek. +; %ld sec. +; +MSG_PANEL_POPO_ACTIVATE +Aktivovat okno: +; Activate window: +; +MSG_PANEL_POPO_ACTIVATE_HELP +Při otevření aktivuje okno. +; Make the window active when opening. +; +MSG_PANEL_POPO_TOFRONT +Přenést do popředí: +; Pop to front: +; +MSG_PANEL_POPO_TOFRONT_HELP +Při změně obsahu přenese okno do popředí. +; Pop window to front, if content changes. +; +MSG_PANEL_POPO_CONSOUND +Zvuk při připojení: +; Connection sound: +; +MSG_PANEL_POPO_CONSOUND_HELP +Přehraje definovaný zvuk při připojení nového zařízení. +; This sound will be replayed everytime\na device is connected to the bus. +; +MSG_PANEL_POPO_CONSOUND_SELECT +Vyberte požadovaný zvuk... +; Select a sound file to be replayed... +; +MSG_PANEL_POPO_DISCONSOUND +Zvuk při odpojení: +; Disconnect sound: +; +MSG_PANEL_POPO_DISCONSOUND_HELP +Přehraje definovaný zvuk po odpojení zařízení. +; This sound will be replayed everytime\na device is removed from the bus. +; +MSG_PANEL_POPO_DISCONSOUND_SELECT +Vyberte požadovaný zvuk... +; Select a sound file to be replayed... +; +MSG_PANEL_CONFIG +\33c\33bMožnosti konfigurace +; \33c\33bConfiguration management (Use drag & drop) +; +MSG_PANEL_CONFIG_HELP +Zobrazuje přehled všech konfiguračních souborů, které\nPoseidon zapisuje do ENVARC:.\nLze využít ke smazání nebo exportu vybraných souborů,\npříp. i zkopírování nebo nahrazení (metodou 'táhnout\na pustit'). +; In this box you can see all the preferences that are\nsaved along the prefs file in ENVARC:.\nYou can use this panel to delete or export prefs.\n\nUse drag & drop to copy or replace preferences.\n +; +MSG_PANEL_CONFIG_COLS_TYPE +\33uDruh +; \33uType +; +MSG_PANEL_CONFIG_COLS_DESC +\33uPopis +; \33uDescription +; +MSG_PANEL_CONFIG_COLS_OWNER +\33uZdroj +; \33uOwner +; +MSG_PANEL_CONFIG_COLS_SIZE +\33uVelikost +; \33uSize +; +MSG_PANEL_CONFIG_SAVEAS +\33cUložit jako +; \33c Save as +; +MSG_PANEL_CONFIG_SAVEAS_HELP +Umožní konsolidovat a uložit všechny konfigurační\nsoubory do jednoho pro pozdější použití. +; Save all the prefs under given name\nfor reloading it later. +; +MSG_PANEL_CONFIG_EXPORT +\33cExportovat +; \33c Export +; +MSG_PANEL_CONFIG_EXPORT_HELP +Umožní vyexportovat vybraný konfigurační soubor. +; Allows you to save a selected entry\nto reload it later. +; +MSG_PANEL_CONFIG_IMPORT +\33cImportovat +; \33c Import +; +MSG_PANEL_CONFIG_IMPORT_HELP +Umožní načíst konfigurační soubor. +; Imports a previously saved piece of prefs. +; +MSG_PANEL_CONFIG_REMOVE +\33cOdstranit +; \33c Remove +; +MSG_PANEL_CONFIG_REMOVE_HELP +Umožní smazat vybraný konfigurační soubor. +; Deletes the selected prefs entry. +; +MSG_PANEL_CONFIG_MSGLOG +Výpis hlášení +; Message Log +; +MSG_PANEL_CONFIG_INFLVL +Ve výpisu: +; Information level: +; +MSG_PANEL_CONFIG_INFLVL_HELP +Definuje míru podrobnosti výpisu hlášení programu. +; This gadget determines the amount and\ntype of messages shown below. +; +MSG_PANEL_CONFIG_LOGSAVE +\33cUložit na disk +; \33c Save to disk +; +MSG_PANEL_CONFIG_LOGSAVE_HELP +Umožní uložit výpis hlášení programu do souboru. +; To generate a logfile of the errors,\ne.g. to send the information to me\nfor bug reporting or help. +; +MSG_PANEL_CONFIG_LOGFLUSH +\33cVymazat vše +; \33c Flush all +; +MSG_PANEL_CONFIG_LOGFLUSH_HELP +Umožní vymazat obsah výpisu hlášení programu. +; Clicking on this button will remove all\nthe messages in the stack. There's no way\nto get them back. +; +MSG_PANEL_CONFIG_LOGHELP +Zobrazuje přehled výpisu hlášení programu. Chcete-li\nvymazat tento seznam, klikněte na tlačítko 'Vymazat vše'. +; These are the messages of the Poseidon stack\ngenerated so far. If you want to clear this list\njust click on the 'Flush all messages' button. +; +MSG_PANEL_CONFIG_ALLONLINE +\33cVše online +; \33c All Online +; +MSG_PANEL_CONFIG_ALLONLINE_HELP +Spustí všechny ovladače hardwaru USB uvedené v sekci\n'Řadiče'. V souvislosti s touto akcí se zaktualizují\nvšechna propojení. +; Start all USB hardware device drivers that\nhave been entered in the 'Hardware' panel.\nMoreover, the found devices will be checked\nfor possible bindings. +; +MSG_PANEL_CONFIG_ALLOFFLINE +\33cVše offline +; \33c All Offline +; +MSG_PANEL_CONFIG_ALLOFFLINE_HELP +Ukončí veškeré ovladače hardwaru USB. +; Using 'Offline' you can take down all the USB\nhardware device drivers.\nThis totally halts the stack. +; +MSG_PANEL_CONFIG_RESTART +\33cRestartovat +; \33c Restart +; +MSG_PANEL_CONFIG_RESTART_HELP +Kliknutím na toto tlačítko ukončíte a znovu spustíte\nvšechny ovladače hardwaru USB. +; Clicking on 'Restart' will stop and restart\nall hardware device drivers. +; +MSG_PANEL_CONFIG_SAVE +\33cUložit +; \33c Save +; +MSG_PANEL_CONFIG_SAVE_HELP +Umožní trvale uložit nastavení programu. +; To save your current prefs to disk, click\non this button. The configuration will be\nstored in both ENVARC: and\n ENV:. +; +MSG_PANEL_CONFIG_USE +\33cPoužít +; \33c Use +; +MSG_PANEL_CONFIG_USE_HELP +Umožní dočasně (do příštího restartu) uložit\nnastavení programu. +; To use, but not permanently save your prefs\nclick this button. The configuration will be\nstored in ENV:. +; +MSG_UNKNOWN +neznámé +; unknown +; +MSG_HARDWARE_WINDOW +Informace o ovladači hardwaru +; Hardware driver information window +; +MSG_HARDWARE_WINDOW_HELP +Zobrazí přehled informací o vybraném ovladači hardwaru. +; These fields show some general information\non the USB hardware driver. +; +MSG_HARDWARE_WINDOW_FRAME +Přehled informací o ovladači hardwaru +; General USB hardware driver information +; +MSG_HARDWARE_WINDOW_LABEL +Zařízení:\nJednotka:\nVerze:\nProdukt:\nVýrobce:\nPopis:\nCopyright: +; Device:\nUnit:\nVersion:\nProduct:\nManufacturer:\nDescription:\nCopyright: +; +MSG_ACTION_SAVE_ERR +Vyberte soubor pro výpis hlášení... +; Select file to save errors to... +; +MSG_ACTION_SAVE_ERR_FILE +Errors.log +; Errors.log +; +MSG_ACTION_ERR_SAVED +Výpis hlášení uložen do souboru %s. +; Error log saved to file %s. +; +MSG_ACTION_ERR_SAVED_ERRWRITE +Chyba při zápisu do souboru %s. +; Error opening file %s for writing. +; +MSG_ACTION_SAVE_DEV +Vyberte soubor pro seznam zařízení... +; Select file to save device list to... +; +MSG_ACTION_SAVE_DEV_FILE +DevList.log +; DevList.log +; +MSG_ACTION_SAVE_DEV_ERREXE +Chyba při provádění funkce PsdDevLister +; Error executing PsdDevLister +; +MSG_ACTION_DEV_SAVED +Seznam zařízení uložen do souboru %s. +; DevLister saved to %s. +; +MSG_ACTION_PREFS_LOAD +Vyberte konfigurační soubor... +; Select a Poseidon Prefs file... +; +MSG_ACTION_PREFS_LOADED +Konfigurace načtena ze souboru %s. +; Config loaded from %s. +; +MSG_ACTION_PREFS_SAVEAS +Vyberte konfigurační soubor... +; Select file to save prefs to... +; +MSG_ACTION_PREFS_SAVED +Konfigurace uložena do souboru %s. +; Configuration successfully saved to %s. +; +MSG_ACTION_PREFS_SAVEDERR +Konfiguraci nelze uložit do souboru %s. +; Couldn't save config to %s. +; +MSG_ACTION_PREFS_NOTSAVED +Konfigurace nebyla uložena! +; Config not saved! +; +MSG_ACTION_PREFS_SAVEDSUCCESS +Změny v konfiguraci byly uloženy. +; Configuration successfully saved. +; +MSG_ACTION_USEQUIT +Použít|Uložit|Zrušit +; Use|Save|Cancel +; +MSG_ACTION_CONFIGCHANGED +Konfigurace byla změněna. Co si přejete udělat? +; The current configuration has been changed\nand not been saved yet. +; +MSG_ACTION_SAVEQUIT +Změny v konfiguraci se nepodařilo uložit. +; Couldn't save config. +; +MSG_ACTION_DEV_FORCEBIND_NONE +--- +; None +; +MSG_ACTION_DEV_FORCE_REQ +Vynutit|Radši ne +; I'm not dumb!|I'll reconsider +; +MSG_ACTION_DEV_FORCE_REQ_TXT +Právě se chystáte vynutit propojení zařízení. Vezměte\nprosím, že toto \33bnení\33n běžný typ propojení a všechny\npřípadné následky (pád systému, ztrátu dat atp.) přičtěte\npouze sami sobě. +; You are about to establish a forced \33bdevice\33n\nbinding. This is not an interface binding. As\nmost people are not capable of reading the\nmanual and they cause more harm than good.\nPlease make sure you know, what you're doing\nand not breaking things (and then bugger me with\nsilly emails). +; +MSG_ACTION_DEV_FORCE +Vynucení propojení %s se zařízením %s. +; Forcing device binding of %s to %s. +; +MSG_ACTION_DEV_FORCE_REMOVE +Odstraněno vynucené propojení s %s. +; Removed forced device binding of %s. +; +MSG_ACTION_CFG_REMOVE +Odstranit|Zrušit +; Remove|Cancel +; +MSG_ACTION_CFG_REMOVE_HELP +Právě se chystáte odstranit konfiguraci zařízení\ns ID \33b%s\33n\na všechna s ním související individuální nastavení\npro danou kategorii.\n\nOpravdu chcete odebrat výše popsanou konfiguraci? +; You are about to \33bremove\33n the configuration\ndata related to the device with the ID\n\33b%s\33n.\nThis includes all individually saved class\nsetting for the device or interfaces, as well\nas the stuff Trident saves (such as custom name or\npopup inhibit).\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_DEFAULT +Právě se chystáte odstranit (výchozí) konfiguraci\nkategorie \33b%s\33n.\nPři příštím spuštění použije Poseidon interní výchozí\nnastavení, což za běžných podmínek nemá vliv\nna individuální konfigurace.\n\nOpravdu chcete odebrat výše popsanou konfiguraci? +; You are about to \33bremove\33n the (default)\nconfiguration of the class \33b%s\33n.\nThis will set the classes initial prefs to the\ninternal defaults \33bon next boot\33n!\nIt does normally not affect the device or interface\nindividually saved settings.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS +Právě se chystáte odstranit konfiguraci kategorie\n\33b%s\33n určenou konkrétně pro zařízení\ns ID \33b%s\33n.\n\nOpravdu chcete odebrat výše popsanou konfiguraci? +; You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n,\nspecifically saved for device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS_DEF +Právě se chystáte odstranit konfiguraci kategorie\n\33b%s\33n určenou konkrétně pro rozhraní\n\33b%s\33n zařízení\ns ID \33b%s\33n.\n\nOpravdu chcete odebrat výše popsanou konfiguraci? +; You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n\nsaved for the particular interface\n\33b%s\33n of the device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_UNKNOWN +Opravdu chcete odstranit vybranou konfiguraci? +; Do you really want to remove this\n\33bunknown prefs data\33n from the preferences? +; +MSG_ACTION_MEMPOOL_FORMAT +%ld KB +; %ld KB +; +MSG_ACTION_CFG_EXPORT +Vyberte soubor pro export... +; Select file to export prefs to... +; +MSG_ACTION_CFG_PREFS_FILE +unknown.prefs +; unknown.prefs +; +MSG_ACTION_STACKCFG_FILE +stackcfg.prefs +; stackcfg.prefs +; +MSG_ACTION_DEVICECFG_FILE +devicecfg.prefs +; devicecfg.prefs +; +MSG_ACTION_CLASSCFG_FILE +classcfg.prefs +; classcfg.prefs +; +MSG_ACTION_DEVCFGDATA_FILE +devclscfg.prefs +; devclscfg.prefs +; +MSG_ACTION_IFCFGDATA_FILE +ifclscfg.prefs +; ifclscfg.prefs +; +MSG_ACTION_CFG_FAIL +Chyba při otevírání souboru %s. +; Failed to open file %s. +; +MSG_ACTION_CFG_IMPORT +Vyberte konfigurační soubor... +; Select file to import prefs from... +; +MSG_ACTION_CFGDATA_OOPS +Ale ne! +; Oops! +; +MSG_ACTION_CFGDATA_OOPS_HELP +Chcete-li naimportovat tento druh konfiguračního\nsouboru, vyberte nejprve požadované zařízení. +; To import device or interface\nprefs data, you need to select\nthe device entry where it should be added. +; +MSG_ACTION_CFGDATA_ERR +Vybraný konfigurační soubor nelze načíst. +; I don't know that kind of prefs file. +; +MSG_ACTION_CFGDATA_ERR_READ +Chyba při čtení konfiguračního souboru %s. +; Read error on loading prefs file %s. +; +MSG_ACTION_CFGDATA_ERR_ALLOC +Chyba při alokaci paměti pro soubor %s. +; Failed to allocate buffer for loading %s. +; +MSG_ACTION_CFGDATA_ERR_IFF +Soubor %s není konfigurace pro Poseidon. +; %s does not seem to be an iff file. +; +MSG_ACTION_CFGDATA_ERR_OPEN +Chyba při otevírání souboru %s. +; Failed to open file %s. +; +MSG_APPLYDRAGACTION_DEVICECFG +Nahradit|Sloučit|Zrušit +; Replace|Merge|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_HELP +Chcete nahradit nebo sloučit konfiguraci zařízení\n%s touto konfigurací pro %s? +; Do you want to \33breplace\33n or \33bmerge\33n the prefs of\n\33b%s\33n\nwith the contents from\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVCFGDATA +Přidat|Zrušit +; Add to device|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_HELP +Nahradit lze pouze konfigurace ze stejného zdroje.\nChcete dané nastavení přidat k zařízení? +; Sorry, but only prefs of the same owner can\nbe replaced.\n\nDo you wish to add this prefs\nto the device instead? +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE +Nahradit|Zrušit +; Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE_HELP +Chcete nahradit konfiguraci zařízení %s\ntouto konfigurací pro %s? +; Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby those of\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE +Nahradit|Zrušit +; Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE_HELP +Chcete nahradit konfiguraci zařízení %s\njednou z konfigurací v %s? +; Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby the one in\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD +Přidat|Zrušit +; Add|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD_HELP +Chcete přidat konfiguraci zařízení %s\nke konfigurací zařízení %s? +; Do you want to \33badd\33n the prefs of\n\33b%s\33n\nto the device\n\33b%s\33n? +; +MSG_CFGLISTDISPATCHER_OOPS +Ale ne! +; Oops! +; +MSG_CFGLISTDISPATCHER_OOPS_HELP +Tato operace není podporována. +; Sorry, drag'n drop operation to\nthat target is not supported. +; +MSG_DEVICE_SPEED_LOW +USB 1.1 (pomalé) +; Low +; +MSG_DEVICE_SPEED_HIGH +USB 1.1 (rychlé) +; High +; +MSG_DEVICE_SPEED_FULL +USB 2.0 +; Full +; +MSG_DEVICE_SPEED_SUPER +USB 3.0 +; Super +; +MSG_DEVICE_STATE_SUSPENDED +uspané +; Suspended +; +MSG_DEVICE_STATE_DEAD +nereaguje +; Dead +; +MSG_DEVICE_STATE_DEADLP +nereaguje \/ nap. +; Dead \/ LP +; +MSG_DEVICE_STATE_LOWPOWER +bez napájení +; Low Power +; +MSG_DEVICE_STATE_CONFIGURED +v pořádku +; Running +; +MSG_DEVICE_STATE_DEVDESC +DevDesc +; DevDesc +; +MSG_DEVICE_STATE_HASADDRESS +ValidAddr +; ValidAddr +; +MSG_DEVICE_STATE_CONNECTED +připojené +; Connected +; +MSG_LOGLEVEL_OK + +; +; +MSG_LOGLEVEL_WARNING +Upozornění +; Warning +; +MSG_LOGLEVEL_ERROR +Běžná chyba +; Error +; +MSG_LOGLEVEL_FAILURE +Záv. chyba +; Failure +; +MSG_LOGLEVEL_OTHER +??? +; ??? +; +; ***NEW*** +; diff --git a/rom/usb/trident/catalogs/french.ct b/rom/usb/trident/catalogs/french.ct new file mode 100644 index 00000000000..848976374e1 --- /dev/null +++ b/rom/usb/trident/catalogs/french.ct @@ -0,0 +1,1133 @@ +## version $VER: Trident.catalog 1.1 (10.03.2012) +## language français +## codeset 0 +; +; +MSG_APP_TITLE +Trident +; Trident +; +MSG_APP_VERSION +4.3 (27.05.2009) +; 4.3 (27-May-09) +; +MSG_APP_DESC +Préférences de Poseidon +; Poseidon USB Stack GUI +; +MSG_MENU_PROJECT +Projet +; Project +; +MSG_MENU_ABOUT +A propos ... +; About... +; +MSG_MENU_ABOUTMUI +A propos de MUI ... +; About MUI... +; +MSG_MENU_HELP +Aide +; Help +; +MSG_MENU_ONLINE +En ligne +; Online +; +MSG_MENU_SC_ONLINE +O +; O +; +MSG_MENU_OFFLINE +Hors ligne +; Offline +; +MSG_MENU_SC_OFFLINE +F +; F +; +MSG_MENU_ICONIFY +Iconifier +; Iconify +; +MSG_MENU_SC_ICONIFY +H +; H +; +MSG_MENU_QUIT +Quitter +; Quit +; +MSG_MENU_SC_QUIT +Q +; Q +; +MSG_MENU_INFO +Information +; Information +; +MSG_MENU_SAVELOG +Exporter le journal des erreurs ... +; Save error log... +; +MSG_MENU_FLUSH +Effacer les erreurs +; Flush errors +; +MSG_MENU_SAVEDEV +Exporter la liste des périphériques ... +; Save device list... +; +MSG_MENU_SETTINGS +Paramètres +; Settings +; +MSG_MENU_LOAD +Importer ... +; Load... +; +MSG_MENU_SC_LOAD +L +; L +; +MSG_MENU_SAVE +Exporter +; Save +; +MSG_MENU_SC_SAVE +S +; S +; +MSG_MENU_SAVEAS +Exporter en tant que ... +; Save as... +; +MSG_MENU_SC_SAVEAS +A +; A +; +MSG_MENU_MUISETTINGS +Préférences MUI +; MUI Settings +; +MSG_MENU_SC_MUISETTINGS +M +; M +; +MSG_WINDOW_TITLE +Trident 4.3 +; Trident 4.3 +; +MSG_MAINPANEL_GENERAL +Général +; General +; +MSG_MAINPANEL_CONTROLLERS +Contrôleurs +; Controllers +; +MSG_MAINPANEL_DEVICES +Périphériques +; Devices +; +MSG_MAINPANEL_CLASSES +Classes +; Classes +; +MSG_MAINPANEL_OPTIONS +Options +; Options +; +MSG_MAINPANEL_POPUPS +Notifications +; Popups +; +MSG_MAINPANEL_CONFIG +Configuration +; Config +; +MSG_ERRLVL_ALL +Tous les messages +; All messages +; +MSG_ERRLVL_WARNINGS +Alertes et pire +; Warning and worse +; +MSG_ERRLVL_ERRORS +Erreurs et échecs +; Errors and failures +; +MSG_ERRLVL_FAILURES +Échecs seulement +; Failures only +; +MSG_POPUP_NEVER +Ne jamais notifier +; Never open a popup window! Bah! +; +MSG_POPUP_ERROR +Ne notifier que si il y a une erreur +; Only popup on an error condition +; +MSG_POPUP_UNKNOWN +Ne notifier que les nouveaux périphs. +; Popup on new, unknown devices +; +MSG_POPUP_NOBINDING +Ne notifier qu'en l'absence de liaison +; Popup, if there is no binding +; +MSG_POPUP_NOCONFIG +Ne Notifier qu'en l'absence de config. +; Popup, if there is no config yet +; +MSG_POPUP_CONFIGCLASS +Nofifier les classes configurables +; Popup on configurable class +; +MSG_POPUP_BINDING +Notifier, quelque soit la liaison +; Popup, regardless of binding +; +MSG_POPUP_ALWAYS +Toujours notifier +; Always immediately annoy me +; +MSG_PANEL_GENERAL_LABEL1 +\33cInterface graphique de Trident V4.3 +; \33cTrident V4.3 Graphical User Interface +; +MSG_PANEL_GENERAL_LABEL2 +\33cpour la pile USB Poseidon +; \33cfor the Poseidon USB Stack +; +MSG_PANEL_GENERAL_LABEL3 +\33cCopyright ©2002-2009 Chris Hodges +; \33cCopyright ©2002-2009 Chris Hodges +; +MSG_PANEL_GENERAL_LABEL4 +\33cAll rights reserved. +; \33cAll rights reserved. +; +MSG_PANEL_GENERAL_LABEL5 +\33cMason Icons, courtoisie\n de Martin Merz. +; \33cMason Icons are\ncourtesy of Martin Merz. +; +MSG_PANEL_HARDWARE_LABEL1 +\33c\33bContrôleurs USB disponibles +; \33c\33bUSB Hardware Controllers available +; +MSG_PANEL_HARDWARE_CONTROLLER_HELP +Ceci est la liste des contrôleurs disponibles.\nPlusieurs contrôleurs différents peuvent cohabiter dans le système\nen même temps.\nPour en ajouter un, utilisez le gadget 'nouveau'.\nVous devez mettre le contrôleur en ligne manuellement à la première utilisation. +; This is the list of available hardware controllers.\nSeveral different controllers can be in the system at\nthe same time.\nTo add an entry, use the 'New' gadget at the bottom.\nYou need to manually set an hardware controller online\nthe first time you add the device. +; +MSG_PANEL_HARDWARE_COLS_NAME +\33uNom +; \33uName +; +MSG_PANEL_HARDWARE_COLS_UNIT +\33uUnité +; \33uUnit +; +MSG_PANEL_HARDWARE_COLS_ONLINE +\33uEn ligne +; \33uOnline +; +MSG_PANEL_HARDWARE_COLS_PRODUCT +\33uProduit +; \33uProduct +; +MSG_PANEL_HARDWARE_ONLINE_YES +Oui +; Yes +; +MSG_PANEL_HARDWARE_ONLINE_NO +Non +; No +; +MSG_PANEL_HARDWARE_UNKNOWN +\33iinconnu tant que hors ligne +; \33iunknown until online +; +MSG_PANEL_HARDWARE_LABEL2 +Périphérique : +; Device: +; +MSG_PANEL_HARDWARE_DEVICE_HELP +Donnez le nom du contrôleur ou du pilote\n dans ce champ. Ces pilotes sont habituellement dans DEVS:USBHardware. +; Give the name of the controller device\ndriver in this field. These devices are\nnormally stored in DEVS:USBHardware. +; +MSG_PANEL_HARDWARE_SELECT +Choisir un pilote USBHardware... +; Select USBHardware device... +; +MSG_PANEL_HARDWARE_UNIT +Unité : +; Unit: +; +MSG_PANEL_HARDWARE_UNIT_HELP +Si des cartes semblables sont présentes\ndans votre machine, entrez\nleur numéro ici. +; If there are multiple cards of the\nsame kind in your machine, enter\nthe unit number of the board here. +; +MSG_PANEL_HARDWARE_DRIVER_NEW +\33c Nouveau +; \33c New +; +MSG_PANEL_HARDWARE_DRIVER_NEW_HELP +Cliquez ici pour créer une\nnouvelle instance d'un pilote. +; Click here to create a\nnew hardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_COPY +\33c Copier +; \33c Copy +; +MSG_PANEL_HARDWARE_DRIVER_COPY_HELP +Cliquez ici pour copier le pilote sélectionné. +; Click here to copy the selected\nhardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_DELETE +\33c Effacer +; \33c Delete +; +MSG_PANEL_HARDWARE_DRIVER_DELETE_HELP +Cliquez ici pour retirer l'entrée sélectionnée.\nLe matériel sera mis hors ligne automatiquement,\ndéconnectant tous les périphériques connectés. +; Click here to remove the selected entry.\nThe hardware will automatically go offline,\ntaking all its connected devices down. +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE +\33c En ligne +; \33c Online +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE_HELP +Cliquez ici pour activer un pilote individuel. +; Click here to activate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE +\33c Hors ligne +; \33c Offline +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE_HELP +Cliquez ici pour désactiver un\npilote individuel. +; Click here to deactivate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_INFO +\33c Information +; \33c Info +; +MSG_PANEL_HARDWARE_DRIVER_INFO_HELP +Pour obtenir des informations sur un pilote\ncliquez ici. Le périphérique doit être en ligne pour\nobtenir ces informations. +; To get information on the device driver,\nclick here. The device needs to be online\nfor the information to be available. +; +MSG_PANEL_DEVICES_LABEL +\33c\33bPériphériques USB dans le système +; \33c\33bUSB Devices in the system +; +MSG_PANEL_DEVICES_HELP +Ceci est la liste des périphs. ou fonctions\nUSB actuellement dans le système. Cela montre aussi\nles périphériques existants et leurs liaisons. +; This is the list of USB devices (functions)\ncurrently in the system. It also shows the\ncurrently existing device or interface bindings. +; +MSG_PANEL_DEVICES_COLS_NAME +\33uNom +; \33uName +; +MSG_PANEL_DEVICES_COLS_SPEED +\33uVitesse +; \33uSpeed +; +MSG_PANEL_DEVICES_COLS_STATE +\33uEtat +; \33uState +; +MSG_PANEL_DEVICES_COLS_CLASS +\33uClasse +; \33uClass +; +MSG_PANEL_DEVICES_COLS_BINDINGS +\33uLiaisons +; \33uBindings +; +MSG_PANEL_DEVICES_SCAN +\33c Détection des classes +; \33c Class Scan +; +MSG_PANEL_DEVICES_SCAN_HELP +En cliquant ici vous déclencherez une détection des classes.\nCela signifie que chaque périphérique sera examiné pour les classes standard du système.\nSi des correspondances sont trouvées une liaison est crée et la fonctionnalité\nsera ajoutée automatiquement au système. +; Clicking on this button will start a class scan. This means that\neach device will be examined if it matches some of the standard\nclasses in the system. In this case, a binding will be established\nand the functionality will be added to the system automatically.\n +; +MSG_PANEL_DEVICES_UNBIND +\33c Délier +; \33c Unbind +; +MSG_PANEL_DEVICES_UNBIND_HELP +Retire une liaison manuellent. Ceci peut être utile pour désactiver temporairement un périphérique.\nUtilisez la détection pour réactiver la liaison. +; Manually removes a binding. This can be\nuseful to temporarily deactivate a device.\nUse 'Class Scan' to reactivate the binding. +; +MSG_PANEL_DEVICES_INFO +\33c Information +; \33c Information +; +MSG_PANEL_DEVICES_INFO_HELP +Ouvre une fenêtre d'information.\nCeci est sans danger. +; Opens a detailed information window.\nJust try it, nothing can go wrong. +; +MSG_PANEL_DEVICES_SETTINGS +\33c Paramètres +; \33c Settings +; +MSG_PANEL_DEVICES_SETTINGS_HELP +Si il existe une liaison et la classe supporte\nune interface de configuration. Cliquer ici\nouvrira la fenêtre de préférences.\n\nNotez bien que le gadget correspondant peut être trouvé sous la fenêtre d'information. +; If there is a device binding and the class\nsupports a configuration GUI, clicking on this\nbutton will open the preferences window.\n\nNote well, that the corresponding button for the\ninterface binding settings can be found inside\nthe information window. +; +MSG_PANEL_DEVICES_SUSPEND +\33c Suspendre +; \33c Suspend +; +MSG_PANEL_DEVICES_SUSPEND_HELP +Place le périphérique en économie d'énergie.\nSi une liaison ne supporte pas ce mode,\nce bouton sera sans effet. +; Sends device into power saving suspend mode.\nIf a class binding does not support suspend,\nthis button will do nothing. +; +MSG_PANEL_DEVICES_RESUME +\33c Reprendre +; \33c Resume +; +MSG_PANEL_DEVICES_RESUME_HELP +Place le périphérique en mode de pleine opération après\navoir été suspendu. +; Resumes the device to full operation after\nit was placed into suspend mode.\n +; +MSG_PANEL_DEVICES_POWERCYCLE +\33c Rafraîchissement +; \33c Powercycle +; +MSG_PANEL_DEVICES_POWERCYCLE_HELP +Rafraîchit le port du HUB et détecte de nouveau les périphs.\n Pratique pour activer les périphs. morts. +; Power cycles the hub port and re-enumerates\ndevice. Comes handy to reactivate dead devices.\n +; +MSG_PANEL_DEVICES_DISABLE +\33c Désactiver +; \33c Disable +; +MSG_PANEL_DEVICES_DISABLE_HELP +Coupe le port. Il ne sera pas activé de nouveau en branchant le périphérique +; Permanently powers off the port. It cannot be\nreactivated by unplugging/replugging the device.\n +; +MSG_POSEIDON_SHORTHELP +Poseidon (son nom latin est Neptune) est le dieu de la mer\net des ses habitants, c'est l'un des Olympiens, le fils\nde Cronos et Rhéa, le frère de Zeus, Hades, Demeter,\nHera, Hestia. Il a été marié à Amphitrite, une Néréïde,\net a eu un fils, Triton, avec elle. Comme les autres\nOlympiens, il eu beaucoup d'aventures (par ex. avec la Méduse)\net eu de nombreux enfants (par ex. Pégase). +; Poseidon (his latin name Neptune) the god of the sea\nand its inhabitants, and one of the Olympians, the son\nof Cronus and Rhea, brother of Zeus, Hades, Demeter,\nHera, Hestia. He was married to Amphitrite, a Nereid,\nand had by her the son Triton, a merman. Like other\nOlympians, had many love affairs (e.g. with Medusa)\nand numerous children (e.g. Pegasos). +; +MSG_PANEL_CLASSES +\33c\33bClasses USB disponibles +; \33c\33bUSB Classes available +; +MSG_PANEL_CLASSES_HELP +Ceci est la liste des classes USB disponibles.\nChaque classe est un pilote pour un groupe de\npériphériques USB. Ces classes peuvent être ajoutées manuellement en\nutilisant le gadget 'Ajouter' ou automatiquement avec 'Détecter'. +; This is the list of USB classes available.\nEach class is a software driver for a group of\nUSB devices. Classes can be manually added using\nthe 'Add' button or automatically with 'Dir Scan'. +; +MSG_PANEL_CLASSES_COLS_NAME +\33uNom +; \33uName +; +MSG_PANEL_CLASSES_COLS_USE +\33uUsage# +; \33uUse# +; +MSG_PANEL_CLASSES_COLS_DESC +\33uDescription +; \33uDescription +; +MSG_PANEL_CLASSES_LABEL +Bibliothèque de classes : +; Class library: +; +MSG_PANEL_CLASSES_LABEL_HELP +Pour ajouter manuellement un pilote USB,\nentrez son nom et cliquez sur 'Ajouter'. +; To manually add an usb class driver,\nenter its name here and click on 'Add'. +; +MSG_PANEL_CLASSES_SELECT +Choisir une bibliothèque de classe USB... +; Select USB class library... +; +MSG_PANEL_CLASSES_ADD +\33cAjouter +; \33cAdd +; +MSG_PANEL_CLASSES_ADD_HELP +Pour ajouter un pilote, entrez son nom et cliquez ici. +; To manually add an usb class\ndriver, enter its name above\nand click on this button. +; +MSG_PANEL_CLASSES_REMOVE +\33c Retirer +; \33c Remove +; +MSG_PANEL_CLASSES_REMOVE_HELP +Cliquez pour retirer une classe et ses liaisons. +; Click here to remove a class driver\nand all its current bindings. +; +MSG_PANEL_CLASSES_CONFIG +\33cConfigurer +; \33c Configure +; +MSG_PANEL_CLASSES_CONFIG_HELP +Si un pilote supporte des paramètres, cliquez ici\net sa fenêtre de configuration s'ouvrira. +; If a class driver supports some kind of\nconfiguration, click here and it will\nopen a configuration window of the class. +; +MSG_PANEL_CLASSES_SCAN +\33c Scan du répertoire +; \33c Dir Scan +; +MSG_PANEL_CLASSES_SCAN_HELP +Scan automatique et ajout des classes au système. +; Automatically scans for class\ndrivers and\nadds all drivers found to the system. +; +MSG_PANEL_OPTIONS +;\33c\33bParamètres variés +; \33c\33bVarious Settings +; +MSG_PANEL_OPTIONS_STACK +Paramètres de la pile +; Stack Settings +; +MSG_PANEL_OPTIONS_PRIORITY +Priorité des sous-tâches +; SubTask priority: +; +MSG_PANEL_OPTIONS_PRIORITY_HELP +Définit la priorité de toutes les sous-tâches démarées par Poseidon. +; Defines the task priority of all\nsubtasks started by Poseidon. +; +MSG_PANEL_OPTIONS_BOOT +Délai au démarrage : +; Boot delay: +; +MSG_PANEL_OPTIONS_BOOT_HELP +Après un redémarrage cette valeur définit combien de temps\nPoseidon devrait attendre les \périphériques USB lents, tels qu'un lecteur de CDROM. +; If reset resident, this value defines,\nhow long Poseidon should wait for USB\ndevices to settle, allowing to boot from\nslow devices such as an USB CD drive. +; +MSG_PANEL_OPTIONS_BOOT_FORMAT +%ld sec. +; %ld sec. +; +MSG_PANEL_OPTIONS_DISABLELOW +Désactiver automatiquement le HUB si le courant est faible : +; Automatically disable hub port on low power conditions: +; +MSG_PANEL_OPTIONS_DISABLELOW_HELP +Si une condition de courant faible est détectée,\nle périphique responsable sera automatiquement éteind. +; If a low power condition is detected at a port,\nselecting this switch will automatically turn off\nthe device causing the low power condition. +; +MSG_PANEL_OPTIONS_DISABLEDEAD +Désactiver le HUB si le périphérique meurt : +; Automatically disable hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_DISABLEDEAD_HELP +Si un périph. meurt (délai de transfert dépassé),\net cette option est sélectionnée,\nalors le port sera désactiver pour éviter les baisses de performance. +; If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be disabled automatically to avoid unnecessary\nperformance penalties. +; +MSG_PANEL_OPTIONS_POWERCYCLE +Rafraîchir les ports si un périphérique meurt : +; Automatically power cycle hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_POWERCYCLE_HELP +Si un périph. meurt (délai de transfert dépassé),\et cette option est sélectionnée,\nalors le port sera automatiquement mis à zéro\npour rafraîchir le périph. Cela peut induire des boucles infinies. +; If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be reset automatically to try to revive the\ndevice. However, this can lead to nasty infinity loops. +; +MSG_PANEL_OPTIONS_POWERSAVE +Activer le mode d'économie : +; Enable power-saving suspend mode: +; +MSG_PANEL_OPTIONS_POWERSAVE_HELP +Les périphs. seront suspendus après\nun temps d'inactivité.\nLa consommation de courant descend alors en dessous de 1mA.\nReprendre les opérations habituellement prend 25ms. +; Devices will be placed into suspend mode after\na specified interval of inactivity.\nPower consumption goes down to less than 1mA.\nResuming of operation usually takes place within 25ms. +; +MSG_PANEL_OPTIONS_FORCESUSPEND +Forcer le mode de suspension, même si non supporté : +; Force suspend mode, even if not supported by class: +; +MSG_PANEL_OPTIONS_FORCESUSPEND_HELP +Les pilotes devraient tous supporter le mode économie.\nSi ils ne le font pas, cette option permet simplement\nde defaire la liaison.\nCela est effectué seulement pour les périphs permettant le réveil\nà distance, sinon la liaison ne pourrait s'établir automatiquement. +; Class drivers should support going into suspend\nmode. If they don't, enabling this switch will\nsimply release the binding prior to suspending.\nThis is only performed on remote wakeup devices,\notherwise the class wouldn't rebind automatically. +; +MSG_PANEL_OPTIONS_INACTIVITY +Délai d'expiration : +; Inactivity timeout for suspend: +; +MSG_PANEL_OPTIONS_INACTIVITY_HELP +Délai après lequel essayer de placer un périph\nen mode économique. +; Timeout before trying to place a device into\npower saving suspend mode. +; +MSG_PANEL_OPTIONS_INACTIVITY_FORMAT +%ld sec. +; %ld sec. +; +MSG_PANEL_OPTIONS_LOGGING +Options des journeaux +; Logging Options +; +MSG_PANEL_OPTIONS_LOGGING_LABEL +Messages d'information : +; Log info messages: +; +MSG_PANEL_OPTIONS_LOGGING_LABEL_HELP +Bascule la journalisation des messages d'information. +; Toggles logging of normal\ninformation messages. +; +MSG_PANEL_OPTIONS_LOGGING_WARN +Messages d'alerte : +; Log warnings: +; +MSG_PANEL_OPTIONS_LOGGING_WARN_HELP +Bascule la journalisation des messages d'alerte. +; Toggles logging of warnings. +; +MSG_PANEL_OPTIONS_LOGGING_ERR +Messages d'erreur : +; Log errors: +; +MSG_PANEL_OPTIONS_LOGGING_ERR_HELP +Bascule la journalisation des erreurs. +; Toggles logging of errors. +; +MSG_PANEL_OPTIONS_LOGGING_FAIL +Messages d'échec : +; Log failures: +; +MSG_PANEL_OPTIONS_LOGGING_FAIL_HELP +Bascule la journalisation des messages d'échec. +; Toggles logging of failures. +; +MSG_PANEL_OPTIONS_MEMORY +Mémoire allouée par Poseidon : +; Memory allocated in Poseidon Pool: +; +MSG_PANEL_POPO +\33c\33bParamètres des notifications +; \33c\33bPopup Settings +; +MSG_PANEL_POPO_LABEL +Options de la fenêtre de notification +; Popup Window Options +; +MSG_PANEL_POPO_CONNECT +Pendant la connection : +; On connecting: +; +MSG_PANEL_POPO_CONNECT_HELP +Comportement lors de la connection de nouveaux périphs. +; Popup display behaviour on\nconnecting new USB devices +; +MSG_PANEL_POPO_DISCONNECT +Pendant la déconnection : +; On disconnect: +; +MSG_PANEL_POPO_DISCONNECT_HELP +Comportement lors des déconnections. +; Whether to popup a window\nif the device is removed. +; +MSG_PANEL_POPO_DEATH +Lors de la mort d'un périph. : +; On device death: +; +MSG_PANEL_POPO_DEATH_HELP +Notifier si un périph. semble mort. +; Open a requester, if device seems to be dead. +; +MSG_PANEL_POPO_DELAY +Délai de notification : +; Popup delay: +; +MSG_PANEL_POPO_DELAY_HELP +Combien de temps la requête doit rester ouverte\navant de se refermer automatiquement. +; How long should the requester be displayed\nbefore disappearing automatically. +; +MSG_PANEL_POPO_DELAY_FORMAT +%ld sec. +; %ld sec. +; +MSG_PANEL_POPO_ACTIVATE +Activer la fenêtre : +; Activate window: +; +MSG_PANEL_POPO_ACTIVATE_HELP +Faire de la fenêtre de notification une\nune fen^etre active. +; Make the window active when opening. +; +MSG_PANEL_POPO_TOFRONT +Fenêtre en avant : +; Pop to front: +; +MSG_PANEL_POPO_TOFRONT_HELP +Placer la fenêtre en avant si son contenu change. +; Pop window to front, if content changes. +; +MSG_PANEL_POPO_CONSOUND +Son à la connection : +; Connection sound: +; +MSG_PANEL_POPO_CONSOUND_HELP +Ce son sera joué à chaque insertion\nd'un périphérique sur le bus. +; This sound will be replayed everytime\na device is connected to the bus. +; +MSG_PANEL_POPO_CONSOUND_SELECT +Choisir un son... +; Select a sound file to be replayed... +; +MSG_PANEL_POPO_DISCONSOUND +Son à la déconnection : +; Disconnect sound: +; +MSG_PANEL_POPO_DISCONSOUND_HELP +Ce son sera joué à chaque déconnection d'un périphérique. +; This sound will be replayed everytime\na device is removed from the bus. +; +MSG_PANEL_POPO_DISCONSOUND_SELECT +Choisir un son... +; Select a sound file to be replayed... +; +MSG_PANEL_CONFIG +\33c\33bGestionnaire de configuration (Utilisez le glisser/déposer) +; \33c\33bConfiguration management (Use drag & drop) +; +MSG_PANEL_CONFIG_HELP +Dans cette boite vous pouvez voir toutes\nles préférences sauvées dans ENVARC:.\nVous pouvez utiliser ce panneau pour effacer ou\nexporter vos préférences.\n\nUtilisez le glisser/déposer pour copier ou remplacer les préférences. +; In this box you can see all the preferences that are\nsaved along the prefs file in ENVARC:.\nYou can use this panel to delete or export prefs.\n\nUse drag & drop to copy or replace preferences.\n +; +MSG_PANEL_CONFIG_COLS_TYPE +\33uType +; \33uType +; +MSG_PANEL_CONFIG_COLS_DESC +\33uDescription +; \33uDescription +; +MSG_PANEL_CONFIG_COLS_OWNER +\33uProriétaire +; \33uOwner +; +MSG_PANEL_CONFIG_COLS_SIZE +\33uTaille +; \33uSize +; +MSG_PANEL_CONFIG_SAVEAS +\33c Sauver sous +; \33c Save as +; +MSG_PANEL_CONFIG_SAVEAS_HELP +Sauvez les préférences sous un nom donné. +; Save all the prefs under given name\nfor reloading it later. +; +MSG_PANEL_CONFIG_EXPORT +\33cExporter +; \33c Export +; +MSG_PANEL_CONFIG_EXPORT_HELP +Permet de sauver la sélection pour plus tard. +; Allows you to save a selected entry\nto reload it later. +; +MSG_PANEL_CONFIG_IMPORT +\33cImporter +; \33c Import +; +MSG_PANEL_CONFIG_IMPORT_HELP +Importer des préférences. +; Imports a previously saved piece of prefs. +; +MSG_PANEL_CONFIG_REMOVE +\33cEffacer +; \33c Remove +; +MSG_PANEL_CONFIG_REMOVE_HELP +Effacer les préférences sélectionnées. +; Deletes the selected prefs entry. +; +MSG_PANEL_CONFIG_MSGLOG +Journal +; Message Log +; +MSG_PANEL_CONFIG_INFLVL +Niveau d'alerte : +; Information level: +; +MSG_PANEL_CONFIG_INFLVL_HELP +Détermine le montant et le type de messages. +; This gadget determines the amount and\ntype of messages shown below. +; +MSG_PANEL_CONFIG_LOGSAVE +\33cSauver sur disque +; \33c Save to disk +; +MSG_PANEL_CONFIG_LOGSAVE_HELP +Générer un journal des erreurs,\npar ex. pour envoyer ces informations par mail. +; To generate a logfile of the errors,\ne.g. to send the information to me\nfor bug reporting or help. +; +MSG_PANEL_CONFIG_LOGFLUSH +\33cEffacer tout +; \33c Flush all +; +MSG_PANEL_CONFIG_LOGFLUSH_HELP +Effacera tous les messages.\nIl n'y a pas de retour possible. +; Clicking on this button will remove all\nthe messages in the stack. There's no way\nto get them back. +; +MSG_PANEL_CONFIG_LOGHELP +Voici les messages générés par Poseidon jusqu'ici.\nPour effacer cette liste, cliquez sur 'Effacer tout'. +; These are the messages of the Poseidon stack\ngenerated so far. If you want to clear this list\njust click on the 'Flush all messages' button. +; +MSG_PANEL_CONFIG_ALLONLINE +\33cTout en ligne +; \33c All Online +; +MSG_PANEL_CONFIG_ALLONLINE_HELP +Démarre tous les périphériques USB. Leurs liaisons seront testées. +; Start all USB hardware device drivers that\nhave been entered in the 'Hardware' panel.\nMoreover, the found devices will be checked\nfor possible bindings. +; +MSG_PANEL_CONFIG_ALLOFFLINE +\33cTout hors ligne +; \33c All Offline +; +MSG_PANEL_CONFIG_ALLOFFLINE_HELP +Ceci stoppe totalement Poseidon. +; Using 'Offline' you can take down all the USB\nhardware device drivers.\nThis totally halts the stack. +; +MSG_PANEL_CONFIG_RESTART +\33cRedémarrer +; \33c Restart +; +MSG_PANEL_CONFIG_RESTART_HELP +Ceci stoppe et redémarre tous les pilotes. +; Clicking on 'Restart' will stop and restart\nall hardware device drivers. +; +MSG_PANEL_CONFIG_SAVE +\33cSauver +; \33c Save +; +MSG_PANEL_CONFIG_SAVE_HELP +Sauver les préférences sur disque. +; To save your current prefs to disk, click\non this button. The configuration will be\nstored in both ENVARC: and\n ENV:. +; +MSG_PANEL_CONFIG_USE +\33cUtiliser +; \33c Use +; +MSG_PANEL_CONFIG_USE_HELP +Sauver temporairement. +; To use, but not permanently save your prefs\nclick this button. The configuration will be\nstored in ENV:. +; +MSG_UNKNOWN +inconnu +; unknown +; +MSG_HARDWARE_WINDOW +Fenêtre d'information du pilote +; Hardware driver information window +; +MSG_HARDWARE_WINDOW_HELP +Informations générales concernant le pilote. +; These fields show some general information\non the USB hardware driver. +; +MSG_HARDWARE_WINDOW_FRAME +Information générale du pilote USB +; General USB hardware driver information +; +MSG_HARDWARE_WINDOW_LABEL +Périph :\nUnité :\nVersion :\nProduit :\nFabricant :\nDescription :\nCopyright : +; Device:\nUnit:\nVersion:\nProduct:\nManufacturer:\nDescription:\nCopyright: +; +MSG_ACTION_SAVE_ERR +Choisir où sauver le journal des erreurs... +; Select file to save errors to... +; +MSG_ACTION_SAVE_ERR_FILE +Erreurs.log +; Errors.log +; +MSG_ACTION_ERR_SAVED +Journal des erreurs sauvé dans %s. +; Error log saved to file %s. +; +MSG_ACTION_ERR_SAVED_ERRWRITE +Erreur lors de l'écriture dans %s. +; Error opening file %s for writing. +; +MSG_ACTION_SAVE_DEV +Choisir où sauver la liste des périphs... +; Select file to save device list to... +; +MSG_ACTION_SAVE_DEV_FILE +DevList.log +; DevList.log +; +MSG_ACTION_SAVE_DEV_ERREXE +Erreur d'exécution sur PsdDevLister +; Error executing PsdDevLister +; +MSG_ACTION_DEV_SAVED +DevLister sauvé en %s. +; DevLister saved to %s. +; +MSG_ACTION_PREFS_LOAD +Choisir un fichier Poseidon... +; Select a Poseidon Prefs file... +; +MSG_ACTION_PREFS_LOADED +Configuration chargée depuis %s. +; Config loaded from %s. +; +MSG_ACTION_PREFS_SAVEAS +Choisir où sauver les préférences... +; Select file to save prefs to... +; +MSG_ACTION_PREFS_SAVED +Configuration sauvée dans %s avec succès. +; Configuration successfully saved to %s. +; +MSG_ACTION_PREFS_SAVEDERR +Impossible de sauver la config. dans %s. +; Couldn't save config to %s. +; +MSG_ACTION_PREFS_NOTSAVED +Configuration non sauvegardée ! +; Config not saved! +; +MSG_ACTION_PREFS_SAVEDSUCCESS +Config. sauvée avec succès. +; Configuration successfully saved. +; +MSG_ACTION_USEQUIT +Utiliser|Sauver|Annuler +; Use|Save|Cancel +; +MSG_ACTION_CONFIGCHANGED +La config. courante a été changée\nmais pas sauvegardée. +; The current configuration has been changed\nand not been saved yet. +; +MSG_ACTION_SAVEQUIT +Impossible de sauver la configuration ! +; Couldn't save config. +; +MSG_ACTION_DEV_FORCEBIND_NONE +Aucun +; None +; +MSG_ACTION_DEV_FORCE_REQ +Je ne suis pas fou|Je vais réfléchir +; I'm not dumb!|I'll reconsider +; +MSG_ACTION_DEV_FORCE_REQ_TXT +Vous êtes sur le point de \33bforcer la liaison\33n d'un périphérique.\n\nEtes vous sûr ? +; You are about to establish a forced \33bdevice\33n\nbinding. This is not an interface binding. As\nmost people are not capable of reading the\nmanual and they cause more harm than good.\nPlease make sure you know, what you're doing\nand not breaking things (and then bugger me with\nsilly emails). +; +MSG_ACTION_DEV_FORCE +Forcer la liaison de %s à %s. +; Forcing device binding of %s to %s. +; +MSG_ACTION_DEV_FORCE_REMOVE +Effacer la liaison forcée de %s. +; Removed forced device binding of %s. +; +MSG_ACTION_CFG_REMOVE +Effacer|Annuler +; Remove|Cancel +; +MSG_ACTION_CFG_REMOVE_HELP +Vous êtes sur le point d'effacer la configuration de \33b%s\33n.\n\nEtes-vous sûr ? +; You are about to \33bremove\33n the configuration\ndata related to the device with the ID\n\33b%s\33n.\nThis includes all individually saved class\nsetting for the device or interfaces, as well\nas the stuff Trident saves (such as custom name or\npopup inhibit).\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_DEFAULT +Vous êtes sur le point \33bd'effacer\33b la configuration de la classe \33b%s\33n.\n\nEtes-vous sûr ? +; You are about to \33bremove\33n the (default)\nconfiguration of the class \33b%s\33n.\nThis will set the classes initial prefs to the\ninternal defaults \33bon next boot\33n!\nIt does normally not affect the device or interface\nindividually saved settings.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS +Vous êtes sur le point \33bd'effacer\33n la configuration de la classe \33b%s\33n\nsauvée spécifiquement pour le périphérique \33b%s\33n\n\nEtes-vous sûr ? +; You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n,\nspecifically saved for device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS_DEF +Vous êtes sur le point \33bd'effacer\33n la configuration de la classe \33b%s\33n\nsauvée pour l'interface \33b%s\33n du périphérique\n\33b%s\33n\n\nEtes-vous sûr ? +; You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n\nsaved for the particular interface\n\33b%s\33n of the device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_UNKNOWN +Voulez-vous vraiment effacer ces données des préférences ? +; Do you really want to remove this\n\33bunknown prefs data\33n from the preferences? +; +MSG_ACTION_MEMPOOL_FORMAT +%ld Ko +; %ld KB +; +MSG_ACTION_CFG_EXPORT +Choisir où exporter les préférences... +; Select file to export prefs to... +; +MSG_ACTION_CFG_PREFS_FILE +unknown.prefs +; unknown.prefs +; +MSG_ACTION_STACKCFG_FILE +stackcfg.prefs +; stackcfg.prefs +; +MSG_ACTION_DEVICECFG_FILE +devicecfg.prefs +; devicecfg.prefs +; +MSG_ACTION_CLASSCFG_FILE +classcfg.prefs +; classcfg.prefs +; +MSG_ACTION_DEVCFGDATA_FILE +devclscfg.prefs +; devclscfg.prefs +; +MSG_ACTION_IFCFGDATA_FILE +ifclscfg.prefs +; ifclscfg.prefs +; +MSG_ACTION_CFG_FAIL +Échec à l'ouverture de %s. +; Failed to open file %s. +; +MSG_ACTION_CFG_IMPORT +Choisir d'où importer les préférences... +; Select file to import prefs from... +; +MSG_ACTION_CFGDATA_OOPS +Ouille ! +; Oops! +; +MSG_ACTION_CFGDATA_OOPS_HELP +Pour importer des préférences, vous avez besoin de choisir\nle périph. +; To import device or interface\nprefs data, you need to select\nthe device entry where it should be added. +; +MSG_ACTION_CFGDATA_ERR +Format de préférences inconnu ! +; I don't know that kind of prefs file. +; +MSG_ACTION_CFGDATA_ERR_READ +Erreur de lecture sur %s ! +; Read error on loading prefs file %s. +; +MSG_ACTION_CFGDATA_ERR_ALLOC +Échec d'allocation d'un tampon pour charger %s ! +; Failed to allocate buffer for loading %s. +; +MSG_ACTION_CFGDATA_ERR_IFF +%s n'est pas un fichier IFF valide ! +; %s does not seem to be an iff file. +; +MSG_ACTION_CFGDATA_ERR_OPEN +Échec à l'ouverture de %s ! +; Failed to open file %s. +; +MSG_APPLYDRAGACTION_DEVICECFG +Remplacer|Joindre|Annuler +; Replace|Merge|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_HELP +Voulez-vous \33bremplacer\33n ou \33bjoindre\33n les préférences de\n\33b%s\33n avec le contenu de \33b%s\33n ? +; Do you want to \33breplace\33n or \33bmerge\33n the prefs of\n\33b%s\33n\nwith the contents from\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVCFGDATA +Ajouter au périphérique|Annuler +; Add to device|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_HELP +Désolé, mais seulement les préfs. de la même source peuvent être remplacées.\nVoulez-vous ajouter ces préfs. au périphériqe à la place ? +; Sorry, but only prefs of the same owner can\nbe replaced.\n\nDo you wish to add this prefs\nto the device instead? +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE +Remplace|Annule +; Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE_HELP +Voulez-vous \33bremplacer\33n les préfs de \33b%s\33n par celles de \33b%s\33n ? +; Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby those of\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE +Rempacer|Annuler +; Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE_HELP +Voulez-vous \33bremplacer\33n les préfs. de \33b%s\33n par celles dans \33b%s\33n ? +; Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby the one in\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD +Ajouter|Annuler +; Add|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD_HELP +Voulez-vous \33bajouter\33n les préfs. de \33b%s\33n au périph. \33b%s\33n ? +; Do you want to \33badd\33n the prefs of\n\33b%s\33n\nto the device\n\33b%s\33n? +; +MSG_CFGLISTDISPATCHER_OOPS +Ouille ! +; Oops! +; +MSG_CFGLISTDISPATCHER_OOPS_HELP +Désolé, le glisser/déposer sur cette cible 'est pas supporté ! +; Sorry, drag'n drop operation to\nthat target is not supported. +; +MSG_DEVICE_SPEED_LOW +Lente +; Low +; +MSG_DEVICE_SPEED_HIGH +Rapide +; High +; +MSG_DEVICE_SPEED_FULL +Pleine +; Full +; +MSG_DEVICE_SPEED_SUPER +Super +; Super +; +MSG_DEVICE_STATE_SUSPENDED +Suspendu +; Suspended +; +MSG_DEVICE_STATE_DEAD +Mort +; Dead +; +MSG_DEVICE_STATE_DEADLP +Mort \/ BP +; Dead \/ LP +; +MSG_DEVICE_STATE_LOWPOWER +Basse puissance +; Low Power +; +MSG_DEVICE_STATE_CONFIGURED +Fonctionne +; Running +; +MSG_DEVICE_STATE_DEVDESC +Description +; DevDesc +; +MSG_DEVICE_STATE_HASADDRESS +Adr. valide +; ValidAddr +; +MSG_DEVICE_STATE_CONNECTED +Connecté +; Connected +; +MSG_LOGLEVEL_OK +OK +; OK +; +MSG_LOGLEVEL_WARNING +Attention +; Warning +; +MSG_LOGLEVEL_ERROR +Erreur +; Error +; +MSG_LOGLEVEL_FAILURE +Echec +; Failure +; +MSG_LOGLEVEL_OTHER +??? +; ??? +; diff --git a/rom/usb/trident/catalogs/mmakefile.src b/rom/usb/trident/catalogs/mmakefile.src new file mode 100644 index 00000000000..38d997685e9 --- /dev/null +++ b/rom/usb/trident/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2016, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech +# other catalogs need update to version 2 + +%build_catalogs mmake=kernel-usb-trident-catalogs \ + catalogs=$(CATALOGS) \ + name=Trident subdir=System/Prefs diff --git a/rom/usb/trident/catalogs/trident.cd b/rom/usb/trident/catalogs/trident.cd new file mode 100644 index 00000000000..7101c454bb5 --- /dev/null +++ b/rom/usb/trident/catalogs/trident.cd @@ -0,0 +1,846 @@ +MSG_APP_TITLE (//) +Trident +; +MSG_APP_VERSION (//) +4.3 (27-May-09) +; +MSG_APP_DESC (//) +Poseidon USB Stack GUI +; +MSG_MENU_PROJECT (//) +Project +; +MSG_MENU_ABOUT (//) +About... +; +MSG_MENU_ABOUTMUI (//) +About MUI... +; +MSG_MENU_HELP (//) +Help +; +MSG_MENU_ONLINE (//) +Online +; +MSG_MENU_SC_ONLINE (//) +O +; +MSG_MENU_OFFLINE (//) +Offline +; +MSG_MENU_SC_OFFLINE (//) +F +; +MSG_MENU_ICONIFY (//) +Iconify +; +MSG_MENU_SC_ICONIFY (//) +H +; +MSG_MENU_QUIT (//) +Quit +; +MSG_MENU_SC_QUIT (//) +Q +; +MSG_MENU_INFO (//) +Information +; +MSG_MENU_SAVELOG (//) +Save error log... +; +MSG_MENU_FLUSH(//) +Flush errors +; +MSG_MENU_SAVEDEV (//) +Save device list... +; +MSG_MENU_SETTINGS (//) +Settings +; +MSG_MENU_LOAD (//) +Load... +; +MSG_MENU_SC_LOAD (//) +L +; +MSG_MENU_SAVE (//) +Save +; +MSG_MENU_SC_SAVE (//) +S +; +MSG_MENU_SAVEAS (//) +Save as... +; +MSG_MENU_SC_SAVEAS (//) +A +; +MSG_MENU_MUISETTINGS (//) +MUI Settings +; +MSG_MENU_SC_MUISETTINGS (//) +M +; +MSG_WINDOW_TITLE (//) +Trident 4.3 +; +MSG_MAINPANEL_GENERAL (//) +General +; +MSG_MAINPANEL_CONTROLLERS (//) +Controllers +; +MSG_MAINPANEL_DEVICES (//) +Devices +; +MSG_MAINPANEL_CLASSES (//) +Classes +; +MSG_MAINPANEL_OPTIONS (//) +Options +; +MSG_MAINPANEL_POPUPS (//) +Popups +; +MSG_MAINPANEL_CONFIG (//) +Config +; +MSG_ERRLVL_ALL (//) +All messages +; +MSG_ERRLVL_WARNINGS (//) +Warning and worse +; +MSG_ERRLVL_ERRORS (//) +Errors and failures +; +MSG_ERRLVL_FAILURES (//) +Failures only +; +MSG_POPUP_NEVER (//) +Never open a popup window! Bah! +; +MSG_POPUP_ERROR (//) +Only popup on an error condition +; +MSG_POPUP_UNKNOWN (//) +Popup on new, unknown devices +; +MSG_POPUP_NOBINDING (//) +Popup, if there is no binding +; +MSG_POPUP_NOCONFIG (//) +Popup, if there is no config yet +; +MSG_POPUP_CONFIGCLASS (//) +Popup on configurable class +; +MSG_POPUP_BINDING (//) +Popup, regardless of binding +; +MSG_POPUP_ALWAYS (//) +Always immediately annoy me +; +MSG_PANEL_GENERAL_LABEL1 (//) +\33cTrident V4.3 Graphical User Interface +; +MSG_PANEL_GENERAL_LABEL2 (//) +\33cfor the Poseidon USB Stack +; +MSG_PANEL_GENERAL_LABEL3 (//) +\33cCopyright \xa92002-2009 Chris Hodges +; +MSG_PANEL_GENERAL_LABEL4 (//) +\33cAll rights reserved. +; +MSG_PANEL_GENERAL_LABEL5 (//) +\33cMason Icons are\ncourtesy of Martin Merz. +; +MSG_PANEL_HARDWARE_LABEL1 (//) +\33c\33bUSB Hardware Controllers available +; +MSG_PANEL_HARDWARE_CONTROLLER_HELP (//) +This is the list of available hardware controllers.\nSeveral different controllers can be in the system at\nthe same time.\nTo add an entry, use the 'New' gadget at the bottom.\nYou need to manually set an hardware controller online\nthe first time you add the device. +; +MSG_PANEL_HARDWARE_COLS_NAME (//) +\33uName +; +MSG_PANEL_HARDWARE_COLS_UNIT (//) +\33uUnit +; +MSG_PANEL_HARDWARE_COLS_ONLINE (//) +\33uOnline +; +MSG_PANEL_HARDWARE_COLS_PRODUCT (//) +\33uProduct +; +MSG_PANEL_HARDWARE_ONLINE_YES (//) +Yes +; +MSG_PANEL_HARDWARE_ONLINE_NO (//) +No +; +MSG_PANEL_HARDWARE_UNKNOWN (//) +\33iunknown until online +; +MSG_PANEL_HARDWARE_LABEL2 (//) +Device: +; +MSG_PANEL_HARDWARE_DEVICE_HELP (//) +Give the name of the controller device\ndriver in this field. These devices are\nnormally stored in DEVS:USBHardware. +; +MSG_PANEL_HARDWARE_SELECT (//) +Select USBHardware device... +; +MSG_PANEL_HARDWARE_UNIT (//) +Unit: +; +MSG_PANEL_HARDWARE_UNIT_HELP (//) +If there are multiple cards of the\nsame kind in your machine, enter\nthe unit number of the board here. +; +MSG_PANEL_HARDWARE_DRIVER_NEW (//) +\33c New +; +MSG_PANEL_HARDWARE_DRIVER_NEW_HELP (//) +Click here to create a\nnew hardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_COPY (//) +\33c Copy +; +MSG_PANEL_HARDWARE_DRIVER_COPY_HELP (//) +Click here to copy the selected\nhardware driver entry. +; +MSG_PANEL_HARDWARE_DRIVER_DELETE (//) +\33c Delete +; +MSG_PANEL_HARDWARE_DRIVER_DELETE_HELP (//) +Click here to remove the selected entry.\nThe hardware will automatically go offline,\ntaking all its connected devices down. +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE (//) +\33c Online +; +MSG_PANEL_HARDWARE_DRIVER_ONLINE_HELP (//) +Click here to activate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE (//) +\33c Offline +; +MSG_PANEL_HARDWARE_DRIVER_OFFLINE_HELP (//) +Click here to deactivate an\nindividual hardware driver. +; +MSG_PANEL_HARDWARE_DRIVER_INFO (//) +\33c Info +; +MSG_PANEL_HARDWARE_DRIVER_INFO_HELP (//) +To get information on the device driver,\nclick here. The device needs to be online\nfor the information to be available. +; +MSG_PANEL_DEVICES_LABEL (//) +\33c\33bUSB Devices in the system +; +MSG_PANEL_DEVICES_HELP (//) +This is the list of USB devices (functions)\ncurrently in the system. It also shows the\ncurrently existing device or interface bindings. +; +MSG_PANEL_DEVICES_COLS_NAME (//) +\33uName +; +MSG_PANEL_DEVICES_COLS_SPEED (//) +\33uSpeed +; +MSG_PANEL_DEVICES_COLS_STATE (//) +\33uState +; +MSG_PANEL_DEVICES_COLS_CLASS (//) +\33uClass +; +MSG_PANEL_DEVICES_COLS_BINDINGS (//) +\33uBindings +; +MSG_PANEL_DEVICES_SCAN (//) +\33c Class Scan +; +MSG_PANEL_DEVICES_SCAN_HELP (//) +Clicking on this button will start a class scan. This means that\neach device will be examined if it matches some of the standard\nclasses in the system. In this case, a binding will be established\nand the functionality will be added to the system automatically.\n +; +MSG_PANEL_DEVICES_UNBIND (//) +\33c Unbind +; +MSG_PANEL_DEVICES_UNBIND_HELP (//) +Manually removes a binding. This can be\nuseful to temporarily deactivate a device.\nUse 'Class Scan' to reactivate the binding. +; +MSG_PANEL_DEVICES_INFO (//) +\33c Information +; +MSG_PANEL_DEVICES_INFO_HELP (//) +Opens a detailed information window.\nJust try it, nothing can go wrong. +; +MSG_PANEL_DEVICES_SETTINGS (//) +\33c Settings +; +MSG_PANEL_DEVICES_SETTINGS_HELP (//) +If there is a device binding and the class\nsupports a configuration GUI, clicking on this\nbutton will open the preferences window.\n\nNote well, that the corresponding button for the\ninterface binding settings can be found inside\nthe information window. +; +MSG_PANEL_DEVICES_SUSPEND (//) +\33c Suspend +; +MSG_PANEL_DEVICES_SUSPEND_HELP (//) +Sends device into power saving suspend mode.\nIf a class binding does not support suspend,\nthis button will do nothing. +; +MSG_PANEL_DEVICES_RESUME (//) +\33c Resume +; +MSG_PANEL_DEVICES_RESUME_HELP (//) +Resumes the device to full operation after\nit was placed into suspend mode.\n +; +MSG_PANEL_DEVICES_POWERCYCLE (//) +\33c Powercycle +; +MSG_PANEL_DEVICES_POWERCYCLE_HELP (//) +Power cycles the hub port and re-enumerates\ndevice. Comes handy to reactivate dead devices.\n +; +MSG_PANEL_DEVICES_DISABLE (//) +\33c Disable +; +MSG_PANEL_DEVICES_DISABLE_HELP (//) +Permanently powers off the port. It cannot be\nreactivated by unplugging/replugging the device.\n +; +MSG_POSEIDON_SHORTHELP (//) +Poseidon (his latin name Neptune) the god of the sea\nand its inhabitants, and one of the Olympians, the son\nof Cronus and Rhea, brother of Zeus, Hades, Demeter,\nHera, Hestia. He was married to Amphitrite, a Nereid,\nand had by her the son Triton, a merman. Like other\nOlympians, had many love affairs (e.g. with Medusa)\nand numerous children (e.g. Pegasos). +; +MSG_PANEL_CLASSES (//) +\33c\33bUSB Classes available +; +MSG_PANEL_CLASSES_HELP (//) +This is the list of USB classes available.\nEach class is a software driver for a group of\nUSB devices. Classes can be manually added using\nthe 'Add' button or automatically with 'Dir Scan'. +; +MSG_PANEL_CLASSES_COLS_NAME (//) +\33uName +; +MSG_PANEL_CLASSES_COLS_USE (//) +\33uUse# +; +MSG_PANEL_CLASSES_COLS_DESC (//) +\33uDescription +; +MSG_PANEL_CLASSES_LABEL (//) +Class library: +; +MSG_PANEL_CLASSES_LABEL_HELP (//) +To manually add an usb class driver,\nenter its name here and click on 'Add'. +; +MSG_PANEL_CLASSES_SELECT (//) +Select USB class library... +; +MSG_PANEL_CLASSES_ADD (//) +\33cAdd +; +MSG_PANEL_CLASSES_ADD_HELP (//) +To manually add an usb class\ndriver, enter its name above\nand click on this button. +; +MSG_PANEL_CLASSES_REMOVE (//) +\33c Remove +; +MSG_PANEL_CLASSES_REMOVE_HELP (//) +Click here to remove a class driver\nand all its current bindings. +; +MSG_PANEL_CLASSES_CONFIG (//) +\33c Configure +; +MSG_PANEL_CLASSES_CONFIG_HELP (//) +If a class driver supports some kind of\nconfiguration, click here and it will\nopen a configuration window of the class. +; +MSG_PANEL_CLASSES_SCAN (//) +\33c Dir Scan +; +MSG_PANEL_CLASSES_SCAN_HELP (//) +Automatically scans for class\ndrivers and\nadds all drivers found to the system. +; +MSG_PANEL_OPTIONS (//) +\33c\33bVarious Settings +; +MSG_PANEL_OPTIONS_STACK (//) +Stack Settings +; +MSG_PANEL_OPTIONS_PRIORITY (//) +SubTask priority: +; +MSG_PANEL_OPTIONS_PRIORITY_HELP (//) +Defines the task priority of all\nsubtasks started by Poseidon. +; +MSG_PANEL_OPTIONS_BOOT (//) +Boot delay: +; +MSG_PANEL_OPTIONS_BOOT_HELP (//) +If reset resident, this value defines,\nhow long Poseidon should wait for USB\ndevices to settle, allowing to boot from\nslow devices such as an USB CD drive. +; +MSG_PANEL_OPTIONS_BOOT_FORMAT (//) +%ld sec. +; +MSG_PANEL_OPTIONS_DISABLELOW (//) +Automatically disable hub port on low power conditions: +; +MSG_PANEL_OPTIONS_DISABLELOW_HELP (//) +If a low power condition is detected at a port,\nselecting this switch will automatically turn off\nthe device causing the low power condition. +; +MSG_PANEL_OPTIONS_DISABLEDEAD (//) +Automatically disable hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_DISABLEDEAD_HELP (//) +If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be disabled automatically to avoid unnecessary\nperformance penalties. +; +MSG_PANEL_OPTIONS_POWERCYCLE (//) +Automatically power cycle hub port, if device drops dead: +; +MSG_PANEL_OPTIONS_POWERCYCLE_HELP (//) +If a device drops dead (transfer timeouts),\nand this switch is selected, then the hub port\nwill be reset automatically to try to revive the\ndevice. However, this can lead to nasty infinity loops. +; +MSG_PANEL_OPTIONS_POWERSAVE (//) +Enable power-saving suspend mode: +; +MSG_PANEL_OPTIONS_POWERSAVE_HELP (//) +Devices will be placed into suspend mode after\na specified interval of inactivity.\nPower consumption goes down to less than 1mA.\nResuming of operation usually takes place within 25ms. +; +MSG_PANEL_OPTIONS_FORCESUSPEND (//) +Force suspend mode, even if not supported by class: +; +MSG_PANEL_OPTIONS_FORCESUSPEND_HELP (//) +Class drivers should support going into suspend\nmode. If they don't, enabling this switch will\nsimply release the binding prior to suspending.\nThis is only performed on remote wakeup devices,\notherwise the class wouldn't rebind automatically. +; +MSG_PANEL_OPTIONS_INACTIVITY (//) +Inactivity timeout for suspend: +; +MSG_PANEL_OPTIONS_INACTIVITY_HELP (//) +Timeout before trying to place a device into\npower saving suspend mode. +; +MSG_PANEL_OPTIONS_INACTIVITY_FORMAT (//) +%ld sec. +; +MSG_PANEL_OPTIONS_LOGGING (//) +Logging Options +; +MSG_PANEL_OPTIONS_LOGGING_LABEL (//) +Log info messages: +; +MSG_PANEL_OPTIONS_LOGGING_LABEL_HELP (//) +Toggles logging of normal\ninformation messages. +; +MSG_PANEL_OPTIONS_LOGGING_WARN (//) +Log warnings: +; +MSG_PANEL_OPTIONS_LOGGING_WARN_HELP (//) +Toggles logging of warnings. +; +MSG_PANEL_OPTIONS_LOGGING_ERR (//) +Log errors: +; +MSG_PANEL_OPTIONS_LOGGING_ERR_HELP (//) +Toggles logging of errors. +; +MSG_PANEL_OPTIONS_LOGGING_FAIL (//) +Log failures: +; +MSG_PANEL_OPTIONS_LOGGING_FAIL_HELP (//) +Toggles logging of failures. +; +MSG_PANEL_OPTIONS_MEMORY (//) +Memory allocated in Poseidon Pool: +; +MSG_PANEL_POPO (//) +\33c\33bPopup Settings +; +MSG_PANEL_POPO_LABEL (//) +Popup Window Options +; +MSG_PANEL_POPO_CONNECT (//) +On connecting: +; +MSG_PANEL_POPO_CONNECT_HELP (//) +Popup display behaviour on\nconnecting new USB devices +; +MSG_PANEL_POPO_DISCONNECT (//) +On disconnect: +; +MSG_PANEL_POPO_DISCONNECT_HELP (//) +Whether to popup a window\nif the device is removed. +; +MSG_PANEL_POPO_DEATH (//) +On device death: +; +MSG_PANEL_POPO_DEATH_HELP (//) +Open a requester, if device seems to be dead. +; +MSG_PANEL_POPO_DELAY (//) +Popup delay: +; +MSG_PANEL_POPO_DELAY_HELP (//) +How long should the requester be displayed\nbefore disappearing automatically. +; +MSG_PANEL_POPO_DELAY_FORMAT (//) +%ld sec. +; +MSG_PANEL_POPO_ACTIVATE (//) +Activate window: +; +MSG_PANEL_POPO_ACTIVATE_HELP (//) +Make the window active when opening. +; +MSG_PANEL_POPO_TOFRONT (//) +Pop to front: +; +MSG_PANEL_POPO_TOFRONT_HELP (//) +Pop window to front, if content changes. +; +MSG_PANEL_POPO_CONSOUND (//) +Connection sound: +; +MSG_PANEL_POPO_CONSOUND_HELP (//) +This sound will be replayed everytime\na device is connected to the bus. +; +MSG_PANEL_POPO_CONSOUND_SELECT (//) +Select a sound file to be replayed... +; +MSG_PANEL_POPO_DISCONSOUND (//) +Disconnect sound: +; +MSG_PANEL_POPO_DISCONSOUND_HELP (//) +This sound will be replayed everytime\na device is removed from the bus. +; +MSG_PANEL_POPO_DISCONSOUND_SELECT (//) +Select a sound file to be replayed... +; +MSG_PANEL_CONFIG (//) +\33c\33bConfiguration management (Use drag & drop) +; +MSG_PANEL_CONFIG_HELP (//) +In this box you can see all the preferences that are\nsaved along the prefs file in ENVARC:.\nYou can use this panel to delete or export prefs.\n\nUse drag & drop to copy or replace preferences.\n +; +MSG_PANEL_CONFIG_COLS_TYPE (//) +\33uType +; +MSG_PANEL_CONFIG_COLS_DESC (//) +\33uDescription +; +MSG_PANEL_CONFIG_COLS_OWNER (//) +\33uOwner +; +MSG_PANEL_CONFIG_COLS_SIZE (//) +\33uSize +; +MSG_PANEL_CONFIG_SAVEAS (//) +\33c Save as +; +MSG_PANEL_CONFIG_SAVEAS_HELP (//) +Save all the prefs under given name\nfor reloading it later. +; +MSG_PANEL_CONFIG_EXPORT (//) +\33c Export +; +MSG_PANEL_CONFIG_EXPORT_HELP (//) +Allows you to save a selected entry\nto reload it later. +; +MSG_PANEL_CONFIG_IMPORT (//) +\33c Import +; +MSG_PANEL_CONFIG_IMPORT_HELP (//) +Imports a previously saved piece of prefs. +; +MSG_PANEL_CONFIG_REMOVE (//) +\33c Remove +; +MSG_PANEL_CONFIG_REMOVE_HELP (//) +Deletes the selected prefs entry. +; +MSG_PANEL_CONFIG_MSGLOG (//) +Message Log +; +MSG_PANEL_CONFIG_INFLVL (//) +Information level: +; +MSG_PANEL_CONFIG_INFLVL_HELP (//) +This gadget determines the amount and\ntype of messages shown below. +; +MSG_PANEL_CONFIG_LOGSAVE (//) +\33c Save to disk +; +MSG_PANEL_CONFIG_LOGSAVE_HELP (//) +To generate a logfile of the errors,\ne.g. to send the information to me\nfor bug reporting or help. +; +MSG_PANEL_CONFIG_LOGFLUSH (//) +\33c Flush all +; +MSG_PANEL_CONFIG_LOGFLUSH_HELP (//) +Clicking on this button will remove all\nthe messages in the stack. There's no way\nto get them back. +; +MSG_PANEL_CONFIG_LOGHELP (//) +These are the messages of the Poseidon stack\ngenerated so far. If you want to clear this list\njust click on the 'Flush all messages' button. +; +MSG_PANEL_CONFIG_ALLONLINE (//) +\33c All Online +; +MSG_PANEL_CONFIG_ALLONLINE_HELP (//) +Start all USB hardware device drivers that\nhave been entered in the 'Hardware' panel.\nMoreover, the found devices will be checked\nfor possible bindings. +; +MSG_PANEL_CONFIG_ALLOFFLINE (//) +\33c All Offline +; +MSG_PANEL_CONFIG_ALLOFFLINE_HELP (//) +Using 'Offline' you can take down all the USB\nhardware device drivers.\nThis totally halts the stack. +; +MSG_PANEL_CONFIG_RESTART (//) +\33c Restart +; +MSG_PANEL_CONFIG_RESTART_HELP (//) +Clicking on 'Restart' will stop and restart\nall hardware device drivers. +; +MSG_PANEL_CONFIG_SAVE (//) +\33c Save +; +MSG_PANEL_CONFIG_SAVE_HELP (//) +To save your current prefs to disk, click\non this button. The configuration will be\nstored in both ENVARC: and\n ENV:. +; +MSG_PANEL_CONFIG_USE (//) +\33c Use +; +MSG_PANEL_CONFIG_USE_HELP (//) +To use, but not permanently save your prefs\nclick this button. The configuration will be\nstored in ENV:. +; +MSG_UNKNOWN (//) +unknown +; +MSG_HARDWARE_WINDOW (//) +Hardware driver information window +; +MSG_HARDWARE_WINDOW_HELP (//) +These fields show some general information\non the USB hardware driver. +; +MSG_HARDWARE_WINDOW_FRAME (//) +General USB hardware driver information +; +MSG_HARDWARE_WINDOW_LABEL (//) +Device:\nUnit:\nVersion:\nProduct:\nManufacturer:\nDescription:\nCopyright: +; +MSG_ACTION_SAVE_ERR (//) +Select file to save errors to... +; +MSG_ACTION_SAVE_ERR_FILE (//) +Errors.log +; +MSG_ACTION_ERR_SAVED (//) +Error log saved to file %s. +; +MSG_ACTION_ERR_SAVED_ERRWRITE (//) +Error opening file %s for writing. +; +MSG_ACTION_SAVE_DEV (//) +Select file to save device list to... +; +MSG_ACTION_SAVE_DEV_FILE (//) +DevList.log +; +MSG_ACTION_SAVE_DEV_ERREXE (//) +Error executing PsdDevLister +; +MSG_ACTION_DEV_SAVED (//) +DevLister saved to %s. +; +MSG_ACTION_PREFS_LOAD (//) +Select a Poseidon Prefs file... +; +MSG_ACTION_PREFS_LOADED (//) +Config loaded from %s. +; +MSG_ACTION_PREFS_SAVEAS (//) +Select file to save prefs to... +; +MSG_ACTION_PREFS_SAVED (//) +Configuration successfully saved to %s. +; +MSG_ACTION_PREFS_SAVEDERR (//) +Couldn't save config to %s. +; +MSG_ACTION_PREFS_NOTSAVED (//) +Config not saved! +; +MSG_ACTION_PREFS_SAVEDSUCCESS (//) +Configuration successfully saved. +; +MSG_ACTION_USEQUIT (//) +Use|Save|Cancel +; +MSG_ACTION_CONFIGCHANGED (//) +The current configuration has been changed\nand not been saved yet. +; +MSG_ACTION_SAVEQUIT (//) +Couldn't save config. +; +MSG_ACTION_DEV_FORCEBIND_NONE (//) +None +; +MSG_ACTION_DEV_FORCE_REQ (//) +I'm not dumb!|I'll reconsider +; +MSG_ACTION_DEV_FORCE_REQ_TXT (//) +You are about to establish a forced \33bdevice\33n\nbinding. This is not an interface binding. As\nmost people are not capable of reading the\nmanual and they cause more harm than good.\nPlease make sure you know, what you're doing\nand not breaking things (and then bugger me with\nsilly emails). +; +MSG_ACTION_DEV_FORCE (//) +Forcing device binding of %s to %s. +; +MSG_ACTION_DEV_FORCE_REMOVE (//) +Removed forced device binding of %s. +; +MSG_ACTION_CFG_REMOVE (//) +Remove|Cancel +; +MSG_ACTION_CFG_REMOVE_HELP (//) +You are about to \33bremove\33n the configuration\ndata related to the device with the ID\n\33b%s\33n.\nThis includes all individually saved class\nsetting for the device or interfaces, as well\nas the stuff Trident saves (such as custom name or\npopup inhibit).\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_DEFAULT (//) +You are about to \33bremove\33n the (default)\nconfiguration of the class \33b%s\33n.\nThis will set the classes initial prefs to the\ninternal defaults \33bon next boot\33n!\nIt does normally not affect the device or interface\nindividually saved settings.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS (//) +You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n,\nspecifically saved for device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_CLASS_DEF (//) +You are about to \33bremove\33n the class\nconfiguration of the class \33b%s\33n\nsaved for the particular interface\n\33b%s\33n of the device with ID\n\33b%s\33n.\n\nAre you sure you want to remove these prefs? +; +MSG_ACTION_CFG_REMOVE_UNKNOWN (//) +Do you really want to remove this\n\33bunknown prefs data\33n from the preferences? +; +MSG_ACTION_MEMPOOL_FORMAT (//) +%ld KB +; +MSG_ACTION_CFG_EXPORT (//) +Select file to export prefs to... +; +MSG_ACTION_CFG_PREFS_FILE (//) +unknown.prefs +; +MSG_ACTION_STACKCFG_FILE (//) +stackcfg.prefs +; +MSG_ACTION_DEVICECFG_FILE (//) +devicecfg.prefs +; +MSG_ACTION_CLASSCFG_FILE (//) +classcfg.prefs +; +MSG_ACTION_DEVCFGDATA_FILE (//) +devclscfg.prefs +; +MSG_ACTION_IFCFGDATA_FILE (//) +ifclscfg.prefs +; +MSG_ACTION_CFG_FAIL (//) +Failed to open file %s. +; +MSG_ACTION_CFG_IMPORT (//) +Select file to import prefs from... +; +MSG_ACTION_CFGDATA_OOPS (//) +Oops! +; +MSG_ACTION_CFGDATA_OOPS_HELP (//) +To import device or interface\nprefs data, you need to select\nthe device entry where it should be added. +; +MSG_ACTION_CFGDATA_ERR (//) +I don't know that kind of prefs file. +; +MSG_ACTION_CFGDATA_ERR_READ (//) +Read error on loading prefs file %s. +; +MSG_ACTION_CFGDATA_ERR_ALLOC (//) +Failed to allocate buffer for loading %s. +; +MSG_ACTION_CFGDATA_ERR_IFF (//) +%s does not seem to be an iff file. +; +MSG_ACTION_CFGDATA_ERR_OPEN (//) +Failed to open file %s. +; +MSG_APPLYDRAGACTION_DEVICECFG (//) +Replace|Merge|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_HELP (//) +Do you want to \33breplace\33n or \33bmerge\33n the prefs of\n\33b%s\33n\nwith the contents from\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVCFGDATA (//) +Add to device|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_HELP (//) +Sorry, but only prefs of the same owner can\nbe replaced.\n\nDo you wish to add this prefs\nto the device instead? +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE (//) +Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVCFGDATA_REPLACE_HELP (//) +Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby those of\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE (//) +Replace|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_REPLACE_HELP (//) +Do you want to \33breplace\33n the prefs of\n\33b%s\33n\nby the one in\n\33b%s\33n? +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD (//) +Add|Cancel +; +MSG_APPLYDRAGACTION_DEVICECFG_ADD_HELP (//) +Do you want to \33badd\33n the prefs of\n\33b%s\33n\nto the device\n\33b%s\33n? +; +MSG_CFGLISTDISPATCHER_OOPS (//) +Oops! +; +MSG_CFGLISTDISPATCHER_OOPS_HELP (//) +Sorry, drag'n drop operation to\nthat target is not supported. +; +MSG_DEVICE_SPEED_LOW (//) +Low +; +MSG_DEVICE_SPEED_HIGH (//) +High +; +MSG_DEVICE_SPEED_FULL (//) +Full +; +MSG_DEVICE_SPEED_SUPER (//) +Super +; +MSG_DEVICE_STATE_SUSPENDED (//) +Suspended +; +MSG_DEVICE_STATE_DEAD (//) +Dead +; +MSG_DEVICE_STATE_DEADLP (//) +Dead \/ LP +; +MSG_DEVICE_STATE_LOWPOWER (//) +Low Power +; +MSG_DEVICE_STATE_CONFIGURED (//) +Running +; +MSG_DEVICE_STATE_DEVDESC (//) +DevDesc +; +MSG_DEVICE_STATE_HASADDRESS (//) +ValidAddr +; +MSG_DEVICE_STATE_CONNECTED (//) +Connected +; +MSG_LOGLEVEL_OK (//) + +; +MSG_LOGLEVEL_WARNING (//) +Warning +; +MSG_LOGLEVEL_ERROR (//) +Error +; +MSG_LOGLEVEL_FAILURE (//) +Failure +; +MSG_LOGLEVEL_OTHER (//) +??? +; diff --git a/version b/version index 4f7be4b1040..9b19243da52 100755 --- a/version +++ b/version @@ -1 +1 @@ -Release 9.5-RC2 +Release 9.5-RC01 diff --git a/workbench/c/LoadResource/catalogs b/workbench/c/LoadResource/catalogs deleted file mode 160000 index 6d43d6883c0..00000000000 --- a/workbench/c/LoadResource/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6d43d6883c08dc67f25766d4dff752b372a7781a diff --git a/workbench/c/LoadResource/catalogs/.gitattributes b/workbench/c/LoadResource/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/c/LoadResource/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/c/LoadResource/catalogs/czech.ct b/workbench/c/LoadResource/catalogs/czech.ct new file mode 100644 index 00000000000..21b99b45404 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/czech.ct @@ -0,0 +1,9 @@ +## version $VER: loadresource.catalog 1.0 (21.11.2007) +## language czech +## codeset 5 +; +; +MSG_ERROR_OPEN_LIBRARY +Nelze otevřít knihovnu %s. +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/danish.ct b/workbench/c/LoadResource/catalogs/danish.ct new file mode 100644 index 00000000000..0fad7eade1f --- /dev/null +++ b/workbench/c/LoadResource/catalogs/danish.ct @@ -0,0 +1,10 @@ +## version $VER: loadresource.catalog 1.0 (18.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_ERROR_OPEN_LIBRARY +Kunne ikke åbne biblioteket %s. +; Couldn't open library %s. +; \ No newline at end of file diff --git a/workbench/c/LoadResource/catalogs/finnish.ct b/workbench/c/LoadResource/catalogs/finnish.ct new file mode 100644 index 00000000000..c4da20508dc --- /dev/null +++ b/workbench/c/LoadResource/catalogs/finnish.ct @@ -0,0 +1,9 @@ +## version $VER: loadresource.catalog 1.0 (27.01.2005) +## language suomi +## codeset 0 +; +; +MSG_ERROR_OPEN_LIBRARY +Kirjastoa %s ei voi avata. +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/french.ct b/workbench/c/LoadResource/catalogs/french.ct new file mode 100644 index 00000000000..aeadb162301 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/french.ct @@ -0,0 +1,7 @@ +## version $VER: LoadResource.catalog 1.0 (12.8.2003) +## language français +## codeset 0 +; +MSG_ERROR_OPEN_LIBRARY +Impossible d'ouvrir la bibliothèque %s. +; diff --git a/workbench/c/LoadResource/catalogs/german.ct b/workbench/c/LoadResource/catalogs/german.ct new file mode 100644 index 00000000000..8e76498aec1 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/german.ct @@ -0,0 +1,13 @@ +## version $VER: loadresource.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_ERROR_OPEN_LIBRARY +Kann Library %s nicht öffnen. +; Couldn't open library %s. +; +MSG_ERROR_OPEN_DEVICE +Kann Device %s nicht öffnen. +; Couldn't open device %s. +; diff --git a/workbench/c/LoadResource/catalogs/hungarian.ct b/workbench/c/LoadResource/catalogs/hungarian.ct new file mode 100644 index 00000000000..76596619592 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/hungarian.ct @@ -0,0 +1,10 @@ +## version $VER: loadresource.catalog 1.0 (25.01.2005) +## language magyar +## codeset 5 +; +; Translated by Miklós Németh +; +MSG_ERROR_OPEN_LIBRARY +Nem tudtam megnyitni: %s! +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/italian.ct b/workbench/c/LoadResource/catalogs/italian.ct new file mode 100644 index 00000000000..e865dc285db --- /dev/null +++ b/workbench/c/LoadResource/catalogs/italian.ct @@ -0,0 +1,9 @@ +## version $VER: loadresource.catalog 1.0 (27.01.2005) +## language italiano +## codeset 0 +; +; +MSG_ERROR_OPEN_LIBRARY +Impossibile aprire la libreria %s. +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/loadresource.cd b/workbench/c/LoadResource/catalogs/loadresource.cd new file mode 100644 index 00000000000..6a564c183fb --- /dev/null +++ b/workbench/c/LoadResource/catalogs/loadresource.cd @@ -0,0 +1,7 @@ +; +MSG_ERROR_OPEN_LIBRARY (//) +Couldn't open library %s. +; +MSG_ERROR_OPEN_DEVICE (//) +Couldn't open device %s. +; diff --git a/workbench/c/LoadResource/catalogs/mmakefile.src b/workbench/c/LoadResource/catalogs/mmakefile.src new file mode 100644 index 00000000000..0896aaa9347 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2004, The AROS Development Team. All rights reserved. + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-c-loadresource-catalogs \ + catalogs=$(CATALOGS) \ + name=LoadResource subdir=System/C diff --git a/workbench/c/LoadResource/catalogs/polish.ct b/workbench/c/LoadResource/catalogs/polish.ct new file mode 100644 index 00000000000..f4ef232f15a --- /dev/null +++ b/workbench/c/LoadResource/catalogs/polish.ct @@ -0,0 +1,8 @@ +## version $VER: loadresource.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_ERROR_OPEN_LIBRARY +Nie można otworzyć biblioteki %s. +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/russian.ct b/workbench/c/LoadResource/catalogs/russian.ct new file mode 100644 index 00000000000..b5acf5d6a72 --- /dev/null +++ b/workbench/c/LoadResource/catalogs/russian.ct @@ -0,0 +1,9 @@ +## version $VER: loadresource.catalog 1.0 (27.01.2005) +## language russian +## codeset 2104 +; +; +MSG_ERROR_OPEN_LIBRARY +Не могу открыть библиотеку %s. +; Couldn't open library %s. +; diff --git a/workbench/c/LoadResource/catalogs/spanish.ct b/workbench/c/LoadResource/catalogs/spanish.ct new file mode 100644 index 00000000000..bc85ab3072d --- /dev/null +++ b/workbench/c/LoadResource/catalogs/spanish.ct @@ -0,0 +1,10 @@ +## version $VER: loadresource.catalog 1.0 (03.10.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_ERROR_OPEN_LIBRARY +No se puede abrir la biblioteca %s. +;Couldn't open library %s. +; diff --git a/workbench/c/R/catalogs b/workbench/c/R/catalogs deleted file mode 160000 index 4420f496697..00000000000 --- a/workbench/c/R/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4420f49669751d2aa4b5439b26746d93264f7900 diff --git a/workbench/c/R/catalogs/.gitattributes b/workbench/c/R/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/c/R/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/c/R/catalogs/R.cd b/workbench/c/R/catalogs/R.cd new file mode 100644 index 00000000000..f5c0da0c88f --- /dev/null +++ b/workbench/c/R/catalogs/R.cd @@ -0,0 +1,45 @@ +MSG_APP_TITLE (//) +R +; +MSG_APP_DESCRIPTION (//) +GUI Generator +; +MSG_WIN_TITLE (//) +R : %s +; +MSG_OK (//) +OK +; +MSG_CANCEL (//) +Cancel +; +MSG_ERROR_ALLOCATE (//) +Can't allocate struct Req\n +; +MSG_ERROR_RETURN (//) +\"%s\" failed, return code %ld\n +; +MSG_ERROR_POOL (//) +Can't create poolmem\n +; +MSG_ERROR_STRUCT (//) +Can't allocate struct Req\n +; +MSG_ERROR_ARGS (//) +Failed to parse arguments\n +; +MSG_ERROR_NOTFOUND (//) +Command not found\n +; +MSG_ERROR_TMPLT_GET (//) +Failed to get template\n +; +MSG_ERROR_TMPLT_PARSE (//) +Failed to parse the template\n +; +MSG_ERROR_GUI (//) +Failed to create application object\n +; +MSG_ERROR_DEFAULTS (//) +Failed to set the default values\n +; diff --git a/workbench/c/R/catalogs/french.ct b/workbench/c/R/catalogs/french.ct new file mode 100644 index 00000000000..23ab62c2a43 --- /dev/null +++ b/workbench/c/R/catalogs/french.ct @@ -0,0 +1,56 @@ +## version $VER: R.catalog 1.0 (14.06.2012) +## language français +## codeset 0 +; +; +MSG_APP_TITLE +R +; +MSG_APP_DESCRIPTION +Générateur d'interfaces graphiques +;GUI Generator +MSG_WIN_TITLE +R : %s +; +MSG_OK +OK +; +MSG_CANCEL +Annuler +;Cancel +MSG_ERROR_ALLOCATE +Impossible d'allouer la requête\n +;Can't allocate struct Req\n +; +MSG_ERROR_RETURN +« %s » a échoué, le code d'erreur est %ld\n +;\"%s\" failed, return code %ld\n +; +MSG_ERROR_POOL +Impossible de créer un pool de mémoire\n +;Can't create poolmem\n +; +MSG_ERROR_STRUCT +Impossible d'allouer une structure Req\n +;Can't allocate struct Req\n +; +MSG_ERROR_ARGS +Impossible de scruter les arguments\n +;Failed to parse arguments\n +; +MSG_ERROR_NOTFOUND +Commande introuvable\n +;Command not found\n +; +MSG_ERROR_TMPLT_GET +Impossible de trouver le modèle\n +;Failed to get template\n +; +MSG_ERROR_TMPLT_PARSE +Impossible de lire le modèle\n +;Failed to parse the template\n +; +MSG_ERROR_GUI +Impossible de créer l'objet application\n +;Failed to create application object\n +; diff --git a/workbench/c/R/catalogs/german.ct b/workbench/c/R/catalogs/german.ct new file mode 100644 index 00000000000..9b4cf6cab0d --- /dev/null +++ b/workbench/c/R/catalogs/german.ct @@ -0,0 +1,64 @@ +## version $VER: R.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +MSG_APP_TITLE +R +; R +; +MSG_APP_DESCRIPTION +GUI-Generator +; GUI Generator +; +MSG_WIN_TITLE +R: %s +; R : %s +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_ERROR_ALLOCATE +Kann struct Req nicht allozieren\n +; Can't allocate struct Req\n +; +MSG_ERROR_RETURN +\"%s\" fehlgeschlagen, Returncode %ld\n +; \"%s\" failed, return code %ld\n +; +MSG_ERROR_POOL +Kann Poolmem nicht erzeugen\n +; Can't create poolmem\n +; +MSG_ERROR_STRUCT +Kann struct Req nicht allozieren\n +; Can't allocate struct Req\n +; +MSG_ERROR_ARGS +Argumente zu parsen fehlgeschlagen\n +; Failed to parse arguments\n +; +MSG_ERROR_NOTFOUND +Befehl nicht gefunden\n +; Command not found\n +; +MSG_ERROR_TMPLT_GET +Schablone zu holen fehlgeschlagen\n +; Failed to get template\n +; +MSG_ERROR_TMPLT_PARSE +Schablone zu parsen fehlgeschlagen\n +; Failed to parse the template\n +; +MSG_ERROR_GUI +Anwendungsobjekt zu erzeugen fehlgeschlagen\n +; Failed to create application object\n +; +MSG_ERROR_DEFAULTS +Standardwerte setzen fehlgeschlagen +; Failed to set the default values\n +; diff --git a/workbench/c/R/catalogs/mmakefile.src b/workbench/c/R/catalogs/mmakefile.src new file mode 100644 index 00000000000..1bbaaf21707 --- /dev/null +++ b/workbench/c/R/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-c-r-catalogs \ + catalogs=$(CATALOGS) \ + name=R subdir=System/C diff --git a/workbench/c/iprefs/fontprefs.c b/workbench/c/iprefs/fontprefs.c index a93f3fb354e..005270c712b 100644 --- a/workbench/c/iprefs/fontprefs.c +++ b/workbench/c/iprefs/fontprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -44,9 +44,9 @@ LONG stopchunks[] = void FontPrefs_Handler(STRPTR filename) { - struct IFFHandle *iff; + struct IFFHandle *iff; - D(bug("In IPrefs:FontPrefs_Handler\n")); + bug("In IPrefs:FontPrefs_Handler\n"); if ((iff = CreateIFF(filename, stopchunks, 1))) { @@ -126,13 +126,12 @@ void FontPrefs_Handler(STRPTR filename) /* Keep trying to close WB screen unless user cancels or it wasn't open in the first place */ - while (!(closed || cancel || - NextPubScreen(NULL, screen_name) == NULL)) + while (!(closed || cancel || NextPubScreen(NULL, screen_name) == NULL)) { closed = CloseWorkBench(); if (!closed) cancel = ShowMessage("System Request", - "Intuition is attempting to reset" + "FontPrefs is attempting to reset" " the Workbench Screen.\n" "Please close all windows," " except drawers.", diff --git a/workbench/c/iprefs/icontrolprefs.c b/workbench/c/iprefs/icontrolprefs.c index e71e8e2e9e4..19fad7a9701 100644 --- a/workbench/c/iprefs/icontrolprefs.c +++ b/workbench/c/iprefs/icontrolprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -74,7 +74,7 @@ void IControlPrefs_Handler(STRPTR filename) { struct IFFHandle *iff; - D(bug("In IPrefs:IControlPrefs_Handler\n")); + bug("In IPrefs:IControlPrefs_Handler\n"); if ((iff = CreateIFF(filename, stopchunks, 1))) { diff --git a/workbench/c/iprefs/inputprefs.c b/workbench/c/iprefs/inputprefs.c index 41e0b35fe4f..31e5f0dd61b 100644 --- a/workbench/c/iprefs/inputprefs.c +++ b/workbench/c/iprefs/inputprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -113,7 +113,7 @@ void InputPrefs_Handler(STRPTR filename) { struct IFFHandle *iff; - D(bug("In IPrefs:InputPrefs_Handler\n")); + bug("In IPrefs:InputPrefs_Handler\n"); if ((iff = CreateIFF(filename, stopchunks, 2))) { diff --git a/workbench/c/iprefs/localeprefs.c b/workbench/c/iprefs/localeprefs.c index 27fc4bfe004..f93e49ebbb0 100644 --- a/workbench/c/iprefs/localeprefs.c +++ b/workbench/c/iprefs/localeprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -18,7 +18,7 @@ void LocalePrefs_Handler(STRPTR filename) { struct Locale *newloc /*, *oldloc */; - D(bug("In IPrefs:LocalePrefs_Handler\n")); + bug("In IPrefs:LocalePrefs_Handler\n"); if ((newloc = OpenLocale(filename))) { diff --git a/workbench/c/iprefs/main.c b/workbench/c/iprefs/main.c index ee4f1f9ec8a..2cb14e67ecf 100644 --- a/workbench/c/iprefs/main.c +++ b/workbench/c/iprefs/main.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: Iprefs @@ -94,17 +94,17 @@ static struct prefinfo } preftable[] = { - {"input" , inputprefsname , InputPrefs_Handler }, - {"locale" , localeprefsname , LocalePrefs_Handler }, /* Keep before font */ - {"font" , fontprefsname , FontPrefs_Handler }, - {"palette" , paletteprefsname , PalettePrefs_Handler }, - {"wbpattern" , patternprefsname , WBPatternPrefs_Handler }, - {"icontrol" , icontrolprefsname , IControlPrefs_Handler }, - {"screenmode" , screenmodeprefsname, ScreenModePrefs_Handler }, - {"serial" , serialprefsname , SerialPrefs_Handler }, - {"printer" , printerprefsname , PrinterPrefs_Handler }, - {"pointer" , pointerprefsname , PointerPrefs_Handler }, - {"overscan" , overscanprefsname , NULL }, + {"input" , inputprefsname , InputPrefs_Handler }, // ApolloOS IPrefs + Prefs/Input (REWRITE!) + {"locale" , localeprefsname , LocalePrefs_Handler }, // ApolloOS IPrefs + Prefs/Locale (REWRITE!) + {"font" , fontprefsname , FontPrefs_Handler }, // ApolloOS IPrefs + AmiNet Prefs/Font (Triton) + {"palette" , paletteprefsname , PalettePrefs_Handler }, // ApolloOS IPrefs + Prefs/Palette (REWRITE!) + //{"icontrol" , icontrolprefsname , IControlPrefs_Handler }, // Redundant + {"screenmode" , screenmodeprefsname, ScreenModePrefs_Handler }, // ApolloOS IPrefs + Prefs/ScreenMode (REWRITE!) + //{"wbpattern" , patternprefsname , WBPatternPrefs_Handler }, // AOS39 IPrefs + Prefs/WBPattern + {"serial" , serialprefsname , SerialPrefs_Handler }, // ApolloOS IPrefs + Prefs/Serial (REWRITE!) + {"printer" , printerprefsname , PrinterPrefs_Handler }, // ApolloOS IPrefs + Prefs/Printer (REWRITE!) + //{"pointer" , pointerprefsname , PointerPrefs_Handler }, // + //{"overscan" , overscanprefsname , NULL }, // Redundant {NULL } }; diff --git a/workbench/c/iprefs/paletteprefs.c b/workbench/c/iprefs/paletteprefs.c index 865d0164a34..c16b782a9bf 100644 --- a/workbench/c/iprefs/paletteprefs.c +++ b/workbench/c/iprefs/paletteprefs.c @@ -1,5 +1,5 @@ /* - Copyright 2020, The AROS Development Team. All rights reserved. + Copyright � 2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -32,7 +32,7 @@ void PalettePrefs_Handler(STRPTR filename) struct PalettePrefs paletteprefs; struct IFFHandle *iff; - D(bug("[IPrefs:Palette] %s('%s')\n", __func__, filename)); + bug("[IPrefs:Palette] %s('%s')\n", __func__, filename); if ((iff = CreateIFF(filename, stopchunks, 2))) { diff --git a/workbench/c/iprefs/pointerprefs.c b/workbench/c/iprefs/pointerprefs.c index 8480e7724bd..1e4c472550a 100644 --- a/workbench/c/iprefs/pointerprefs.c +++ b/workbench/c/iprefs/pointerprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -182,6 +182,6 @@ static void LoadPointerPrefs(STRPTR filename, WORD which, WORD installas, LONG n void PointerPrefs_Handler(STRPTR filename) { - D(bug("In IPrefs:PointerPrefs_Handler\n")); + bug("In IPrefs:PointerPrefs_Handler\n"); LoadPointerPrefs(filename, -1, -1, 2); } diff --git a/workbench/c/iprefs/printerprefs.c b/workbench/c/iprefs/printerprefs.c index e8887aaea01..6f58f2253ab 100644 --- a/workbench/c/iprefs/printerprefs.c +++ b/workbench/c/iprefs/printerprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -40,7 +40,7 @@ void PrinterPrefs_Handler(STRPTR filename) ULONG devnamelen; BOOL name_too_long = FALSE; - D(bug("[PrinterPrefs] filename=%s\n", filename)); + bug("[PrinterPrefs] filename=%s\n", filename); iff = CreateIFF(filename, stopchunks, 2); if (iff) diff --git a/workbench/c/iprefs/screenmodeprefs.c b/workbench/c/iprefs/screenmodeprefs.c index 63c0c43ead8..a74dcf471da 100644 --- a/workbench/c/iprefs/screenmodeprefs.c +++ b/workbench/c/iprefs/screenmodeprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -29,29 +29,32 @@ void ScreenModePrefs_Handler(STRPTR filename) struct IFFHandle *iff; struct ScreenModePrefs *smp; - D(bug("In IPrefs:ScreenModePrefs_Handler\n")); - D(bug("filename=%s\n",filename)); + bug("In IPrefs:ScreenModePrefs_Handler\n"); + D(bug("filename=%s\n",filename))s; iff = CreateIFF(filename, stopchunks, 1); if (iff) { - while(ParseIFF(iff, IFFPARSE_SCAN) == 0) { + while(ParseIFF(iff, IFFPARSE_SCAN) == 0) + { smp = LoadChunk(iff, sizeof(struct ScreenModePrefs), MEMF_ANY); - if (smp) { + if (smp) + { struct IScreenModePrefs i; - - i.smp_DisplayID = AROS_BE2LONG(smp->smp_DisplayID); - i.smp_Width = AROS_BE2WORD(smp->smp_Width); - i.smp_Height = AROS_BE2WORD(smp->smp_Height); - i.smp_Depth = AROS_BE2WORD(smp->smp_Depth); - i.smp_Control = AROS_BE2WORD(smp->smp_Control); - D(bug("[ScreenModePrefs] ModeID: 0x%08lX, Size: %dx%d, Depth: %d, Control: 0x%08lX\n", - i.smp_DisplayID, i.smp_Width, i.smp_Height, i.smp_Depth, i.smp_Control)); - + + i.smp_DisplayID = smp->smp_DisplayID; + i.smp_Width = smp->smp_Width; + i.smp_Height = smp->smp_Height; + i.smp_Depth = smp->smp_Depth; + i.smp_Control = smp->smp_Control; + + bug("[ScreenModePrefs] ModeID: 0x%08lX, Size: %dx%d, Depth: %d, Control: 0x%08lX\n\n", + i.smp_DisplayID, i.smp_Width, i.smp_Height, i.smp_Depth, i.smp_Control); + SetIPrefs(&i, sizeof(struct IScreenModePrefs), IPREFS_TYPE_SCREENMODE); - FreeVec(smp); - } - } - KillIFF(iff); + FreeVec(smp); + } + } + KillIFF(iff); } } diff --git a/workbench/c/iprefs/serialprefs.c b/workbench/c/iprefs/serialprefs.c index 0a458e82635..12b33d842b1 100644 --- a/workbench/c/iprefs/serialprefs.c +++ b/workbench/c/iprefs/serialprefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2020, The AROS Development Team. All rights reserved. + Copyright � 1995-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -38,7 +38,7 @@ void SerialPrefs_Handler(STRPTR filename) struct IFFHandle *iff; struct SerialPrefs *serialprefs; - D(bug("In IPrefs:SerialPrefs_Handler\n")); + bug("In IPrefs:SerialPrefs_Handler\n"); D(bug("filename=%s\n",filename)); iff = CreateIFF(filename, stopchunks, 1); diff --git a/workbench/c/iprefs/wbpatternprefs.c b/workbench/c/iprefs/wbpatternprefs.c index 234ed6eae82..a0696e12861 100644 --- a/workbench/c/iprefs/wbpatternprefs.c +++ b/workbench/c/iprefs/wbpatternprefs.c @@ -1,5 +1,5 @@ /* - Copyright 2004-2020, The AROS Development Team. All rights reserved. + Copyright � 2004-2020, The AROS Development Team. All rights reserved. $Id$ Desc: @@ -60,7 +60,7 @@ void WBPatternPrefs_Handler(STRPTR filename) { struct IFFHandle *iff; - D(bug("In IPrefs:WBPatternPrefs_Handler\n")); + bug("In IPrefs:WBPatternPrefs_Handler\n"); if ((iff = CreateIFF(filename, stopchunks, 1))) { diff --git a/workbench/c/shellcommands/NewShell.c b/workbench/c/shellcommands/NewShell.c index 2fd35e85679..aca13529a02 100644 --- a/workbench/c/shellcommands/NewShell.c +++ b/workbench/c/shellcommands/NewShell.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2012, The AROS Development Team. All rights reserved. + Copyright � 1995-2012, The AROS Development Team. All rights reserved. $Id$ Desc: NewShell CLI Command @@ -97,7 +97,7 @@ #include AROS_SH3(NewShell, 41.2, -AROS_SHA(STRPTR, ,WINDOW, ,"CON:10/50/640/480/AROS-Shell/CLOSE"), +AROS_SHA(STRPTR, ,WINDOW, ,"CON:100/100/1080/500/ApolloOS Shell/CLOSE"), AROS_SHA(STRPTR, ,FROM, ,"S:Shell-Startup"), AROS_SHA(LONG *, ,STACK,/N,NULL)) { diff --git a/workbench/classes/zune/aboutwindow/catalogs b/workbench/classes/zune/aboutwindow/catalogs deleted file mode 160000 index 672421c285f..00000000000 --- a/workbench/classes/zune/aboutwindow/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 672421c285f109450ebab4941c8db0f2f8dd3f4d diff --git a/workbench/classes/zune/aboutwindow/catalogs/.gitattributes b/workbench/classes/zune/aboutwindow/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/classes/zune/aboutwindow/catalogs/aboutwindow.cd b/workbench/classes/zune/aboutwindow/catalogs/aboutwindow.cd new file mode 100644 index 00000000000..521ff3f997a --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/aboutwindow.cd @@ -0,0 +1,16 @@ +; +MSG_ABOUT (//) +About +; +MSG_AUTHORS (//) +Authors +; +MSG_SPONSORS (//) +Sponsors +; +MSG_SECTION_PROGRAMMING (//) +Programming +; +MSG_SECTION_TRANSLATING (//) +Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/czech.ct b/workbench/classes/zune/aboutwindow/catalogs/czech.ct new file mode 100644 index 00000000000..be46fa55f6c --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/czech.ct @@ -0,0 +1,25 @@ +## version $VER: aboutwindow.catalog 1.0 (07.06.2007) +## language czech +## codeset 0 +; +; +MSG_ABOUT +O programu +; About +; +MSG_AUTHORS +Autoři +; Authors +; +MSG_SPONSORS +Sponzoři +; Sponsors +; +MSG_SECTION_PROGRAMMING +Vývoj +; Programming +; +MSG_SECTION_TRANSLATING +Překlad +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/danish.ct b/workbench/classes/zune/aboutwindow/catalogs/danish.ct new file mode 100644 index 00000000000..4661497bf59 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/danish.ct @@ -0,0 +1,25 @@ +## version $VER: AboutWindow.catalog 1.0 (25.06.2010) +## language dansk +## codeset 0 +; +; +MSG_ABOUT +Om +; About +; +MSG_AUTHORS +Ophavsmænd +; Authors +; +MSG_SPONSORS +Sponsorer +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programmering +; Programming +; +MSG_SECTION_TRANSLATING +Oversættelse +; Translating +; \ No newline at end of file diff --git a/workbench/classes/zune/aboutwindow/catalogs/finnish.ct b/workbench/classes/zune/aboutwindow/catalogs/finnish.ct new file mode 100644 index 00000000000..ac5483faab0 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/finnish.ct @@ -0,0 +1,24 @@ +## version $VER: AboutWindow.catalog 1.0 (12.06.2003) +## codeset 0 +## language suomi +; +MSG_ABOUT +Tietoa +; About +; +MSG_AUTHORS +Tekijät +; Authors +; +MSG_SPONSORS +Tukijat +; Sponsors +; +MSG_SECTION_PROGRAMMING +Ohjelmointi +; Programming +; +MSG_SECTION_TRANSLATING +Käännökset +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/french.ct b/workbench/classes/zune/aboutwindow/catalogs/french.ct new file mode 100644 index 00000000000..fad80036db6 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/french.ct @@ -0,0 +1,25 @@ +## version $VER: AboutWindow.catalog 1.0 (19.02.2004) +## codeset 0 +## language français +; +; +MSG_ABOUT +A propos +;About +; +MSG_AUTHORS +Auteurs +;Authors +; +MSG_SPONSORS +Mécènes +;Sponsors +; +MSG_SECTION_PROGRAMMING +Programmation +;Programming +; +MSG_SECTION_TRANSLATING +Traduction +;Translating +; \ No newline at end of file diff --git a/workbench/classes/zune/aboutwindow/catalogs/german.ct b/workbench/classes/zune/aboutwindow/catalogs/german.ct new file mode 100644 index 00000000000..9b120a593ec --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/german.ct @@ -0,0 +1,25 @@ +## version $VER: AboutWindow.catalog 1.0 (12.08.2003) +## language deutsch +## codeset 0 +; +; +MSG_ABOUT +Über +; About +; +MSG_AUTHORS +Autoren +; Authors +; +MSG_SPONSORS +Sponsoren +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programmierung +; Programming +; +MSG_SECTION_TRANSLATING +Übersetzungen +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/hungarian.ct b/workbench/classes/zune/aboutwindow/catalogs/hungarian.ct new file mode 100644 index 00000000000..8a0fa41a3a2 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/hungarian.ct @@ -0,0 +1,27 @@ +## version $VER: aboutwindow.catalog 1.0 (25.01.2005) +## language magyar +## codeset 0 +; +; Translated by Miklós Németh +; +; +MSG_ABOUT +Névjegy +; About +; +MSG_AUTHORS +Készítők +; Authors +; +MSG_SPONSORS +Szponzorok +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programozás +; Programming +; +MSG_SECTION_TRANSLATING +Fordítás +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/italian.ct b/workbench/classes/zune/aboutwindow/catalogs/italian.ct new file mode 100644 index 00000000000..1c602f65fac --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/italian.ct @@ -0,0 +1,25 @@ +## version $VER: AboutWindow.catalog 1.0 (19.02.2004) +## codeset 0 +## language italiano +; +; +MSG_ABOUT +Informazioni +;About +; +MSG_AUTHORS +Autori +;Authors +; +MSG_SPONSORS +Sponsor +;Sponsors +; +MSG_SECTION_PROGRAMMING +Programmazione +;Programming +; +MSG_SECTION_TRANSLATING +Traduzione +;Translating +; \ No newline at end of file diff --git a/workbench/classes/zune/aboutwindow/catalogs/mmakefile.src b/workbench/classes/zune/aboutwindow/catalogs/mmakefile.src new file mode 100644 index 00000000000..44cd1977880 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech danish finnish french german hungarian italian polish russian spanish swedish + +%build_catalogs mmake=workbench-classes-zune-aboutwindow-catalogs \ + catalogs=$(CATALOGS) \ + name=AboutWindow subdir=System/Classes/Zune diff --git a/workbench/classes/zune/aboutwindow/catalogs/polish.ct b/workbench/classes/zune/aboutwindow/catalogs/polish.ct new file mode 100644 index 00000000000..6d5b658103d --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/polish.ct @@ -0,0 +1,24 @@ +## version $VER: aboutwindow.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_ABOUT +O programie +; About +; +MSG_AUTHORS +Autorzy +; Authors +; +MSG_SPONSORS +Sponsorzy +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programiści +; Programming +; +MSG_SECTION_TRANSLATING +Tłumacze +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/russian.ct b/workbench/classes/zune/aboutwindow/catalogs/russian.ct new file mode 100644 index 00000000000..a41711de0cd --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/russian.ct @@ -0,0 +1,27 @@ +## version $VER: aboutwindow.catalog 1.0 (11.05.2006) +## language russian +## codeset 0 +; +; Translated by Sergey Mineychev aka Keen +; +; +MSG_ABOUT +О системе +; About +; +MSG_AUTHORS +Авторы +; Authors +; +MSG_SPONSORS +Спонсоры +; Sponsors +; +MSG_SECTION_PROGRAMMING +Программисты +; Programming +; +MSG_SECTION_TRANSLATING +Переводчики +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/spanish.ct b/workbench/classes/zune/aboutwindow/catalogs/spanish.ct new file mode 100644 index 00000000000..b1d392ffcf4 --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/spanish.ct @@ -0,0 +1,24 @@ +## version $VER: AboutWindow.catalog 1.0 (18.08.2003) +## codeset 0 +## language español +; +MSG_ABOUT +Sobre +; About +; +MSG_AUTHORS +Autores +; Authors +; +MSG_SPONSORS +Patrocinadores +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programación +; Programming +; +MSG_SECTION_TRANSLATING +Traducción +; Translating +; diff --git a/workbench/classes/zune/aboutwindow/catalogs/swedish.ct b/workbench/classes/zune/aboutwindow/catalogs/swedish.ct new file mode 100644 index 00000000000..484a96a91ab --- /dev/null +++ b/workbench/classes/zune/aboutwindow/catalogs/swedish.ct @@ -0,0 +1,24 @@ +## version $VER: AboutWindow.catalog 1.0 (12.06.2003) +## codeset 0 +## language svenska +; +MSG_ABOUT +Om +; About +; +MSG_AUTHORS +Upphovsmän +; Authors +; +MSG_SPONSORS +Sponsorer +; Sponsors +; +MSG_SECTION_PROGRAMMING +Programmering +; Programming +; +MSG_SECTION_TRANSLATING +Översättning +; Translating +; diff --git a/workbench/classes/zune/prefswindow/catalogs b/workbench/classes/zune/prefswindow/catalogs deleted file mode 160000 index 30563f74dec..00000000000 --- a/workbench/classes/zune/prefswindow/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 30563f74dec49b050b58e0b2433aa481fda611c9 diff --git a/workbench/classes/zune/prefswindow/catalogs/.gitattributes b/workbench/classes/zune/prefswindow/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/classes/zune/prefswindow/catalogs/czech.ct b/workbench/classes/zune/prefswindow/catalogs/czech.ct new file mode 100644 index 00000000000..cbd25196ae3 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/czech.ct @@ -0,0 +1,25 @@ +## version $VER: prefswindow.catalog 1.0 (21.11.2007) +## language czech +## codeset 0 +; +; +MSG_TEST +Zkusi_t +; _Test +; +MSG_REVERT +V_rátit +; _Revert +; +MSG_SAVE +_Uložit +; _Save +; +MSG_USE +_Použít +; _Use +; +MSG_CANCEL +_Zrušit +; _Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/danish.ct b/workbench/classes/zune/prefswindow/catalogs/danish.ct new file mode 100644 index 00000000000..3b7c8fe4efe --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/danish.ct @@ -0,0 +1,26 @@ +## version $VER: prefswindow.catalog 1.0 (22.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_TEST +Af_prøv +; _Test +; +MSG_REVERT +_Fortryd +; _Revert +; +MSG_SAVE +_Gem +; _Save +; +MSG_USE +_Brug +; _Use +; +MSG_CANCEL +_Afbryd +; _Cancel +; \ No newline at end of file diff --git a/workbench/classes/zune/prefswindow/catalogs/finnish.ct b/workbench/classes/zune/prefswindow/catalogs/finnish.ct new file mode 100644 index 00000000000..8c18b577ef2 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/finnish.ct @@ -0,0 +1,24 @@ +## version $VER: PrefsWindow.catalog 1.0 (28.05.2003) +## codeset 0 +## language suomi +; +MSG_TEST +_Kokeile +; Test +; +MSG_REVERT +P_alauta +; Revert +; +MSG_SAVE +_Tallenna +; +; Save +MSG_USE +_Käytä +; Use +; +MSG_CANCEL +_Peru +; Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/french.ct b/workbench/classes/zune/prefswindow/catalogs/french.ct new file mode 100644 index 00000000000..21789cb20c7 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/french.ct @@ -0,0 +1,24 @@ +## version $VER: PrefsWindow.catalog 1.0 (28.05.2003) +## codeset 0 +## language français +; +MSG_TEST +_Tester +; Test +; +MSG_REVERT +_Restaurer +; Revert +; +MSG_SAVE +_Sauver +; +; Save +MSG_USE +_Utiliser +; Use +; +MSG_CANCEL +A_nnuler +; Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/german.ct b/workbench/classes/zune/prefswindow/catalogs/german.ct new file mode 100644 index 00000000000..9eedb87b984 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/german.ct @@ -0,0 +1,25 @@ +## version $VER: PrefsWindow.catalog 1.0 (17.08.2003) +## language deutsch +## codeset 0 +; +; +MSG_TEST +_Testen +; _Test +; +MSG_REVERT +_Rückgängig +; _Revert +; +MSG_SAVE +_Speichern +; _Save +; +MSG_USE +_Benutzen +; _Use +; +MSG_CANCEL +_Abbrechen +; _Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/hungarian.ct b/workbench/classes/zune/prefswindow/catalogs/hungarian.ct new file mode 100644 index 00000000000..b921c595333 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/hungarian.ct @@ -0,0 +1,28 @@ +## version $VER: prefswindow.catalog 1.0 (25.01.2005) +## language magyar +## codeset 0 +; +; Translated by Miklós Németh +; +; +; +MSG_TEST +_Teszt +; _Test +; +MSG_REVERT +_Visszaállít +; _Revert +; +MSG_SAVE +_Ment +; _Save +; +MSG_USE +_Használ +; _Use +; +MSG_CANCEL +Mé_gsem +; _Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/italian.ct b/workbench/classes/zune/prefswindow/catalogs/italian.ct new file mode 100644 index 00000000000..8b1ba7bbe95 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/italian.ct @@ -0,0 +1,25 @@ +## version $VER: PrefsWindow.catalog 1.0 (16.02.2004) +## language X +## codeset 0 +; +; +MSG_TEST +_Prova +; _Test +; +MSG_REVERT +_Ripristina +; _Revert +; +MSG_SAVE +_Salva +; _Save +; +MSG_USE +_Usa +; _Use +; +MSG_CANCEL +_Cancella +; _Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/mmakefile.src b/workbench/classes/zune/prefswindow/catalogs/mmakefile.src new file mode 100644 index 00000000000..7938472e185 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech danish finnish french german hungarian italian polish russian spanish swedish norwegian + +%build_catalogs mmake=workbench-classes-zune-prefswindow-catalogs \ + catalogs=$(CATALOGS) \ + name=PrefsWindow subdir=System/Classes/Zune + diff --git a/workbench/classes/zune/prefswindow/catalogs/norwegian.ct b/workbench/classes/zune/prefswindow/catalogs/norwegian.ct new file mode 100644 index 00000000000..12c607af7b7 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/norwegian.ct @@ -0,0 +1,24 @@ +## version $VER: PrefsWindow.catalog 1.0 (07.06.2019) +## codeset 0 +## language norwegian +; +MSG_TEST +_Test +; Test +; +MSG_REVERT +_Sett tilbake +; Revert +; +MSG_SAVE +_Lagre +; +; Save +MSG_USE +_Bruk +; Use +; +MSG_CANCEL +_Avbryt +; Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/polish.ct b/workbench/classes/zune/prefswindow/catalogs/polish.ct new file mode 100644 index 00000000000..4185e11a30e --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/polish.ct @@ -0,0 +1,24 @@ +## version $VER: prefswindow.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_TEST +_Testuj +; _Test +; +MSG_REVERT +_Cofnij +; _Revert +; +MSG_SAVE +Zapi_sz +; _Save +; +MSG_USE +_Użyj +; _Use +; +MSG_CANCEL +Ponie_chaj +; _Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/prefswindow.cd b/workbench/classes/zune/prefswindow/catalogs/prefswindow.cd new file mode 100644 index 00000000000..a8df42bf52d --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/prefswindow.cd @@ -0,0 +1,16 @@ +; +MSG_TEST (//) +_Test +; +MSG_REVERT (//) +_Revert +; +MSG_SAVE (//) +_Save +; +MSG_USE (//) +_Use +; +MSG_CANCEL (//) +_Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/russian.ct b/workbench/classes/zune/prefswindow/catalogs/russian.ct new file mode 100644 index 00000000000..e763d8a6d2d --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/russian.ct @@ -0,0 +1,25 @@ +## version $VER: PrefsWindow.catalog 1.0 (11.05.2006) +## codeset 0 +## language russian +; Translated by Sergey Mineychev aka Keen +; +MSG_TEST +Тест +; Test +; +MSG_REVERT +Отмена +; Revert +; +MSG_SAVE +Сохранить +; +; Save +MSG_USE +Применить +; Use +; +MSG_CANCEL +Отмена +; Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/spanish.ct b/workbench/classes/zune/prefswindow/catalogs/spanish.ct new file mode 100644 index 00000000000..715e9f0c17f --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/spanish.ct @@ -0,0 +1,24 @@ +## version $VER: PrefsWindow.catalog 1.0 (17.08.2003) +## codeset 0 +## language español +; +MSG_TEST +_Probar +; Test +; +MSG_REVERT +_Anular +; Revert +; +MSG_SAVE +_Grabar +; +; Save +MSG_USE +_Usar +; Use +; +MSG_CANCEL +_Cancelar +; Cancel +; diff --git a/workbench/classes/zune/prefswindow/catalogs/swedish.ct b/workbench/classes/zune/prefswindow/catalogs/swedish.ct new file mode 100644 index 00000000000..8202bdfd575 --- /dev/null +++ b/workbench/classes/zune/prefswindow/catalogs/swedish.ct @@ -0,0 +1,24 @@ +## version $VER: PrefsWindow.catalog 1.0 (28.05.2003) +## codeset 0 +## language svenska +; +MSG_TEST +_Testa +; Test +; +MSG_REVERT +_Återställ +; Revert +; +MSG_SAVE +_Spara +; +; Save +MSG_USE +_Använd +; Use +; +MSG_CANCEL +A_vbryt +; Cancel +; \ No newline at end of file diff --git a/workbench/classes/zune/systemprefswindow/catalogs b/workbench/classes/zune/systemprefswindow/catalogs deleted file mode 160000 index 83d283d01b0..00000000000 --- a/workbench/classes/zune/systemprefswindow/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 83d283d01b07482046011739679373e833cf6194 diff --git a/workbench/classes/zune/systemprefswindow/catalogs/.gitattributes b/workbench/classes/zune/systemprefswindow/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/classes/zune/systemprefswindow/catalogs/czech.ct b/workbench/classes/zune/systemprefswindow/catalogs/czech.ct new file mode 100644 index 00000000000..e4257c61301 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/czech.ct @@ -0,0 +1,52 @@ +## version $VER: systemprefswindow.catalog 2.0 (29.9.2010) +## language czech +## codeset 5 +; +; +MSG_MENU_PREFS +Projekt +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importovat... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exportovat... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Vyzkoušet +; T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Obnovit předchozí +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Uložit +; S\0Save +; +MSG_MENU_PREFS_USE +U\0Použít +; U\0Use +; +MSG_MENU_PREFS_CANCEL +C\0Zrušit +; C\0Cancel +; +MSG_MENU_PREFS_EXPORT_WITH_ICON +Exportovat s ikonou... +; Export with Icon... +; +MSG_MENU_RESET_TO_DEFAULTS +Obnovit výchozí +; Reset to Defaults +; +MSG_FILEREQ_EXPORT_TITLE +Exportovat nastavení +; Export +; +MSG_FILEREQ_IMPORT_TITLE +Importovat nastavení +; Import diff --git a/workbench/classes/zune/systemprefswindow/catalogs/danish.ct b/workbench/classes/zune/systemprefswindow/catalogs/danish.ct new file mode 100644 index 00000000000..38a68c23104 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/danish.ct @@ -0,0 +1,40 @@ +## version $VER: systemprefswindow.catalog 1.0 (22.07.2010) +## language dansk +## codeset 0 +; +; TODO: update me and set version to 2 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_MENU_PREFS +Indstillinger +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importér... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Eksportér... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Afprøv +; T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Fortryd +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Gem +; S\0Save +; +MSG_MENU_PREFS_USE +U\0Brug +; U\0Use +; +MSG_MENU_PREFS_CANCEL +C\0Afbryd +; C\0Cancel +; \ No newline at end of file diff --git a/workbench/classes/zune/systemprefswindow/catalogs/finnish.ct b/workbench/classes/zune/systemprefswindow/catalogs/finnish.ct new file mode 100644 index 00000000000..ae7a5d578d8 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/finnish.ct @@ -0,0 +1,38 @@ +## version $VER: SystemPrefsWindow.catalog 1.0 (14.02.2004) +## codeset 0 +## language suomi +; +; TODO: update me and set version to 2 +; +MSG_MENU_PREFS +Asetukset +; Preferences +; +MSG_MENU_PREFS_IMPORT +U\0Tuo... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +V\0Vie... +; E\0Export... +; +MSG_MENU_PREFS_TEST +O\0Kokeile +; T\0Test +; +MSG_MENU_PREFS_REVERT +A\0Palauta +; R\0Revert +; +MSG_MENU_PREFS_SAVE +T\0Tallenna +; S\0Save +; +MSG_MENU_PREFS_USE +K\0Käytä +; U\0Use +; +MSG_MENU_PREFS_CANCEL +P\0Peru +; C\0Cancel +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/french.ct b/workbench/classes/zune/systemprefswindow/catalogs/french.ct new file mode 100644 index 00000000000..64e89414a11 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/french.ct @@ -0,0 +1,43 @@ +## version $VER: SystemPrefsWindow.catalog 2.0 (19.02.2004) +## codeset 0 +## language français +; +; +MSG_MENU_PREFS +Préférences +;Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importer... +;I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exporter... +;E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Tester +; +MSG_MENU_PREFS_REVERT +R\0Restaurer +; +MSG_MENU_PREFS_SAVE +S\0Sauver +; +MSG_MENU_PREFS_USE +U\0Utiliser +; +MSG_MENU_PREFS_CANCEL +N\0Annuler +; +MSG_MENU_PREFS_EXPORT_WITH_ICON +Exporter avec l'icône... +; +MSG_MENU_RESET_TO_DEFAULTS +Revenir à l'initial +; +MSG_FILEREQ_EXPORT_TITLE +Exporter +; +MSG_FILEREQ_IMPORT_TITLE +Importer diff --git a/workbench/classes/zune/systemprefswindow/catalogs/german.ct b/workbench/classes/zune/systemprefswindow/catalogs/german.ct new file mode 100644 index 00000000000..470b50591bd --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/german.ct @@ -0,0 +1,52 @@ +## version $VER: SystemPrefsWindow.catalog 2.0 (05.09.2010) +## language deutsch +## codeset 0 +; +; +MSG_MENU_PREFS +Voreinstellungen +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importieren... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exportieren... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Testen +; T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Rückgängig +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Speichern +; S\0Save +; +MSG_MENU_PREFS_USE +B\0Benutzen +; U\0Use +; +MSG_MENU_PREFS_CANCEL +A\0Abbrechen +; C\0Cancel +; +MSG_MENU_PREFS_EXPORT_WITH_ICON +Exportieren mit Piktogramm... +; Export with Icon... +; +MSG_MENU_RESET_TO_DEFAULTS +Zurücksetzen auf Voreinstellungen +; Reset to Defaults +; +MSG_FILEREQ_EXPORT_TITLE +Exportieren +; Export +; +MSG_FILEREQ_IMPORT_TITLE +Importieren +; Import diff --git a/workbench/classes/zune/systemprefswindow/catalogs/hungarian.ct b/workbench/classes/zune/systemprefswindow/catalogs/hungarian.ct new file mode 100644 index 00000000000..d6458c89462 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/hungarian.ct @@ -0,0 +1,40 @@ +## version $VER: systemprefswindow.catalog 1.0 (25.01.2005) +## language magyar +## codeset 0 +; +; TODO: update me and set version to 2 +; +; Translated by Miklós Németh +; +MSG_MENU_PREFS +Beállítások +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importál... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exportál... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Teszt... +; T\0Test +; +MSG_MENU_PREFS_REVERT +V\Visszaállít +; R\0Revert +; +MSG_MENU_PREFS_SAVE +M\0Ment +; S\0Save +; +MSG_MENU_PREFS_USE +H\0Használ +; U\0Use +; +MSG_MENU_PREFS_CANCEL +Mégsem +; C\0Cancel +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/italian.ct b/workbench/classes/zune/systemprefswindow/catalogs/italian.ct new file mode 100644 index 00000000000..4d7ac73703b --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/italian.ct @@ -0,0 +1,33 @@ +## version $VER: SystemPrefsWindow.catalog 1.0 (19.02.2004) +## codeset 0 +## language italiano +; +; TODO: update me and set version to 2 +; +MSG_MENU_PREFS +Preferenze +;Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importa... +;I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Esporta... +;E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Ripristina +; +MSG_MENU_PREFS_SAVE +S\0Sava +; +MSG_MENU_PREFS_USE +U\0Usa +; +MSG_MENU_PREFS_CANCEL +A\0Annulla +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/mmakefile.src b/workbench/classes/zune/systemprefswindow/catalogs/mmakefile.src new file mode 100644 index 00000000000..1691f891d79 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/mmakefile.src @@ -0,0 +1,12 @@ +# Copyright � 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french german norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-classes-zune-systemprefswindow-catalogs \ + catalogs=$(CATALOGS) \ + name=SystemPrefsWindow subdir=System/Classes/Zune + diff --git a/workbench/classes/zune/systemprefswindow/catalogs/norwegian.ct b/workbench/classes/zune/systemprefswindow/catalogs/norwegian.ct new file mode 100644 index 00000000000..07d1f961ef1 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/norwegian.ct @@ -0,0 +1,52 @@ +## version $VER: SystemPrefsWindow.catalog 2.0 (05.09.2010) +## language deutsch +## codeset 0 +; +; +MSG_MENU_PREFS +Innstillinger +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importer... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Eksporter... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Test +; T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Tilbakestill +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Lagre +; S\0Save +; +MSG_MENU_PREFS_USE +B\0Bruk +; U\0Use +; +MSG_MENU_PREFS_CANCEL +A\0Avbryt +; C\0Cancel +; +MSG_MENU_PREFS_EXPORT_WITH_ICON +0Eksporter med ikon... +; Export with Icon... +; +MSG_MENU_RESET_TO_DEFAULTS +Tilbakestill til standardinnstillinger +; Reset to Defaults +; +MSG_FILEREQ_EXPORT_TITLE +Eksporter +; Export +; +MSG_FILEREQ_IMPORT_TITLE +Importer +; Import \ No newline at end of file diff --git a/workbench/classes/zune/systemprefswindow/catalogs/polish.ct b/workbench/classes/zune/systemprefswindow/catalogs/polish.ct new file mode 100644 index 00000000000..ebea6b59b56 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/polish.ct @@ -0,0 +1,38 @@ +## version $VER: systemprefswindow.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +; TODO: update me and set version to 2 +; +MSG_MENU_PREFS +Preferencje +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importuj... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Eksportuj... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Testuj +; T\0Test +; +MSG_MENU_PREFS_REVERT +R\0Cofnij +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Zapisz +; S\0Save +; +MSG_MENU_PREFS_USE +U\0Użyj +; U\0Use +; +MSG_MENU_PREFS_CANCEL +C\0Poniechaj +; C\0Cancel +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/russian.ct b/workbench/classes/zune/systemprefswindow/catalogs/russian.ct new file mode 100644 index 00000000000..683c242dbe6 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/russian.ct @@ -0,0 +1,32 @@ +## version $VER: SystemPrefsWindow.catalog 1.0 (11.05.2006) +## codeset 0 +## language russian +; +; TODO: update me and set version to 2 +; +; Translated by Sergey Mineychev aka Keen +; +MSG_MENU_PREFS +Свойства +; +MSG_MENU_PREFS_IMPORT +И\0Импорт... +; +MSG_MENU_PREFS_EXPORT +Э\0Экспорт... +; +MSG_MENU_PREFS_TEST +Т\0Тест +; +MSG_MENU_PREFS_REVERT +В\0Вернуть +; +MSG_MENU_PREFS_SAVE +C\0Сохранить +; +MSG_MENU_PREFS_USE +П\0Применить +; +MSG_MENU_PREFS_CANCEL +О\0Отменить +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/spanish.ct b/workbench/classes/zune/systemprefswindow/catalogs/spanish.ct new file mode 100644 index 00000000000..294505878bd --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/spanish.ct @@ -0,0 +1,40 @@ +## version $VER: SystemPrefsWindow.catalog 1.0 (30.09.2007) +## codeset 0 +## language español +; +; TODO: update me and set version to 2 +; +; Translated by ahg +; +MSG_MENU_PREFS +Preferencias +;Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importar... +;I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exportar... +;E\0Export... +; +MSG_MENU_PREFS_TEST +P\0Probar +;T\0Test +; +MSG_MENU_PREFS_REVERT +A\0Anular +;R\0Revert +; +MSG_MENU_PREFS_SAVE +G\0Guardar +;S\0Save +; +MSG_MENU_PREFS_USE +U\0Usar +;U\0Use +; +MSG_MENU_PREFS_CANCEL +C\0Cancelar +;C\0Cancel +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/swedish.ct b/workbench/classes/zune/systemprefswindow/catalogs/swedish.ct new file mode 100644 index 00000000000..234c36d5473 --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/swedish.ct @@ -0,0 +1,38 @@ +## version $VER: SystemPrefsWindow.catalog 1.0 (14.02.2004) +## codeset 0 +## language svenska +; +; TODO: update me and set version to 2 +; +MSG_MENU_PREFS +Inställningar +; Preferences +; +MSG_MENU_PREFS_IMPORT +I\0Importera... +; I\0Import... +; +MSG_MENU_PREFS_EXPORT +E\0Exportera... +; E\0Export... +; +MSG_MENU_PREFS_TEST +T\0Testa +; T\0Test +; +MSG_MENU_PREFS_REVERT +Å\0Återställ +; R\0Revert +; +MSG_MENU_PREFS_SAVE +S\0Spara +; S\0Save +; +MSG_MENU_PREFS_USE +A\0Använd +; U\0Use +; +MSG_MENU_PREFS_CANCEL +V\0Avbryt +; C\0Cancel +; diff --git a/workbench/classes/zune/systemprefswindow/catalogs/systemprefswindow.cd b/workbench/classes/zune/systemprefswindow/catalogs/systemprefswindow.cd new file mode 100644 index 00000000000..e3e85fdcabd --- /dev/null +++ b/workbench/classes/zune/systemprefswindow/catalogs/systemprefswindow.cd @@ -0,0 +1,36 @@ +; +MSG_MENU_PREFS (//) +Preferences +; +MSG_MENU_PREFS_IMPORT (//) +I\0Import... +; +MSG_MENU_PREFS_EXPORT (//) +E\0Export... +; +MSG_MENU_PREFS_TEST (//) +T\0Test +; +MSG_MENU_PREFS_REVERT (//) +R\0Revert +; +MSG_MENU_PREFS_SAVE (//) +S\0Save +; +MSG_MENU_PREFS_USE (//) +U\0Use +; +MSG_MENU_PREFS_CANCEL (//) +C\0Cancel +; +MSG_MENU_PREFS_EXPORT_WITH_ICON (//) +Export with Icon... +; +MSG_MENU_RESET_TO_DEFAULTS (//) +Reset to Defaults +; +MSG_FILEREQ_EXPORT_TITLE (//) +Export +; +MSG_FILEREQ_IMPORT_TITLE (//) +Import diff --git a/workbench/devs/AHI/AHI/ahi.c b/workbench/devs/AHI/AHI/ahi.c index 6f2fc0ef4d4..2940bda0314 100644 --- a/workbench/devs/AHI/AHI/ahi.c +++ b/workbench/devs/AHI/AHI/ahi.c @@ -41,6 +41,9 @@ #define DBSTEP 0.5 +#define DD(x) x +#define bug kprintf + const char *Version = "$VER: AHI preferences " VERS ""; #define TEMPLATE "FROM,EDIT/S,USE/S,SAVE/S,PUBSCREEN/K" @@ -83,7 +86,7 @@ int main(int argc, char **argv) { int i; char pubscreen[32]; - D(bug("[AHI:Prefs] %s()\n", __func__);) + DD(bug("[AHI:Prefs] %s()\n", __func__);) if(argc) { rdargs=ReadArgs( TEMPLATE , (SIPTR *) &args, NULL); diff --git a/workbench/devs/AHI/AHI/gui_bgui.c b/workbench/devs/AHI/AHI/gui_bgui.c index eda72e4001b..0134bee6603 100644 --- a/workbench/devs/AHI/AHI/gui_bgui.c +++ b/workbench/devs/AHI/AHI/gui_bgui.c @@ -37,6 +37,8 @@ #include "support.h" #include "gui.h" +#define D(x) x + static void GUINewSettings(void); static void GUINewUnit(void); static void GUINewMode(void); diff --git a/workbench/devs/AHI/AHI/gui_ca.c b/workbench/devs/AHI/AHI/gui_ca.c index 4d332cede74..6e54efa55b3 100644 --- a/workbench/devs/AHI/AHI/gui_ca.c +++ b/workbench/devs/AHI/AHI/gui_ca.c @@ -54,6 +54,8 @@ HookEntry(struct Hook *hookPtr, Object *obj, APTR message) { } #endif +#define D(x) x + static void GUINewSettings(void); static void GUINewUnit(void); static void GUINewMode(void); diff --git a/workbench/devs/AHI/AHI/gui_mui.c b/workbench/devs/AHI/AHI/gui_mui.c index 079a87e533c..d42bbf3ffe6 100644 --- a/workbench/devs/AHI/AHI/gui_mui.c +++ b/workbench/devs/AHI/AHI/gui_mui.c @@ -47,7 +47,7 @@ #include "support.h" #include "gui.h" - +#define D(x) x #if defined( __morphos__ ) || defined( __MORPHOS__ ) @@ -709,8 +709,8 @@ BOOL BuildGUI(char *screenname) MUIApp = ApplicationObject, MUIA_Application_Title, (IPTR) msgTextProgramName, MUIA_Application_Version, Version, - MUIA_Application_Copyright, (IPTR) "1996-2005 Martin Blom", - MUIA_Application_Author, (IPTR) "Stphane Barbaray/Martin Blom", + MUIA_Application_Copyright, (IPTR) "�1996-2005 Martin Blom", + MUIA_Application_Author, (IPTR) "St�phane Barbaray/Martin Blom", MUIA_Application_Description, (IPTR) msgTextProgramName, MUIA_Application_Base, (IPTR) "AHI", MUIA_Application_HelpFile, HELPFILE, @@ -727,9 +727,9 @@ BOOL BuildGUI(char *screenname) Child, page2, End, Child, HGroup, - Child, MUISave = ImageButton(msgButtonSave, "THEME:Images/Gadgets/Save"), - Child, MUIUse = ImageButton(msgButtonUse,"THEME:Images/Gadgets/Use"), - Child, MUICancel = ImageButton(msgButtonCancel,"THEME:Images/Gadgets/Cancel"), + Child, MUISave = SimpleButton(msgButtonSave), + Child, MUIUse = SimpleButton(msgButtonUse), + Child, MUICancel = SimpleButton(msgButtonCancel), End, End, End, @@ -914,7 +914,7 @@ void EventLoop(void) { char* args[] = { "\033c", (char*)msgTextProgramName, - "1996-2005 Stphane Barbaray/Martin Blom" + "1996-2005 St�phane Barbaray/Martin Blom" }; MUI_RequestA(MUIApp, MUIWindow, 0, (char *) msgTextProgramName, diff --git a/workbench/devs/AHI/AHI/support.c b/workbench/devs/AHI/AHI/support.c index 0102cfc2687..10c77eb35c2 100644 --- a/workbench/devs/AHI/AHI/support.c +++ b/workbench/devs/AHI/AHI/support.c @@ -47,6 +47,8 @@ #include "ahiprefs_Cat.h" #include "support.h" +#define D(x) x + static BOOL AddUnit(struct List *, int); static void FillUnitName(struct UnitNode *); diff --git a/workbench/devs/AHI/AHI/translations b/workbench/devs/AHI/AHI/translations deleted file mode 160000 index a04543d9770..00000000000 --- a/workbench/devs/AHI/AHI/translations +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a04543d977025d69123bdacc43c5d9d610e17f1a diff --git a/workbench/devs/AHI/AHI/translations/.gitattributes b/workbench/devs/AHI/AHI/translations/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/devs/AHI/AHI/translations/ahiprefs.cd b/workbench/devs/AHI/AHI/translations/ahiprefs.cd new file mode 100644 index 00000000000..14e6ce139aa --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/ahiprefs.cd @@ -0,0 +1,272 @@ +#language english +#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject (//) +\000Project +; +msgItemOpen (//) +O\000Open... +; +msgItemSaveAs (//) +A\000Save As... +; +msgItemAbout (//) +?\000About... +; +msgItemQuit (//) +Q\000Quit +; +msgMenuEdit (//) +\000Edit +; +msgItemDefaults (//) +D\000Reset To Defaults +; +msgItemLastSaved (//) +L\000Last Saved +; +msgItemRestore (//) +R\000Restore +; +msgMenuSettings (//) +\000Settings +; +msgItemCreateIcons (//) +I\000Create Icons? +; +msgMenuHelp (//) +\000Help +; +msgItemHelp (//) +Help\000Help... +; +msgItemUsersGuide (//) +H\000AHI User's guide... +; +msgItemConceptIndex (//) +\000Concept Index... +; +; *** The pages *** +; +msgPageMode (//) +Mode settings +; +msgPageAdvanced (//) +Advanced settings +; +; *** The units *** +; +msgUnitDevice (//) +Unit %ld +; +msgUnitMusic (//) +Music unit +; +; *** Properties box *** +; +msgProperties (//) +Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull (//) +Full duplex +; +msgPropRecordHalf (//) +Half duplex +; +msgPropRecordNone (//) +Nope +; +; *** Options *** +; +msgOptions (//) +Options +; +msgOptFrequency (//) +_Frequency +; +msgOptChannels (//) +C_hannels +; +msgOptNoChannels (//) + +; +msgOptVolume (//) +_Volume +; +msgOptMonitor (//) +_Monitor +; +msgOptGain (//) +_Gain +; +msgOptMuted (//) +Muted +; +msgOptInput (//) +_Input +; +msgOptNoInputs (//) +No inputs +; +msgOptOutput (//) +_Output +; +msgOptNoOutputs (//) +No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions (//) +Global options +; +msgGlobOptDebugLevel (//) +_Debug level +; +msgGlobOptEcho (//) +_Echo +; +msgGlobOptSurround (//) +Surround in "_Fast" modes +; +msgGlobOptCPULimit (//) +CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone (//) +None +; +msgDebugLow (//) +Low +; +msgDebugHigh (//) +High +; +msgDebugFull (//) +Full +; +; *** Echo *** +; +msgEchoEnabled (//) +Enabled +; +msgEchoFast (//) +Fast +; +msgEchoDisabled (//) +Disabled +; +; *** Surround *** +; +msgSurroundEnabled (//) +Enabled +; +msgSurroundDisabled (//) +Disabled +; +; *** Buttons *** +; +msgButtonSave (//) +_Save +; +msgButtonUse (//) +_Use +; +msgButtonCancel (//) +_Cancel +; +msgButtonOK (//) +OK +; +; *** Texts *** +; +msgTextProgramName (//) +AHI preferences +; +;You can use something like "%s%s\nCopyright %s\nEnglish translation by Your Name" here... +msgTextCopyright (//) +%s%s\nCopyright (C)%s +; +msgTextNoWindow (//) +Unable to open window. +; +msgTextNoFileRequester (//) +Unable to allocate file requester. +; +msgTextNoFind (//) +Unable to find `%s'! +; +msgTextNoOpen (//) +Unable to open '%s' version %ld. +; +; *** Additions +; +msgGlobOptMasterVol (//) +_Master volume +; +msgMVNoClip (//) +Without clipping +; +msgMVClip (//) +With clipping +; +msgGlobOptACTime (//) +Default anti-click time +; +msgButtonPlay (//) +_Play a test sound +; +msgOptScalemode (//) +Volume sc_aling +; +msgSMFixedSafe (//) +Safe +; +msgSMDynSafe (//) +Safe, dynamic +; +msgSM0dB (//) +Full volume +; +msgSM3dB (//) +-3 dB +; +msgSM6dB (//) +-6 dB +; +msgFreqFmt (//15) +%ld Hz +; +msgChanFmt (//15) +%ld +; +msgVolFmt (//15) +%+4.1f dB +; +msgACTimeFmt (//) +%ld ms +; +msgPercentFmt (//) +%ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/ahiprefs.ct b/workbench/devs/AHI/AHI/translations/ahiprefs.ct new file mode 100644 index 00000000000..e8a4f4a3e10 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/ahiprefs.ct @@ -0,0 +1,352 @@ +## version $VER: .ct 4. (12.01.05) +## language nolanguage +## codeset 0 +; +## chunk AUTH Translated by Your Name +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject + +; \000Project +; +msgItemOpen + +; O\000Open... +; +msgItemSaveAs + +; A\000Save As... +; +msgItemAbout + +; ?\000About... +; +msgItemQuit + +; Q\000Quit +; +msgMenuEdit + +; \000Edit +; +msgItemDefaults + +; D\000Reset To Defaults +; +msgItemLastSaved + +; L\000Last Saved +; +msgItemRestore + +; R\000Restore +; +msgMenuSettings + +; \000Settings +; +msgItemCreateIcons + +; I\000Create Icons? +; +msgMenuHelp + +; \000Help +; +msgItemHelp + +; Help\000Help... +; +msgItemUsersGuide + +; H\000AHI User's guide... +; +msgItemConceptIndex + +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode + +; Mode settings +; +msgPageAdvanced + +; Advanced settings +; +; *** The units *** +; +msgUnitDevice + +; Unit %ld +; +msgUnitMusic + +; Music unit +; +; *** Properties box *** +; +msgProperties + +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull + +; Full duplex +; +msgPropRecordHalf + +; Half duplex +; +msgPropRecordNone + +; Nope +; +; *** Options *** +; +msgOptions + +; Options +; +msgOptFrequency + +; _Frequency +; +msgOptChannels + +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume + +; _Volume +; +msgOptMonitor + +; _Monitor +; +msgOptGain + +; _Gain +; +msgOptMuted + +; Muted +; +msgOptInput + +; _Input +; +msgOptNoInputs + +; No inputs +; +msgOptOutput + +; _Output +; +msgOptNoOutputs + +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions + +; Global options +; +msgGlobOptDebugLevel + +; _Debug level +; +msgGlobOptEcho + +; _Echo +; +msgGlobOptSurround + +; Surround in "_Fast" modes +; +msgGlobOptCPULimit + +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone + +; None +; +msgDebugLow + +; Low +; +msgDebugHigh + +; High +; +msgDebugFull + +; Full +; +; *** Echo *** +; +msgEchoEnabled + +; Enabled +; +msgEchoFast + +; Fast +; +msgEchoDisabled + +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled + +; Enabled +; +msgSurroundDisabled + +; Disabled +; +; *** Buttons *** +; +msgButtonSave + +; _Save +; +msgButtonUse + +; _Use +; +msgButtonCancel + +; _Cancel +; +msgButtonOK + +; OK +; +; *** Texts *** +; +msgTextProgramName + +; AHI preferences +; +;You can use something like "%s%s\nCopyright %s\nEnglish translation by Your Name" here... +msgTextCopyright + +; %s%s\nCopyright %s +; +msgTextNoWindow + +; Unable to open window. +; +msgTextNoFileRequester + +; Unable to allocate file requester. +; +msgTextNoFind + +; Unable to find `%s'! +; +msgTextNoOpen + +; Unable to open `%s version %ld. +; +; *** Additions +; +msgGlobOptMasterVol + +; _Master volume +; +msgMVNoClip + +; Without clipping +; +msgMVClip + +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/catalonian.ct b/workbench/devs/AHI/AHI/translations/catalonian.ct new file mode 100644 index 00000000000..4d1ab879b66 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/catalonian.ct @@ -0,0 +1,358 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language catal +## codeset 0 +; +## chunk AUTH Translated by Forkens +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\0 Projecte +; \000Project +; +msgItemOpen +O\000Obrir... +; O\000Open... +; +msgItemSaveAs +A\000Desar com... +; A\000Save As... +; +msgItemAbout +?\000Sobre... +; ?\000About... +; +msgItemQuit +Q\000Sortir +; Q\000Quit +; +msgMenuEdit +\000Editar +; \000Edit +; +msgItemDefaults +D\000Reset per defecte +; D\000Reset To Defaults +; +msgItemLastSaved +L\000ltim desat +; L\000Last Saved +; +msgItemRestore +R\000Restaurar +; R\000Restore +; +msgMenuSettings +\000Parmetres +; \000Settings +; +msgItemCreateIcons +I\000Crear icona? +; I\000Create Icons? +; +msgMenuHelp +\000Ajuda +; \000Help +; +msgItemHelp +Ajuda\000Ajuda... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI Guia del usuari... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Index... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Parmetres +; Mode settings +; +msgPageAdvanced +Parmetres avanats +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unitat %ld +; Unit %ld +; +msgUnitMusic +Unitat musical +; Music unit +; +; *** Properties box *** +; +msgProperties +Mode ID\n\ +Grabaci\n\ +Autor\n\ +Copyright\n\ +Controlador\n\ +Versi\n\ +Annotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Duplex complet +; Full duplex +; +msgPropRecordHalf +1/2 duplex +; Half duplex +; +msgPropRecordNone +Sense +; Nope +; +; *** Options *** +; +msgOptions +Opcions +; Options +; +msgOptFrequency +_Freqncia +; _Frequency +; +msgOptChannels +C_anals +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Volum +; _Volume +; +msgOptMonitor + +; _Monitor +; +msgOptGain +_Guany +; _Gain +; +msgOptMuted +_Silenciat +; Muted +; +msgOptInput +_Entrada +; _Input +; +msgOptNoInputs +Sense entrada +; No inputs +; +msgOptOutput +_Sortida +; _Output +; +msgOptNoOutputs +Sense sortida +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Opcions globals +; Global options +; +msgGlobOptDebugLevel +_Nivell de depuraci +; _Debug level +; +msgGlobOptEcho +_Eco +; _Echo +; +msgGlobOptSurround +Surround en mode "_Fast" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Lmit d'us de CPU +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Cap +; None +; +msgDebugLow +Baix +; Low +; +msgDebugHigh +Alt +; High +; +msgDebugFull +Ple +; Full +; +; *** Echo *** +; +msgEchoEnabled +Activar +; Enabled +; +msgEchoFast +Rpid +; Fast +; +msgEchoDisabled +Desactivat +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Activar +; Enabled +; +msgSurroundDisabled +Desactivar +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Desar +; _Save +; +msgButtonUse +_Usar +; _Use +; +msgButtonCancel +_Cancel.lar +; _Cancel +; +msgButtonOK +D'Acord +; OK +; +; *** Texts *** +; +msgTextProgramName +Preferncies AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright %s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\n\ +Copyright w%s\n\ +Traducci al catal per Forkens +; %s%s\nCopyright %s +; +msgTextNoWindow +No es pot obrir la finestra +; Unable to open window. +; +msgTextNoFileRequester +No es pot asignar l'arxiu sol.licitat +; Unable to allocate file requester. +; +msgTextNoFind +No es pot trobar '%s'! +; Unable to find `%s'! +; +msgTextNoOpen +No es pot obrir '%s' versi %ld. +; Unable to open `%s version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Volum Master +; _Master volume +; +msgMVNoClip +Amb retalls +; Without clipping +; +msgMVClip +Sense retalls +; With clipping +; +msgGlobOptACTime +Temps anti-click +; Default anti-click time +; +msgButtonPlay +_Prova de so +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/croatian.ct b/workbench/devs/AHI/AHI/translations/croatian.ct new file mode 100644 index 00000000000..01104884c62 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/croatian.ct @@ -0,0 +1,353 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language hrvatski +## codeset 0 +; +## chunk AUTH Translated by Siniša Lolić +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +U\000Učitaj... +; O\000Open... +; +msgItemSaveAs +N\000Snimi kao... +; A\000Save As... +; +msgItemAbout +?\000Komentar... +; ?\000About... +; +msgItemQuit +K\000Kraj +; Q\000Quit +; +msgMenuEdit +\000Uredi +; \000Edit +; +msgItemDefaults +O\000Vrati na osnovne +; D\000Reset To Defaults +; +msgItemLastSaved +Z\000Zadnje snimljene +; L\000Last Saved +; +msgItemRestore +V\000Vrati +; R\000Restore +; +msgMenuSettings +\000Postavke +; \000Settings +; +msgItemCreateIcons +D\000Dodaj ikone? +; I\000Create Icons? +; +msgMenuHelp +\000Pomoć +; \000Help +; +msgItemHelp +Help\000Pomoć... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI priručnik... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Indeks koncepta... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Postavke načina +; Mode settings +; +msgPageAdvanced +Napredne postavke +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Jedinica %ld +; Unit %ld +; +msgUnitMusic +Glazbena jedinica +; Music unit +; +; *** Properties box *** +; +msgProperties +ID načina\nSnimanje\nAutor\nAutorko pravo\nDriver\nVerzija\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Full Duplex +; Full duplex +; +msgPropRecordHalf +Half Duplex +; Half duplex +; +msgPropRecordNone +Ne +; Nope +; +; *** Options *** +; +msgOptions +Opcije +; Options +; +msgOptFrequency +_Frekvencija +; _Frequency +; +msgOptChannels +K_anali +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +G_lasnoća +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Gain +; _Gain +; +msgOptMuted +Nijem +; Muted +; +msgOptInput +_Ulaz +; _Input +; +msgOptNoInputs +Bez ulaza +; No inputs +; +msgOptOutput +_Izlaz +; _Output +; +msgOptNoOutputs +Bez izlaza +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Opće opcije +; Global options +; +msgGlobOptDebugLevel +S_tupanj debugiranja +; _Debug level +; +msgGlobOptEcho +_Eho +; _Echo +; +msgGlobOptSurround +Surround u "_Brzim" načinima +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +G_ranica korištenja CPUa +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Isključen +; None +; +msgDebugLow +Nizak +; Low +; +msgDebugHigh +Visok +; High +; +msgDebugFull +Potpun +; Full +; +; *** Echo *** +; +msgEchoEnabled +Uključen +; Enabled +; +msgEchoFast +Brz +; Fast +; +msgEchoDisabled +Isključen +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Uključen +; Enabled +; +msgSurroundDisabled +Isključen +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Snimi +; _Save +; +msgButtonUse +_Koristi +; _Use +; +msgButtonCancel +_Zaboravi +; _Cancel +; +msgButtonOK +U redu +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI postavke +; AHI preferences +; +;You can use something like "%s%s\nCopyright Š%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\n\ +Autorsko pravo Š%s\nPreveo na hrvatski Siniša Lolić +; %s%s\nCopyright Š%s +; +msgTextNoWindow +Ne mogu otvoriti prozor +; Unable to open window. +; +msgTextNoFileRequester +Ne mogu dodijeliti requester datoteka +; Unable to allocate file requester. +; +msgTextNoFind +Ne mogu naći `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Ne mogu otvoriti `%s´ verziju %ld. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Glasnoća svega +; _Master volume +; +msgMVNoClip +Bez rezanja +; Without clipping +; +msgMVClip +S rezanjem +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/czech.ct b/workbench/devs/AHI/AHI/translations/czech.ct new file mode 100644 index 00000000000..a4a08a5f72f --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/czech.ct @@ -0,0 +1,351 @@ +## version $VER: ahiprefs.catalog 4.8 (24.4.2007) +## language czech +## codeset 0 +; +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +O\000Otevřít... +; O\000Open... +; +msgItemSaveAs +A\000Uložit jako... +; A\000Save As... +; +msgItemAbout +?\000O programu... +; ?\000About... +; +msgItemQuit +Q\000Ukončit +; Q\000Quit +; +msgMenuEdit +\000Úpravy +; \000Edit +; +msgItemDefaults +D\000Výchozí stav +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Naposledy uložené +; L\000Last Saved +; +msgItemRestore +R\000Obnovit předchozí +; R\000Restore +; +msgMenuSettings +\000Nastavení +; \000Settings +; +msgItemCreateIcons +I\000Vytvářet ikony? +; I\000Create Icons? +; +msgMenuHelp +\000Nápověda +; \000Help +; +msgItemHelp +Help\000Nápověda... +; Help\000Help... +; +msgItemUsersGuide +H\000Manuál systému AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Rejstřík pojmů... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Nastavení režimu +; Mode settings +; +msgPageAdvanced +Pro pokročilé +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Jednotka %ld +; Unit %ld +; +msgUnitMusic +Hudební jednotka +; Music unit +; +; *** Properties box *** +; +msgProperties +ID režimu\nZáznam\nAutor\nCopyright\nOvladač\nVerze\nPoznámky +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Plný duplex +; Full duplex +; +msgPropRecordHalf +Poloviční duplex +; Half duplex +; +msgPropRecordNone +Nelze +; Nope +; +; *** Options *** +; +msgOptions +Možnosti +; Options +; +msgOptFrequency +_Frekvence +; _Frequency +; +msgOptChannels +Počet _kanálů +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Hlasitost +; _Volume +; +msgOptMonitor +Příposl_ech +; _Monitor +; +msgOptGain +Zesíle_ní +; _Gain +; +msgOptMuted +Potichu +; Muted +; +msgOptInput +_Vstup +; _Input +; +msgOptNoInputs +Bez vstupu +; No inputs +; +msgOptOutput +Vý_stup +; _Output +; +msgOptNoOutputs +Bez výstupu +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globální možnosti +; Global options +; +msgGlobOptDebugLevel +Úroveň la_dění +; _Debug level +; +msgGlobOptEcho +_Ozvěna +; _Echo +; +msgGlobOptSurround +Surround (pro '_rychlé' režimy) +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Limit vytížení procesoru +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Vypnuto +; None +; +msgDebugLow +Nízké +; Low +; +msgDebugHigh +Vysoké +; High +; +msgDebugFull +Plné +; Full +; +; *** Echo *** +; +msgEchoEnabled +Zapnuto +; Enabled +; +msgEchoFast +Rychlá +; Fast +; +msgEchoDisabled +Vypnuto +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Zapnuto +; Enabled +; +msgSurroundDisabled +Vypnuto +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Uložit +; _Save +; +msgButtonUse +_Použít +; _Use +; +msgButtonCancel +_Zrušit +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +Nastavení zvukového systému AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright Š%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright (C)%s\nPřeklad do češtiny: Ondřej Zima +; %s%s\nCopyright Š%s +; +msgTextNoWindow +Nelze otevřít okno. +; Unable to open window. +; +msgTextNoFileRequester +Nelze alokovat souborový requester. +; Unable to allocate file requester. +; +msgTextNoFind +Nelze nalézt '%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Nelze otevřít %s V%ld nebo vyšší +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Globální hlasitost +; _Master volume +; +msgMVNoClip +Bez omezovače +; Without clipping +; +msgMVClip +S omezovačem +; With clipping +; +msgGlobOptACTime +Rozsah potlačení lupání +; Default anti-click time +; +msgButtonPlay +Př_ehrát zkušební zvuk +; _Play a test sound +; +msgOptScalemode +Úpr_ava hlasitosti +; Volume sc_aling +; +msgSMFixedSafe +Bezpečně +; Safe +; +msgSMDynSafe +Bezpečně, dynamicky +; Safe, dynamic +; +msgSM0dB +Bez omezení +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 dB +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f dB +; %+4.1f dB +; +msgACTimeFmt +%ld ms +; %ld ms +; +msgPercentFmt +%ld %% +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/danish.ct b/workbench/devs/AHI/AHI/translations/danish.ct new file mode 100644 index 00000000000..cf6e9ab8781 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/danish.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language dansk +## codeset 0 +; +## chunk AUTH Translated by Thomas Petersen/ATO +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +Å\000Åbne... +; O\000Open... +; +msgItemSaveAs +G\000Gemme som... +; A\000Save As... +; +msgItemAbout +?\000Om... +; ?\000About... +; +msgItemQuit +A\000Afslutte +; Q\000Quit +; +msgMenuEdit +\000Rette +; \000Edit +; +msgItemDefaults +I\000Indstil til standard +; D\000Reset To Defaults +; +msgItemLastSaved +S\000Sidst gemte +; L\000Last Saved +; +msgItemRestore +E\000Genetablere +; R\000Restore +; +msgMenuSettings +\000Indstillinger +; \000Settings +; +msgItemCreateIcons +L\000Lave ikoner? +; I\000Create Icons? +; +msgMenuHelp +\000Hjælp +; \000Help +; +msgItemHelp +HELP\000Hjælp... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI-brugerguide... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Indeks... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Modus indstillinger +; Mode settings +; +msgPageAdvanced +Avancerede indstillinger +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Enhed %ld +; Unit %ld +; +msgUnitMusic +Musik enhed +; Music unit +; +; *** Properties box *** +; +msgProperties +Modus-ID\nOptager\nProgrammør\nCopyright\nDrivprogram\nVersion\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Fuld duplex +; Full duplex +; +msgPropRecordHalf +Halv duplex +; Half duplex +; +msgPropRecordNone +Nix +; Nope +; +; *** Options *** +; +msgOptions +Muligheder +; Options +; +msgOptFrequency +_Frekvens +; _Frequency +; +msgOptChannels +_Kanaler +; C_hannels +; +msgOptNoChannels +(Deaktiveret) +; +; +msgOptVolume +_Styrke +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Tjent +; _Gain +; +msgOptMuted +Nedsat +; Muted +; +msgOptInput +_Inddata +; _Input +; +msgOptNoInputs +Ingen inddata +; No inputs +; +msgOptOutput +_Uddata +; _Output +; +msgOptNoOutputs +Ingen uddata +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globale muligheder +; Global options +; +msgGlobOptDebugLevel +_Aflusningsniveau +; _Debug level +; +msgGlobOptEcho +_Ekko +; _Echo +; +msgGlobOptSurround +Surround i "_Hurtig"-modus +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_CPU-begrænsning +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Ingen +; None +; +msgDebugLow +Lav +; Low +; +msgDebugHigh +Høj +; High +; +msgDebugFull +Fuld +; Full +; +; *** Echo *** +; +msgEchoEnabled +Aktiveret +; Enabled +; +msgEchoFast +Hurtig +; Fast +; +msgEchoDisabled +Deaktiveret +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Aktiveret +; Enabled +; +msgSurroundDisabled +Deaktiveret +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Gemme +; _Save +; +msgButtonUse +_Bruge +; _Use +; +msgButtonCancel +_Afbryde +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI-indstillinger +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Ikke i stand til at åbne vindue. +; Unable to open window. +; +msgTextNoFileRequester +Ikke i stand til at allokere filvælger +; Unable to allocate file requester. +; +msgTextNoFind +Kan ikke finde '%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Kan ikke åbne '%s' version %ld. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Hoved lydstyrke +; _Master volume +; +msgMVNoClip +Uden klipning +; Without clipping +; +msgMVClip +Med klipning +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/dutch.ct b/workbench/devs/AHI/AHI/translations/dutch.ct new file mode 100644 index 00000000000..2ed08e88835 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/dutch.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language nederlands +## codeset 0 +; +## chunk AUTH Translated by Michel Vissers +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Project +; \000Project +; +msgItemOpen +O\000Open... +; O\000Open... +; +msgItemSaveAs +A\000Bewaar als... +; A\000Save As... +; +msgItemAbout +?\000Over... +; ?\000About... +; +msgItemQuit +Q\000Einde +; Q\000Quit +; +msgMenuEdit +\000Bewerk +; \000Edit +; +msgItemDefaults +D\000Herstel standaardinstelling +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Laatst bewaarde versie +; L\000Last Saved +; +msgItemRestore +R\000Herstel +; R\000Restore +; +msgMenuSettings +\000Instellingen +; \000Settings +; +msgItemCreateIcons +I\000Ikonen aanmaken? +; I\000Create Icons? +; +msgMenuHelp +\000Help +; \000Help +; +msgItemHelp +Help\000Help... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI gebruikers documentatie... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Concept index... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Mode instellingen +; Mode settings +; +msgPageAdvanced +Geavanceerde instellingen +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unit %ld +; Unit %ld +; +msgUnitMusic +Muziek unit +; Music unit +; +; *** Properties box *** +; +msgProperties +Mode ID\nOpname\nMaker\nCopyright\nDriver\nVersie\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Full duplex +; Full duplex +; +msgPropRecordHalf +Half duplex +; Half duplex +; +msgPropRecordNone +Nee +; Nope +; +; *** Options *** +; +msgOptions +Opties +; Options +; +msgOptFrequency +_Frequentie +; _Frequency +; +msgOptChannels +_Kanalen +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Volume +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +Versterki_ng +; _Gain +; +msgOptMuted +Uitgeschakeld +; Muted +; +msgOptInput +_Ingang +; _Input +; +msgOptNoInputs +Geen ingangen +; No inputs +; +msgOptOutput +_Uitgang +; _Output +; +msgOptNoOutputs +Geen uitgangen +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globale opties +; Global options +; +msgGlobOptDebugLevel +_Debug niveau +; _Debug level +; +msgGlobOptEcho +_Echo +; _Echo +; +msgGlobOptSurround +Surround in "_snelle" modes +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CVE gebruik _limiet +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Geen +; None +; +msgDebugLow +Laag +; Low +; +msgDebugHigh +Hoog +; High +; +msgDebugFull +Volledig +; Full +; +; *** Echo *** +; +msgEchoEnabled +Ingeschakeld +; Enabled +; +msgEchoFast +Snel +; Fast +; +msgEchoDisabled +Uitgeschakeld +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Ingeschakeld +; Enabled +; +msgSurroundDisabled +Uitgeschakeld +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Bewaar +; _Save +; +msgButtonUse +_Gebruik +; _Use +; +msgButtonCancel +_Annuleer +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI Instellingen +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s\nNederlandse vertaling door Michel Vissers. +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Kan venster niet openen. +; Unable to open window. +; +msgTextNoFileRequester +Kan de file requester niet openen. +; Unable to allocate file requester. +; +msgTextNoFind +Kan `%s' niet vinden! +; Unable to find `%s'! +; +msgTextNoOpen +Kan `%s´ versie %ld niet openen. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol + +; _Master volume +; +msgMVNoClip + +; Without clipping +; +msgMVClip + +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/finnish.ct b/workbench/devs/AHI/AHI/translations/finnish.ct new file mode 100644 index 00000000000..8a2298db994 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/finnish.ct @@ -0,0 +1,353 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language suomi +## codeset 0 +; +## chunk AUTH Translated by Pauli Porkka , \ +Proofread by Petteri Kallio +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekti +; \000Project +; +msgItemOpen +O\000Avaa... +; O\000Open... +; +msgItemSaveAs +T\000Tallenna nimellä... +; A\000Save As... +; +msgItemAbout +?\000Tietoja... +; ?\000About... +; +msgItemQuit +Q\000Lopeta +; Q\000Quit +; +msgMenuEdit +\000Muokkaus +; \000Edit +; +msgItemDefaults +D\000Oletusasetukset +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Viimeksi tallennettu +; L\000Last Saved +; +msgItemRestore +P\000Palauta +; R\000Restore +; +msgMenuSettings +\000Asetukset +; \000Settings +; +msgItemCreateIcons +I\000Luo ikonit? +; I\000Create Icons? +; +msgMenuHelp +\000Opastus +; \000Help +; +msgItemHelp +Help\000Opastus... +; Help\000Help... +; +msgItemUsersGuide +K\000AHI Käyttäjän opasteet... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Opasteen sisältö... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Tila-asetukset +; Mode settings +; +msgPageAdvanced +Edistyneet asetukset +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Yksikkö %ld +; Unit %ld +; +msgUnitMusic +Musiikkiyksikkö +; Music unit +; +; *** Properties box *** +; +msgProperties +Tilan ID\nÄänitys\nTekijä\nCopyright\nAjuri\nVersio\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Kaksisuuntainen +; Full duplex +; +msgPropRecordHalf +Vuorosuuntainen +; Half duplex +; +msgPropRecordNone +Ei ole +; Nope +; +; *** Options *** +; +msgOptions +Valinnat +; Options +; +msgOptFrequency +Taa_juus +; _Frequency +; +msgOptChannels +Kana_vat +; C_hannels +; +msgOptNoChannels +(ei kanavia) +; +; +msgOptVolume +_Äänenvoimakkuus +; _Volume +; +msgOptMonitor +S_euranta +; _Monitor +; +msgOptGain +V_ahvistus +; _Gain +; +msgOptMuted +Mykistetty +; Muted +; +msgOptInput +_Sisääntulo +; _Input +; +msgOptNoInputs +Ei sisääntuloja +; No inputs +; +msgOptOutput +_Ulostulo +; _Output +; +msgOptNoOutputs +Ei ulostuloja +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Yleiset valinnat +; Global options +; +msgGlobOptDebugLevel +_Debug-taso +; _Debug level +; +msgGlobOptEcho +Ka_iku +; _Echo +; +msgGlobOptSurround +Surround "_Nopea"-tilassa +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CPU:n käyttö_raja +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Ei mitään +; None +; +msgDebugLow +Matala +; Low +; +msgDebugHigh +Korkea +; High +; +msgDebugFull +Täysi +; Full +; +; *** Echo *** +; +msgEchoEnabled +Päällä +; Enabled +; +msgEchoFast +Nopea +; Fast +; +msgEchoDisabled +Pois päältä +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Päällä +; Enabled +; +msgSurroundDisabled +Pois päältä +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Tallenna +; _Save +; +msgButtonUse +_Käytä +; _Use +; +msgButtonCancel +_Peru +; _Cancel +; +msgButtonOK +Hyväksy +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI-asetukset +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s.\nSuomennoksen tekijä Pauli Porkka. +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Ikkunan avaaminen epäonnistui. +; Unable to open window. +; +msgTextNoFileRequester +Tiedostovalitsimen varaaminen epäonnistui. +; Unable to allocate file requester. +; +msgTextNoFind +'%s' ei löydy! +; Unable to find `%s'! +; +msgTextNoOpen +'%s' version %ld avaaminen epäonnistui. +; Unable to open `%s? version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Master-volume +; _Master volume +; +msgMVNoClip +Ilman tasonleikkausta +; Without clipping +; +msgMVClip +Tasonleikkauksen kanssa +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/french.ct b/workbench/devs/AHI/AHI/translations/french.ct new file mode 100644 index 00000000000..2d56648067c --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/french.ct @@ -0,0 +1,348 @@ +## version $VER: ahiprefs.catalog 4.8 (31.3.2019) +## language français +## codeset 0 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projet +; \000Project +; +msgItemOpen +O\000Ouvrir... +; O\000Open... +; +msgItemSaveAs +S\000Sauver sous... +; A\000Save As... +; +msgItemAbout +?\000À propos... +; ?\000About... +; +msgItemQuit +Q\000Quitter +; Q\000Quit +; +msgMenuEdit +\000Éditer +; \000Edit +; +msgItemDefaults +D\000Réinitialiser aux valeurs par défaut +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Rétablir les dernières valeurs sauvées +; L\000Last Saved +; +msgItemRestore +R\000Rétablir les valeurs à l'ouverture +; R\000Restore +; +msgMenuSettings +\000Préférences +; \000Settings +; +msgItemCreateIcons +I\000Créer des Icônes ? +; I\000Create Icons? +; +msgMenuHelp +\000Aide +; \000Help +; +msgItemHelp +Help\000Aide... +; Help\000Help... +; +msgItemUsersGuide +H\000Guide de l'utilisateur d'AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Index conceptuel... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Réglages de base +; Mode settings +; +msgPageAdvanced +Réglages avancés +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unité %ld +; Unit %ld +; +msgUnitMusic +Unité musicale +; Music unit +; +; *** Properties box *** +; +msgProperties +Mode ID\nEnregistrement\nAuteur\nCopyright\nContrôleur\nVersion\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Duplex intégral +; Full duplex +; +msgPropRecordHalf +Semi-duplex +; Half duplex +; +msgPropRecordNone +Aucun +; Nope +; +; *** Options *** +; +msgOptions +Options +; Options +; +msgOptFrequency +_Fréquence +; _Frequency +; +msgOptChannels +Canau_x +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Volume +; _Volume +; +msgOptMonitor +_Moniteur +; _Monitor +; +msgOptGain +_Gain +; _Gain +; +msgOptMuted +Muet +; Muted +; +msgOptInput +_Entrée +; _Input +; +msgOptNoInputs +Pas d'entrée +; No inputs +; +msgOptOutput +S_ortie +; _Output +; +msgOptNoOutputs +Pas de sortie +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Options globales +; Global options +; +msgGlobOptDebugLevel +Niveau de _déboggage +; _Debug level +; +msgGlobOptEcho +_Écho +; _Echo +; +msgGlobOptSurround +Surround en mode « écho _rapide » +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +Limite d'utilisation du _processeur +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Aucun +; None +; +msgDebugLow +Bas +; Low +; +msgDebugHigh +Élevé +; High +; +msgDebugFull +Maximum +; Full +; +; *** Echo *** +; +msgEchoEnabled +Activé +; Enabled +; +msgEchoFast +Rapide +; Fast +; +msgEchoDisabled +Désactivé +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Activé +; Enabled +; +msgSurroundDisabled +Désactivé +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Sauver +; _Save +; +msgButtonUse +_Utiliser +; _Use +; +msgButtonCancel +_Annuler +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +Préférences AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Impossible d'ouvrir la fenêtre +; Unable to open window. +; +msgTextNoFileRequester +Impossible d'allouer la fenêtre de requête de fichiers +; Unable to allocate file requester. +; +msgTextNoFind +Impossible de trouver `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Impossible d'ouvrir `%s? version %ld. +; Unable to open `%s? version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +Volu_me général +; _Master volume +; +msgMVNoClip +Sans écrêtage +; Without clipping +; +msgMVClip +Avec écrêtage +; With clipping +; +msgGlobOptACTime +Délai anti-_clic par défaut +; Default anti-click time +; +msgButtonPlay +_Tester le son +; _Play a test sound +; +msgOptScalemode +Limitation du _volume +; Volume sc_aling +; +msgSMFixedSafe +Sûr +; Safe +; +msgSMDynSafe +Sûr, dynamique +; Safe, dynamic +; +msgSM0dB +Volume maximum +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 db +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f db +; %+4.1f dB +; +msgACTimeFmt +%ld ms +; %ld ms +; +msgPercentFmt +%ld %% +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/german.ct b/workbench/devs/AHI/AHI/translations/german.ct new file mode 100644 index 00000000000..4483eade7b7 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/german.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (08.04.05) +## language deutsch +## codeset 0 +; +## chunk AUTH Translated by Uwe Bojartschuk +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +O\000Öffnen... +; O\000Open... +; +msgItemSaveAs +A\000Speichern als... +; A\000Save As... +; +msgItemAbout +?\000Über... +; ?\000About... +; +msgItemQuit +Q\000Beenden +; Q\000Quit +; +msgMenuEdit +\000Vorgaben +; \000Edit +; +msgItemDefaults +D\000auf Vorgaben zurücksetzen +; D\000Reset To Defaults +; +msgItemLastSaved +L\000auf zuletzt gespeichertes +; L\000Last Saved +; +msgItemRestore +R\000auf vorherigen Stand +; R\000Restore +; +msgMenuSettings +\000Einstellungen +; \000Settings +; +msgItemCreateIcons +I\000Piktogramme erzeugen? +; I\000Create Icons? +; +msgMenuHelp +\000Hilfe +; \000Help +; +msgItemHelp +Help\000Hilfe... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI Anleitung... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Begriffe Index... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Modus-Einstellungen +; Mode settings +; +msgPageAdvanced +Weitere Einstellungen +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Einheit %ld +; Unit %ld +; +msgUnitMusic +Musikeinheit +; Music unit +; +; *** Properties box *** +; +msgProperties +Modus ID\nAufnahme\nVerfasser\nCopyright\nTreiber\nVersion\nAnmerkung +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Vollduplex +; Full duplex +; +msgPropRecordHalf +Halbduplex +; Half duplex +; +msgPropRecordNone +Nicht möglich +; Nope +; +; *** Options *** +; +msgOptions +Einstellungen +; Options +; +msgOptFrequency +_Frequenz +; _Frequency +; +msgOptChannels +_Kanäle +; C_hannels +; +msgOptNoChannels +Selbsttätig +; +; +msgOptVolume +_Lautstärke +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Verstärkung +; _Gain +; +msgOptMuted +Stumm +; Muted +; +msgOptInput +_Eingang +; _Input +; +msgOptNoInputs +Keine Eingänge +; No inputs +; +msgOptOutput +_Ausgang +; _Output +; +msgOptNoOutputs +Keine Ausgänge +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globale Einstellungen +; Global options +; +msgGlobOptDebugLevel +_Fehlermitschnittstufe +; _Debug level +; +msgGlobOptEcho +_Echo +; _Echo +; +msgGlobOptSurround +Surround im "_Fast"-Modus +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CPU-Auslastungsgrenze +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Nichts +; None +; +msgDebugLow +Niedrig +; Low +; +msgDebugHigh +Hoch +; High +; +msgDebugFull +Vollständig +; Full +; +; *** Echo *** +; +msgEchoEnabled +Eingeschaltet +; Enabled +; +msgEchoFast +Schnell +; Fast +; +msgEchoDisabled +Ausgeschaltet +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Eingeschaltet +; Enabled +; +msgSurroundDisabled +Ausgeschaltet +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Speichern +; _Save +; +msgButtonUse +Ben_utzen +; _Use +; +msgButtonCancel +_Abbrechen +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI-Einstellungen +; AHI preferences +; +;You can use something like "%s%s\nCopyright (C)%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s\nDeutsche Übersetzung von Uwe Bojartschuk +; %s%s\nCopyright (C)%s +; +msgTextNoWindow +Kann Fenster nicht öffnen. +; Unable to open window. +; +msgTextNoFileRequester +Kann Datei-Requester nicht öffnen. +; Unable to allocate file requester. +; +msgTextNoFind +Kann `%s' nicht finden! +; Unable to find `%s'! +; +msgTextNoOpen +Kann '%s' Version %ld nicht öffnen. +; Unable to open '%s' version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Hauptlautstärke +; _Master volume +; +msgMVNoClip +Ohne Clipping +; Without clipping +; +msgMVClip +Mit Clipping +; With clipping +; +msgGlobOptACTime +Vorgabe der Anti-Click Zeit +; Default anti-click time +; +msgButtonPlay +Spiele einen _Prüfton +; _Play a test sound +; +msgOptScalemode +Lautstärke Einteilung +; Volume sc_aling +; +msgSMFixedSafe +Sicher +; Safe +; +msgSMDynSafe +Sicher, anpassend +; Safe, dynamic +; +msgSM0dB +Volle Lautstärke +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 dB +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f dB +; %+4.1f dB +; +msgACTimeFmt +%ld ms +; %ld ms +; +msgPercentFmt +%ld%% +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/hungarian.ct b/workbench/devs/AHI/AHI/translations/hungarian.ct new file mode 100644 index 00000000000..9b68b85ee11 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/hungarian.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.ct 4.6 (4.8.2004) +## language magyar +## codeset 0 +; +## chunk AUTH Dósa Márton (dm_@freemail.hu) +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +O\000Megnyitás... +; O\000Open... +; +msgItemSaveAs +A\000Mentés mint... +; A\000Save As... +; +msgItemAbout +?\000Névjegy... +; ?\000About... +; +msgItemQuit +Q\000Kilépés +; Q\000Quit +; +msgMenuEdit +\000Szerkesztés +; \000Edit +; +msgItemDefaults +D\000Alapértelmezettek visszaállítása +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Utoljára mentett +; L\000Last Saved +; +msgItemRestore +R\000Visszaállítás +; R\000Restore +; +msgMenuSettings +\000Beállítások +; \000Settings +; +msgItemCreateIcons +I\000Ikonok létrehozása? +; I\000Create Icons? +; +msgMenuHelp +\000Segítség +; \000Help +; +msgItemHelp +Help\000Segítség... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI felhasználói segédlet... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Elgondolás index... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Módbeállítások +; Mode settings +; +msgPageAdvanced +Haladó beállítások +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +%ld. egység +; Unit %ld +; +msgUnitMusic +Zene egység +; Music unit +; +; *** Properties box *** +; +msgProperties +Mód ID\nFelvétel\nSzerző\nCopyright\nMeghajtóprogram\nVerzió\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Duplex +; Full duplex +; +msgPropRecordHalf +Fél duplex +; Half duplex +; +msgPropRecordNone +Nem +; Nope +; +; *** Options *** +; +msgOptions +Opciók +; Options +; +msgOptFrequency +_Frekvencia +; _Frequency +; +msgOptChannels +Csatornák +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +Hangerő +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Gain +; _Gain +; +msgOptMuted +Némítva +; Muted +; +msgOptInput +Bemenet +; _Input +; +msgOptNoInputs +Nincsenek bemenetek +; No inputs +; +msgOptOutput +Kimenet +; _Output +; +msgOptNoOutputs +Nincsenek kimenetek +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globális opciók +; Global options +; +msgGlobOptDebugLevel +Hibakeresés szintje +; _Debug level +; +msgGlobOptEcho +Visszhang +; _Echo +; +msgGlobOptSurround +Térhatás a "Gyors" módokban +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CPU használati határ +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Nincs +; None +; +msgDebugLow +Alacsony +; Low +; +msgDebugHigh +Magas +; High +; +msgDebugFull +Teljes +; Full +; +; *** Echo *** +; +msgEchoEnabled +Bekapcsolva +; Enabled +; +msgEchoFast +Gyors +; Fast +; +msgEchoDisabled +Kikapcsolva +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Bekapcsolva +; Enabled +; +msgSurroundDisabled +Kikapcsolva +; Disabled +; +; *** Buttons *** +; +msgButtonSave +Ment_sd +; _Save +; +msgButtonUse +Használd +; _Use +; +msgButtonCancel +Mégse +; _Cancel +; +msgButtonOK +Oké +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI beállítások +; AHI preferences +; +;You can use something like "%s%s\nCopyright Š%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright Š%s +; %s%s\nCopyright Š%s +; +msgTextNoWindow +Nem tudok ablakot nyitni. +; Unable to open window. +; +msgTextNoFileRequester +Nem tudok fájlkérdezőt lefoglalni. +; Unable to allocate file requester. +; +msgTextNoFind +Nem találom: '%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Nem tudom megnyitni: '%s' %ld verzió. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Mester hangerő +; _Master volume +; +msgMVNoClip +Vágás nélkül +; Without clipping +; +msgMVClip +Vágással +; With clipping +; +msgGlobOptACTime +Alap anti-klikk idő +; Default anti-click time +; +msgButtonPlay +Teszthang lejátszása +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/italian.ct b/workbench/devs/AHI/AHI/translations/italian.ct new file mode 100644 index 00000000000..1227703bb4c --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/italian.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (2.2.2005) +## language italiano +## codeset 0 +; +## chunk AUTH Translated by Bernardo Innocenti and Piergiorgio Ghezzo, revisione Paolo Besser +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Progetto +; \000Project +; +msgItemOpen +O\000Carica... +; O\000Open... +; +msgItemSaveAs +S\000Salva come... +; A\000Save As... +; +msgItemAbout +?\000Informazioni... +; ?\000About... +; +msgItemQuit +Q\000Esci +; Q\000Quit +; +msgMenuEdit +\000Modifica +; \000Edit +; +msgItemDefaults +P\000Ripristina valori predefiniti +; D\000Reset To Defaults +; +msgItemLastSaved +U\000Ripristina ultime impostazioni +; L\000Last Saved +; +msgItemRestore +A\000Annulla modifiche effettuate +; R\000Restore +; +msgMenuSettings +\000Impostazioni +; \000Settings +; +msgItemCreateIcons +I\000Genera icone +; I\000Create Icons? +; +msgMenuHelp +\000Aiuto +; \000Help +; +msgItemHelp +Help\000Aiuto... +; Help\000Help... +; +msgItemUsersGuide +H\000Guida per l'utente... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Indice dei concetti... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Opzioni generali +; Mode settings +; +msgPageAdvanced +Opzioni avanzate +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unità %ld +; Unit %ld +; +msgUnitMusic +Unità Musica +; Music unit +; +; *** Properties box *** +; +msgProperties +ID Modo\nCampionamento\nAutore\nCopyright\nDriver\nVersione\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Full duplex +; Full duplex +; +msgPropRecordHalf +Half duplex +; Half duplex +; +msgPropRecordNone +No +; Nope +; +; *** Options *** +; +msgOptions +Opzioni +; Options +; +msgOptFrequency +_Frequenza +; _Frequency +; +msgOptChannels +_Canali +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Volume +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Guadagno +; _Gain +; +msgOptMuted +Silenzio +; Muted +; +msgOptInput +_Ingresso +; _Input +; +msgOptNoInputs +Nessun ingresso +; No inputs +; +msgOptOutput +Usci_ta +; _Output +; +msgOptNoOutputs +Nessuna uscita +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Opzioni generali +; Global options +; +msgGlobOptDebugLevel +Livello _debug +; _Debug level +; +msgGlobOptEcho +_Echo +; _Echo +; +msgGlobOptSurround +Surround nei modi "_Fast" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Limite uso CPU +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Nessuno +; None +; +msgDebugLow +Moderato +; Low +; +msgDebugHigh +Dettagliato +; High +; +msgDebugFull +Completo +; Full +; +; *** Echo *** +; +msgEchoEnabled +Abilitato +; Enabled +; +msgEchoFast +Veloce +; Fast +; +msgEchoDisabled +Disabilitato +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Abilitato +; Enabled +; +msgSurroundDisabled +Disabilitato +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Salva +; _Save +; +msgButtonUse +_Usa +; _Use +; +msgButtonCancel +_Annulla +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +Configurazione AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s\nTraduzione italiana di Bernardo Innocenti\nRevisione di Paolo Besser +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Non posso aprire la finestra. +; Unable to open window. +; +msgTextNoFileRequester +Memoria insufficiente per il file requester. +; Unable to allocate file requester. +; +msgTextNoFind +Non trovo `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Non posso aprire `%s' versione %ld. +; Unable to open `%s? version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +Volume _globale +; _Master volume +; +msgMVNoClip +Senza tagli +; Without clipping +; +msgMVClip +Con tagli +; With clipping +; +msgGlobOptACTime +Intervallo anti-click predefinito +; Default anti-click time +; +msgButtonPlay +_Prova il suono +; _Play a test sound +; +msgOptScalemode +Incremento Volume +; Volume sc_aling +; +msgSMFixedSafe +Sicuro +; Safe +; +msgSMDynSafe +Sicuro, dinamico +; Safe, dynamic +; +msgSM0dB +Al massimo +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 dB +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f dB +; %+4.1f dB +; +msgACTimeFmt +%ld ms +; %ld ms +; +msgPercentFmt +%ld%% +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/norwegian.ct b/workbench/devs/AHI/AHI/translations/norwegian.ct new file mode 100644 index 00000000000..0047fd7e023 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/norwegian.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language norsk +## codeset 0 +; +## chunk AUTH Translated by Eivind Olsen/ATO +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Prosjekt +; \000Project +; +msgItemOpen +O\000Hent... +; O\000Open... +; +msgItemSaveAs +A\000Lagre som... +; A\000Save As... +; +msgItemAbout +?\000Om... +; ?\000About... +; +msgItemQuit +Q\000Avslutt +; Q\000Quit +; +msgMenuEdit +\000Rediger +; \000Edit +; +msgItemDefaults +F\000Tilbakestill til standardverdier +; D\000Reset To Defaults +; +msgItemLastSaved +B\000Sist lagret +; L\000Last Saved +; +msgItemRestore +G\000Gjenopprett +; R\000Restore +; +msgMenuSettings +\000Innstillinger +; \000Settings +; +msgItemCreateIcons +\000Opprette ikoner? +; I\000Create Icons? +; +msgMenuHelp +\000Hjelp +; \000Help +; +msgItemHelp +Hjelp\000Hjelp... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI Brukermanual... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Konsept indeks... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Modus innstillinger +; Mode settings +; +msgPageAdvanced +Avanserte innstillinger +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Enhet %ld +; Unit %ld +; +msgUnitMusic +Musikk enhet +; Music unit +; +; *** Properties box *** +; +msgProperties +Modus ID\nInnspilling\nForfatter\nOpphavsrett\nDriver\nVersjon\nKommentar +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Full dupleks +; Full duplex +; +msgPropRecordHalf +Halv dupleks +; Half duplex +; +msgPropRecordNone +Ingen +; Nope +; +; *** Options *** +; +msgOptions +Valg +; Options +; +msgOptFrequency +_Frekvens +; _Frequency +; +msgOptChannels +_Kanaler +; C_hannels +; +msgOptNoChannels +_Ingen kanaler +; +; +msgOptVolume +_Volum +; _Volume +; +msgOptMonitor +_Avlytt +; _Monitor +; +msgOptGain +F_orsterk +; _Gain +; +msgOptMuted +Stum +; Muted +; +msgOptInput +_Inngang +; _Input +; +msgOptNoInputs +Ingen innganger +; No inputs +; +msgOptOutput +_Utganger +; _Output +; +msgOptNoOutputs +Ingen utganger +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globale valg +; Global options +; +msgGlobOptDebugLevel +Feilsøkingsnivå +; _Debug level +; +msgGlobOptEcho +_Ekko +; _Echo +; +msgGlobOptSurround +Surround i "_Hurtig" modus +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CPU-forbruks_grense +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Ingen +; None +; +msgDebugLow +Lav +; Low +; +msgDebugHigh +Høy +; High +; +msgDebugFull +Full +; Full +; +; *** Echo *** +; +msgEchoEnabled +På +; Enabled +; +msgEchoFast +Hurtig +; Fast +; +msgEchoDisabled +Av +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +På +; Enabled +; +msgSurroundDisabled +Av +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Lagre +; _Save +; +msgButtonUse +_Bruk +; _Use +; +msgButtonCancel +_Avbryt +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI innstillinger +; AHI preferences +; +;You can use something like "%s%s\nCopyright ?%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nOpphavsrett @%s +; %s%s\nCopyright @%s +; +msgTextNoWindow +Klarte ikke åpne vindu. +; Unable to open window. +; +msgTextNoFileRequester +Klarte ikke allokere filforespørsel. +; Unable to allocate file requester. +; +msgTextNoFind +Klarte ikke finne `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Klarte ikke åpne `%s' versjon %ld. +; Unable to open `%s' version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Hovedvolum +; _Master volume +; +msgMVNoClip +Uten klipping +; Without clipping +; +msgMVClip +Med klipping +; With clipping +; +msgGlobOptACTime +Standard anti-click tid +; Default anti-click time +; +msgButtonPlay +Spill av test lyd +; _Play a test sound +; +msgOptScalemode +Volum justering +; Volume sc_aling +; +msgSMFixedSafe +Sikker +; Safe +; +msgSMDynSafe +Sikker, dynamisk +; Safe, dynamic +; +msgSM0dB +Fult volum +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 db +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f dB +; %+4.1f dB +; +msgACTimeFmt +$ld ms +; %ld ms +; +msgPercentFmt +%ld%% +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/polish.ct b/workbench/devs/AHI/AHI/translations/polish.ct new file mode 100644 index 00000000000..5862f478114 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/polish.ct @@ -0,0 +1,361 @@ +## version $VER: ahiprefs.catalog 4.8 (14.4.2010) C Marcin Orłowski mod. Tomasz Paul +## language polski +## codeset 0 +; +## chunk AUTH Translated by Marcin Orłowski +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekt +; \000Project +; +msgItemOpen +O\000Otwórz... +; O\000Open... +; +msgItemSaveAs +A\000Zapisz jako... +; A\000Save As... +; +msgItemAbout +?\0O programie... +; ?\000About... +; +msgItemQuit +Q\0Skończ +; Q\000Quit +; +msgMenuEdit +\0Edycja +; \000Edit +; +msgItemDefaults +D\0Ustawienia standardowe +; D\000Reset To Defaults +; +msgItemLastSaved +L\0Ustawienia ostatnio zapisane +; L\000Last Saved +; +msgItemRestore +R\0Anuluj zmiany ustawień +; R\000Restore +; +msgMenuSettings +\0Ustawienia +; \000Settings +; +msgItemCreateIcons +I\0Zapisuj ikonki +; I\000Create Icons? +; +msgMenuHelp +\0Pomoc +; \000Help +; +msgItemHelp +Help\0Pomoc... +; Help\000Help... +; +msgItemUsersGuide +H\0Przewodnik użytkownika... +; H\000AHI User's guide... +; +msgItemConceptIndex +\0Indeks... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Ustawienia trybów +; Mode settings +; +msgPageAdvanced +Ustawienia zaawansowane +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Jedn. %ld +; Unit %ld +; +msgUnitMusic +Jedn. muzyczna +; Music unit +; +; *** Properties box *** +; +msgProperties +Tryb\n\ +Zapisywanie\n\ +Autor\n\ +Prawa autorskie\n\ +Sterownik\n\ +Wersja\n\ +Opis +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Pełen dupleks +; Full duplex +; +msgPropRecordHalf +Pół dupleks +; Half duplex +; +msgPropRecordNone +Brak +; Nope +; +; *** Options *** +; +msgOptions +Opcje +; Options +; +msgOptFrequency +Częs_totliwość +; _Frequency +; +msgOptChannels +_Kanały +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Głośność +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Podbicie +; _Gain +; +msgOptMuted +Wyciszony +; Muted +; +msgOptInput +_Wejście +; _Input +; +msgOptNoInputs +Brak wejść +; No inputs +; +msgOptOutput +W_yjście +; _Output +; +msgOptNoOutputs +Brak wyjść +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Ustawienia globalne +; Global options +; +msgGlobOptDebugLevel +_Debug +; _Debug level +; +msgGlobOptEcho +_Echo +; _Echo +; +msgGlobOptSurround +Surround w trybach "_Fast" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Limit zajętości procesora +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Wyłączony +; None +; +msgDebugLow +Niski +; Low +; +msgDebugHigh +Wysoki +; High +; +msgDebugFull +Pełen +; Full +; +; *** Echo *** +; +msgEchoEnabled +Włączone +; Enabled +; +msgEchoFast +Szybkie +; Fast +; +msgEchoDisabled +Wyłączone +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Włączony +; Enabled +; +msgSurroundDisabled +Wyłączony +; Disabled +; +; *** Buttons *** +; +msgButtonSave +Zapi_sz +; _Save +; +msgButtonUse +_Użyj +; _Use +; +msgButtonCancel +Ponie_chaj +; _Cancel +; +msgButtonOK +Ok +; OK +; +; *** Texts *** +; +msgTextProgramName +Preferencje AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright Š%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright (C) %s\n\ +Polska wersja językowa\n\ +Marcin Orłowski\n\ + +; %s%s\nCopyright Š%s +; +msgTextNoWindow +Nie mogę otworzyć okna. +; Unable to open window. +; +msgTextNoFileRequester +Nie mogę zaalokować requestera wyboru plików. +; Unable to allocate file requester. +; +msgTextNoFind +Nie mogę znaleźć \"%s\"! +; Unable to find `%s'! +; +msgTextNoOpen +Nie mogę otworzyć \"%s\" w wersji %ld. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +Głośność głó_wna +; _Master volume +; +msgMVNoClip +Bez obcinania +; Without clipping +; +msgMVClip +Z obcinaniem +; With clipping +; +msgGlobOptACTime +Domyślny czas anti-click +; Default anti-click time +; +msgButtonPlay +Graj dźwięk testowy +; _Play a test sound +; +msgOptScalemode +Regulacja głośności +; Volume sc_aling +; +msgSMFixedSafe +Bezpieczne +; Safe +; +msgSMDynSafe +Bezpieczne, dynamiczne +; Safe, dynamic +; +msgSM0dB +Pełna głośność +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 dB +; -6 dB +; +msgFreqFmt +%ld Hz +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f dB +; %+4.1f dB +; +msgACTimeFmt +%ld ms +; %ld ms +; +msgPercentFmt +%ld %% +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/portuguese.ct b/workbench/devs/AHI/AHI/translations/portuguese.ct new file mode 100644 index 00000000000..c91731e0cc6 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/portuguese.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language português +## codeset 0 +; +## chunk AUTH Translated by Frederico Borges & Rúben Alvim +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projecto +; \000Project +; +msgItemOpen +A\000Abrir... +; O\000Open... +; +msgItemSaveAs +C\000Gravar Como... +; A\000Save As... +; +msgItemAbout +?\000Acerca... +; ?\000About... +; +msgItemQuit +S\000Sair +; Q\000Quit +; +msgMenuEdit +\000Editar +; \000Edit +; +msgItemDefaults +H\000Voltar à Configuração Habitual +; D\000Reset To Defaults +; +msgItemLastSaved +U\000Última Configuração Gravada +; L\000Last Saved +; +msgItemRestore +R\000Restaurar o Estado Anterior +; R\000Restore +; +msgMenuSettings +\000Opções +; \000Settings +; +msgItemCreateIcons +I\000Criar Ícones? +; I\000Create Icons? +; +msgMenuHelp +\000Ajuda +; \000Help +; +msgItemHelp +Help\000Ajuda... +; Help\000Help... +; +msgItemUsersGuide +G\000Guia do Utilizador do AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Índice de Conceitos... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Configuração do Modo +; Mode settings +; +msgPageAdvanced +Configurações Avançadas +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unidade: %ld +; Unit %ld +; +msgUnitMusic +Unidade de Música +; Music unit +; +; *** Properties box *** +; +msgProperties +ID do Modo\nGravação\nAutor\n"Copyright"\n"Driver"\nVersão\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +'Full duplex' +; Full duplex +; +msgPropRecordHalf +'Half duplex' +; Half duplex +; +msgPropRecordNone +Não +; Nope +; +; *** Options *** +; +msgOptions +Opções +; Options +; +msgOptFrequency +_Frequência +; _Frequency +; +msgOptChannels +_Canais +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Volume +; _Volume +; +msgOptMonitor +_Monitorização +; _Monitor +; +msgOptGain +_Ganho +; _Gain +; +msgOptMuted +Desligada +; Muted +; +msgOptInput +_Entrada +; _Input +; +msgOptNoInputs +Sem Entradas +; No inputs +; +msgOptOutput +_Saída +; _Output +; +msgOptNoOutputs +Sem Saídas +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Opções Globais +; Global options +; +msgGlobOptDebugLevel +Nivel de "_Debug" +; _Debug level +; +msgGlobOptEcho +_Eco +; _Echo +; +msgGlobOptSurround +"Surround" nos Modos "_Rápidos" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Limite de Uso do CPU +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Nenhum +; None +; +msgDebugLow +Baixo +; Low +; +msgDebugHigh +Alto +; High +; +msgDebugFull +Completo +; Full +; +; *** Echo *** +; +msgEchoEnabled +Ligado +; Enabled +; +msgEchoFast +Rápido +; Fast +; +msgEchoDisabled +Desligado +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Ligado +; Enabled +; +msgSurroundDisabled +Desligado +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Gravar +; _Save +; +msgButtonUse +_Usar +; _Use +; +msgButtonCancel +_Cancelar +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName + +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s\nTradução para Português por Frederico Borges & Rúben Alvim / ATO +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Não foi possível abrir a janela. +; Unable to open window. +; +msgTextNoFileRequester +Não foi possível localizar Seleccionador de Ficheiros +; Unable to allocate file requester. +; +msgTextNoFind +Não foi possível encontrar o `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Não foi possível abrir a `%s´ versão %ld. +; Unable to open `%s´ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Volume Principal +; _Master volume +; +msgMVNoClip +Sem Cortes +; Without clipping +; +msgMVClip +Com Cortes +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/russian.ct b/workbench/devs/AHI/AHI/translations/russian.ct new file mode 100644 index 00000000000..b5b1fdda05a --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/russian.ct @@ -0,0 +1,360 @@ +## version $VER: AHIprefs.catalog 4.5.7 (14.01.2005) (Amiga-1251) +## language russian +## codeset 2104 +; +## chunk AUTH Translated by Michael_Malyshev@mail.ru +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\0Проект +; \000Project +; +msgItemOpen +O\0Открыть... +; O\000Open... +; +msgItemSaveAs +A\0Сохранить как... +; A\000Save As... +; +msgItemAbout +?\0О программе... +; ?\000About... +; +msgItemQuit +Q\0Выход +; Q\000Quit +; +msgMenuEdit +\0Редактор +; \000Edit +; +msgItemDefaults +D\0По умолчанию +; D\000Reset To Defaults +; +msgItemLastSaved +L\0Последняя запись +; L\000Last Saved +; +msgItemRestore +R\0Восстановить +; R\000Restore +; +msgMenuSettings +\0Настройки +; \000Settings +; +msgItemCreateIcons +I\0Создавать иконки? +; I\000Create Icons? +; +msgMenuHelp +\0Помощь +; \000Help +; +msgItemHelp +Help\0Помощь... +; Help\000Help... +; +msgItemUsersGuide +H\0Руководство по AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\0Индекс... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Настройки режима +; Mode settings +; +msgPageAdvanced +Расширенныe настройки +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Устройство %ld +; Unit %ld +; +msgUnitMusic +Музыкальное устройство +; Music unit +; +; *** Properties box *** +; +msgProperties +Режим ID\n\ +Запись\n\ +Автор\n\ +Авторство\n\ +Драйвер\n\ +Версия\n\ +Примечание +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Полный дуплекс +; Full duplex +; +msgPropRecordHalf +Полудуплекс +; Half duplex +; +msgPropRecordNone +Нет +; Nope +; +; *** Options *** +; +msgOptions +Настройки +; Options +; +msgOptFrequency +_Частота +; _Frequency +; +msgOptChannels +_Каналы +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Громкость +; _Volume +; +msgOptMonitor +_Монитор +; _Monitor +; +msgOptGain +_Усиление +; _Gain +; +msgOptMuted +Немой +; Muted +; +msgOptInput +_Ввод +; _Input +; +msgOptNoInputs +Не вводить +; No inputs +; +msgOptOutput +В_ывод +; _Output +; +msgOptNoOutputs +Не выводить +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Основные установки +; Global options +; +msgGlobOptDebugLevel +У_ровень отладки +; _Debug level +; +msgGlobOptEcho +_Эхо +; _Echo +; +msgGlobOptSurround +Э_ффект присутствия в режимах "Fast" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +Ограничение _загрузки ЦП +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Нет +; None +; +msgDebugLow +Низкий +; Low +; +msgDebugHigh +Высокий +; High +; +msgDebugFull +Полный +; Full +; +; *** Echo *** +; +msgEchoEnabled +Включено +; Enabled +; +msgEchoFast +Быстрое +; Fast +; +msgEchoDisabled +Выключено +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Включено +; Enabled +; +msgSurroundDisabled +Выключено +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Сохранить +; _Save +; +msgButtonUse +Пр_инять +; _Use +; +msgButtonCancel +_Отменить +; _Cancel +; +msgButtonOK +Принять +; OK +; +; *** Texts *** +; +msgTextProgramName +Настройки AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\n\ +Авторство (c) %s\n\ +Русский перевод: Михаил Малышев +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Невозможно открыть окно. +; Unable to open window. +; +msgTextNoFileRequester +Недоступен запросник файлов. +; Unable to allocate file requester. +; +msgTextNoFind +Невозможно найти "%s"! +; Unable to find `%s'! +; +msgTextNoOpen +Невозможно открыть "%s" версии %ld. +; Unable to open `%sґ version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Громкость +; _Master volume +; +msgMVNoClip +Без среза +; Without clipping +; +msgMVClip +Со срезом +; With clipping +; +msgGlobOptACTime +Защитное время блокировки щелчков +; Default anti-click time +; +msgButtonPlay +Проиграть _тестовый звук +; _Play a test sound +; +msgOptScalemode +У_ровень +; Volume sc_aling +; +msgSMFixedSafe +Безопасный +; Safe +; +msgSMDynSafe +Безопасный, динамический +; Safe, dynamic +; +msgSM0dB +Полная громкость +; Full volume +; +msgSM3dB +-3 дБ +; -3 dB +; +msgSM6dB +-6 дБ +; -6 dB +; +msgFreqFmt +%ld Гц +; %ld Hz +; +msgChanFmt +%ld +; %ld +; +msgVolFmt +%+4.1f дБ +; %+4.1f dB +; +msgACTimeFmt +%ld мс +; %ld ms +; +msgPercentFmt +%ld%% +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/serbian.ct b/workbench/devs/AHI/AHI/translations/serbian.ct new file mode 100644 index 00000000000..c8f96b153a5 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/serbian.ct @@ -0,0 +1,352 @@ +## version $VER: AHI.catalog 4.6 (4.8.2004) +## language srpski +## codeset 0 +; +## chunk AUTH Translated by Ljubomir Jankovi +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Projekat +; \000Project +; +msgItemOpen +O\00Otvori +; O\000Open... +; +msgItemSaveAs +A\000Snimi kao... +; A\000Save As... +; +msgItemAbout +?\000O... +; ?\000About... +; +msgItemQuit +Q\000Izai +; Q\000Quit +; +msgMenuEdit +\000Promene +; \000Edit +; +msgItemDefaults +D\000Vrati na osnove +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Poslednje snimljeno +; L\000Last Saved +; +msgItemRestore +R\000Vrati +; R\000Restore +; +msgMenuSettings +\000Podeavanja +; \000Settings +; +msgItemCreateIcons +I\000Pravi ikone? +; I\000Create Icons? +; +msgMenuHelp +\000Pomo +; \000Help +; +msgItemHelp +Help\000Pomo... +; Help\000Help... +; +msgItemUsersGuide +H\000Uputstvo za AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Indeks +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Podeavanja moda +; Mode settings +; +msgPageAdvanced +Napredna podeavanja +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Jedinica %ld +; Unit %ld +; +msgUnitMusic +Muzika jedinica +; Music unit +; +; *** Properties box *** +; +msgProperties +ID moda\nSnimak\nAutor\nKopirajt\nDrajver\nVerzija\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Puni dupleks +; Full duplex +; +msgPropRecordHalf +Poludupleks +; Half duplex +; +msgPropRecordNone +Nita +; Nope +; +; *** Options *** +; +msgOptions +Opcije +; Options +; +msgOptFrequency +_Frekvencija +; _Frequency +; +msgOptChannels +K_anali +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +_Jaina +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +P_ojaanje +; _Gain +; +msgOptMuted +Prigueno +; Muted +; +msgOptInput +_Ulaz +; _Input +; +msgOptNoInputs +Nema ulaza +; No inputs +; +msgOptOutput +_Izlaz +; _Output +; +msgOptNoOutputs +Nema izlaza +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globalne opcije +; Global options +; +msgGlobOptDebugLevel +Nivo _debug-a +; _Debug level +; +msgGlobOptEcho +_Eho +; _Echo +; +msgGlobOptSurround +Saraund u "_Fast" modovima +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +O_granienje korienja CPU-a +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Nema +; None +; +msgDebugLow +Nizak +; Low +; +msgDebugHigh +Visok +; High +; +msgDebugFull +Pun +; Full +; +; *** Echo *** +; +msgEchoEnabled +Ukljuen +; Enabled +; +msgEchoFast +Brz +; Fast +; +msgEchoDisabled +Iskljuen +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Ukljuen +; Enabled +; +msgSurroundDisabled +Iskljuen +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Snimi +; _Save +; +msgButtonUse +_Koristi +; _Use +; +msgButtonCancel +_Poniti +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI podeavanja +; AHI preferences +; +;You can use something like "%s%s\nCopyright %s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nKopirajt %s +; %s%s\nCopyright %s +; +msgTextNoWindow +Ne mogu da otvorim prozor. +; Unable to open window. +; +msgTextNoFileRequester +Ne mogu da alociram fajl upitnik. +; Unable to allocate file requester. +; +msgTextNoFind +Ne mogu da naem `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Ne mogu da otvorim `%s' verzija %ld. +; Unable to open `%s version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Glavna jaina +; _Master volume +; +msgMVNoClip +Bez clipping-a +; Without clipping +; +msgMVClip +Sa clipping-om +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; diff --git a/workbench/devs/AHI/AHI/translations/spanish.ct b/workbench/devs/AHI/AHI/translations/spanish.ct new file mode 100644 index 00000000000..be9f4506645 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/spanish.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) por Samuel Aguilera +## language español +## codeset 0 +; +## chunk AUTH Translated by Samuel Aguilera +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Proyecto +; \000Project +; +msgItemOpen +O\000Abrir... +; O\000Open... +; +msgItemSaveAs +A\000Grabar Como... +; A\000Save As... +; +msgItemAbout +?\000Acerca de... +; ?\000About... +; +msgItemQuit +Q\000Salir +; Q\000Quit +; +msgMenuEdit +\000Editar +; \000Edit +; +msgItemDefaults +D\000Valores por Defecto +; D\000Reset To Defaults +; +msgItemLastSaved +L\000Últimos Grabados +; L\000Last Saved +; +msgItemRestore +R\000Restaurar +; R\000Restore +; +msgMenuSettings +\000Ajustes +; \000Settings +; +msgItemCreateIcons +I\000¿Crear Iconos? +; I\000Create Icons? +; +msgMenuHelp +\000Ayuda +; \000Help +; +msgItemHelp +Help\000Ayuda... +; Help\000Help... +; +msgItemUsersGuide +H\000Guía del Usuario AHI... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Índice de Conceptos... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Ajustes de Modo +; Mode settings +; +msgPageAdvanced +Ajustes avanzados +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Unidad %ld +; Unit %ld +; +msgUnitMusic +Unidad Musical +; Music unit +; +; *** Properties box *** +; +msgProperties +ID de Modo\nGrabación\nAutor\nCopyright\nControlador\nVersión\nAnnotation +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Dúplex Completo +; Full duplex +; +msgPropRecordHalf +Semi Dúplex +; Half duplex +; +msgPropRecordNone +Nada +; Nope +; +; *** Options *** +; +msgOptions +Opciones +; Options +; +msgOptFrequency +_Frecuencia +; _Frequency +; +msgOptChannels +Ca_nales +; C_hannels +; +msgOptNoChannels +(Desactivado) +; +; +msgOptVolume +_Volumen +; _Volume +; +msgOptMonitor +_Monitor +; _Monitor +; +msgOptGain +_Ganancia +; _Gain +; +msgOptMuted +Silencioso +; Muted +; +msgOptInput +_Entrada +; _Input +; +msgOptNoInputs +Sin entradas +; No inputs +; +msgOptOutput +_Salida +; _Output +; +msgOptNoOutputs +Sin salidas +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Opciones Globales +; Global options +; +msgGlobOptDebugLevel +Nivel _de Depuración +; _Debug level +; +msgGlobOptEcho +_Eco +; _Echo +; +msgGlobOptSurround +Surround en modos "_Rápidos" +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +_Límite de uso de CPU +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Ninguno +; None +; +msgDebugLow +Bajo +; Low +; +msgDebugHigh +Alto +; High +; +msgDebugFull +Total +; Full +; +; *** Echo *** +; +msgEchoEnabled +Conectado +; Enabled +; +msgEchoFast +Rápido +; Fast +; +msgEchoDisabled +Desconectado +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Conectado +; Enabled +; +msgSurroundDisabled +Desconectado +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Grabar +; _Save +; +msgButtonUse +_Usar +; _Use +; +msgButtonCancel +_Cancelar +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +Preferencias AHI +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s\nTraducción al Español por:\nSamuel Aguilera +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Imposible abrir ventana. +; Unable to open window. +; +msgTextNoFileRequester +Imposible reservar el\nrequester de ficheros. +; Unable to allocate file requester. +; +msgTextNoFind +¡Imposible encontrar `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Imposible abrir `%s' versión %ld. +; Unable to open `%s? version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +Volumen _Master +; _Master volume +; +msgMVNoClip +Sin recorte +; Without clipping +; +msgMVClip +Con recorte +; With clipping +; +msgGlobOptACTime + +; Default anti-click time +; +msgButtonPlay + +; _Play a test sound +; +msgOptScalemode + +; Volume sc_aling +; +msgSMFixedSafe + +; Safe +; +msgSMDynSafe + +; Safe, dynamic +; +msgSM0dB + +; Full volume +; +msgSM3dB + +; -3 dB +; +msgSM6dB + +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/AHI/translations/swedish.ct b/workbench/devs/AHI/AHI/translations/swedish.ct new file mode 100644 index 00000000000..0d6cd3b85e5 --- /dev/null +++ b/workbench/devs/AHI/AHI/translations/swedish.ct @@ -0,0 +1,352 @@ +## version $VER: ahiprefs.catalog 4.6 (4.8.2004) +## language svenska +## codeset 0 +; +## chunk AUTH Translated by Martin Blom +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; *** Menus *** +; +msgMenuProject +\000Arkiv +; \000Project +; +msgItemOpen +O\000Öppna... +; O\000Open... +; +msgItemSaveAs +A\000Spara som... +; A\000Save As... +; +msgItemAbout +?\000Om... +; ?\000About... +; +msgItemQuit +Q\000Avsluta +; Q\000Quit +; +msgMenuEdit +\000Redigera +; \000Edit +; +msgItemDefaults +F\000Förinställda värden +; D\000Reset To Defaults +; +msgItemLastSaved +E\000Senast sparade +; L\000Last Saved +; +msgItemRestore +Å\000Återställ +; R\000Restore +; +msgMenuSettings +\000Tillval +; \000Settings +; +msgItemCreateIcons +I\000Skapa symboler? +; I\000Create Icons? +; +msgMenuHelp +\000Hjälp +; \000Help +; +msgItemHelp +Help\000Hjälp... +; Help\000Help... +; +msgItemUsersGuide +H\000AHI Användarmanual... +; H\000AHI User's guide... +; +msgItemConceptIndex +\000Index... +; \000Concept Index... +; +; *** The pages *** +; +msgPageMode +Lägesinställningar +; Mode settings +; +msgPageAdvanced +Avancerade inställningar +; Advanced settings +; +; *** The units *** +; +msgUnitDevice +Enhet %ld +; Unit %ld +; +msgUnitMusic +Musikenhet +; Music unit +; +; *** Properties box *** +; +msgProperties +Ljudläge\nInspelning\nUpphovsman\nCopyright\nDrivrutin\nVersion\nKommentar +; Mode ID\nRecording\nAuthor\nCopyright\nDriver\nVersion\nAnnotation +; +msgPropRecordFull +Full duplex +; Full duplex +; +msgPropRecordHalf +Halv duplex +; Half duplex +; +msgPropRecordNone +Nix +; Nope +; +; *** Options *** +; +msgOptions +Tillval +; Options +; +msgOptFrequency +_Frekvens +; _Frequency +; +msgOptChannels +_Kanaler +; C_hannels +; +msgOptNoChannels + +; +; +msgOptVolume +Vol_ym +; _Volume +; +msgOptMonitor +Av_lyssning +; _Monitor +; +msgOptGain +F_örstärkning +; _Gain +; +msgOptMuted +Avstängd +; Muted +; +msgOptInput +_Ingång +; _Input +; +msgOptNoInputs +Inga ingångar +; No inputs +; +msgOptOutput +_Utgång +; _Output +; +msgOptNoOutputs +Inga utgångar +; No outputs +; +; +; *** Global Options *** +; +msgGlobalOptions +Globala tillval +; Global options +; +msgGlobOptDebugLevel +Avlusnings_nivå +; _Debug level +; +msgGlobOptEcho +_Eko +; _Echo +; +msgGlobOptSurround +Surround i "Snabba" _lägen +; Surround in "_Fast" modes +; +msgGlobOptCPULimit +CPU-_begränsning +; CPU usage _limit +; +; *** Debug levels *** +; +msgDebugNone +Ingen +; None +; +msgDebugLow +Låg +; Low +; +msgDebugHigh +Hög +; High +; +msgDebugFull +Full +; Full +; +; *** Echo *** +; +msgEchoEnabled +Påslaget +; Enabled +; +msgEchoFast +Snabbt +; Fast +; +msgEchoDisabled +Avslaget +; Disabled +; +; *** Surround *** +; +msgSurroundEnabled +Påslaget +; Enabled +; +msgSurroundDisabled +Avslaget +; Disabled +; +; *** Buttons *** +; +msgButtonSave +_Spara +; _Save +; +msgButtonUse +_Använd +; _Use +; +msgButtonCancel +A_vbryt +; _Cancel +; +msgButtonOK +OK +; OK +; +; *** Texts *** +; +msgTextProgramName +AHI inställningar +; AHI preferences +; +;You can use something like "%s%s\nCopyright ©%s\nEnglish translation by Your Name" here... +msgTextCopyright +%s%s\nCopyright ©%s +; %s%s\nCopyright ©%s +; +msgTextNoWindow +Kan inte öppna fönstret. +; Unable to open window. +; +msgTextNoFileRequester +Kan inte öppna filväljaren. +; Unable to allocate file requester. +; +msgTextNoFind +Kan inte hitta `%s'! +; Unable to find `%s'! +; +msgTextNoOpen +Kan inte öppna `%s', version %ld. +; Unable to open `%s? version %ld. +; +; *** Additions +; +msgGlobOptMasterVol +_Huvudvolym +; _Master volume +; +msgMVNoClip +Utan klippning +; Without clipping +; +msgMVClip +Med klippning +; With clipping +; +msgGlobOptACTime +Maximal antiklick-fördröjning +; Default anti-click time +; +msgButtonPlay +S_pela ett testljud +; _Play a test sound +; +msgOptScalemode +Volym_justering +; Volume sc_aling +; +msgSMFixedSafe +Fast säker skalning +; Safe +; +msgSMDynSafe +Dynamisk säker skalning +; Safe, dynamic +; +msgSM0dB +Full volym +; Full volume +; +msgSM3dB +-3 dB +; -3 dB +; +msgSM6dB +-6 dB +; -6 dB +; +msgFreqFmt + +; %ld Hz +; +msgChanFmt + +; %ld +; +msgVolFmt + +; %+4.1f dB +; +msgACTimeFmt + +; %ld ms +; +msgPercentFmt + +; %ld%% +; \ No newline at end of file diff --git a/workbench/devs/AHI/Device/translations b/workbench/devs/AHI/Device/translations deleted file mode 160000 index d94852c38e2..00000000000 --- a/workbench/devs/AHI/Device/translations +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d94852c38e2b173ae594bf141dcedd99ac84cdb8 diff --git a/workbench/devs/AHI/Device/translations/.gitattributes b/workbench/devs/AHI/Device/translations/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/devs/AHI/Device/translations/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/devs/AHI/Device/translations/ahi.cd b/workbench/devs/AHI/Device/translations/ahi.cd new file mode 100644 index 00000000000..5bb396aeb85 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/ahi.cd @@ -0,0 +1,110 @@ +#language english +#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault (//) +Default +; +; The requesters menu +msgMenuControl (//) +\000\000Control +; +msgMenuLastMode (//) +L\000Last Mode +; +msgMenuNextMode (//) +N\000Next Mode +; +msgMenuPropertyList (//) +?\000Property List... +; +msgMenuRestore (//) +R\000Restore +; +msgMenuOK (//) +O\000OK +; +msgMenuCancel (//) +C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown (//) +UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK (//) +OK +; +msgReqCancel (//) +Cancel +; +msgReqFrequency (//) +Frequency +; +; Name of default mode in requester +; +msgDefaultMode (//) +Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle (//) +Mode Properties +; +msgReqInfoAudioID (//) +Audio mode ID: 0x%08lx +; +msgReqInfoResolution (//) +Resolution: %ld bit %s +; +msgReqInfoMono (//) +mono +; +msgReqInfoStereo (//) +stereo +; +msgReqInfoStereoPan (//) +stereo with panning +; +msgReqInfoChannels (//) +Channels: %ld +; +msgReqInfoMixrate (//) +Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi (//) +HiFi mixing +; +msgReqInfoRecordHalf (//) +Record in half duplex +; +msgReqInfoRecordFull (//) +Record in full duplex +; +msgReqInfoMultiChannel (//) +7.1 multichannel +; +msgFreqFmt (//) +%lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/ahi.ct b/workbench/devs/AHI/Device/translations/ahi.ct new file mode 100644 index 00000000000..34d1551d848 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/ahi.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (dd.mm.yy) +## language xxx +## codeset 0 +; +## chunk AUTH Translated by Your Name +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault + +; Default +; +; The requesters menu +msgMenuControl + +; \000\000Control +; +msgMenuLastMode + +; L\000Last Mode +; +msgMenuNextMode + +; N\000Next Mode +; +msgMenuPropertyList + +; ?\000Property List... +; +msgMenuRestore + +; R\000Restore +; +msgMenuOK + +; O\000OK +; +msgMenuCancel + +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown + +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK + +; OK +; +msgReqCancel + +; Cancel +; +msgReqFrequency + +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode + +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle + +; Mode Properties +; +msgReqInfoAudioID + +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution + +; Resolution: %ld bit %s +; +msgReqInfoMono + +; mono +; +msgReqInfoStereo + +; stereo +; +msgReqInfoStereoPan + +; stereo with panning +; +msgReqInfoChannels + +; Channels: %ld +; +msgReqInfoMixrate + +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi + +; HiFi mixing +; +msgReqInfoRecordHalf + +; Record in half duplex +; +msgReqInfoRecordFull + +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/catalonian.ct b/workbench/devs/AHI/Device/translations/catalonian.ct new file mode 100644 index 00000000000..332d2dcecf2 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/catalonian.ct @@ -0,0 +1,139 @@ +## version $VER: ahi.catalog 04.00 (29.04.03) +## language catal +## codeset 0 +; +## chunk AUTH Translated by Forkens +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Defecte +; Default +; +; The requesters menu +msgMenuControl +\000\000Control +; \000\000Control +; +msgMenuLastMode +L\000ltim mode +; L\000Last Mode +; +msgMenuNextMode +N\000Mode segent +; N\000Next Mode +; +msgMenuPropertyList +?\000Llista... +; ?\000Property List... +; +msgMenuRestore +R\000Restaurar +; R\000Restore +; +msgMenuOK +O\000D'Acord +; O\000OK +; +msgMenuCancel +C\000Cancel.lar +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +DESCONEGUT:ID d'Audio 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +D'Acord +; OK +; +msgReqCancel +Cancel.lar +; Cancel +; +msgReqFrequency +Freqncia +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Mode d'audio per defecte +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Propietats del mode +; Mode Properties +; +msgReqInfoAudioID +ID mode d'audio: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Resoluci: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +estereo +; stereo +; +msgReqInfoStereoPan +estereo amb eco +; stereo with panning +; +msgReqInfoChannels +Canals: %ld +; Channels: %ld +; +msgReqInfoMixrate +Velocitat de mescla: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Mescla Hi-Fi +; HiFi mixing +; +msgReqInfoRecordHalf +Grabar en 1/2 duplex +; Record in half duplex +; +msgReqInfoRecordFull +Grabar en duplex complet +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/croatian.ct b/workbench/devs/AHI/Device/translations/croatian.ct new file mode 100644 index 00000000000..ee91a303333 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/croatian.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (06.10.97) +## language hrvatski +## codeset 5 +; +## chunk AUTH Translated by Siniša Lolić +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Osnovni +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontrola +; \000\000Control +; +msgMenuLastMode +P\000Prethodni način +; L\000Last Mode +; +msgMenuNextMode +S\000Slijedeći način +; N\000Next Mode +; +msgMenuPropertyList +?\000Popis osobina... +; ?\000Property List... +; +msgMenuRestore +V\000Vrati +; R\000Restore +; +msgMenuOK +U\000U redu +; O\000OK +; +msgMenuCancel +Z\000Zaboravi +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +NEPOZNAT:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +U redu +; OK +; +msgReqCancel +Zaboravi +; Cancel +; +msgReqFrequency +Frekvencija +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Osnovni audio način +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Osobine načina +; Mode Properties +; +msgReqInfoAudioID +ID audio načina: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Rezolucija: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +Stereo s panoramom +; stereo with panning +; +msgReqInfoChannels +Kanali: %ld +; Channels: %ld +; +msgReqInfoMixrate +Omjeri miksanja: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi miksanje +; HiFi mixing +; +msgReqInfoRecordHalf +Half Duplex snimanje +; Record in half duplex +; +msgReqInfoRecordFull +Full Duplex snimanje +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/czech.ct b/workbench/devs/AHI/Device/translations/czech.ct new file mode 100644 index 00000000000..b959fa2c9e8 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/czech.ct @@ -0,0 +1,140 @@ +## version $VER: ahi.catalog 4.8 (24.4.2007) +## language czech +## codeset 5 +; +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Výchozí +; Default +; +; The requesters menu +msgMenuControl +\000\000Projekt +; \000\000Control +; +msgMenuLastMode +L\000Předchozí režim +; L\000Last Mode +; +msgMenuNextMode +N\000Následující režim +; N\000Next Mode +; +msgMenuPropertyList +?\000Seznam vlastností... +; ?\000Property List... +; +msgMenuRestore +R\000Obnovit předchozí +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +C\000Zrušit +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +NEZNÁMÝ:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Zrušit +; Cancel +; +msgReqFrequency +Frekvence +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Výchozí režim +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Vlastnosti režimu +; Mode Properties +; +msgReqInfoAudioID +Číslo režimu: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Rozlišení: %ld bitů %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +rozšířené stereo +; stereo with panning +; +msgReqInfoChannels +Počet kanálů: %ld +; Channels: %ld +; +msgReqInfoMixrate +Mixovací frekvence: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi mixování +; HiFi mixing +; +msgReqInfoRecordHalf +Poloduplexní záznam +; Record in half duplex +; +msgReqInfoRecordFull +Plně duplexní záznam +; Record in full duplex +; +msgReqInfoMultiChannel +Vícekanálový režim (7.1) +; 7.1 multichannel +; +msgFreqFmt +%lu Hz +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/danish.ct b/workbench/devs/AHI/Device/translations/danish.ct new file mode 100644 index 00000000000..1caa6f79f89 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/danish.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (14.06.97) +## language dansk +## codeset 0 +; +## chunk AUTH Translated by Thomas Petersen/ATO +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Standard +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontrol +; \000\000Control +; +msgMenuLastMode +S\000Sidste modus +; L\000Last Mode +; +msgMenuNextMode +N\000Næste modus +; N\000Next Mode +; +msgMenuPropertyList +?\000Egenskabsliste +; ?\000Property List... +; +msgMenuRestore +G\000Genetablere +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Afbryde +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +UKENDT:Lyd-ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Afbryde +; Cancel +; +msgReqFrequency +Frekvens +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Standard lydmodus +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Egenskaber +; Mode Properties +; +msgReqInfoAudioID +Lydmodus-ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Opløsning: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo med balancekontrol +; stereo with panning +; +msgReqInfoChannels +Kanaler: %ld +; Channels: %ld +; +msgReqInfoMixrate +Miksnings-rater: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi-miksning +; HiFi mixing +; +msgReqInfoRecordHalf +Optage i halv duplex +; Record in half duplex +; +msgReqInfoRecordFull +Optage i fuld duplex +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; \ No newline at end of file diff --git a/workbench/devs/AHI/Device/translations/dutch.ct b/workbench/devs/AHI/Device/translations/dutch.ct new file mode 100644 index 00000000000..5cf96f28774 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/dutch.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (7.4.97) +## language nederlands +## codeset 0 +; +## chunk AUTH Translated by Michel Vissers +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Standaard +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontrole +; \000\000Control +; +msgMenuLastMode +L\000Laatste Mode +; L\000Last Mode +; +msgMenuNextMode +N\000Volgende Mode +; N\000Next Mode +; +msgMenuPropertyList +?\000Instellingen Lijst... +; ?\000Property List... +; +msgMenuRestore +R\000Herstel +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +C\000Afbreken +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +ONBEKEND:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Annuleer +; Cancel +; +msgReqFrequency +Frequentie +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Standaard audio mode +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Mode Instellingen +; Mode Properties +; +msgReqInfoAudioID +Audio mode ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Resolutie: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo met balans +; stereo with panning +; +msgReqInfoChannels +Kanalen: %ld +; Channels: %ld +; +msgReqInfoMixrate +Mix frequentie: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi kwaliteit +; HiFi mixing +; +msgReqInfoRecordHalf +Opname in half duplex +; Record in half duplex +; +msgReqInfoRecordFull +Opname in full duplex +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/finnish.ct b/workbench/devs/AHI/Device/translations/finnish.ct new file mode 100644 index 00000000000..b0603adfd9b --- /dev/null +++ b/workbench/devs/AHI/Device/translations/finnish.ct @@ -0,0 +1,142 @@ +## version $VER: ahi.catalog 4.2 (29.5.97) +## language suomi +## codeset 0 +; +## chunk AUTH Translated by Pauli Porkka , \ +Proofread by Petteri Kallio +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Oletus +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontrolli +; \000\000Control +; +msgMenuLastMode +L\000Viimeinen tila +; L\000Last Mode +; +msgMenuNextMode +S\000Seuraava tila +; N\000Next Mode +; +msgMenuPropertyList +?\000Ominaisuuslista... +; ?\000Property List... +; +msgMenuRestore +A\000Palauta +; R\000Restore +; +msgMenuOK +H\000Hyväksy +; O\000OK +; +msgMenuCancel +P\000Peru +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +Tuntematon äänitila: 0x%8lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +Hyväksy +; OK +; +msgReqCancel +Peru +; Cancel +; +msgReqFrequency +Taajuus +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Oletusäänitila +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Tilan ominaisuudet +; Mode Properties +; +msgReqInfoAudioID +Äänitilan ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Tarkkuus: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +Mono +; mono +; +msgReqInfoStereo +Stereo +; stereo +; +msgReqInfoStereoPan +Panoroitu stereo +; stereo with panning +; +msgReqInfoChannels +Kanavat: %ld +; Channels: %ld +; +msgReqInfoMixrate +Miksaustaajuudet: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi-miksaus +; HiFi mixing +; +msgReqInfoRecordHalf +Äänitä vuorosuuntaisesti +; Record in half duplex +; +msgReqInfoRecordFull +Äänitä kaksisuuntaisesti +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/french.ct b/workbench/devs/AHI/Device/translations/french.ct new file mode 100644 index 00000000000..ba06e203cfd --- /dev/null +++ b/workbench/devs/AHI/Device/translations/french.ct @@ -0,0 +1,137 @@ +## version $VER: ahi.catalog 4.3 (31.3.2019) +## language français +## codeset 0 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Défaut +; Default +; +; The requesters menu +msgMenuControl +\000\000Contrôle +; \000\000Control +; +msgMenuLastMode +D\000Mode précédent +; L\000Last Mode +; +msgMenuNextMode +P\000Mode suivant +; N\000Next Mode +; +msgMenuPropertyList +?\000Liste des Propriétés... +; ?\000Property List... +; +msgMenuRestore +R\000Rétablir +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Annuler +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +INCONNU : ID Audio 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Annuler +; Cancel +; +msgReqFrequency +Fréquence +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Mode audio par défaut +; Default audio mode +; +; The requester's info-window +; +msgReqInfoTitle +Mode propriétés +; Mode Properties +; +msgReqInfoAudioID +Mode audio ID : 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Résolution : %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stéréo +; stereo +; +msgReqInfoStereoPan +stéréo avec effet panoramique +; stereo with panning +; +msgReqInfoChannels +Canaux : %ld +; Channels: %ld +; +msgReqInfoMixrate +Niveau de mixage : %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Mélange HiFi +; HiFi mixing +; +msgReqInfoRecordHalf +Enregistrement en semi-duplex +; Record in half duplex +; +msgReqInfoRecordFull +Enregistrement en duplex intégral +; Record in full duplex +; +msgReqInfoMultiChannel +7.1 multicanal +; 7.1 multichannel +; +msgFreqFmt +%lu Hz +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/german.ct b/workbench/devs/AHI/Device/translations/german.ct new file mode 100644 index 00000000000..0877c3f0ac3 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/german.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.3 (08.03.2019) +## language deutsch +## codeset 0 +; +## chunk AUTH Translated by Martin Sprenger +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Voreinstellung +; Default +; +; The requesters menu +msgMenuControl +\000\000Steuerung +; \000\000Control +; +msgMenuLastMode +V\000Vorheriger Modus +; L\000Last Mode +; +msgMenuNextMode +N\000Nächster Modus +; N\000Next Mode +; +msgMenuPropertyList +?\000Eigenschaften... +; ?\000Property List... +; +msgMenuRestore +Z\000Zurück +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Abbrechen +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +Unbekannte Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Abbrechen +; Cancel +; +msgReqFrequency +Frequenz +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Voreingestellter Audio Modus +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Modus Eigenschaften +; Mode Properties +; +msgReqInfoAudioID +Audio Modus ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Auflösung: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo mit panning +; stereo with panning +; +msgReqInfoChannels +Kanäle: %ld +; Channels: %ld +; +msgReqInfoMixrate +Mischfrequenz: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi Mischung +; HiFi mixing +; +msgReqInfoRecordHalf +Halb Duplex Aufnahme +; Record in half duplex +; +msgReqInfoRecordFull +Voll Duplex Aufnahme +; Record in full duplex +; +msgReqInfoMultiChannel +7.1 multikanal +; 7.1 multichannel +; +msgFreqFmt +%lu Hz +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/hungarian.ct b/workbench/devs/AHI/Device/translations/hungarian.ct new file mode 100644 index 00000000000..a31e466aa13 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/hungarian.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.ct 4.2 (30.12.01) +## language magyar +## codeset 5 +; +## chunk AUTH Dósa Márton (dm_@freemail.hu) +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Alapértelmezett +; Default +; +; The requesters menu +msgMenuControl +\000\000Vezérlés +; \000\000Control +; +msgMenuLastMode +L\000Előző mód +; L\000Last Mode +; +msgMenuNextMode +N\000Következő mód +; N\000Next Mode +; +msgMenuPropertyList +?\000Tulajdonságok... +; ?\000Property List... +; +msgMenuRestore +R\000Visszaállítás +; R\000Restore +; +msgMenuOK +O\000Oké +; O\000OK +; +msgMenuCancel +C\000Mégse +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +ISMERETLEN:Audió ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +Oké +; OK +; +msgReqCancel +Mégse +; Cancel +; +msgReqFrequency +Frekvencia +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Alap audió mód +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Mód tulajdonságai +; Mode Properties +; +msgReqInfoAudioID +Audió mód ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Felbontás: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +monó +; mono +; +msgReqInfoStereo +sztereó +; stereo +; +msgReqInfoStereoPan +sztereó panorámázással +; stereo with panning +; +msgReqInfoChannels +Csatornák: %ld +; Channels: %ld +; +msgReqInfoMixrate +Keverési szintek: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi keverés +; HiFi mixing +; +msgReqInfoRecordHalf +Felvétel fél duplexben +; Record in half duplex +; +msgReqInfoRecordFull +Felvétel duplexben +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/italian.ct b/workbench/devs/AHI/Device/translations/italian.ct new file mode 100644 index 00000000000..76043cecdaa --- /dev/null +++ b/workbench/devs/AHI/Device/translations/italian.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (2.2.2005) +## language italiano +## codeset 0 +; +## chunk AUTH Translated by Bernardo Innocenti, revisione Paolo Besser +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Predefinito +; Default +; +; The requesters menu +msgMenuControl +\000\000Controllo +; \000\000Control +; +msgMenuLastMode +P\000Precedente +; L\000Last Mode +; +msgMenuNextMode +S\000Successivo +; N\000Next Mode +; +msgMenuPropertyList +?\000Lista Proprietà... +; ?\000Property List... +; +msgMenuRestore +R\000Ripristina +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Annulla +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +SCONOSCIUTO: ID Audio 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Annulla +; Cancel +; +msgReqFrequency +Frequenza +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Modo audio predefinito +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Proprietà modo +; Mode Properties +; +msgReqInfoAudioID +ID modo audio: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Risoluzione: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo con bilanciamento +; stereo with panning +; +msgReqInfoChannels +Canali: %ld +; Channels: %ld +; +msgReqInfoMixrate +Frequenza di mix: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Mix ad alta fedeltà +; HiFi mixing +; +msgReqInfoRecordHalf +Campionamento half duplex +; Record in half duplex +; +msgReqInfoRecordFull +Campionamento full duplex +; Record in full duplex +; +msgReqInfoMultiChannel +multicanale 7.1 +; 7.1 multichannel +; +msgFreqFmt +%lu Hz +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/norwegian.ct b/workbench/devs/AHI/Device/translations/norwegian.ct new file mode 100644 index 00000000000..e8ac0fb7f2f --- /dev/null +++ b/workbench/devs/AHI/Device/translations/norwegian.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (22.4.97) +## language norsk +## codeset 0 +; +## chunk AUTH Translated by Eivind Olsen +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Standard +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontroll +; \000\000Control +; +msgMenuLastMode +L\000Siste modus +; L\000Last Mode +; +msgMenuNextMode +N\000Neste modus +; N\000Next Mode +; +msgMenuPropertyList +?\000Egenskaper... +; ?\000Property List... +; +msgMenuRestore +R\000Gjenopprett +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Avbryt +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +UKJENT:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Avbryt +; Cancel +; +msgReqFrequency +Frekvens +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Standard audio modus +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Modus egenskaper +; Mode Properties +; +msgReqInfoAudioID +Audio modus ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Oppløsning: %ld biter %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo med posisjonering +; stereo with panning +; +msgReqInfoChannels +Kanaler: %ld +; Channels: %ld +; +msgReqInfoMixrate +Miksefrekvenser: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi miksing +; HiFi mixing +; +msgReqInfoRecordHalf +Ta opp i halv dupleks +; Record in half duplex +; +msgReqInfoRecordFull +Ta opp i full dupleks +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; \ No newline at end of file diff --git a/workbench/devs/AHI/Device/translations/polish.ct b/workbench/devs/AHI/Device/translations/polish.ct new file mode 100644 index 00000000000..3c5d8b162ef --- /dev/null +++ b/workbench/devs/AHI/Device/translations/polish.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.3 (08.03.2019) +## language polski +## codeset 5 +; +## chunk AUTH Translated by Marcin Orłowski +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Domyôlny +; Default +; +; The requesters menu +msgMenuControl +\000\000Projekt +; \000\000Control +; +msgMenuLastMode +L\0Poprzedni tryb +; L\000Last Mode +; +msgMenuNextMode +N\0Nastëpny tryb +; N\000Next Mode +; +msgMenuPropertyList +?\0Właôciwoôci trybu... +; ?\000Property List... +; +msgMenuRestore +R\0Anuluj zmiany ustawieď +; R\000Restore +; +msgMenuOK +O\0Ok +; O\000OK +; +msgMenuCancel +C\0Poniechaj +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +NIEZNANY:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +Ok +; OK +; +msgReqCancel +Poniechaj +; Cancel +; +msgReqFrequency +Czëstotliwoôę +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Domyôlny tryb audio +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Właôciwoôci trybu +; Mode Properties +; +msgReqInfoAudioID +ID trybu audio: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Rozdzielczoôę: %ld bitów %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo z panningiem +; stereo with panning +; +msgReqInfoChannels +Kanały: %ld +; Channels: %ld +; +msgReqInfoMixrate +Czëstotliwoôę remiksu: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Miksowanie HiFi +; HiFi mixing +; +msgReqInfoRecordHalf +Nagrywanie z póî dupleksem +; Record in half duplex +; +msgReqInfoRecordFull +Nagrywanie z pełnym dupleksem +; Record in full duplex +; +msgReqInfoMultiChannel +7.1 wielokanałowy +; 7.1 multichannel +; +msgFreqFmt +%lu Hz +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/portuguese.ct b/workbench/devs/AHI/Device/translations/portuguese.ct new file mode 100644 index 00000000000..18d22eb1ecb --- /dev/null +++ b/workbench/devs/AHI/Device/translations/portuguese.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (26.5.26) +## language português +## codeset 0 +; +## chunk AUTH Translated by Frederico Borges & Rúben Alvim +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Habitual +; Default +; +; The requesters menu +msgMenuControl +;\000\000Controlo +; \000\000Control +; +msgMenuLastMode +;U\000Último Modo +; L\000Last Mode +; +msgMenuNextMode +S\000Modo seguinte +; N\000Next Mode +; +msgMenuPropertyList +?\000Lista de propriedades... +; ?\000Property List... +; +msgMenuRestore +R\000Restaurar +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +C\000Cancelar +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +DESCONHECIDO:Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Cancelar +; Cancel +; +msgReqFrequency +Frequência +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Modo audio habitual +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Propriedades do Modo +; Mode Properties +; +msgReqInfoAudioID +ID do Modo audio +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Resolução: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +Estéreo +; stereo +; +msgReqInfoStereoPan +stereo com separação de canais (pan) +; stereo with panning +; +msgReqInfoChannels +Canais: %ld +; Channels: %ld +; +msgReqInfoMixrate +Frequencia de mistura: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Mistura HiFi +; HiFi mixing +; +msgReqInfoRecordHalf +Gravar em 'half duplex' +; Record in half duplex +; +msgReqInfoRecordFull +Gravar em 'full duplex' +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; \ No newline at end of file diff --git a/workbench/devs/AHI/Device/translations/russian.ct b/workbench/devs/AHI/Device/translations/russian.ct new file mode 100644 index 00000000000..d86d4a6f8c0 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/russian.ct @@ -0,0 +1,141 @@ +## version $VER: AHI.catalog 4.5.5 (12.01.2005) (Amiga-1251) +## language russian +## codeset 2104 +; +## chunk AUTH Translated by Michael_Malyshev@mail.ru +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Стaндaртные +; Default +; +; The requesters menu +msgMenuControl +\0Упрaвление +; \000\000Control +; +msgMenuLastMode +L\0Последний режим +; L\000Last Mode +; +msgMenuNextMode +N\0Следующий режим +; N\000Next Mode +; +msgMenuPropertyList +?\0Список хaрaктеристик... +; ?\000Property List... +; +msgMenuRestore +R\0Восстaновить +; R\000Restore +; +msgMenuOK +O\0Принять +; O\000OK +; +msgMenuCancel +C\0Отменить +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +НЕИЗВЕСТНО:Звук ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +Принять +; OK +; +msgReqCancel +Отменить +; Cancel +; +msgReqFrequency +Чaстотa +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Обычный звуковой режим +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Свойствa режимa +; Mode Properties +; +msgReqInfoAudioID +Звуковой режим ID: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Разрешение: %ld бит %s +; Resolution: %ld bit %s +; +msgReqInfoMono +моно +; mono +; +msgReqInfoStereo +стерео +; stereo +; +msgReqInfoStereoPan +объёмное звучaние +; stereo with panning +; +msgReqInfoChannels +Кaнaлы: %ld +; Channels: %ld +; +msgReqInfoMixrate +Микшировaние: %ld-%ld Гц +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi-микшировaние +; HiFi mixing +; +msgReqInfoRecordHalf +Полудуплекснaя зaпись +; Record in half duplex +; +msgReqInfoRecordFull +Дуплекcнaя зaпиcь +; Record in full duplex +; +msgReqInfoMultiChannel +Многоканальный 7.1 +; 7.1 multichannel +; +msgFreqFmt +%lu Гц +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/serbian.ct b/workbench/devs/AHI/Device/translations/serbian.ct new file mode 100644 index 00000000000..a949c44794f --- /dev/null +++ b/workbench/devs/AHI/Device/translations/serbian.ct @@ -0,0 +1,141 @@ +## version $VER: ahiprefs.catalog 4.2 (24.5.97) +## language srpski +## codeset 0 +; +## chunk AUTH Translated by Ljubomir Jankovi +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Osnovno +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontrola +; \000\000Control +; +msgMenuLastMode +P\000Prethodni mod +; L\000Last Mode +; +msgMenuNextMode +S\000Sledei mod +; N\000Next Mode +; +msgMenuPropertyList +?\000Lista osobina +; ?\000Property List... +; +msgMenuRestore +V\000Vrati +; R\000Restore +; +msgMenuOK +O\000Ok +; O\000OK +; +msgMenuCancel +C\000Poniti +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +NEPOZNAT: Audio ID 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +Ok +; OK +; +msgReqCancel +Poniti +; Cancel +; +msgReqFrequency +Frekvencija +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Osnovni audio mod +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Osobine moda +; Mode Properties +; +msgReqInfoAudioID +ID audio moda: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Rezolucija: %ld bita %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo sa peningom +; stereo with panning +; +msgReqInfoChannels +Kanali: %ld +; Channels: %ld +; +msgReqInfoMixrate +Brzina miksovanja: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi miksovanje +; HiFi mixing +; +msgReqInfoRecordHalf +Snimanje u poludupleksu +; Record in half duplex +; +msgReqInfoRecordFull +Snimanje u punom dupleksu +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/spanish.ct b/workbench/devs/AHI/Device/translations/spanish.ct new file mode 100644 index 00000000000..455af7a68b8 --- /dev/null +++ b/workbench/devs/AHI/Device/translations/spanish.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (5.5.97) por Samuel Aguilera +## language español +## codeset 0 +; +## chunk AUTH Translated by Samuel Aguilera +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Por defecto +; Default +; +; The requesters menu +msgMenuControl +\000\000Control +; \000\000Control +; +msgMenuLastMode +L\000Último Modo +; L\000Last Mode +; +msgMenuNextMode +N\000Siguien Modo +; N\000Next Mode +; +msgMenuPropertyList +?\000Lista de Propiedades... +; ?\000Property List... +; +msgMenuRestore +R\000Restaurar +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +C\000Cancelar +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +DESCONOCIDO: ID de Audio 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Cancelar +; Cancel +; +msgReqFrequency +Frecuencia +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Modo audio por defecto +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Propiedades de Modo +; Mode Properties +; +msgReqInfoAudioID +ID Modo Audio: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Resolución: %ld bit %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +estéreo +; stereo +; +msgReqInfoStereoPan +estéreo con balanceo +; stereo with panning +; +msgReqInfoChannels +Canales: %ld +; Channels: %ld +; +msgReqInfoMixrate +Proporción de Mezcla: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +Mezclado HiFi +; HiFi mixing +; +msgReqInfoRecordHalf +Grabar en semi dúplex +; Record in half duplex +; +msgReqInfoRecordFull +Grabar en dúplex completo +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/AHI/Device/translations/swedish.ct b/workbench/devs/AHI/Device/translations/swedish.ct new file mode 100644 index 00000000000..a34c5ed739b --- /dev/null +++ b/workbench/devs/AHI/Device/translations/swedish.ct @@ -0,0 +1,141 @@ +## version $VER: ahi.catalog 4.2 (7.4.97) +## language svenska +## codeset 0 +; +## chunk AUTH Translated by Martin Blom +;#language english +;#version 4 +; +; AHI - Hardware independent audio subsystem +; Copyright (C) 1996-2005 Martin Blom +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Library General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Library General Public License for more details. +; +; You should have received a copy of the GNU Library General Public +; License along with this library; if not, write to the +; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, +; MA 02139, USA. +; +; Input and Output connector name +; +msgDefault +Standard +; Default +; +; The requesters menu +msgMenuControl +\000\000Kontroll +; \000\000Control +; +msgMenuLastMode +S\000Senaste ljudinställning +; L\000Last Mode +; +msgMenuNextMode +N\000Nästa ljudinställning +; N\000Next Mode +; +msgMenuPropertyList +?\000Egenskaper +; ?\000Property List... +; +msgMenuRestore +Å\000Återställ +; R\000Restore +; +msgMenuOK +O\000OK +; O\000OK +; +msgMenuCancel +A\000Avbryt +; C\000Cancel +; +; Mode name in requester whose driver cannot be opened +; +msgUnknown +OKÄND:Ljudläge 0x%08lx +; UNKNOWN:Audio ID 0x%08lx +; +; The requester gadgets +; +msgReqOK +OK +; OK +; +msgReqCancel +Avbryt +; Cancel +; +msgReqFrequency +Frekvens +; Frequency +; +; Name of default mode in requester +; +msgDefaultMode +Förvalt ljudläge +; Default audio mode +; +; The requester's info-winodow +; +msgReqInfoTitle +Ljudlägets egenskaper +; Mode Properties +; +msgReqInfoAudioID +Ljudläges-id: 0x%08lx +; Audio mode ID: 0x%08lx +; +msgReqInfoResolution +Upplösning: %ld bitar i %s +; Resolution: %ld bit %s +; +msgReqInfoMono +mono +; mono +; +msgReqInfoStereo +stereo +; stereo +; +msgReqInfoStereoPan +stereo med balanskontroll +; stereo with panning +; +msgReqInfoChannels +Kanaler: %ld +; Channels: %ld +; +msgReqInfoMixrate +Mixfrekvenser: %ld-%ld Hz +; Mixing rates: %ld-%ld Hz +; +msgReqInfoHiFi +HiFi-mixning +; HiFi mixing +; +msgReqInfoRecordHalf +Inspelning i halv duplex +; Record in half duplex +; +msgReqInfoRecordFull +Inspelning i full duplex +; Record in full duplex +; +msgReqInfoMultiChannel + +; 7.1 multichannel +; +msgFreqFmt + +; %lu Hz +; diff --git a/workbench/devs/diskimage/device/catalogs b/workbench/devs/diskimage/device/catalogs deleted file mode 160000 index 2fc3147980a..00000000000 --- a/workbench/devs/diskimage/device/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2fc3147980a315cc2dc1f99126f0d603443041e0 diff --git a/workbench/devs/diskimage/device/catalogs/.gitattributes b/workbench/devs/diskimage/device/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/devs/diskimage/device/catalogs/diskimagedevice.cd b/workbench/devs/diskimage/device/catalogs/diskimagedevice.cd new file mode 100644 index 00000000000..f1128d5409c --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/diskimagedevice.cd @@ -0,0 +1,72 @@ +MSG_OK_GAD (//) +_Ok +; +MSG_CANCEL_GAD (//) +_Cancel +; +MSG_PASSWORD_REQ (//) +Enter password: +; +MSG_NOZLIB (//) +z.library required +; +MSG_NOCAPSDEV (//) +capsimage.device required +; +MSG_CANCELED (//) +operation canceled +; +MSG_NOPASSWD (//) +password required +; +MSG_WRONGPASSWD (//) +wrong password +; +MSG_ZLIBERR (//) +z.library error +; +MSG_CAPSERR (//) +capsimage.device error +; +MSG_XPKERR (//) +xpkmaster.library error +; +MSG_XADERR (//) +xadmaster.library error +; +MSG_UNKNDISKIMGTYPE (//) +unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD (//) +unsupported compression method +; +MSG_EOF (//) +unexpected end of file +; +MSG_BADDATA (//) +file contains bad data +; +MSG_BADCRC (//) +CRC check on file data failed +; +MSG_BADCHECKSUM (//) +checksum error +; +MSG_REQ (//) +%s required +; +MSG_REQVER (//) +%s v%ld or newer required +; +MSG_WRONGDAA (//) +wrong DAA file (multi-file DAA) +; +MSG_EXPATERR (//) +expat.library error +; +MSG_BZLIBERR (//) +bz2.library error +; +MSG_UNKNENCRMETHOD (//) +unsupported encryption method +; diff --git a/workbench/devs/diskimage/device/catalogs/finnish.ct b/workbench/devs/diskimage/device/catalogs/finnish.ct new file mode 100644 index 00000000000..ebd7f5f62fb --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/finnish.ct @@ -0,0 +1,88 @@ +;## chunk AUTH Janne Peräaho +## language finnish +## codeset 0 +## version $VER: diskimagedevice.ct 52.38 (24.4.2008) +MSG_OK_GAD +_Ok +;#DEF _Ok +;#SET (/1/16) +MSG_CANCEL_GAD +_Peru +;#DEF _Cancel +;#SET (/1/16) +MSG_PASSWORD_REQ +Anna salasana: +;#DEF Enter password: +;#SET (/1/32) +MSG_NOZLIB +tarvitaan kirjasto z.library +;#DEF z.library required +;#SET (/1/48) +MSG_NOCAPSDEV +tarvitaan laiteajuri capsimage.device +;#DEF capsimage.device required +;#SET (/1/48) +MSG_CANCELED +toiminto peruttu +;#DEF operation canceled +;#SET (/1/32) +MSG_NOPASSWD +tarvitaan salasana +;#DEF password required +;#SET (/1/48) +MSG_WRONGPASSWD +väärä salasana +;#DEF wrong password +;#SET (/1/48) +MSG_ZLIBERR +virhe z.library -kirjastossa +;#DEF z.library error +;#SET (/1/48) +MSG_CAPSERR +virhe capsimage.device -ajurissa +;#DEF capsimage.device error +;#SET (/1/48) +MSG_XPKERR +virhe xpkmaster.library -kirjastossa +;#DEF xpkmaster.library error +;#SET (/1/48) +MSG_XADERR +virhe xadmaster.library -kirjastossa +;#DEF xadmaster.library error +;#SET (/1/48) +MSG_UNKNDISKIMGTYPE +levykuvan tyyppiä/muotoa ei tueta +;#DEF unsupported disk image type/format +;#SET (/1/64) +MSG_UNKNCOMPMETHOD +pakkausmenetelmää ei tueta +;#DEF unsupported compression method +;#SET (/1/64) +MSG_EOF +tiedosto päättyi odottamatta +;#DEF unexpected end of file +;#SET (/1/48) +MSG_BADDATA +tiedoston sisältö on vahingoittunut +;#DEF file contains bad data +;#SET (/1/48) +MSG_BADCRC +tiedoston CRC-tarkastus ei onnistunut +;#DEF CRC check on file data failed +;#SET (/1/48) +MSG_BADCHECKSUM +tarkastussummavirhe +;#DEF checksum error +;#SET (/1/48) +MSG_REQ +tarvitaan %s +;#DEF %s required +;#SET (/1/48) +MSG_REQVER +tarvitaan %s versio %ld tai uudempi +;#DEF %s v%ld or newer required +;#SET (/1/48) +MSG_WRONGDAA +väärä DAA-tiedosto (moniosainen DAA-tiedosto) +;#DEF wrong DAA file (multi-file DAA) +;#SET (/1/64) diff --git a/workbench/devs/diskimage/device/catalogs/french.ct b/workbench/devs/diskimage/device/catalogs/french.ct new file mode 100644 index 00000000000..b4c650092d6 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/french.ct @@ -0,0 +1,100 @@ +## version $VER: diskimagedevice.catalog 1.00 (13.06.2012) +## codeset 0 +## language français +; +MSG_OK_GAD +D'acc_ord +; D'acc_ord +; +MSG_CANCEL_GAD +_Abandonner +; _Abandonner +; +MSG_PASSWORD_REQ +Donnez le mot de passe : +; Donnez le mot de passe : +; +MSG_NOZLIB +La z.library doit être installée +; La z.library doit être installée +; +MSG_NOCAPSDEV +Le capsimage.device doit être installé +; Le capsimage.device doit être installé +; +MSG_CANCELED +opération annulée +; opération annulée +; +MSG_NOPASSWD +mot de passe nécessaire +; mot de passe nécessaire +; +MSG_WRONGPASSWD +mot de passe erroné +; mot de passe erroné +; +MSG_ZLIBERR +erreur de la z.library +; erreur de la z.library +; +MSG_CAPSERR +erreur du capsimage.device +; erreur du capsimage.device +; +MSG_XPKERR +erreur de la xpkmaster.library +; erreur de la xpkmaster.library +; +MSG_XADERR +erreur de la xadmaster.library +; erreur de la xadmaster.library +; +MSG_UNKNDISKIMGTYPE +type/format d'image disque non supporté +; type/format d'image disque non supporté +; +MSG_UNKNCOMPMETHOD +méthode de compression non supportée +; méthode de compression non supportée +; +MSG_EOF +fin de fichier inattendue +; fin de fichier inattendue +; +MSG_BADDATA +le fichier contient des données corrompues +; le fichier contient des données corrompues +; +MSG_BADCRC +échec de la vérification CRC des données du fichier +; échec de la vérification CRC des données du fichier +; +MSG_BADCHECKSUM +erreur de checksum +; erreur de checksum +; +MSG_REQ +%s demandé +; %s demandé +; +MSG_REQVER +%s v%ld ou plus récente demandée +; %s v%ld ou plus récente demandée +; +MSG_WRONGDAA +mauvais fichier DAA (fichier multiple DAA) +; mauvais fichier DAA (fichier multiple DAA) +; +MSG_EXPATERR +erreur de l'expat.library +; erreur de l'expat.library +; +MSG_BZLIBERR +erreur de la bz2.library +; erreur de la bz2.library +; +MSG_UNKNENCRMETHOD +méthode de cryptage inconnue +; méthode de cryptage inconnue +; diff --git a/workbench/devs/diskimage/device/catalogs/german.ct b/workbench/devs/diskimage/device/catalogs/german.ct new file mode 100644 index 00000000000..0fa6d55811a --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/german.ct @@ -0,0 +1,100 @@ +## version $VER: diskimagedevice.catalog 52.17 (04.05.2010) +## codeset 0 +## language deutsch +; +MSG_OK_GAD +_Ok +; _Ok +; +MSG_CANCEL_GAD +_Abbruch +; _Cancel +; +MSG_PASSWORD_REQ +Passwort eingeben: +; Enter password: +; +MSG_NOZLIB +Die z.library wird benötigt +; z.library required +; +MSG_NOCAPSDEV +Das capsimage.device wird benötigt +; capsimage.device required +; +MSG_CANCELED +Operation abgebrochen +; operation canceled +; +MSG_NOPASSWD +Passwort benötigt +; password required +; +MSG_WRONGPASSWD +falsches Passwort +; wrong password +; +MSG_ZLIBERR +z.library Fehler +; z.library error +; +MSG_CAPSERR +capsimage.device Fehler +; capsimage.device error +; +MSG_XPKERR +xpkmaster.library Fehler +; xpkmaster.library error +; +MSG_XADERR +xadmaster.library Fehler +; xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +Nicht unterstützter/s Diskimage Typ/Format +; unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +Nicht unterstützte Kompressionsmethode +; unsupported compression method +; +MSG_EOF +Unerwartetes Ende der Datei +; unexpected end of file +; +MSG_BADDATA +Datei enthält fehlerhafte Daten +; file contains bad data +; +MSG_BADCRC +CRC Überprüfung der Dateidaten fehlgeschlagen +; CRC check on file data failed +; +MSG_BADCHECKSUM +Prüfsummenfehler +; checksum error +; +MSG_REQ +%s benötigt +; %s required +; +MSG_REQVER +%s V%ld oder neuer benötigt +; %s v%ld or newer required +; +MSG_WRONGDAA +Falsche DAA Datei (Multi-Datei DAA) +; wrong DAA file (multi-file DAA) +; +MSG_EXPATERR +expat.library Fehler +; expat.library error +; +MSG_BZLIBERR +bz2.library Fehler +; bz2.library error +; +MSG_UNKNENCRMETHOD +nicht unterstützte Verschlüsselungsmethode +; unsupported encryption method +; diff --git a/workbench/devs/diskimage/device/catalogs/italian.ct b/workbench/devs/diskimage/device/catalogs/italian.ct new file mode 100644 index 00000000000..65163f6a396 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/italian.ct @@ -0,0 +1,103 @@ +## version $VER: diskimagedevice.catalog 1.18 (21.02.2012) +## codeset 0 +## language italiano +## chunk AUTH Translated by Samir Hawamdeh (http://www.betatesting.it/backforthefuture) +; +; Compiled with FlexCat 2.9 PPC (AmigaOS4) +; +MSG_OK_GAD +_Ok +; _Ok +; +MSG_CANCEL_GAD +_Annulla +; _Cancel +; +MSG_PASSWORD_REQ +Inserisci password: +; Enter password: +; +MSG_NOZLIB +La libreria z.library è necessaria +; z.library required +; +MSG_NOCAPSDEV +Il file capsimage.device è necessario +; capsimage.device required +; +MSG_CANCELED +Operazione annullata +; operation canceled +; +MSG_NOPASSWD +Password necessaria +; password required +; +MSG_WRONGPASSWD +Password errata +; wrong password +; +MSG_ZLIBERR +Errore nella libreria z.library +; z.library error +; +MSG_CAPSERR +Errore nel file capsimage.device +; capsimage.device error +; +MSG_XPKERR +Errore nella libreria xpkmaster.library +; xpkmaster.library error +; +MSG_XADERR +Errore nella libreria xadmaster.library +; xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +Formato/tipo di immagine del disco non supportato +; unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +Modalità di compressione non supportata +; unsupported compression method +; +MSG_EOF +Inaspettata fine del file +; unexpected end of file +; +MSG_BADDATA +Il file contiene dei dati corrotti +; file contains bad data +; +MSG_BADCRC +La verifica CRC sul file ha generato un errore +; CRC check on file data failed +; +MSG_BADCHECKSUM +Errore di checksum +; checksum error +; +MSG_REQ +%s necessaria +; %s required +; +MSG_REQVER +%s v%ld o superiore necessaria +; %s v%ld or newer required +; +MSG_WRONGDAA +File DAA errato (file multiplo di tipo DAA) +; wrong DAA file (multi-file DAA) +; +MSG_EXPATERR +Errore nella libreria expat.library +; expat.library error +; +MSG_BZLIBERR +Errore nella libreria bz2.library +; bz2.library error +; +MSG_UNKNENCRMETHOD +Modalità di criptazione dati non supportata +; unsupported encryption method +; \ No newline at end of file diff --git a/workbench/devs/diskimage/device/catalogs/mmakefile.src b/workbench/devs/diskimage/device/catalogs/mmakefile.src new file mode 100644 index 00000000000..61c5320dbd2 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/mmakefile.src @@ -0,0 +1,7 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +%build_catalogs mmake=workbench-devs-diskimage-device-catalogs \ + name=diskimagedevice subdir=System/Devs diff --git a/workbench/devs/diskimage/device/catalogs/polish.ct b/workbench/devs/diskimage/device/catalogs/polish.ct new file mode 100644 index 00000000000..406b52b168d --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/polish.ct @@ -0,0 +1,100 @@ +## version $VER: .catalog .0 (05.10.2010)Tomasz Paul +## language Polski +## codeset 0 +; +MSG_OK_GAD +_OK +; _Ok +; +MSG_CANCEL_GAD +Anuluj +; _Cancel +; +MSG_PASSWORD_REQ +Wpisz hasło: +; Enter password: +; +MSG_NOZLIB +Wymagana biblioteka z.library +; z.library required +; +MSG_NOCAPSDEV +Wymagane urządzenie capsimage.device +; capsimage.device required +; +MSG_CANCELED +Operacja anulowana +; operation canceled +; +MSG_NOPASSWD +Wymagane hasło +; password required +; +MSG_WRONGPASSWD +Nieprawidłowe hasło +; wrong password +; +MSG_ZLIBERR +Błąd biblioteki z.library +; z.library error +; +MSG_CAPSERR +Błąd urządzenia capsimage.device +; capsimage.device error +; +MSG_XPKERR +Błąd biblioteki xpkmaster.library +; xpkmaster.library error +; +MSG_XADERR +Błąd biblioteki xadmaster.library +; xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +Nieobsługiwany typ/format obrazu dysku +; unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +Nieobsługiwana metoda kompresji +; unsupported compression method +; +MSG_EOF +Nieoczekiwany koniec pliku +; unexpected end of file +; +MSG_BADDATA +Plik zawiera nieprawidłowe dane +; file contains bad data +; +MSG_BADCRC +Błąd CRC +; CRC check on file data failed +; +MSG_BADCHECKSUM +Błąd sumy kontrolnej +; checksum error +; +MSG_REQ +%s jest wymagane +; %s required +; +MSG_REQVER +%s v%ld lub nowsze jest wymagane +; %s v%ld or newer required +; +MSG_WRONGDAA +nieprawidłowy plik DAA +; wrong DAA file (multi-file DAA) +; +MSG_EXPATERR +Błąd biblioteki expat.library +; expat.library error +; +MSG_BZLIBERR +Błąd biblioteki bz2.library +; bz2.library error +; +MSG_UNKNENCRMETHOD +Nieobsługiwana metoda szyfrowania +; unsupported encryption method +; diff --git a/workbench/devs/diskimage/device/catalogs/spanish.ct b/workbench/devs/diskimage/device/catalogs/spanish.ct new file mode 100644 index 00000000000..6a2dbde8ae0 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/spanish.ct @@ -0,0 +1,89 @@ +## version $VER: diskimagedevice.catalog 1.1 (29.02.2008) +## codeset 4 +## language spanish +; +; +MSG_OK_GAD +_Aceptar +; _Ok +; +MSG_CANCEL_GAD +_Cancelar +; _Cancel +; +MSG_PASSWORD_REQ +Contraseña: +; Enter password: +; +MSG_NOZLIB +Requiere 'z.library'. +; z.library required +; +MSG_NOCAPSDEV +Requiere 'capsimage.device'. +; capsimage.device required +; +MSG_CANCELED +operación cancelada +; operation canceled +; +MSG_NOPASSWD +contraseña requerida +; password required +; +MSG_WRONGPASSWD +contraseña incorrecta +; wrong password +; +MSG_ZLIBERR +Error de 'z.library' +; z.library error +; +MSG_CAPSERR +Error de 'capsimage.device' +; capsimage.device error +; +MSG_XPKERR +Error de 'xpkmaster.library' +; xpkmaster.library error +; +MSG_XADERR +Error de 'xadmaster.library' +; xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +Tipo/formato de imagen no soportada +; unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +Método de compresión no soportado +; unsupported compression method +; +MSG_EOF +Fin de fichero inesperado +; unexpected end of file +; +MSG_BADDATA +Fichero contiene datos erróneos +; file contains bad data +; +MSG_BADCRC +Comprobación CRC en datos fallida +; CRC check on file data failed +; +MSG_BADCHECKSUM +Error de suma de comprobación +; checksum error +; +MSG_REQ +Requiere '%s'. +; %s required +; +MSG_REQVER +Requiere '%s' V%ld o superior. +; %s v%ld or newer required +; +MSG_WRONGDAA +Fichero DAA erróneo (fichero múltiple) +; wrong DAA file (multi-file DAA) +; \ No newline at end of file diff --git a/workbench/devs/diskimage/device/catalogs/swedish.ct b/workbench/devs/diskimage/device/catalogs/swedish.ct new file mode 100644 index 00000000000..6c751210b23 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/swedish.ct @@ -0,0 +1,89 @@ +## version $VER: diskimagedevice.catalog 1.00 (13.06.2012) +## codeset 0 +## language swedish +; +; +MSG_OK_GAD +_OK +;_Ok +; +MSG_CANCEL_GAD +_Avsluta +;_Cancel +; +MSG_PASSWORD_REQ +Ange lösenord +;Enter password: +; +MSG_NOZLIB +z.library behövs +;z.library required +; +MSG_NOCAPSDEV +capsimage.device behövs +;capsimage.device required +; +MSG_CANCELED +Operationen avbröts +;operation canceled +; +MSG_NOPASSWD +Lösenord krävs +;password required +; +MSG_WRONGPASSWD +Fel lösenord +;wrong password +; +MSG_ZLIBERR +z.library fel +;z.library error +; +MSG_CAPSERR +capsimage.device fel +;capsimage.device error +; +MSG_XPKERR +xpkmaster.library fel +;xpkmaster.library error +; +MSG_XADERR +xadmaster.library fel +;xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +Ej support på denna datatyp +;unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +Ej supportad kompressmetod +;unsupported compression method +; +MSG_EOF +Oväntad filändelse +;unexpected end of file +; +MSG_BADDATA +Filen har dålig data +;file contains bad data +; +MSG_BADCRC +CRC kontroll av filen misslyckades +;CRC check on file data failed +; +MSG_BADCHECKSUM +Checksum fel +;checksum error +; +MSG_REQ +%s är kravet +;%s required +; +MSG_REQVER +%s v%ld eller nyare är kravet +;%s v%ld or newer required +; +MSG_WRONGDAA +Fel DDA fil (multi-file DAA) +;wrong DAA file (multi-file DAA) +; diff --git a/workbench/devs/diskimage/device/catalogs/turkish.ct b/workbench/devs/diskimage/device/catalogs/turkish.ct new file mode 100644 index 00000000000..4e7479cc3c9 --- /dev/null +++ b/workbench/devs/diskimage/device/catalogs/turkish.ct @@ -0,0 +1,100 @@ +## version $VER: diskimagedevice.catalog 1.0 (04.11.2010) +## codeset 0 +## language trke +; +MSG_OK_GAD +_Tamam +; _Ok +; +MSG_CANCEL_GAD +_Vazge +; _Cancel +; +MSG_PASSWORD_REQ +ifre Giriniz: +; Enter password: +; +MSG_NOZLIB +z.library gerekli +; z.library required +; +MSG_NOCAPSDEV +capsimage.device gerekli +; capsimage.device required +; +MSG_CANCELED +ilem iptal edildi +; operation canceled +; +MSG_NOPASSWD +ifre gerekli +; password required +; +MSG_WRONGPASSWD +yanl ifre +; wrong password +; +MSG_ZLIBERR +z.library hatas +; z.library error +; +MSG_CAPSERR +capsimage.device hatas +; capsimage.device error +; +MSG_XPKERR +xpkmaster.library hatas +; xpkmaster.library error +; +MSG_XADERR +xadmaster.library hatas +; xadmaster.library error +; +MSG_UNKNDISKIMGTYPE +desteklenmeyen disk imaj tr/format +; unsupported disk image type/format +; +MSG_UNKNCOMPMETHOD +desteklenmeyen sktrma metodu +; unsupported compression method +; +MSG_EOF +dosya sonu bulunamad +; unexpected end of file +; +MSG_BADDATA +dosya bozuk veriler ieriyor +; file contains bad data +; +MSG_BADCRC +CRC dosyas veri kontrol baarsz +; CRC check on file data failed +; +MSG_BADCHECKSUM +checksum hatas +; checksum error +; +MSG_REQ +%s required +; %s required +; +MSG_REQVER +%s v%ld veya yenisi gerekli +; %s v%ld or newer required +; +MSG_WRONGDAA +yanl DAA dosyas (multi-file DAA) +; wrong DAA file (multi-file DAA) +; +MSG_EXPATERR +expat.library hatas +; expat.library error +; +MSG_BZLIBERR +bz2.library hatas +; bz2.library error +; +MSG_UNKNENCRMETHOD +desteklenmeyen ifreleme yntemi +; unsupported encryption method +; diff --git a/workbench/devs/diskimage/zune_gui/catalogs b/workbench/devs/diskimage/zune_gui/catalogs deleted file mode 160000 index 871132ecd18..00000000000 --- a/workbench/devs/diskimage/zune_gui/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 871132ecd18822c57aff1a98c2d7d6ce047faf19 diff --git a/workbench/devs/diskimage/zune_gui/catalogs/.gitattributes b/workbench/devs/diskimage/zune_gui/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/devs/diskimage/zune_gui/catalogs/czech.ct b/workbench/devs/diskimage/zune_gui/catalogs/czech.ct new file mode 100644 index 00000000000..bdbea1884d1 --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/czech.ct @@ -0,0 +1,197 @@ +## version $VER: diskimagegui.catalog 52.26 (29.11.2016) +## language czech +## codeset 5 +; +MSG_UNIT_LBL +Jednotka +; Unit +; +MSG_DEVICE_LBL +Zařízení +; Device +; +MSG_FILENAME_LBL +název obrazu (souboru) +; Disk Image +; +MSG_WRITEPROTECT_LBL +WP +; WP +; +MSG_NO_DISK +Disk není dostupný +; No disk present +; +MSG_APPDESCRIPTION +Ovládací panel pro diskimage.device +; Control GUI for diskimage.device +; +MSG_PRIORITY_LBL +Pri +; Pri +; +MSG_PLUGIN_LBL +Moduly +; Plugin +; +MSG_PLUGIN_GAD +Použité +; Use plugin +; +MSG_AUTO_LBL +(Auto) +; (Auto) +; +MSG_WRITESUPPORT_LBL +W +; W +; +MSG_PROJECT_ABOUT +O... +; About... +; +MSG_PROJECT_HIDE +Skrýt +; Hide +; +MSG_PROJECT_ICONIFY +Ikonifikovat +; Iconify +; +MSG_PROJECT_SNAPSHOT +Snapshot +; Snapshot +; +MSG_PROJECT_QUIT +Ukončit +; Quit +; +MSG_SETTINGS_MENU +Nastavení +; Settings +; +MSG_SETTINGS_CHANGETEMPDIR +Změnit temp. cestu... +; Change temp directory... +; +MSG_SETTINGS_SAVE +Uložit nastavení +; Save settings +; +MSG_SETTINGS_PLUGINS +Moduly... +; Plugins... +; +MSG_PROJECT_CLOSE +Zavřít +; Close +; +MSG_OK_GAD +OK +; Ok +; +MSG_ABOUT_REQ +%s verze %ld. %ld\n\ +%s verze %ld. %ld\n\n\ +Copyright (C) 2007-2010 Fredrik Wikstrom\n\ +Website: http://a500.org\n\ +E-mail: fredrik@a500.org +; %s version %ld.%ld\n\ +; %s version %ld.%ld\n\n\ +; Copyright (C) 2007-2010 Fredrik Wikstrom\n\ +; Website: http://a500.org\n\ +; E-mail: fredrik@a500.org +; +MSG_ERROR +Chyba +; Error +; +MSG_NOAISS_REQ +Nemáte nainstalován AISS.\n\ +nebo není dostupná cesta AISS:\n\n\ +Stahněte a nainstalujte poslední verzi\n\ +z : http://masonicons.de +; AISS assign not found.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_OLDAISS_REQ +Podpora pro AISS v%ld.%ld nebo novější.\n\n\ +Stahněte a nainstalujte poslední verzi\n\ +z: http://masonicons.de +; AISS v%ld.%ld or newer required.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_IMAGENOTFOUND_REQ +Obraz souboru '%s' není dostupný. +; Image file '%s' not found. +; +MSG_CANCEL_GAD +_Zpět +; _Cancel +; +MSG_SAVE_GAD +_Uložit +; _Save +; +MSG_USE_GAD +_použít +; _Use +; +MSG_INSERT_GAD +Vložit +; Insert +; +MSG_EJECT_GAD +Vysunout +; Eject +; +MSG_WRITEPROTECT_GAD +Chráněno proti zápisu +; Write Protect +; +MSG_REFRESH_GAD +Obnovit +; Refresh +; +MSG_PLUGINS_WND +Moduly +; Plugins +; +MSG_MAIN_WND +%s: zk. klávesa = <%s> +; %s: Hot Key = <%s> +; +MSG_ABOUT_WND +O - %s +; About - %s +; +MSG_ERROR_WND +Chyba - %s +; Error - %s +; +MSG_SETDEVICETYPE_GAD +Nastavit typ zařízení +; Set Device Type +; +MSG_SETDEVICETYPE_WND +Jednotka: %ld - typ zařízení +; Unit: %ld - Device Type +; +MSG_DEVICETYPE_GAD +Typ zařízení +; Device Type +; +MSG_DEVICETYPE_DIRECT_ACCESS +Přímý přístup (základní nast.) +; Direct Access (Default setting) +; +MSG_DEVICETYPE_CDROM +CD-ROM +; CD-ROM +; +MSG_DEVICETYPE_OPTICAL_DISK +Optický disk +; Optical Disk +; diff --git a/workbench/devs/diskimage/zune_gui/catalogs/diskimagegui.cd b/workbench/devs/diskimage/zune_gui/catalogs/diskimagegui.cd new file mode 100644 index 00000000000..b3365f2659f --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/diskimagegui.cd @@ -0,0 +1,140 @@ +MSG_UNIT_LBL (0//) +Unit +; +MSG_DEVICE_LBL (//) +Device +; +MSG_FILENAME_LBL (//) +Disk Image +; +MSG_WRITEPROTECT_LBL (//) +WP +; +MSG_NO_DISK (//) +No disk present +; +MSG_APPDESCRIPTION (//) +Control GUI for diskimage.device +; +MSG_PRIORITY_LBL (50//) +Pri +; +MSG_PLUGIN_LBL (//) +Plugin +; +MSG_PLUGIN_GAD (//) +Use plugin +; +MSG_AUTO_LBL (//) +(Auto) +; +MSG_WRITESUPPORT_LBL (//) +W +; +MSG_PROJECT_ABOUT (100//) +About... +; +MSG_PROJECT_HIDE (//) +Hide +; +MSG_PROJECT_ICONIFY (//) +Iconify +; +MSG_PROJECT_SNAPSHOT (//) +Snapshot +; +MSG_PROJECT_QUIT (//) +Quit +; +MSG_SETTINGS_MENU (//) +Settings +; +MSG_SETTINGS_CHANGETEMPDIR (//) +Change temp directory... +; +MSG_SETTINGS_SAVE (//) +Save settings +; +MSG_SETTINGS_PLUGINS (//) +Plugins... +; +MSG_PROJECT_CLOSE (//) +Close +; +MSG_OK_GAD (200//) +Ok +; +MSG_ABOUT_REQ (//) +%s version %ld.%ld\n\ +%s version %ld.%ld\n\n\ +Copyright (C) 2007-2010 Fredrik Wikstrom\n\ +Website: http://a500.org\n\ +E-mail: fredrik@a500.org +; +MSG_ERROR (//) +Error +; +MSG_NOAISS_REQ (//) +AISS assign not found.\n\n\ +Download and install the latest version\n\ +from here: http://masonicons.de +; +MSG_OLDAISS_REQ (//) +AISS v%ld.%ld or newer required.\n\n\ +Download and install the latest version\n\ +from here: http://masonicons.de +; +MSG_IMAGENOTFOUND_REQ (//) +Image file '%s' not found. +; +MSG_CANCEL_GAD (//) +_Cancel +; +MSG_SAVE_GAD (//) +_Save +; +MSG_USE_GAD (//) +_Use +; +MSG_INSERT_GAD (300//) +Insert +; +MSG_EJECT_GAD (//) +Eject +; +MSG_WRITEPROTECT_GAD (//) +Write Protect +; +MSG_REFRESH_GAD (//) +Refresh +; +MSG_PLUGINS_WND (//) +Plugins +; +MSG_MAIN_WND (//) +%s: Hot Key = <%s> +; +MSG_ABOUT_WND (//) +About - %s +; +MSG_ERROR_WND (//) +Error - %s +; +MSG_SETDEVICETYPE_GAD (//) +Set Device Type +; +MSG_SETDEVICETYPE_WND (//) +Unit: %ld - Device Type +; +MSG_DEVICETYPE_GAD (//) +Device Type +; +MSG_DEVICETYPE_DIRECT_ACCESS (//) +Direct Access (Default setting) +; +MSG_DEVICETYPE_CDROM (//) +CD-ROM +; +MSG_DEVICETYPE_OPTICAL_DISK (//) +Optical Disk +; diff --git a/workbench/devs/diskimage/zune_gui/catalogs/french.ct b/workbench/devs/diskimage/zune_gui/catalogs/french.ct new file mode 100644 index 00000000000..31dc9321027 --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/french.ct @@ -0,0 +1,196 @@ +## version $VER: diskimagegui.catalog 1.1 (08.03.2019) +## language français +## codeset 0 +; +MSG_UNIT_LBL +Unité +; Unit +; +MSG_DEVICE_LBL +Périphérique +; Device +; +MSG_FILENAME_LBL +Image disque +; Disk Image +; +MSG_WRITEPROTECT_LBL +WP +; WP +; +MSG_NO_DISK +Pas de disque +; No disk present +; +MSG_APPDESCRIPTION +Interface de diskimage.device +; Control GUI for diskimage.device +; +MSG_PRIORITY_LBL +Pri +; Pri +; +MSG_PLUGIN_LBL +Plugin +; Plugin +; +MSG_PLUGIN_GAD +Utiliser le plugin +; Use plugin +; +MSG_AUTO_LBL +(Auto) +; (Auto) +; +MSG_WRITESUPPORT_LBL +W +; W +; +MSG_PROJECT_ABOUT +A propos... +; About... +; +MSG_PROJECT_HIDE +Cacher +; Hide +; +MSG_PROJECT_ICONIFY +Iconifier +; Iconify +; +MSG_PROJECT_SNAPSHOT +Figer +; Snapshot +; +MSG_PROJECT_QUIT +Quitter +; Quit +; +MSG_SETTINGS_MENU +Préférences +; Settings +; +MSG_SETTINGS_CHANGETEMPDIR +Changer le répertoire temp... +; Change temp directory... +; +MSG_SETTINGS_SAVE +Sauver les préférences +; Save settings +; +MSG_SETTINGS_PLUGINS +Plugins... +; Plugins... +; +MSG_PROJECT_CLOSE +Fermer +; Close +; +MSG_OK_GAD +Ok +; Ok +; +MSG_ABOUT_REQ +%s version %ld.%ld\n\ +%s version %ld.%ld\n\n\ +Copyright © 2007-2010 Fredrik Wikstrom\n\ +Site Web : http://a500.org\n\ +E-mail : fredrik@a500.org +; %s version %ld.%ld\n\ +; %s version %ld.%ld\n\n\ +; Copyright © 2007-2010 Fredrik Wikstrom\n\ +; Website: http://a500.org\n\ +; E-mail: fredrik@a500.org +; +MSG_ERROR +Erreur +; Error +; +MSG_NOAISS_REQ +AISS Assignation non trouvée.\n\n\ +Télécharger et installer la dernière version\n\ +depuis ici : http://masonicons.de +; AISS assign not found.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_OLDAISS_REQ +AISS v%ld.%ld ou sup. requise.\n\n\ +Télécharger et installer la dernière version\n\ +depuis ici : http://masonicons.de +; AISS v%ld.%ld or newer required.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_IMAGENOTFOUND_REQ +Fichier image '%s' non trouvé +; Image file '%s' not found. +; +MSG_CANCEL_GAD +_Annuler +; _Cancel +; +MSG_SAVE_GAD +_Sauver +; _Save +; +MSG_USE_GAD +_Utiliser +; _Use +; +MSG_INSERT_GAD +Insérer +; Insert +; +MSG_EJECT_GAD +Ejecter +; Eject +; +MSG_WRITEPROTECT_GAD +Prot. en écriture +; Write Protect +; +MSG_REFRESH_GAD +Rafraîchir +; Refresh +; +MSG_PLUGINS_WND +Plugins +; Plugins +; +MSG_MAIN_WND +%s : Raccourci clavier = <%s> +; %s: Hot Key = <%s> +; +MSG_ABOUT_WND +A propos - %s +; About - %s +; +MSG_ERROR_WND +Erreur - %s +; Error - %s +; +MSG_SETDEVICETYPE_GAD +Choisir le type de périph. +; Set Device Type +; +MSG_SETDEVICETYPE_WND +Unité : %ld - Type de périph. +; Unit: %ld - Device Type +; +MSG_DEVICETYPE_GAD +Type de périphérique +; Device Type +; +MSG_DEVICETYPE_DIRECT_ACCESS +Direct Access (paramètre par défaut) +; Direct Access (Default setting) +; +MSG_DEVICETYPE_CDROM +CD-ROM +; CD-ROM +; +MSG_DEVICETYPE_OPTICAL_DISK +Disque optique +; Optical Disk +; diff --git a/workbench/devs/diskimage/zune_gui/catalogs/german.ct b/workbench/devs/diskimage/zune_gui/catalogs/german.ct new file mode 100644 index 00000000000..e7190bbb829 --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/german.ct @@ -0,0 +1,212 @@ +## version $VER: diskimagegui.catalog 1.1 (08.03.2019) +## language deutsch +## codeset 0 +; +; ********************* +; ** Unit/drive list ** +; ********************* +; +MSG_UNIT_LBL +Einheit +; Unit +; +MSG_DEVICE_LBL +Gerät +; Device +; +MSG_FILENAME_LBL +Disk Image +; Disk Image +; +MSG_WRITEPROTECT_LBL +Schreibgeschützt +; WP +; +MSG_NO_DISK +Keine Disk eingelegt +; No disk present +; +MSG_APPDESCRIPTION +GUI für diskimage.device +; Control GUI for diskimage.device +; +; ****************** +; ** Plugins list ** +; ****************** +; +MSG_PRIORITY_LBL +Pri +; Pri +; +MSG_PLUGIN_LBL +Plugin +; Plugin +; +MSG_PLUGIN_GAD +Benutze Plugin +; Use plugin +; +MSG_AUTO_LBL +(Auto) +; (Auto) +; +MSG_WRITESUPPORT_LBL +Beschreibbar +; W +; +; ***************** +; ** Menu labels ** +; ***************** +; +MSG_PROJECT_ABOUT +Über... +; About... +; +MSG_PROJECT_HIDE +Verbergen +; Hide +; +MSG_PROJECT_ICONIFY +Ikonifizieren +; Iconify +; +MSG_PROJECT_SNAPSHOT +Fenster fixieren +; Snapshot +; +MSG_PROJECT_QUIT +Beenden +; Quit +; +MSG_SETTINGS_MENU +Einstellungen +; Settings +; +MSG_SETTINGS_CHANGETEMPDIR +Temp. Verzeichnis ändern... +; Change temp directory... +; +MSG_SETTINGS_SAVE +Einstellungen speichern +; Save settings +; +MSG_SETTINGS_PLUGINS +Plugins... +; Plugins... +; +MSG_PROJECT_CLOSE +Schliessen +; Close +; +; **************** +; ** Requesters ** +; **************** +; +MSG_OK_GAD +Ok +; Ok +; +MSG_ABOUT_REQ +%s Version %ld.%ld\n%s Version %ld.%ld\n\nCopyright © 2007-2010 Fredrik Wikstrom\nWebseite: http://a500.org\nE-Mail: fredrik@a500.org +; %s version %ld.%ld\n%s version %ld.%ld\n\nCopyright © 2007-2010 Fredrik Wikstrom\nWebsite: http://a500.org\nE-mail: fredrik@a500.org +; +MSG_ERROR +Fehler +; Error +; +MSG_NOAISS_REQ +AISS Assign nicht gefunden.\n\n\ +Lade und installiere die neuste Version\n\ +von hier: http://masonicons.de +; AISS assign not found.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_OLDAISS_REQ +AISS V%ld.%ld oder neuer wird benötigt.\n\n\ +Lade und installiere die neuste Version\n\ +von hier: http://masonicons.de +; AISS v%ld.%ld or newer required.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_IMAGENOTFOUND_REQ +Imagedatei '%s' nicht gefunden. +; Image file '%s' not found. +; +; ******************* +; ** Speedbar help ** +; ******************* +; +MSG_CANCEL_GAD +_Abbrechen +; _Cancel +; +MSG_SAVE_GAD +_Sichern +; _Save +; +MSG_USE_GAD +An_wenden +; _Use +; +MSG_INSERT_GAD +Einlegen +; Insert +; +MSG_EJECT_GAD +Auswerfen +; Eject +; +MSG_WRITEPROTECT_GAD +Schreibgeschützt +; Write Protect +; +MSG_REFRESH_GAD +Aktualisieren +; Refresh +; +; ******************* +; ** Window titles ** +; ******************* +; +MSG_PLUGINS_WND +Plugins +; Plugins +; +MSG_MAIN_WND +%s: Hot Key = <%s> +; %s: Hot Key = <%s> +; +MSG_ABOUT_WND +Über - %s +; About - %s +; +MSG_ERROR_WND +Fehler - %s +; Error - %s +; +MSG_SETDEVICETYPE_GAD +Wähle Gerätetyp +; Set Device Type +; +MSG_SETDEVICETYPE_WND +Einheit : %ld - Gerätetyp +; Unit: %ld - Device Type +; +MSG_DEVICETYPE_GAD +Gerätetyp +; Device Type +; +MSG_DEVICETYPE_DIRECT_ACCESS +Direktezugriff (Standardeinstellung) +; Direct Access (Default setting) +; +MSG_DEVICETYPE_CDROM +CD-ROM +; CD-ROM +; +MSG_DEVICETYPE_OPTICAL_DISK +Optisches Medium +; Optical Disk +; diff --git a/workbench/devs/diskimage/zune_gui/catalogs/mmakefile.src b/workbench/devs/diskimage/zune_gui/catalogs/mmakefile.src new file mode 100644 index 00000000000..84461d74e19 --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/mmakefile.src @@ -0,0 +1,7 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +%build_catalogs mmake=workbench-devs-diskimage-gui-catalogs \ + name=DiskImageGUI subdir=System/System diff --git a/workbench/devs/diskimage/zune_gui/catalogs/polish.ct b/workbench/devs/diskimage/zune_gui/catalogs/polish.ct new file mode 100644 index 00000000000..5841386f7a2 --- /dev/null +++ b/workbench/devs/diskimage/zune_gui/catalogs/polish.ct @@ -0,0 +1,212 @@ +## version $VER: diskimagegui.catalog 1.1 (08.03.2019) +## language polski +## codeset 5 +; +; ********************* +; ** Unit/drive list ** +; ********************* +; +MSG_UNIT_LBL +Jednostka +; Unit +; +MSG_DEVICE_LBL +Urządzenie +; Device +; +MSG_FILENAME_LBL +Obraz dysku +; Disk Image +; +MSG_WRITEPROTECT_LBL +Bez zapisu +; WP +; +MSG_NO_DISK +Brak dysku +; No disk present +; +MSG_APPDESCRIPTION +Interfejs diskimage.device +; Control GUI for diskimage.device +; +; ****************** +; ** Plugins list ** +; ****************** +; +MSG_PRIORITY_LBL +Priorytet +; Pri +; +MSG_PLUGIN_LBL +Plugin +; Plugin +; +MSG_PLUGIN_GAD +Użyj Pluginu +; Use plugin +; +MSG_AUTO_LBL +(Auto) +; (Auto) +; +MSG_WRITESUPPORT_LBL +Zapisywalny +; W +; +; ***************** +; ** Menu labels ** +; ***************** +; +MSG_PROJECT_ABOUT +O... +; About... +; +MSG_PROJECT_HIDE +Ukryj +; Hide +; +MSG_PROJECT_ICONIFY +Zikonizuj +; Iconify +; +MSG_PROJECT_SNAPSHOT +Utrwal okno +; Snapshot +; +MSG_PROJECT_QUIT +Zakończ +; Quit +; +MSG_SETTINGS_MENU +Ustawienia +; Settings +; +MSG_SETTINGS_CHANGETEMPDIR +Wybierz tymczasowy katalog... +; Change temp directory... +; +MSG_SETTINGS_SAVE +Zapisz ustawienia +; Save settings +; +MSG_SETTINGS_PLUGINS +Plugins... +; Plugins... +; +MSG_PROJECT_CLOSE +Zamknij +; Close +; +; **************** +; ** Requesters ** +; **************** +; +MSG_OK_GAD +Ok +; Ok +; +MSG_ABOUT_REQ +%s Wersja %ld.%ld\n%s Wersja %ld.%ld\n\nCopyright Š 2007-2010 Fredrik Wikstrom\nWebseite: http://a500.org\nE-Mail: fredrik@a500.org +; %s version %ld.%ld\n%s version %ld.%ld\n\nCopyright Š 2007-2010 Fredrik Wikstrom\nWebsite: http://a500.org\nE-mail: fredrik@a500.org +; +MSG_ERROR +Błąd +; Error +; +MSG_NOAISS_REQ +Nie znalleziono przypisania AISS.\n\n\ +Zainstaluj najnowsza wersję\n\ +stąd: http://masonicons.de +; AISS assign not found.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_OLDAISS_REQ +Wymagany AISS V%ld.%ld albo nowszy.\n\n\ +Zainstaluj najnowsza wersję\n\ +stąd: http://masonicons.de +; AISS v%ld.%ld or newer required.\n\n\ +; Download and install the latest version\n\ +; from here: http://masonicons.de +; +MSG_IMAGENOTFOUND_REQ +Nie znaleziono pliku obrazu '%s'. +; Image file '%s' not found. +; +; ******************* +; ** Speedbar help ** +; ******************* +; +MSG_CANCEL_GAD +_Poniechaj +; _Cancel +; +MSG_SAVE_GAD +_Zapisz +; _Save +; +MSG_USE_GAD +_Użyj +; _Use +; +MSG_INSERT_GAD +Wlóż +; Insert +; +MSG_EJECT_GAD +Wyrzuć +; Eject +; +MSG_WRITEPROTECT_GAD +Bez zapisu +; Write Protect +; +MSG_REFRESH_GAD +Zaktualizuj +; Refresh +; +; ******************* +; ** Window titles ** +; ******************* +; +MSG_PLUGINS_WND +Plugins +; Plugins +; +MSG_MAIN_WND +%s: Hot Key = <%s> +; %s: Hot Key = <%s> +; +MSG_ABOUT_WND +O - %s +; About - %s +; +MSG_ERROR_WND +Błąd - %s +; Error - %s +; +MSG_SETDEVICETYPE_GAD +Wybierz typ urządzenia +; Set Device Type +; +MSG_SETDEVICETYPE_WND +Jednostka : %ld - Gerätetyp +; Unit: %ld - Device Type +; +MSG_DEVICETYPE_GAD +Typ urządzenia +; Device Type +; +MSG_DEVICETYPE_DIRECT_ACCESS +Dostęp bezpośredni (ustawienie standardowe) +; Direct Access (Default setting) +; +MSG_DEVICETYPE_CDROM +CD-ROM +; CD-ROM +; +MSG_DEVICETYPE_OPTICAL_DISK +Optyczny dysk +; Optical Disk +; diff --git a/workbench/devs/keymaps/mmakefile.src b/workbench/devs/keymaps/mmakefile.src index 8b7b2da67fc..8f2681f6a0b 100644 --- a/workbench/devs/keymaps/mmakefile.src +++ b/workbench/devs/keymaps/mmakefile.src @@ -1,9 +1,8 @@ -# $Id$ include $(SRCDIR)/config/aros.cfg -KEYMAPS := \ - pc105_gb +KMDESCRIPTORS := $(call WILDCARD, *.akmd) +KEYMAPS := $(KMDESCRIPTORS:.akmd=) OLDKEYMAPS := \ pc104_il pc104_usa pc104_usa2 \ @@ -28,7 +27,7 @@ workbench-devs-keymaps-build : $(foreach f,$(KEYMAPS),$(AROS_DEVS)/Keymaps/$(f)) OBJDIR := $(GENDIR)/$(CURDIR) -$(AROS_DEVS)/Keymaps/% : $(SRCDIR)/$(CURDIR)/%.akmd +$(AROS_DEVS)/Keymaps/% : $(SRCDIR)/$(CURDIR)/%.akmd $(MKKEYMAP) $(Q)$(ECHO) "Generating $(notdir $@) KeyMap..." $(Q)$(MKKEYMAP) -d $< -k $@ diff --git a/workbench/devs/keymaps/pc104_il.c b/workbench/devs/keymaps/pc104_il.c index d88254b705c..3e8e9cd2b95 100644 --- a/workbench/devs/keymaps/pc104_il.c +++ b/workbench/devs/keymaps/pc104_il.c @@ -33,70 +33,70 @@ DEFINE_KEYMAP("pc104_il") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - D|S, /* 1A */ - D|S, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + D|S, /* 1A */ + D|S, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE rlm_descr[] = @@ -125,70 +125,70 @@ STATIC CONST UBYTE lrm_descr[] = STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -205,80 +205,80 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { - BYTES('~', '`', '~', ';'), /* 00 Left of 1 Key */ - BYTES('!', '1', '!', '1'), /* 01 1 */ - BYTES('@', '2', '@', '2'), /* 02 2 */ - BYTES('#', '3', '#', '3'), /* 03 3 */ - BYTES('$', '4', '$', '4'), /* 04 4 */ - BYTES('%', '5', '%', '5'), /* 05 5 */ - BYTES('^', '6', '^', '6'), /* 06 6 */ - BYTES('&', '7', '&', '7'), /* 07 7 */ - BYTES('*', '8', '*', '8'), /* 08 8 */ - BYTES('(', '9', ')', '9'), /* 09 9 */ - BYTES(')', '0', '(', '0'), /* 0A 0 */ - BYTES('_', '-', '_', '-'), /* 0B Right of 0 */ - BYTES('+', '=', '+', '='), /* 0C 2nd right of 0 */ - BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ - BYTES('@', '@', 'Q', '/'), /* 10 */ - BYTES('W', 'w', 'W','\''), /* 11 */ - BYTES('', '', 'E',0xF7), /* 12 */ - BYTES('', '', 'R',0xF8), /* 13 */ - BYTES('', '', 'T',0xE0), /* 14 */ - BYTES('Y', 'y', 'Y',0xE8), /* 15 */ - BYTES('', '', 'U',0xE5), /* 16 */ - BYTES('', '', 'I',0xEF), /* 17 */ - BYTES('', '', 'O',0xED), /* 18 */ - BYTES('P', 'p', 'P',0xF4), /* 19 */ - - DEAD(rlm_descr), /* 1A */ - DEAD(lrm_descr), /* 1B */ - BYTES(0, 0, 0, 0), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - - BYTES('', '', 'A',0xF9), /* 20 */ - BYTES('S', 's', 'S',0xE3), /* 21 */ - BYTES('D', 'd', 'D',0xE2), /* 22 */ - BYTES('F', 'f', 'F',0xEB), /* 23 */ - BYTES('G', 'g', 'G',0xE2), /* 24 */ - BYTES('H', 'h', 'H',0xE9), /* 25 */ - BYTES('J', 'j', 'J',0xE7), /* 26 */ - BYTES('K', 'k', 'K',0xEC), /* 27 */ - BYTES('L', 'l', 'L',0xEA), /* 28 */ - - BYTES(':', ';', ':', ';'), /* 29 */ - BYTES('"','\'', '"', ','), /* 2A */ - BYTES(0, 0, 0, 0), /* 2B undefined */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ - BYTES(0, 0, 0, 0), /* 30 undefined */ - BYTES('Z', 'z', 'Z',0xE6), /* 31 */ - BYTES('X', 'x', 'X',0xF1), /* 32 */ - BYTES('', '', 'C',0xE1), /* 33 */ - BYTES('V', 'v', 'V',0xE4), /* 34 */ - BYTES('B', 'b', 'B',0xF0), /* 35 */ - BYTES('', '', 'N',0xEE), /* 36 */ - BYTES('', '', 'M',0xF6), /* 37 */ - - BYTES('<', ',', '>',0xFA), /* 38 */ - BYTES('>', '.', '<',0xF5), /* 39 */ - BYTES('?', '/', '?', '.'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES('.', '.', '.', '.'), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + BYTES('~', '`', '~', ';'), /* 00 Left of 1 Key */ + BYTES('!', '1', '!', '1'), /* 01 1 */ + BYTES('@', '2', '@', '2'), /* 02 2 */ + BYTES('#', '3', '#', '3'), /* 03 3 */ + BYTES('$', '4', '$', '4'), /* 04 4 */ + BYTES('%', '5', '%', '5'), /* 05 5 */ + BYTES('^', '6', '^', '6'), /* 06 6 */ + BYTES('&', '7', '&', '7'), /* 07 7 */ + BYTES('*', '8', '*', '8'), /* 08 8 */ + BYTES('(', '9', ')', '9'), /* 09 9 */ + BYTES(')', '0', '(', '0'), /* 0A 0 */ + BYTES('_', '-', '_', '-'), /* 0B Right of 0 */ + BYTES('+', '=', '+', '='), /* 0C 2nd right of 0 */ + BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + BYTES('@', '@', 'Q', '/'), /* 10 */ + BYTES('W', 'w', 'W','\''), /* 11 */ + BYTES('', '', 'E',0xF7), /* 12 */ + BYTES('', '', 'R',0xF8), /* 13 */ + BYTES('', '', 'T',0xE0), /* 14 */ + BYTES('Y', 'y', 'Y',0xE8), /* 15 */ + BYTES('', '', 'U',0xE5), /* 16 */ + BYTES('', '', 'I',0xEF), /* 17 */ + BYTES('', '', 'O',0xED), /* 18 */ + BYTES('P', 'p', 'P',0xF4), /* 19 */ + + DEAD(rlm_descr), /* 1A */ + DEAD(lrm_descr), /* 1B */ + BYTES(0, 0, 0, 0), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + + BYTES('', '', 'A',0xF9), /* 20 */ + BYTES('S', 's', 'S',0xE3), /* 21 */ + BYTES('D', 'd', 'D',0xE2), /* 22 */ + BYTES('F', 'f', 'F',0xEB), /* 23 */ + BYTES('G', 'g', 'G',0xE2), /* 24 */ + BYTES('H', 'h', 'H',0xE9), /* 25 */ + BYTES('J', 'j', 'J',0xE7), /* 26 */ + BYTES('K', 'k', 'K',0xEC), /* 27 */ + BYTES('L', 'l', 'L',0xEA), /* 28 */ + + BYTES(':', ';', ':', ';'), /* 29 */ + BYTES('"','\'', '"', ','), /* 2A */ + BYTES(0, 0, 0, 0), /* 2B undefined */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES(0, 0, 0, 0), /* 30 undefined */ + BYTES('Z', 'z', 'Z',0xE6), /* 31 */ + BYTES('X', 'x', 'X',0xF1), /* 32 */ + BYTES('', '', 'C',0xE1), /* 33 */ + BYTES('V', 'v', 'V',0xE4), /* 34 */ + BYTES('B', 'b', 'B',0xF0), /* 35 */ + BYTES('', '', 'N',0xEE), /* 36 */ + BYTES('', '', 'M',0xF6), /* 37 */ + + BYTES('<', ',', '>',0xFA), /* 38 */ + BYTES('>', '.', '<',0xF5), /* 39 */ + BYTES('?', '/', '?', '.'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES('.', '.', '.', '.'), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" @@ -286,132 +286,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc104_usa.akmd b/workbench/devs/keymaps/pc104_usa.akmd new file mode 100644 index 00000000000..19c13ab8aa1 --- /dev/null +++ b/workbench/devs/keymaps/pc104_usa.akmd @@ -0,0 +1,523 @@ +# US PC104/PC101 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc104_usa +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +'~', '`', '~', '`' +'!', '1', '!', '1' +'@', '2', '@', '2' +'#', '3', '#', '3' +'$', '4', '$', '4' +'%', '5', '%', '5' +'^', '6', '^', '6' +'&', '7', '&', '7' +'*', '8', '*', '8' +'(', '9', '(', '9' +')', '0', ')', '0' +'_', '-', '_', '-' +'+', '=', '+', '=' +'|', '\\', '|', '\\' +0, 0, 0, 0 +'0', '0', '0', '0' +'@', '@', 'Q', 'q' +'W', 'w', 'W', 'w' +'', '', 'E', 'e' +'', '', 'R', 'r' +'', '', 'T', 't' +'Y', 'y', 'Y', 'y' +'', '', 'U', 'u' +'', '', 'I', 'i' +'', '', 'O', 'o' +'P', 'p', 'P', 'p' +'{', '[', '{', '[' +'}', ']', '}', ']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'', '', 'A', 'a' +'S', 's', 'S', 's' +'D', 'd', 'D', 'd' +'F', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'K', 'k', 'K', 'k' +'L', 'l', 'L', 'l' +':', ';', ':', ';' +'"','\'', '"','\'' +0, 0, 0, 0 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0, 0, 0 +'Z', 'z', 'Z', 'z' +'X', 'x', 'X', 'x' +'', '', 'C', 'c' +'V', 'v', 'V', 'v' +'B', 'b', 'B', 'b' +'', '', 'N', 'n' +'', '', 'M', 'm' +'<', ',', '<', ',' +'>', '.', '>', '.' +'?', '/', '?', '/' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc104_usa2.c b/workbench/devs/keymaps/pc104_usa2.c index 55d4222dbad..93a095abd79 100644 --- a/workbench/devs/keymaps/pc104_usa2.c +++ b/workbench/devs/keymaps/pc104_usa2.c @@ -1,9 +1,7 @@ /* - Copyright 1995-2012, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2012, The AROS Development Team. All rights reserved. Desc: Dvorak PC104/PC101 Keymap - Lang: English */ #include "common.h" @@ -32,138 +30,138 @@ DEFINE_KEYMAP("pc104_usa2") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -180,80 +178,80 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { - BYTES('~', '`', '~', '`'), /* 00 Left of 1 Key */ - BYTES('!', '1', '!', '1'), /* 01 1 */ - BYTES('@', '2', '@', '2'), /* 02 2 */ - BYTES('#', '3', '#', '3'), /* 03 3 */ - BYTES('$', '4', '$', '4'), /* 04 4 */ - BYTES('%', '5', '%', '5'), /* 05 5 */ - BYTES('^', '6', '^', '6'), /* 06 6 */ - BYTES('&', '7', '&', '7'), /* 07 7 */ - BYTES('*', '8', '*', '8'), /* 08 8 */ - BYTES('(', '9', '(', '9'), /* 09 9 */ - BYTES(')', '0', ')', '0'), /* 0A 0 */ - BYTES('{', '[', '{', '['), /* 0B Right of 0 */ - BYTES('}', ']', '}', ']'), /* 0C 2nd right of 0 */ - BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ - BYTES('"','\'', '"','\''), /* 10 */ - BYTES('<', ',', '<', ','), /* 11 */ - BYTES('>', '.', '>', '.'), /* 12 */ - BYTES('P', 'p', 'P', 'p'), /* 13 */ - BYTES('Y', 'y', 'Y', 'y'), /* 14 */ - BYTES('F', 'f', 'F', 'f'), /* 15 */ - BYTES('G', 'g', 'G', 'g'), /* 16 */ - BYTES('', '', 'C', 'c'), /* 17 */ - BYTES('', '', 'R', 'r'), /* 18 */ - BYTES('L', 'l', 'L', 'l'), /* 19 */ - - BYTES('?', '/', '?', '/'), /* 1A */ - BYTES('+', '=', '+', '='), /* 1B */ - BYTES(0, 0, 0, 0), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - - BYTES('', '', 'A', 'a'), /* 20 */ - BYTES('', '', 'O', 'o'), /* 21 */ - BYTES('', '', 'E', 'e'), /* 22 */ - BYTES('', '', 'U', 'u'), /* 23 */ - BYTES('', '', 'I', 'i'), /* 24 */ - BYTES('D', 'd', 'D', 'd'), /* 25 */ - BYTES('H', 'h', 'H', 'h'), /* 26 */ - BYTES('', '', 'T', 't'), /* 27 */ - BYTES('', '', 'N', 'n'), /* 28 */ - - BYTES('S', 's', 'S', 's'), /* 29 */ - BYTES('_', '-', '_', '-'), /* 2A */ - BYTES(0, 0, 0, 0), /* 2B undefined */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ - BYTES(0, 0, 0, 0), /* 30 undefined */ - BYTES(':', ';', ':', ';'), /* 31 */ - BYTES('@', '@', 'Q', 'q'), /* 32 */ - BYTES('J', 'j', 'J', 'j'), /* 33 */ - BYTES('K', 'k', 'K', 'k'), /* 34 */ - BYTES('X', 'x', 'X', 'x'), /* 35 */ - BYTES('B', 'b', 'B', 'b'), /* 36 */ - BYTES('', '', 'M', 'm'), /* 37 */ - - BYTES('W', 'w', 'W', 'w'), /* 38 */ - BYTES('V', 'v', 'V', 'v'), /* 39 */ - BYTES('Z', 'z', 'Z', 'z'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES('.', '.', '.', '.'), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + BYTES('~', '`', '~', '`'), /* 00 Left of 1 Key */ + BYTES('!', '1', '!', '1'), /* 01 1 */ + BYTES('@', '2', '@', '2'), /* 02 2 */ + BYTES('#', '3', '#', '3'), /* 03 3 */ + BYTES('$', '4', '$', '4'), /* 04 4 */ + BYTES('%', '5', '%', '5'), /* 05 5 */ + BYTES('^', '6', '^', '6'), /* 06 6 */ + BYTES('&', '7', '&', '7'), /* 07 7 */ + BYTES('*', '8', '*', '8'), /* 08 8 */ + BYTES('(', '9', '(', '9'), /* 09 9 */ + BYTES(')', '0', ')', '0'), /* 0A 0 */ + BYTES('{', '[', '{', '['), /* 0B Right of 0 */ + BYTES('}', ']', '}', ']'), /* 0C 2nd right of 0 */ + BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + BYTES('"','\'', '"','\''), /* 10 */ + BYTES('<', ',', '<', ','), /* 11 */ + BYTES('>', '.', '>', '.'), /* 12 */ + BYTES('P', 'p', 'P', 'p'), /* 13 */ + BYTES('Y', 'y', 'Y', 'y'), /* 14 */ + BYTES('F', 'f', 'F', 'f'), /* 15 */ + BYTES('G', 'g', 'G', 'g'), /* 16 */ + BYTES('', '', 'C', 'c'), /* 17 */ + BYTES('', '', 'R', 'r'), /* 18 */ + BYTES('L', 'l', 'L', 'l'), /* 19 */ + + BYTES('?', '/', '?', '/'), /* 1A */ + BYTES('+', '=', '+', '='), /* 1B */ + BYTES(0, 0, 0, 0), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + + BYTES('', '', 'A', 'a'), /* 20 */ + BYTES('', '', 'O', 'o'), /* 21 */ + BYTES('', '', 'E', 'e'), /* 22 */ + BYTES('', '', 'U', 'u'), /* 23 */ + BYTES('', '', 'I', 'i'), /* 24 */ + BYTES('D', 'd', 'D', 'd'), /* 25 */ + BYTES('H', 'h', 'H', 'h'), /* 26 */ + BYTES('', '', 'T', 't'), /* 27 */ + BYTES('', '', 'N', 'n'), /* 28 */ + + BYTES('S', 's', 'S', 's'), /* 29 */ + BYTES('_', '-', '_', '-'), /* 2A */ + BYTES(0, 0, 0, 0), /* 2B undefined */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES(0, 0, 0, 0), /* 30 undefined */ + BYTES(':', ';', ':', ';'), /* 31 */ + BYTES('@', '@', 'Q', 'q'), /* 32 */ + BYTES('J', 'j', 'J', 'j'), /* 33 */ + BYTES('K', 'k', 'K', 'k'), /* 34 */ + BYTES('X', 'x', 'X', 'x'), /* 35 */ + BYTES('B', 'b', 'B', 'b'), /* 36 */ + BYTES('', '', 'M', 'm'), /* 37 */ + + BYTES('W', 'w', 'W', 'w'), /* 38 */ + BYTES('V', 'v', 'V', 'v'), /* 39 */ + BYTES('Z', 'z', 'Z', 'z'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES('.', '.', '.', '.'), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" @@ -261,132 +259,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(0, 0, 0, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(0, 0, 0, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_al.c b/workbench/devs/keymaps/pc105_al.c index 65a735202e2..58a39690f93 100644 --- a/workbench/devs/keymaps/pc105_al.c +++ b/workbench/devs/keymaps/pc105_al.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_al") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_b.akmd b/workbench/devs/keymaps/pc105_b.akmd new file mode 100644 index 00000000000..217934c05d5 --- /dev/null +++ b/workbench/devs/keymaps/pc105_b.akmd @@ -0,0 +1,518 @@ +# Belgian French PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_b +## end config + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +0x93,0x84,0xB3,0xB2 +0x94,0x7C,'1' ,'&' +0x99,'@' ,'2' ,0xE9 +0xB6,'#' ,'3' ,0x22 +0xA3,0xB0,'4' ,0x27 +0xBC,0xA7,'5' ,'(' +0xBD,0x5E,'6' ,0xA7 +0xBE,0xA2,'7' ,0xE8 +0, 0x83,'8' ,'!' +0, '{' ,'9' ,0xE7 +0xAF,'}' ,'0' ,0xE0 +0xA6,0xB4,0xB0,')' +0x88,0x7E,'_' ,'-' +0x93,0x84,0xB3,0xB2 +0, 0, 0, 0 +'0', '0', '0', '0' +0x91,'@' ,'A' ,'a' +0x92,0x82,'Z' ,'z' +0x89,0xA4 ,'E' ,'e' +0, 0xAE,'R' ,'r' +0, 0x86,'T' ,'t' +0, 0, 'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0xD8,0xF8,'O' ,'o' +0, 0xBF,'P' ,'p' +0xB0,'[' ,0xA8,0x5E +0xB1,']' ,'*' ,'$' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC5,0xE5,'Q' ,'q' +0x8A,0x9A,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0xA9,'G' ,'g' +0, 0xAA,'H' ,'h' +0, 0xBA,'J' ,'j' +0, 0xAC,'K' ,'k' +0x8C,0x9C,'L' ,'l' +0xC6,0xE6,'M' ,'m' +0, 0xB4,'%' ,0xF9 +0, 0x60,0xA3,0xB5 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0x5C,'>' ,'<' +0x87,0xA5,'W' ,'w' +0xA4,0xD7,'X' ,'x' +0xC7,0xE7,'C' ,'c' +0x8B,0xAB,'V' ,'v' +0x95,0xB7,'B' ,'b' +0x9B,0xBB,'N' ,'n' +0, 0xB5,'?' ,',' +0xB8,0, '.' ,';' +0xF7,0x85,0x2F,':' +0x96,0x7E,'+' ,'=' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_bg.c b/workbench/devs/keymaps/pc105_bg.c index 53c2365f5fd..385992f9d23 100644 --- a/workbench/devs/keymaps/pc105_bg.c +++ b/workbench/devs/keymaps/pc105_bg.c @@ -1,9 +1,7 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2011, The AROS Development Team. All rights reserved. Desc: Bulgarian BDS PC105 Keymap - Lang: English */ #include "common.h" @@ -32,138 +30,138 @@ DEFINE_KEYMAP("pc105_bg") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -180,9 +178,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -261,132 +259,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_br.c b/workbench/devs/keymaps/pc105_br.c index a1de06e532b..71058a50105 100644 --- a/workbench/devs/keymaps/pc105_br.c +++ b/workbench/devs/keymaps/pc105_br.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_br") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_by.c b/workbench/devs/keymaps/pc105_by.c index dab55328e31..ffb94dd5013 100644 --- a/workbench/devs/keymaps/pc105_by.c +++ b/workbench/devs/keymaps/pc105_by.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_by") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_cdn.c b/workbench/devs/keymaps/pc105_cdn.c index 04cbe3c49b0..d1221880aac 100644 --- a/workbench/devs/keymaps/pc105_cdn.c +++ b/workbench/devs/keymaps/pc105_cdn.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_cdn") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 1, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_ch1.c b/workbench/devs/keymaps/pc105_ch1.c index 172d4c7e053..a8588a00a15 100644 --- a/workbench/devs/keymaps/pc105_ch1.c +++ b/workbench/devs/keymaps/pc105_ch1.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_ch1") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_ch2.c b/workbench/devs/keymaps/pc105_ch2.c index fcfa830eec9..e69943ce646 100644 --- a/workbench/devs/keymaps/pc105_ch2.c +++ b/workbench/devs/keymaps/pc105_ch2.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_ch2") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S|A, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S, /* 04 */ - S, /* 05 */ - S|A, /* 06 */ - S|A, /* 07 */ - S|A, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S|A, /* 0B */ - S|A, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S|A, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S|A, /* 2A */ - S|A, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S|A, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S, /* 04 */ + S, /* 05 */ + S|A, /* 06 */ + S|A, /* 07 */ + S|A, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S|A, /* 0B */ + S|A, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S|A, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S|A, /* 2A */ + S|A, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_col.c b/workbench/devs/keymaps/pc105_col.c index cc987daddc2..c000ccf7f12 100644 --- a/workbench/devs/keymaps/pc105_col.c +++ b/workbench/devs/keymaps/pc105_col.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_col") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - S, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - V, /* 29 (;/: standard, o in colemak) */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + S, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + V, /* 29 (;/: standard, o in colemak) */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { /*---- 1st QWERTY row - 0x00 to 0x0F */ @@ -261,132 +261,132 @@ STATIC CONST IPTR lokeymap[] = { STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_cz.akmd b/workbench/devs/keymaps/pc105_cz.akmd new file mode 100644 index 00000000000..33253b35bef --- /dev/null +++ b/workbench/devs/keymaps/pc105_cz.akmd @@ -0,0 +1,523 @@ +# Czech PC105 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_cz +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0, 0, 0xB0,';' +0x7E,0x7E,'1' ,'+' +0xA1,0xA1,'2' ,0xEC +0x5E,0x5E,'3' ,0x9A +0xA2,0xA2,'4' ,0xE8 +0xB0,0xB0,'5' ,0xF8 +0xB2,0xB2,'6' ,0x9E +0x60,0x60,'7' ,0xFD +0xFF,0xFF,'8' ,0xE1 +0xB4,0xB4,'9' ,0xED +0xBD,0xBD,'0' ,0xE9 +0xA8,0xA8,'%' ,'=' +0xB8,0xB8,0xA1,0xB4 +0, 0, 0xB0,';' +0, 0, 0, 0 +'0', '0', '0', '0' +0x5C,0x5C,'Q' ,'q' +0x7C,0x7C,'W' ,'w' +0x80,0x80,'E' ,'e' +0, 0, 'R' ,'r' +0, 0, 'T' ,'t' +0, 0, 'Z' ,'z' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0, 0, 'O' ,'o' +0, 0, 'P' ,'p' +0xF7,0xF7,0x2F,0xFA +0xD7,0xD7,'(' ,')' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0, 0, 'A' ,'a' +0xF0,0xF0,'S' ,'s' +0xD0,0xD0,'D' ,'d' +'[' ,'[' ,'F' ,'f' +']' ,']' ,'G' ,'g' +0, 0, 'H' ,'h' +0, 0, 'J' ,'j' +0xB3,0xB3,'K' ,'k' +0xA3,0xA3,'L' ,'l' +'$' ,'$' ,0x22,0xF9 +0xDF,0xDF,'!' ,0xA7 +0xA4,0xA4,0x27,0xA8 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'<' ,'<' ,0x7C,0x5C +'>' ,'>' ,'Y' ,'y' +'#' ,'#' ,'X' ,'x' +'&' ,'&' ,'C' ,'c' +'@' ,'@' ,'V' ,'v' +'{' ,'{' ,'B' ,'b' +'}' ,'}' ,'N' ,'n' +0, 0, 'M' ,'m' +'<' ,'<' ,'?' ,',' +'>' ,'>' ,':' ,'.' +'*' ,'*' ,'_' ,'-' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_d.akmd b/workbench/devs/keymaps/pc105_d.akmd new file mode 100644 index 00000000000..6225454a866 --- /dev/null +++ b/workbench/devs/keymaps/pc105_d.akmd @@ -0,0 +1,734 @@ +# German PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_d +## end config + +## begin lokeymaptypes +KCF_DEAD|KC_VANILLA # 00 +KCF_SHIFT|KCF_ALT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KC_VANILLA # 0B +KCF_DEAD|KCF_SHIFT|KCF_ALT # 0C +KC_VANILLA # 0D +KCF_NOP # 0E +KC_NOQUAL # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KCF_DEAD|KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KCF_DEAD|KC_VANILLA # 16 u +KCF_DEAD|KC_VANILLA # 17 i +KCF_DEAD|KC_VANILLA # 18 o +KC_VANILLA # 19 p +KC_VANILLA # 1A +KC_VANILLA # 1B +KCF_NOP # 1C +KC_NOQUAL # 1D +KC_NOQUAL # 1E +KC_NOQUAL # 1F +KCF_DEAD|KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KCF_DEAD|KC_VANILLA # 23 f +KCF_DEAD|KC_VANILLA # 24 g +KCF_DEAD|KC_VANILLA # 25 h +KCF_DEAD|KC_VANILLA # 26 j +KCF_DEAD|KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT|KCF_ALT # 29 +KCF_SHIFT|KCF_ALT # 2A +KC_VANILLA # 2B +KCF_NOP # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KCF_DEAD|KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KCF_DEAD|KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KC_VANILLA # 3A +KCF_NOP # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KCF_DEAD|KCF_ALT # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP*/ +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ??*/ +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +## begin deadkey +id: a_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x01, +0, 0x01, +0, 0x81, +0, 0x81, +'a', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'A', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: e_descr +1, 0x10, +1, 0x25, +0, 0xA4, +0, '', +0, 0x05, +0, 0x05, +0, 0x85, +0, 0x85, +'e', '', '', '', 'e', '', 'e', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'E', '', '', '', 'E', '', 'E', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: u_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x15, +0, 0x15, +0, 0x95, +0, 0x95, +'u', '', '', '', 'u', '', 'u', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'U', '', '', '', 'U', '', 'U', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: i_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x09, +0, 0x09, +0, 0x89, +0, 0x89, +'i', '', '', '', 'i', '', 'i', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'I', '', '', '', 'I', '', 'I', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: o_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x0F, +0, 0x0F, +0, 0x8F, +0, 0x8F, +'o', '', '', '', '', '', 'o', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '', +'O', '', '', '', '', '', 'O', +'', '', '', '', '', '', '', +'', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: y_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x19, +0, 0x19, +0, 0x99, +0, 0x99, +'y', '', 'y', 'y', 'y', '', 'y', +'', '', '', '', '', '', '', +'y', 'y', 'y', 'y', 'y', 'y', 'y', +'Y', '', 'Y', 'Y', 'Y', 'Y', 'Y', +'', '', '', '', '', '', '', +'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' +## end deadkey + +## begin deadkey +id: n_descr +1, 0x10, +1, 0x25, +0, '', +0, '', +0, 0x0E, +0, 0x0E, +0, 0x8E, +0, 0x8E, +'n', 'n', 'n', 'n', '', 'n', 'n', +'n', 'n', 'n', 'n', 'n', 'n', 'n', +'n', 'n', 'n', 'n', 'n', 'n', 'n', +'N', 'N', 'N', 'N', '', 'N', 'N', +'N', 'N', 'N', 'N', 'N', 'N', 'N', +'N', 'N', 'N', 'N', 'N', 'N', 'N' +## end deadkey + +## begin deadkey +id: f_descr +0, 'f', +0, 'F', +8, 0x71 +8, 0x71 +0, 0x06, +0, 0x06, +0, 0x86, +0, 0x86 +## end deadkey + +## begin deadkey +id: g_descr +0, 'g', +0, 'G', +8, 0x72 +8, 0x72 +0, 0x07, +0, 0x07, +0, 0x87, +0, 0x87 +## end deadkey + +## begin deadkey +id: h_descr +0, 'h', +0, 'H', +8, 3, +8, 3, +0, 0x08, +0, 0x08, +0, 0x88, +0, 0x88 +## end deadkey + +## begin deadkey +id: j_descr +0, 'j', +0, 'J', +8, 4, +8, 4, +0, 0x0A, +0, 0x0A, +0, 0x8A, +0, 0x8A, +## end deadkey + +## begin deadkey +id:k_descr +0, 'k', +0, 'K', +8, 5, +8, 5, +0, 0x0B, +0, 0x0B, +0, 0x8B, +0, 0x8B, +## end deadkey + +## begin deadkey +id:key00_descr +0, '^', +0, '', +8, 3, +8, 6, +0, 0, +0, 0, +0, 0, +0, 0 +## end deadkey + +## begin deadkey +id:key0c_descr +8, 0x71 +8, 0x72 +0, '=', +0, '+' +## end deadkey + +## begin deadkey +id: space_descr +1, 0x4, +0, 0xA0, +' ', '', '`', '^', '~', '', '', +'', '', '^', '', '', '', '', +'`', '^', '`', '`', '`', '`', '`' +## end deadkey + +# standard descriptors .... + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +id:key00_descr +'!', '', '!', '1' +'@', '', '"', '2' +'#', '', '', '3' +'', '', '$', '4' +'%', '', '%', '5' +'^', '', '&', '6' +'', '{', '/', '7' +'*', '[', '(', '8' +'', ']', ')', '9' +'', '}', '=', '0' +'|', '\\', '?', '' +id:key0c_descr +'`', '`', '\'', '#' +0, 0, 0, 0 +0, 0, 0, '0' +'@', '@', 'Q', 'q' +'', '', 'W', 'w' +id:e_descr +'', '', 'R', 'r' +'', '', 'T', 't' +'', 0xA4, 'Z', 'z' +id:u_descr +id:i_descr +id:o_descr +'', '', 'P', 'p' +'{', '[', '', '' +'*', '~', '*', '+' +0, 0, 0, 0 +0, 0, 0, '1' +0, 0, 0, '2' +0, 0, 0, '3' +id:a_descr +'', '', 'S', 's' +'', '', 'D', 'd' +id:f_descr +id:g_descr +id:h_descr +id:j_descr +id:k_descr +'', '@', 'L', 'l' +':', ';', '', '' +'"', '\'', '', '' +'`', '`', '\'', '#' +0, 0, 0, 0 +0, 0, 0, '4' +0, 0, 0, '5' +0, 0, 0, '6' +'', '|', '>', '<' +id:y_descr +'', '', 'X', 'x' +'', '', 'C', 'c' +'', '', 'V', 'v' +'', '', 'B', 'b' +id:n_descr +'', '', 'M', 'm' +'<', ',', ';', ',' +'>', '.', ':', '.' +'?', '/', '_', '-' +0, 0, 0, 0 +0, 0, 0, ',' +0, 0, 0, '7' +0, 0, 0, '8' +0, 0, 0, '9' +## end lokeymap + +## begin hikeymap +id:space_descr +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_dk.akmd b/workbench/devs/keymaps/pc105_dk.akmd new file mode 100644 index 00000000000..35e3aebfb15 --- /dev/null +++ b/workbench/devs/keymaps/pc105_dk.akmd @@ -0,0 +1,517 @@ +# Danish PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_dk +## end config + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +0x93,0x84,0xA7,0xBD +0x94,0xA1,'!' ,'1' +0x99,'@' ,0x22,'2' +0xB6,0xA3,'#' ,'3' +0xA3,'$' ,0xA4,'4' +0xBC,0x80,'%' ,'5' +0xBD,0, '&' ,'6' +0xBE,'{' ,0x2F,'7' +0, '[' ,'(' ,'8' +0, ']' ,')' ,'9' +0xAF,'}' ,'=' ,'0' +0xA6,0, '?' ,'+' +0x88,0x7C,0x60,0xB4 +0x93,0x84,0xA7,0xBD +0, 0, 0, 0 +'0', '0', '0', '0' +0x91,0, 'Q' ,'q' +0x92,0x82,'W' ,'w' +0x89,0xA4 ,'E' ,'e' +0, 0xAE,'R' ,'r' +0, 0x86,'T' ,'t' +0, 0, 'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0xD8,0xF8,'O' ,'o' +0, 0xBF,'P' ,'p' +0xB0,0x98,0xC5,0xE5 +0xB1,0x7E,0x5E,0xA8 +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC5,0xE5,'A' ,'a' +0x8A,0x9A,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0xA9,'G' ,'g' +0, 0xAA,'H' ,'h' +0, 0xBA,'J' ,'j' +0, 0, 'K' ,'k' +0, 0xAC,'L' ,'l' +0x8C,0x9C,0xC6,0xE6 +0, 0, 0xD8,0xF8 +0, 0, '*' ,0x27 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0x5C,'>' ,'<' +0x87,0xA5,'Z' ,'z' +0xA4,0xD7,'X' ,'x' +0xC7,0xE7,'C' ,'c' +0x8B,0xAB,'V' ,'v' +0x95,0xB7,'B' ,'b' +0x9B,0xBB,'N' ,'n' +0, 0xB5,'M' ,'m' +0xB8,0, ';' ,',' +0xF7,0x85,':' ,'.' +0x96,0x97,'_' ,'-' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_dvl.c b/workbench/devs/keymaps/pc105_dvl.c index 477c94e7e2c..89debcbae6a 100644 --- a/workbench/devs/keymaps/pc105_dvl.c +++ b/workbench/devs/keymaps/pc105_dvl.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_dvl") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_dvr.c b/workbench/devs/keymaps/pc105_dvr.c index abcb9101b37..ea39f865c3e 100644 --- a/workbench/devs/keymaps/pc105_dvr.c +++ b/workbench/devs/keymaps/pc105_dvr.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_dvr") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_dvx.c b/workbench/devs/keymaps/pc105_dvx.c index efcb5548dab..97791ecf5e0 100644 --- a/workbench/devs/keymaps/pc105_dvx.c +++ b/workbench/devs/keymaps/pc105_dvx.c @@ -33,139 +33,139 @@ DEFINE_KEYMAP("pc105_dvx") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; @@ -183,9 +183,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -264,132 +264,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_e.akmd b/workbench/devs/keymaps/pc105_e.akmd new file mode 100644 index 00000000000..994edc300dd --- /dev/null +++ b/workbench/devs/keymaps/pc105_e.akmd @@ -0,0 +1,614 @@ +# Spanish PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_e +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT|KCF_ALT # 00 left of 1 +KCF_SHIFT|KCF_ALT # 01 1 +KC_VANILLA # 02 2 +KC_VANILLA # 03 3 +KCF_SHIFT|KCF_ALT # 04 4 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT|KCF_ALT # 0B Right of 0 +KCF_SHIFT|KCF_ALT # 0C 2nd right of 0 +KC_NOQUAL # 0D 3rd right of 0 +KC_NOQUAL # 0E undef +KCF_SHIFT|KCF_ALT # 0F NUM 0 +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KCF_DEAD|KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 y +KCF_DEAD|KC_VANILLA # 16 u +KCF_DEAD|KC_VANILLA # 17 i +KCF_DEAD|KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_DEAD|KCF_SHIFT|KCF_ALT # 1A + * +KCF_SHIFT|KCF_ALT # 1B ` +KC_NOQUAL # 1C undefined +KC_NOQUAL # 1D NUM 1 +KC_NOQUAL # 1E NUM 2 +KC_NOQUAL # 1F NUM 3 +KCF_DEAD|KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT|KCF_ALT # 29 +KCF_DEAD|KCF_SHIFT|KCF_ALT # 2A +KCF_SHIFT|KCF_ALT # 2B ~ ^ +KC_NOQUAL # 2C undefined +KC_NOQUAL # 2D NUM 4 +KC_NOQUAL # 2E NUM 5 +KC_NOQUAL # 2F NUM 6 +KCF_SHIFT|KCF_ALT # 30 < > +KC_VANILLA # 31 z +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 ; +KCF_SHIFT|KCF_ALT # 39 . : +KCF_SHIFT # 3A - _ +KC_NOQUAL # 3B undefined +KC_NOQUAL # 3C NUM . +KC_NOQUAL # 3D NUM 7 +KC_NOQUAL # 3E NUM 8 +KC_NOQUAL # 3F NUM 9 +## end lokeymaptypes + +## begin hikeymaptypes +KCF_DEAD|KCF_SHIFT # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +## begin deadkey +id: a_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x01, +0, 0x01, +0, 0x81, +0, 0x81, +'a', '', '', '', '', '', '', +'A', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: e_descr +1, 0x10, +1, 0x17, +0, 0xA4, +0, '', +0, 0x05, +0, 0x05, +0, 0x85, +0, 0x85, +'e', '', '', '', 'e', '', 'e', +'E', '', '', '', 'E', '', 'E' +## end deadkey + +## begin deadkey +id: u_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x15, +0, 0x15, +0, 0x95, +0, 0x95, +'u', '', '', '', 'u', '', 'u', +'U', '', '', '', 'U', '', 'U' +## end deadkey + +## begin deadkey +id: i_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x09, +0, 0x09, +0, 0x89, +0, 0x89, +'i', '', '', '', 'i', '', 'i', +'I', '', '', '', 'I', '', 'I' +## end deadkey + +## begin deadkey +id: o_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x0F, +0, 0x0F, +0, 0x8F, +0, 0x8F, +'o', '', '', '', '', '', 'o', +'O', '', '', '', '', '', 'O' +## end deadkey + +## begin deadkey +id: space_descr +1, 0x4, +0, 0XA0, +' ', '', '`','^','~', '', '' +## end deadkey + +## begin deadkey +id: KEY1A_descr +8, 2, +8, 3, +0, '[', +0, '[' +## end deadkey + +## begin deadkey +id: KEY2A_descr +8, 1, +8, 5, +0, '{', +0, '{' +## end deadkey + +# standard descriptors .... + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +'\\','\\', '','' +'', '|', '!', '1' +0, '@', '"', '2' +'', '#', '', '3' +'$', '~', '$', '4' +0, 0, '%', '5' +0, '', '&', '6' +0, '{', '/', '7' +0, '[', '(', '8' +'', ']', ')', '9' +'', '}', '=', '0' +'','\\', '?','\'' +'~', '~', '', '' +'|', '|', '|', '|' +0, 0, 0, 0 +'0', '0', '0', '0' +0, '@', 'Q', 'q' +0, 0, 'W', 'w' +id:e_descr +'', '', 'R', 'r' +0, 0, 'T', 't' +'', 0, 'Y', 'y' +id:u_descr +id:i_descr +id:o_descr +'', '', 'P', 'p' +id:KEY1A_descr +0, ']', '*', '+' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +id:a_descr +'', '', 'S', 's' +'', '', 'D', 'd' +'', 0, 'F', 'f' +0, 0, 'G', 'g' +0, 0, 'H', 'h' +'J', 'j', 'J', 'j' +'&', 0, 'K', 'k' +0, 0, 'L', 'l' +'"', '~', '', '' +id:KEY2A_descr +0, '}', '', '' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, '|', '>', '<' +'<', '', 'Z', 'z' +'>', '', 'X', 'x' +'', '', 'C', 'c' +'`', 0, 'V', 'v' +'\'', 0, 'B', 'b' +'', '', 'N', 'n' +'', '', 'M', 'm' +'', 0, ';', ',' +'', '', ':', '.' +0, 0, '_', '-' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +id:space_descr +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 0, 1, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_est.c b/workbench/devs/keymaps/pc105_est.c index 297605ab616..61b9756bf9f 100644 --- a/workbench/devs/keymaps/pc105_est.c +++ b/workbench/devs/keymaps/pc105_est.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_est") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_f.akmd b/workbench/devs/keymaps/pc105_f.akmd new file mode 100644 index 00000000000..42b9456fe71 --- /dev/null +++ b/workbench/devs/keymaps/pc105_f.akmd @@ -0,0 +1,664 @@ +# French PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_f +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT|KCF_ALT # 00 left of 1 +KCF_SHIFT|KCF_ALT # 01 1 +KC_VANILLA # 02 2 +KC_VANILLA # 03 3 +KCF_SHIFT|KCF_ALT # 04 4 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_STRING|KC_VANILLA # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT|KCF_ALT # 0B Right of 0 +KCF_SHIFT|KCF_ALT # 0C 2nd right of 0 +KC_NOQUAL # 0D 3rd right of 0 +KC_NOQUAL # 0E undef +KCF_SHIFT|KCF_ALT # 0F NUM 0 +KCF_DEAD|KC_VANILLA # 10 a +KC_VANILLA # 11 z +KCF_DEAD|KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KCF_DEAD|KC_VANILLA # 16 u +KCF_DEAD|KC_VANILLA # 17 i +KCF_DEAD|KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_DEAD|KCF_SHIFT|KCF_ALT # 1A dead key ^" +KCF_SHIFT|KCF_ALT # 1B $ +KC_NOQUAL # 1C undefined +KC_NOQUAL # 1D NUM 1 +KC_NOQUAL # 1E NUM 2 +KC_NOQUAL # 1F NUM 3 +KC_VANILLA # 20 q +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KC_VANILLA # 29 m +KCF_DEAD|KCF_SHIFT|KCF_ALT # 2A % +KCF_DEAD|KCF_SHIFT|KCF_ALT # 2B * +KC_NOQUAL # 2C undefined +KC_NOQUAL # 2D NUM 4 +KC_NOQUAL # 2E NUM 5 +KC_NOQUAL # 2F NUM 6 +KCF_SHIFT|KCF_ALT # 30 < > +KC_VANILLA # 31 w +KC_VANILLA # 32 x +KCF_DEAD|KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KCF_DEAD|KCF_SHIFT|KCF_ALT # 37 , ? +KCF_SHIFT|KCF_ALT # 38 ; . +KCF_SHIFT|KCF_ALT # 39 : / +KCF_SHIFT # 3A ! +KC_NOQUAL # 3B undefined +KC_NOQUAL # 3C NUM . +KC_NOQUAL # 3D NUM 7 +KC_NOQUAL # 3E NUM 8 +KC_NOQUAL # 3F NUM 9 +## end lokeymaptypes + +## begin hikeymaptypes +KCF_DEAD|KCF_ALT # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +## begin deadkey +id: a_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x01, +0, 0x01, +0, 0x81, +0, 0x81, +'a', '', '', '', '', '', '', +'A', '', '', '', '', '', '' +## end deadkey + +## begin deadkey +id: e_descr +1, 0x10, +1, 0x17, +0, 0xA4, +0, '', +0, 0x05, +0, 0x05, +0, 0x85, +0, 0x85, +'e', '', '', '', 'e', '', 'e', +'E', '', '', '', 'E', '', 'E' +## end deadkey + +## begin deadkey +id: u_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x15, +0, 0x15, +0, 0x95, +0, 0x95, +'u', '', '', '', 'u', '', 'u', +'U', '', '', '', 'U', '', 'U' +## end deadkey + +## begin deadkey +id: i_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x09, +0, 0x09, +0, 0x89, +0, 0x89, +'i', '', '', '', 'i', '', 'i', +'I', '', '', '', 'I', '', 'I' +## end deadkey + +## begin deadkey +id: o_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x0F, +0, 0x0F, +0, 0x8F, +0, 0x8F, +'o', '', '', '', '', '', 'o', +'O', '', '', '', '', '', 'O' +## end deadkey + +## begin deadkey +id: c_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x03, +0, 0x03, +0, 0x83, +0, 0x83, +'c', '', 'c', 'c', 'c', 'c', 'c', +'C', '', 'C', 'C', 'C', 'C', 'C' +## end deadkey + +## begin deadkey +id: space_descr +1, 0x4, +0, 0xA0, +' ', '', '`','^','~', '', '' +## end deadkey + +## begin deadkey +id: KEY1A_descr +8, 3, +8, 5, +8, 5, +8, 6 +## end deadkey + +## begin deadkey +id: KEY37_descr +0, ',', +0, '?', +8, 1, +8, 1 +## end deadkey + +## begin deadkey +id: KEY2A_descr +0, '', +0, '%', +8, 3, +8, 3 +## end deadkey + +## begin deadkey +id: KEY2B_descr +0, '*', +0, '', +8, 2, +8, 2 +## end deadkey + +## begin string +id: KEY08_descr +1,16, +1,17, +1,18, +1,19, +1,20, +1,21, +1,22, +1,23, +'_', +'8', +'\\', +0, +'_', +'8', +28, +0 +## end string + +# standard descriptors .... + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +'', '', '~', '' +'', '', '1', '&' +'', '~', '2', '' +'', '#', '3', '"' +'$', '{', '4','\'' +'5', '[', '5', '(' +'6', '|', '6', '-' +'7', '`', '7', '' +id:KEY08_descr +'', '^', '9', '' +'', '@', '0', '' +'', ']', '', ')' +'+', '}', '+', '=' +'|', '|', '|', '|' +0, 0, 0, 0 +'0', '0', '0', '0' +id:a_descr +'<', '', 'Z', 'z' +id:e_descr +'', '', 'R', 'r' +'T', 't', 'T', 't' +'', 'y', 'Y', 'y' +id:u_descr +id:i_descr +id:o_descr +'', '', 'P', 'p' +id:KEY1A_descr +'', '', '', '$' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'Q', '@', 'Q', 'q' +'', '', 'S', 's' +'', '', 'D', 'd' +'', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'&', 'k', 'K', 'k' +'L', 'l', 'L', 'l' +'', '', 'M', 'm' +id:KEY2A_descr +id:KEY2B_descr +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'', '|', '>', '<' +'W', 'w', 'W', 'w' +'>', '', 'X', 'x' +id:c_descr +'`', 'v', 'V', 'v' +'\'','b', 'B', 'b' +'', '', 'N', 'n' +id:KEY37_descr +'', ';', '.', ';' +'', '', '/', ':' +'', '!', '', '!' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +id:space_descr +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_fin.akmd b/workbench/devs/keymaps/pc105_fin.akmd new file mode 100644 index 00000000000..dd8c02f637c --- /dev/null +++ b/workbench/devs/keymaps/pc105_fin.akmd @@ -0,0 +1,523 @@ +# Finnish PC105 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_fin +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT|KCF_ALT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT|KCF_ALT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0x93,0x84,0xBD,0xA7 +0x94,0xA1,'!' ,'1' +0x99,'@' ,0x22,'2' +0xB6,0xA3,'#' ,'3' +0xA3,'$' ,0xA4,'4' +0xBC,0x80,'%' ,'5' +0xBD,0, '&' ,'6' +0xBE,'{' ,0x2F,'7' +0, '[' ,'(' ,'8' +0, ']' ,')' ,'9' +0xAF,'}' ,'=' ,'0' +0xA6,0x5C,'?' ,'+' +0x88,0, 0x60,0xB4 +0x93,0x84,0xBD,0xA7 +0, 0, 0, 0 +'0', '0', '0', '0' +0x91,0, 'Q' ,'q' +0x92,0x82,'W' ,'w' +0x89,0xA4 ,'E' ,'e' +0, 0xAE,'R' ,'r' +0, 0x86,'T' ,'t' +0, 0, 'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0xD8,0xF8,'O' ,'o' +0, 0xBF,'P' ,'p' +0xB0,0x98,0xC5,0xE5 +0xB1,0x7E,0x5E,0xA8 +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC5,0xE5,'A' ,'a' +0x8A,0x9A,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0xA9,'G' ,'g' +0, 0xAA,'H' ,'h' +0, 0xBA,'J' ,'j' +0, 0, 'K' ,'k' +0, 0xAC,'L' ,'l' +0x8C,0x9C,0xD6,0xF6 +0xC6,0xE6,0xC4,0xE4 +0, 0, '*' ,0x27 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0x7C,'>' ,'<' +0x87,0xA5,'Z' ,'z' +0xA4,0xD7,'X' ,'x' +0xC7,0xE7,'C' ,'c' +0x8B,0xAB,'V' ,'v' +0x95,0xB7,'B' ,'b' +0x9B,0xBB,'N' ,'n' +0, 0xB5,'M' ,'m' +0xB8,0, ';' ,',' +0xF7,0x85,':' ,'.' +0x96,0x97,'_' ,'-' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_gb.akmd b/workbench/devs/keymaps/pc105_gb.akmd index 5421771e7ac..e9e21517295 100644 --- a/workbench/devs/keymaps/pc105_gb.akmd +++ b/workbench/devs/keymaps/pc105_gb.akmd @@ -1,5 +1,6 @@ # British PC105 amiga keymap descriptor # (c) 2020 The AROS Development Team. +# v1.0 ## begin config keymap: pc105_gb @@ -13,124 +14,124 @@ KCF_SHIFT # 01 KCF_SHIFT KCF_ALT # 02 KCF_SHIFT KCF_ALT # 03 KCF_SHIFT KCF_ALT # 04 -KCF_SHIFT # 05 -KCF_SHIFT # 06 -KCF_SHIFT # 07 -KCF_SHIFT # 08 -KCF_SHIFT # 09 -KCF_SHIFT # 0A -KCF_SHIFT # 0B -KCF_SHIFT # 0C -KC_NOQUAL # 0D -KC_NOQUAL # 0E -KCF_SHIFT KCF_ALT # 0F -KC_VANILLA # 10 q -KC_VANILLA # 11 w -KC_VANILLA # 12 e -KC_VANILLA # 13 r -KC_VANILLA # 14 t -KC_VANILLA # 15 z -KC_VANILLA # 16 u -KC_VANILLA # 17 i -KC_VANILLA # 18 o -KC_VANILLA # 19 p -KCF_SHIFT # 1A -KCF_SHIFT KCF_ALT # 1B -KCF_SHIFT KCF_ALT # 1C -KCF_SHIFT KCF_ALT # 1D -KCF_SHIFT KCF_ALT # 1E -KCF_SHIFT KCF_ALT # 1F -KC_VANILLA # 20 a -KC_VANILLA # 21 s -KC_VANILLA # 22 d -KC_VANILLA # 23 f -KC_VANILLA # 24 g -KC_VANILLA # 25 h -KC_VANILLA # 26 j -KC_VANILLA # 27 k -KC_VANILLA # 28 l -KCF_SHIFT # 29 -KCF_SHIFT # 2A -KCF_SHIFT # 2B -KC_NOQUAL # 2C -KC_NOQUAL # 2D -KC_NOQUAL # 2E -KC_NOQUAL # 2F -KCF_SHIFT KCF_ALT # 30 -KC_VANILLA # 31 y -KC_VANILLA # 32 x -KC_VANILLA # 33 c -KC_VANILLA # 34 v -KC_VANILLA # 35 b -KC_VANILLA # 36 n -KC_VANILLA # 37 m -KCF_SHIFT KCF_ALT # 38 -KCF_SHIFT KCF_ALT # 39 -KCF_SHIFT # 3A -KC_NOQUAL # 3B -KC_NOQUAL # 3C -KC_NOQUAL # 3D -KC_NOQUAL # 3E -KC_NOQUAL # 3F +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT KCF_ALT # 1B +KCF_SHIFT KCF_ALT # 1C +KCF_SHIFT KCF_ALT # 1D +KCF_SHIFT KCF_ALT # 1E +KCF_SHIFT KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT KCF_ALT # 38 +KCF_SHIFT KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F ## end lokeymaptypes ## begin hikeymaptypes -KC_NOQUAL # 40 SPACE -KC_NOQUAL # 41 BACKSPACE -KCF_STRING KCF_SHIFT # 42 TAB -KC_NOQUAL # 43 ENTER -KCF_CONTROL # 44 RETURN -KCF_ALT # 45 ESCAPE -KC_NOQUAL # 46 DEL -KCF_STRING KCF_SHIFT # 47 INSERT ?? -KCF_STRING KCF_SHIFT # 48 PAGE UP ?? -KCF_STRING KCF_SHIFT # 49 PAGE DOWN ?? -KC_NOQUAL # 4A NUMERIC PAD - -KCF_STRING KCF_SHIFT # 4B F11 ?? -KCF_STRING KCF_SHIFT # 4C CURSORUP*/ -KCF_STRING KCF_SHIFT # 4D CURSORDOWN -KCF_STRING KCF_SHIFT # 4E CURSORRIGHT -KCF_STRING KCF_SHIFT # 4F CURSORLEFT -KCF_STRING KCF_SHIFT # 50 F1 -KCF_STRING KCF_SHIFT # 51 F2 -KCF_STRING KCF_SHIFT # 52 F3 -KCF_STRING KCF_SHIFT # 53 F4 -KCF_STRING KCF_SHIFT # 54 F5 -KCF_STRING KCF_SHIFT # 55 F6 -KCF_STRING KCF_SHIFT # 56 F7 -KCF_STRING KCF_SHIFT # 57 F8 -KCF_STRING KCF_SHIFT # 58 F9 -KCF_STRING KCF_SHIFT # 59 F10 -KCF_NOP # 5A NUMLOCK -KC_NOQUAL # 5B NUMPAD ) -KC_NOQUAL # 5C NUMPAD / -KC_NOQUAL # 5D NUMPAD * -KC_NOQUAL # 5E NUMPAD + -KCF_STRING # 5F HELP -KCF_NOP # 60 LEFT SHIFT -KCF_NOP # 61 RIGHT SHIFT -KCF_NOP # 62 CAPS LOCK -KCF_NOP # 63 CONTROL -KCF_NOP # 64 LALT -KCF_NOP # 65 RALT -KCF_NOP # 66 LCOMMAND -KCF_NOP # 67 RCOMMAND -KCF_NOP # 68 LEFT MOUSE BUTTON -KCF_NOP # 69 RIGHT MOUSE BUTTON -KCF_NOP # 6A MIDDLE MOUSE BUTTON -KCF_NOP # 6B -KCF_NOP # 6C -KCF_NOP # 6D -KCF_STRING KCF_ALT # 6E PAUSE/BREAK ??*/ -KCF_STRING KCF_SHIFT # 6F F12 ?? +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING KCF_SHIFT # 47 INSERT ?? +KCF_STRING KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING KCF_SHIFT # 4B F11 ?? +KCF_STRING KCF_SHIFT # 4C CURSORUP*/ +KCF_STRING KCF_SHIFT # 4D CURSORDOWN +KCF_STRING KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING KCF_SHIFT # 4F CURSORLEFT +KCF_STRING KCF_SHIFT # 50 F1 +KCF_STRING KCF_SHIFT # 51 F2 +KCF_STRING KCF_SHIFT # 52 F3 +KCF_STRING KCF_SHIFT # 53 F4 +KCF_STRING KCF_SHIFT # 54 F5 +KCF_STRING KCF_SHIFT # 55 F6 +KCF_STRING KCF_SHIFT # 56 F7 +KCF_STRING KCF_SHIFT # 57 F8 +KCF_STRING KCF_SHIFT # 58 F9 +KCF_STRING KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING KCF_ALT # 6E PAUSE/BREAK ??*/ +KCF_STRING KCF_SHIFT # 6F F12 ?? KCF_STRING KCF_CONTROL # 70 HOME ?? KCF_STRING KCF_CONTROL # 71 END ?? -KCF_NOP # 72 -KCF_NOP # 73 -KCF_NOP # 74 -KCF_NOP # 75 -KCF_NOP # 76 -KCF_NOP # 77 +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 ## end hikeymaptypes # "string" and "deadkey" sections must @@ -172,15 +173,6 @@ id: pagedown_descr 0x9B,'5','2','~' ## end string -## begin string -# 4B F11 ?? -id: f11_descr -4,4, -4,8, -0x9B,'2','0','~', -0x9B,'3','0','~' -## end string - ## begin string # 4C CURSOR UP id: up_descr @@ -307,6 +299,24 @@ id: f10_descr 0x9B,'1','9','~' ## end string +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + ## begin string # 5F HELP id: help_descr @@ -323,15 +333,6 @@ id: pausebreak_descr 0x9B,'5','3','~' ## end string -## begin string -# 6F F12 ?? -id: f12_descr -4,4, -4,8, -0x9B,'2','1','~', -0x9B,'3','1','~' -## end string - ## begin string # 70 HOME ?? id: home_descr @@ -354,6 +355,70 @@ id: end_descr # the "capsable" and "repeatable" sections can be included anywhere. ## begin lokeymap +'', '`', '', '`' +'!', '1', '!', '1' +'', '', '"', '2' +'', '', '', '3' +0xA4, 0xA4, '$', '4' +'%', '5', '%', '5' +'^', '6', '^', '6' +'&', '7', '&', '7' +'*', '8', '*', '8' +'(', '9', '(', '9' +')', '0', ')', '0' +'_', '-', '_', '-' +'+', '=', '+', '=' +'|', '|', '|', '|' +0, 0, 0, 0 +'0', '0', '0', '0' +'@', '@', 'Q', 'q' +'W', 'w', 'W', 'w' +'', '', 'E', 'e' +'', '', 'R', 'r' +'', '', 'T', 't' +'Y', 'y', 'Y', 'y' +'', '', 'U', 'u' +'', '', 'I', 'i' +'', '', 'O', 'o' +'P', 'p', 'P', 'p' +'{', '[', '{', '[' +'}', ']', '}', ']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'', '', 'A', 'a' +'S', 's', 'S', 's' +'D', 'd', 'D', 'd' +'F', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'K', 'k', 'K', 'k' +'L', 'l', 'L', 'l' +':', ';', ':', ';' +'@','\'', '@','\'' +'~', '#', '~', '#' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'|','\\', '|','\\' +'Z', 'z', 'Z', 'z' +'X', 'x', 'X', 'x' +'', '', 'C', 'c' +'V', 'v', 'V', 'v' +'B', 'b', 'B', 'b' +'', '', 'N', 'n' +'', '', 'M', 'm' +'<', ',', '<', ',' +'>', '.', '>', '.' +'?', '/', '?', '/' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' ## end lokeymap ## begin locapsable @@ -379,6 +444,62 @@ id: end_descr ## end lorepeatable ## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 ## end hikeymap ## begin hicapsable diff --git a/workbench/devs/keymaps/pc105_gbx.c b/workbench/devs/keymaps/pc105_gbx.c index f102323bce3..719885a08cc 100644 --- a/workbench/devs/keymaps/pc105_gbx.c +++ b/workbench/devs/keymaps/pc105_gbx.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_gbx") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_gr.c b/workbench/devs/keymaps/pc105_gr.c index b93c51bcf33..937546d6048 100644 --- a/workbench/devs/keymaps/pc105_gr.c +++ b/workbench/devs/keymaps/pc105_gr.c @@ -1,9 +1,7 @@ /* - Copyright 2009-2011, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 2009-2011, The AROS Development Team. All rights reserved. Desc: Hellenic (Greek) PC105 Keymap - Lang: Hellenic */ #include "common.h" @@ -32,138 +30,138 @@ DEFINE_KEYMAP("pc105_gr") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S|A, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S|A, /* 05 */ - S|A, /* 06 */ - S|A, /* 07 */ - S|A, /* 08 */ - S|A, /* 09 */ - S|A, /* 0A */ - S|V, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - D|V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - D|V, /* 15 y */ - V, /* 16 u */ - D|V, /* 17 i */ - D|V, /* 18 o */ - V, /* 19 p */ - S|A, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - D|V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - D|V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - D|S|A, /* 29 */ - S|A, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 z */ - V, /* 32 x */ - V, /* 33 c */ - D|V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S|A, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S|A, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S|A, /* 05 */ + S|A, /* 06 */ + S|A, /* 07 */ + S|A, /* 08 */ + S|A, /* 09 */ + S|A, /* 0A */ + S|V, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + D|V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + D|V, /* 15 y */ + V, /* 16 u */ + D|V, /* 17 i */ + D|V, /* 18 o */ + V, /* 19 p */ + S|A, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + D|V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + D|V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + D|S|A, /* 29 */ + S|A, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 z */ + V, /* 32 x */ + V, /* 33 c */ + D|V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S|A, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -180,197 +178,197 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) - + STATIC CONST UBYTE a_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'a', /* key pressed with ALT */ - 0, 'A', /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'a', /* key pressed with ALT */ + 0, 'A', /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '' /*0xAC*/, '', 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '' /*0xAC*/, '', 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; +}; STATIC CONST UBYTE e_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'e', /* 0xE6 */ /* key pressed with ALT */ - 0, 'E', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, '', /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'e', /* 0xE6 */ /* key pressed with ALT */ + 0, 'E', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, '', /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '' /*0xE1*/, '', 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '' /*0xE1*/, '', 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; +}; STATIC CONST UBYTE h_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'h', /* 0xE6 */ /* key pressed with ALT */ - 0, 'H', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'h', /* 0xE6 */ /* key pressed with ALT */ + 0, 'H', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; - +}; + STATIC CONST UBYTE i_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'i', /* 0xE6 */ /* key pressed with ALT */ - 0, 'I', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'i', /* 0xE6 */ /* key pressed with ALT */ + 0, 'I', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '', '' /*0xE1*/, '' /*0xE0*/, '' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '', '' /*0xE1*/, '' /*0xE0*/, '' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, '' /*0xC0*/, '' /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; +}; STATIC CONST UBYTE o_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'o', /* 0xE6 */ /* key pressed with ALT */ - 0, 'O', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'o', /* 0xE6 */ /* key pressed with ALT */ + 0, 'O', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - 'o', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + 'o', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, 'O', '' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; +}; STATIC CONST UBYTE y_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'y', /* 0xE6 */ /* key pressed with ALT */ - 0, 'Y', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'y', /* 0xE6 */ /* key pressed with ALT */ + 0, 'Y', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '', '' /*0xE1*/, '' /*0xE0*/, '' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '', '' /*0xE1*/, '' /*0xE0*/, '' /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, '' /*0xC0*/, '' /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ -}; +}; STATIC CONST UBYTE v_descr[] = { - DPF_MOD, 0x10, /* key pressed without qualifier */ - DPF_MOD, 0x17, /* key pressed with SHIFT */ - 0, 'v', /* 0xE6 */ /* key pressed with ALT */ - 0, 'V', /* 0xC6 */ /* key pressed with SHIFT + ALT */ - 0, 0x01, /* key pressed with CONTROL */ - 0, 0x01, /* key pressed with CONTROL + SHIFT */ - 0, 0x81, /* key pressed with CONTROL + ALT */ - 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ + DPF_MOD, 0x10, /* key pressed without qualifier */ + DPF_MOD, 0x17, /* key pressed with SHIFT */ + 0, 'v', /* 0xE6 */ /* key pressed with ALT */ + 0, 'V', /* 0xC6 */ /* key pressed with SHIFT + ALT */ + 0, 0x01, /* key pressed with CONTROL */ + 0, 0x01, /* key pressed with CONTROL + SHIFT */ + 0, 0x81, /* key pressed with CONTROL + ALT */ + 0, 0x81, /* key pressed with CONTROL + ALT + SHIFT */ - '', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, + '', '' /*0xE1*/, 0 /*0xE0*/, 0 /*0xE2*/, 0 /*0xE3*/, 0 /*0xE4*/, 0 /*0xE5*/, '', '' /*0xC1*/, 0 /*0xC0*/, 0 /*0xC2*/, 0 /*0xC3*/, 0 /*0xC4*/, 0 /*0xC5*/ }; - - - - + + + + STATIC CONST UBYTE key29_descr[] = { DPF_DEAD, 1, DPF_DEAD, 2, DPF_DEAD, 3, DPF_DEAD, 4 -}; +}; STATIC CONST IPTR lokeymap[] = { /*---- 1st QWERTY row - 0x00 to 0x0F */ - BYTES('', '^', '~', '`'), /* 00 Left of 1 Key */ - BYTES('!', 0, '!', '1'), /* 01 1 */ - BYTES('"', '', '@', '2'), /* 02 2 */ - BYTES('#', '', '#', '3'), /* 03 3 */ - BYTES(0, '', '$', '4'), /* 04 4 */ - BYTES('%', 0, '%', '5'), /* 05 5 */ - BYTES('^', '', '^', '6'), /* 06 6 */ - BYTES('&', '{', '&', '7'), /* 07 7 */ - BYTES('*', '[', '*', '8'), /* 08 8 */ - BYTES('(', ']', '(', '9'), /* 09 9 */ - BYTES(')', '}', ')', '0'), /* 0A 0 */ - BYTES(0, 0, '_', '-'), /* 0B Right of 0 */ - BYTES('+', '=', '=', '+'), /* 0C 2nd right of 0 */ - BYTES(0, 0, '|', '\\'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + BYTES('', '^', '~', '`'), /* 00 Left of 1 Key */ + BYTES('!', 0, '!', '1'), /* 01 1 */ + BYTES('"', '', '@', '2'), /* 02 2 */ + BYTES('#', '', '#', '3'), /* 03 3 */ + BYTES(0, '', '$', '4'), /* 04 4 */ + BYTES('%', 0, '%', '5'), /* 05 5 */ + BYTES('^', '', '^', '6'), /* 06 6 */ + BYTES('&', '{', '&', '7'), /* 07 7 */ + BYTES('*', '[', '*', '8'), /* 08 8 */ + BYTES('(', ']', '(', '9'), /* 09 9 */ + BYTES(')', '}', ')', '0'), /* 0A 0 */ + BYTES(0, 0, '_', '-'), /* 0B Right of 0 */ + BYTES('+', '=', '=', '+'), /* 0C 2nd right of 0 */ + BYTES(0, 0, '|', '\\'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ /*---- 2nd QWERTY row - 0x10 to 0x1F */ - BYTES('Q', 'q', ':', ';'), /* 10 */ - BYTES( 'W', 'w', '', ''), /* 11 */ - DEAD(e_descr), /* 12 */ - BYTES('R', 'r', '', ''), /* 13 */ - BYTES('T', 't', '', ''), /* 14 */ - DEAD(y_descr), /* 15 */ - BYTES('U', 'u', '', ''), /* 16 */ - DEAD(i_descr), /* 17 */ - DEAD(o_descr), /* 18 */ - BYTES('P', 'p', '', ''), /* 19 */ - BYTES('{', '[', '{', '['), /* 1A */ - BYTES('}', ']', '}', ']'), /* 1B */ - BYTES(0, 0, '|', '\\'), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - /*---- 3rd QWERTY row - 0x20 to 0x2F */ - DEAD(a_descr), /* 20 */ - BYTES('S', 's', '', ''), /* 21 */ - BYTES('D', 'd', '', ''), /* 22 */ - BYTES('F', 'f', '', ''), /* 23 */ - BYTES('G', 'g', '', ''), /* 24 */ - DEAD(h_descr), /* 25 */ - BYTES('J', 'j', '', ''), /* 26 */ - BYTES('K', 'k', '', ''), /* 27 */ - BYTES('L', 'l', '', ''), /* 28 */ - DEAD(key29_descr), /* 29 */ - BYTES(0, 0, '"', '\''), /* 2A */ - BYTES(0, 0, 0, 0), /* 2B */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES('Q', 'q', ':', ';'), /* 10 */ + BYTES( 'W', 'w', '', ''), /* 11 */ + DEAD(e_descr), /* 12 */ + BYTES('R', 'r', '', ''), /* 13 */ + BYTES('T', 't', '', ''), /* 14 */ + DEAD(y_descr), /* 15 */ + BYTES('U', 'u', '', ''), /* 16 */ + DEAD(i_descr), /* 17 */ + DEAD(o_descr), /* 18 */ + BYTES('P', 'p', '', ''), /* 19 */ + BYTES('{', '[', '{', '['), /* 1A */ + BYTES('}', ']', '}', ']'), /* 1B */ + BYTES(0, 0, '|', '\\'), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + /*---- 3rd QWERTY row - 0x20 to 0x2F */ + DEAD(a_descr), /* 20 */ + BYTES('S', 's', '', ''), /* 21 */ + BYTES('D', 'd', '', ''), /* 22 */ + BYTES('F', 'f', '', ''), /* 23 */ + BYTES('G', 'g', '', ''), /* 24 */ + DEAD(h_descr), /* 25 */ + BYTES('J', 'j', '', ''), /* 26 */ + BYTES('K', 'k', '', ''), /* 27 */ + BYTES('L', 'l', '', ''), /* 28 */ + DEAD(key29_descr), /* 29 */ + BYTES(0, 0, '"', '\''), /* 2A */ + BYTES(0, 0, 0, 0), /* 2B */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ /*---- 4th QWERTY row - 0x30 to 0x3F */ - BYTES(0 , '|', '>', '<'), /* 30 */ - BYTES('Z', 'z', '', ''), /* 31 */ - BYTES('X', 'x', '', ''), /* 32 */ - BYTES('C', 'c', '', ''), /* 33 */ - DEAD(v_descr), /* 34 */ - BYTES('B', 'b', '', ''), /* 35 */ - BYTES('N', 'n', '', ''), /* 36 */ - BYTES('M', 'm', 0xCC, 0xEC), /* 37 */ - BYTES(0, 0, '<', ','), /* 38 */ - BYTES(0, 0, '>', '.'), /* 39 */ - BYTES(0, 0, '?', '/'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES(',', ',', ',', ','), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + BYTES(0 , '|', '>', '<'), /* 30 */ + BYTES('Z', 'z', '', ''), /* 31 */ + BYTES('X', 'x', '', ''), /* 32 */ + BYTES('C', 'c', '', ''), /* 33 */ + DEAD(v_descr), /* 34 */ + BYTES('B', 'b', '', ''), /* 35 */ + BYTES('N', 'n', '', ''), /* 36 */ + BYTES('M', 'm', 0xCC, 0xEC), /* 37 */ + BYTES(0, 0, '<', ','), /* 38 */ + BYTES(0, 0, '>', '.'), /* 39 */ + BYTES(0, 0, '?', '/'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES(',', ',', ',', ','), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" @@ -378,132 +376,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_h.c b/workbench/devs/keymaps/pc105_h.c index 33f14722719..7bc6edd35ef 100644 --- a/workbench/devs/keymaps/pc105_h.c +++ b/workbench/devs/keymaps/pc105_h.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_h") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_hr.c b/workbench/devs/keymaps/pc105_hr.c index 353f622702a..691aae78886 100644 --- a/workbench/devs/keymaps/pc105_hr.c +++ b/workbench/devs/keymaps/pc105_hr.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_hr") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_i.akmd b/workbench/devs/keymaps/pc105_i.akmd new file mode 100644 index 00000000000..986f97bd6b5 --- /dev/null +++ b/workbench/devs/keymaps/pc105_i.akmd @@ -0,0 +1,521 @@ +# Italian PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_i +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KC_VANILLA # 00 +KC_VANILLA # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT|KCF_ALT # 0B +KCF_SHIFT|KCF_ALT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT|KCF_ALT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KC_VANILLA # 29 +KC_VANILLA # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 z +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# standard descriptors .... + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +'', '', '|', '\\' +'', '', '!', '1' +'', '', '"', '2' +'', '', '', '3' +'$', '', '$', '4' +'', '', '%', '5' +'', '', '&', '6' +'{', '{', '/', '7' +'[', '[', '(', '8' +']', ']', ')', '9' +'}', '}', '=', '0' +'`', '`', '?', '\'' +'~', '~', '^', '' +'|', '|', '|', '|' +0, 0, 0, 0 +'0', '0', '0', '0' +'Q', 'q', 'Q', 'q' +'W', 'w', 'W', 'w' +0xA4, 0xA4, 'E', 'e' +'R', 'r', 'R', 'r' +'T', 't', 'T', 't' +'Y', 'y', 'Y', 'y' +'U', 'u', 'U', 'u' +'I', 'i', 'I', 'i' +'O', 'o', 'O', 'o' +'P', 'p', 'P', 'p' +'[', '[', '', '' +']', ']', '*', '+' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'A', 'a', 'A', 'a' +'S', 's', 'S', 's' +'D', 'd', 'D', 'd' +'F', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'K', 'k', 'K', 'k' +'L', 'l', 'L', 'l' +'@', '@', '', '' +'#', '#', '', '' +'', '', '', '' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'', '|', '>', '<' +'<', '', 'Z', 'z' +'>', '', 'X', 'x' +'', '', 'C', 'c' +'V', 'v', 'V', 'v' +'B', 'b', 'B', 'b' +'', '', 'N', 'n' +'', '', 'M', 'm' +'', ',', ';', ',' +'', '', ':', '.' +'_', '-', '_', '-' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_irl.akmd b/workbench/devs/keymaps/pc105_irl.akmd new file mode 100644 index 00000000000..e71bc6999fc --- /dev/null +++ b/workbench/devs/keymaps/pc105_irl.akmd @@ -0,0 +1,523 @@ +# English Irish PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_irl +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0xA6,0xA6,0xAC,0x60 +0xB9,0xA1,'!' ,'1' +0xB2,0xB1,0x22,'2' +0xB3,0, 0xA3,'3' +0xBC,0xA4 ,'$' ,'4' +0xBD,0xA7,'%' ,'5' +0xBE,0x83,0x5E,'6' +0, '{' ,'&' ,'7' +0, '[' ,'*' ,'8' +0, ']' ,'(' ,'9' +0xB0,'}' ,')' ,'0' +0x86,0xBF,'_' ,'-' +0x87,0, '+' ,'=' +0xA6,0xA6,0xAC,0x60 +0, 0, 0, 0 +'0', '0', '0', '0' +0xD8,0xF8,'Q' ,'q' +0, 0, 'W' ,'w' +0xC9,0xE9,'E' ,'e' +0xA9,0xAE,'R' ,'r' +0x89,0x99,'T' ,'t' +0, 0, 'Y' ,'y' +0xDA,0xFA,'U' ,'u' +0xCD,0xED,'I' ,'i' +0xD3,0xF3,'O' ,'o' +0xC6,0xE6,'P' ,'p' +0x8C,0x9C,'{' ,'[' +0xB8,0xA8,'}' ,']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC1,0xE1,'A' ,'a' +0xA4,0xDF,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0, 'G' ,'g' +0, 0, 'H' ,'h' +0x97,0x96,'J' ,'j' +0x84,0x82,'K' ,'k' +0x93,0x91,'L' ,'l' +0x94,0x92,':' ,';' +0x60,0xB4,'@' ,0x27 +0x5E,0x7E,0x7E,'#' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0x7C,0x7C,0x5C +0x87,0xA5,'Z' ,'z' +0xA4,0xD7,'X' ,'x' +0xC7,0xE7,'C' ,'c' +0x8B,0xAB,'V' ,'v' +0x95,0xB7,'B' ,'b' +0x9B,0xBB,'N' ,'n' +0, 0xB5,'M' ,'m' +0, 0, '<' ,',' +0xF7,0x85,'>' ,'.' +0x96,0x97,'?' ,0x2F +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_is.c b/workbench/devs/keymaps/pc105_is.c index 339ef8e8d1a..46d9168bb73 100644 --- a/workbench/devs/keymaps/pc105_is.c +++ b/workbench/devs/keymaps/pc105_is.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_is") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_la.c b/workbench/devs/keymaps/pc105_la.c index 050c8b62410..4a70e9d6186 100644 --- a/workbench/devs/keymaps/pc105_la.c +++ b/workbench/devs/keymaps/pc105_la.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_la") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_lt.akmd b/workbench/devs/keymaps/pc105_lt.akmd new file mode 100644 index 00000000000..5bed538eab3 --- /dev/null +++ b/workbench/devs/keymaps/pc105_lt.akmd @@ -0,0 +1,523 @@ +# Lithuanian PC105 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_lt +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0, 0, 0x7E,0x60 +0, 0xAB,'1' ,'!' +'@' ,0, '2' ,0x22 +'#' ,0, '3' ,0x2F +'$' ,0x80,'4' ,';' +0x7E,0x22,'5' ,':' +0x5E,0x92,'6' ,',' +'{' ,'{' ,'7' ,'.' +'[' ,'[' ,'8' ,'?' +']' ,']' ,'9' ,'(' +'}' ,'}' ,'0' ,')' +0x97,0x96,'-' ,'_' +';' ,'=' ,'=' ,'+' +0, 0, 0x7E,0x60 +0, 0, 0, 0 +'0', '0', '0', '0' +'Q' ,'q' ,0xC0,0xE0 +0xCC,0xEC,0xDE,0xFE +0x80,0x80,'E' ,'e' +0xAA,0xBA,'R' ,'r' +'W' ,'w' ,'T' ,'t' +'Y' ,'y' ,'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0, 0, 'O' ,'o' +0, 0, 'P' ,'p' +'{' ,'[' ,0xC1,0xE1 +'}' ,']' ,0x94,0x93 +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0, 0, 'A' ,'a' +0, 0, 'S' ,'s' +0, 0, 'D' ,'d' +0, 0, 'F' ,'f' +0, 0, 'G' ,'g' +0, 0, 'H' ,'h' +0, 0, 'J' ,'j' +0, 0, 'K' ,'k' +0x80,0x80,'L' ,'l' +0, 0, 0xD8,0xF8 +0x8D,0xB4,0xCB,0xEB +0, 0, 0x7C,0x5C +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0x7C,0x5C,0x7C,0x5C +0, 0, 'Z' ,'z' +'X' ,'x' ,0xDB,0xFB +0, 0, 'C' ,'c' +0xCD,0xED,'V' ,'v' +0, 0, 'B' ,'b' +0xD5,0xF5,'N' ,'n' +0, 0, 'M' ,'m' +0xAB,'<' ,0xC8,0xE8 +0xBB,'>' ,0xD0,0xF0 +0, 0, 0xC6,0xE6 +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_lv.c b/workbench/devs/keymaps/pc105_lv.c index 5aaa151ceda..0ed78e7798c 100644 --- a/workbench/devs/keymaps/pc105_lv.c +++ b/workbench/devs/keymaps/pc105_lv.c @@ -33,138 +33,138 @@ DEFINE_KEYMAP("pc105_lv") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S|A, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S, /* 07 */ - S, /* 08 */ - S, /* 09 */ - S, /* 0A */ - S, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S|A, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S, /* 07 */ + S, /* 08 */ + S, /* 09 */ + S, /* 0A */ + S, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -181,9 +181,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST IPTR lokeymap[] = { @@ -262,132 +262,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_n.c b/workbench/devs/keymaps/pc105_n.c index e7f17a73ce9..5988826dce4 100644 --- a/workbench/devs/keymaps/pc105_n.c +++ b/workbench/devs/keymaps/pc105_n.c @@ -1,9 +1,7 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2011, The AROS Development Team. All rights reserved. Desc: Norsk (Norwegian) PC105 Keymap - Lang: English */ #include "common.h" @@ -32,138 +30,138 @@ DEFINE_KEYMAP("pc105_n") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S|A, /* 07 */ - S|A, /* 08 */ - S|A, /* 09 */ - S|A, /* 0A */ - ST|V, /* 0B */ - S|A, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S|A, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S|A, /* 07 */ + S|A, /* 08 */ + S|A, /* 09 */ + S|A, /* 0A */ + ST|V, /* 0B */ + S|A, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S|A, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -180,9 +178,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST UBYTE key0b_descr[] = { @@ -206,74 +204,74 @@ STATIC CONST UBYTE key0b_descr[] = STATIC CONST IPTR lokeymap[] = { - BYTES('', '', '', '|'), /* 00 Left of 1 Key */ - BYTES('', '1', '!', '1'), /* 01 1 */ - BYTES('@', '@', '"', '2'), /* 02 2 */ - BYTES('', '', '#', '3'), /* 03 3 */ - BYTES('$', '4', '$', '4'), /* 04 4 */ - BYTES('', '', '%', '5'), /* 05 5 */ - BYTES('', '', '&', '6'), /* 06 6 */ - BYTES('{', '{', '/', '7'), /* 07 7 */ - BYTES('[', '[', '(', '8'), /* 08 8 */ - BYTES(']', ']', ')', '9'), /* 09 9 */ - BYTES('}', '}', '=', '0'), /* 0A 0 */ - STRING(key0b_descr), /* 0B Right of 0 */ - BYTES('`', '', '`', '\\'), /* 0C 2nd right of 0 */ - BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ - BYTES('@', '@', 'Q', 'q'), /* 10 */ - BYTES('W', 'w', 'W', 'w'), /* 11 */ - BYTES(EUR, EUR, 'E', 'e'), /* 12 */ - BYTES('R', 'r', 'R', 'r'), /* 13 */ - BYTES('T', 't', 'T', 't'), /* 14 */ - BYTES('Y', 'y', 'Y', 'y'), /* 15 */ - BYTES('U', 'u', 'U', 'u'), /* 16 */ - BYTES('I', 'i', 'I', 'i'), /* 17 */ - BYTES('O', 'o', 'O', 'o'), /* 18 */ - BYTES('P', 'p', 'P', 'p'), /* 19 */ + BYTES('', '', '', '|'), /* 00 Left of 1 Key */ + BYTES('', '1', '!', '1'), /* 01 1 */ + BYTES('@', '@', '"', '2'), /* 02 2 */ + BYTES('', '', '#', '3'), /* 03 3 */ + BYTES('$', '4', '$', '4'), /* 04 4 */ + BYTES('', '', '%', '5'), /* 05 5 */ + BYTES('', '', '&', '6'), /* 06 6 */ + BYTES('{', '{', '/', '7'), /* 07 7 */ + BYTES('[', '[', '(', '8'), /* 08 8 */ + BYTES(']', ']', ')', '9'), /* 09 9 */ + BYTES('}', '}', '=', '0'), /* 0A 0 */ + STRING(key0b_descr), /* 0B Right of 0 */ + BYTES('`', '', '`', '\\'), /* 0C 2nd right of 0 */ + BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + BYTES('@', '@', 'Q', 'q'), /* 10 */ + BYTES('W', 'w', 'W', 'w'), /* 11 */ + BYTES(EUR, EUR, 'E', 'e'), /* 12 */ + BYTES('R', 'r', 'R', 'r'), /* 13 */ + BYTES('T', 't', 'T', 't'), /* 14 */ + BYTES('Y', 'y', 'Y', 'y'), /* 15 */ + BYTES('U', 'u', 'U', 'u'), /* 16 */ + BYTES('I', 'i', 'I', 'i'), /* 17 */ + BYTES('O', 'o', 'O', 'o'), /* 18 */ + BYTES('P', 'p', 'P', 'p'), /* 19 */ - BYTES('', '', '', ''), /* 1A */ - BYTES('^', '~', '', '~'), /* 1B */ - BYTES(0, 0, 0, 0), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + BYTES('', '', '', ''), /* 1A */ + BYTES('^', '~', '', '~'), /* 1B */ + BYTES(0, 0, 0, 0), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - BYTES('A', 'a', 'A', 'a'), /* 20 */ - BYTES('S', 's', 'S', 's'), /* 21 */ - BYTES('D', 'd', 'D', 'd'), /* 22 */ - BYTES('F', 'f', 'F', 'f'), /* 23 */ - BYTES('G', 'g', 'G', 'g'), /* 24 */ - BYTES('H', 'h', 'H', 'h'), /* 25 */ - BYTES('J', 'j', 'J', 'j'), /* 26 */ - BYTES('K', 'k', 'K', 'k'), /* 27 */ - BYTES('L', 'l', 'L', 'l'), /* 28 */ + BYTES('A', 'a', 'A', 'a'), /* 20 */ + BYTES('S', 's', 'S', 's'), /* 21 */ + BYTES('D', 'd', 'D', 'd'), /* 22 */ + BYTES('F', 'f', 'F', 'f'), /* 23 */ + BYTES('G', 'g', 'G', 'g'), /* 24 */ + BYTES('H', 'h', 'H', 'h'), /* 25 */ + BYTES('J', 'j', 'J', 'j'), /* 26 */ + BYTES('K', 'k', 'K', 'k'), /* 27 */ + BYTES('L', 'l', 'L', 'l'), /* 28 */ - BYTES('', '', '', ''), /* 29 */ - BYTES('', '', '', ''), /* 2A */ - BYTES('*', '\'', '*', '\''), /* 2B */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ - BYTES('|', '|', '>', '<'), /* 30 */ - BYTES('Z', 'z', 'Z', 'z'), /* 31 */ - BYTES('X', 'x', 'X', 'x'), /* 32 */ - BYTES('C', 'c', 'C', 'c'), /* 33 */ - BYTES('V', 'v', 'V', 'v'), /* 34 */ - BYTES('B', 'b', 'B', 'b'), /* 35 */ - BYTES('', '', 'N', 'n'), /* 36 */ - BYTES('', '', 'M', 'm'), /* 37 */ + BYTES('', '', '', ''), /* 29 */ + BYTES('', '', '', ''), /* 2A */ + BYTES('*', '\'', '*', '\''), /* 2B */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES('|', '|', '>', '<'), /* 30 */ + BYTES('Z', 'z', 'Z', 'z'), /* 31 */ + BYTES('X', 'x', 'X', 'x'), /* 32 */ + BYTES('C', 'c', 'C', 'c'), /* 33 */ + BYTES('V', 'v', 'V', 'v'), /* 34 */ + BYTES('B', 'b', 'B', 'b'), /* 35 */ + BYTES('', '', 'N', 'n'), /* 36 */ + BYTES('', '', 'M', 'm'), /* 37 */ - BYTES(';', ',', ';', ','), /* 38 */ - BYTES(':', '.', ':', '.'), /* 39 */ - BYTES('_', '-', '_', '-'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES('.', '.', '.', '.'), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + BYTES(';', ',', ';', ','), /* 38 */ + BYTES(':', '.', ':', '.'), /* 39 */ + BYTES('_', '-', '_', '-'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES('.', '.', '.', '.'), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" @@ -281,132 +279,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_nl.akmd b/workbench/devs/keymaps/pc105_nl.akmd new file mode 100644 index 00000000000..861fac79549 --- /dev/null +++ b/workbench/devs/keymaps/pc105_nl.akmd @@ -0,0 +1,523 @@ +# Dutch PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_nl +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0x93,0xAC,0xA7,'@' +0x94,0xB9,'!' ,'1' +0x99,0xB2,0x22,'2' +0xB6,0xB3,'#' ,'3' +0xA3,0xBC,'$' ,'4' +0, 0xBD,'%' ,'5' +0, 0xBE,'&' ,'6' +0, 0xA3,'_' ,'7' +'[' ,'{' ,'(' ,'8' +']' ,'}' ,')' ,'9' +0xAF,0, 0x27,'0' +0xA6,0x5C,'?' ,0x2F +0x88,0xB8,0x7E,0xB0 +0x93,0xAC,0xA7,'@' +0, 0, 0, 0 +'0', '0', '0', '0' +0x91,0x84,'Q' ,'q' +0x92,0x82,'W' ,'w' +0x89,0xA4 ,'E' ,'e' +0, 0xB6,'R' ,'r' +0, 0x86,'T' ,'t' +0, 0, 'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0xD8,0xF8,'O' ,'o' +0xA1,0xBF,'P' ,'p' +0xB0,0x98,0x5E,0xA8 +0xB1,0x7E,0x7C,'*' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC5,0xE5,'A' ,'a' +0, 0xDF,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0xAE,0xA9,'G' ,'g' +0xBA,0xAA,'H' ,'h' +0, 0, 'J' ,'j' +0, 0, 'K' ,'k' +0, 0xAC,'L' ,'l' +0x8C,0x9C,0xB1,'+' +0xC6,0xE6,0x60,0xB4 +0, 0, '>' ,'<' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0xA6,'[' ,']' +0x87,0xAB,'Z' ,'z' +0xA4,0xBB,'X' ,'x' +0xC7,0xA2,'C' ,'c' +0x8A,0x9A,'V' ,'v' +0x8B,0, 'B' ,'b' +0x9B,'' ,'N' ,'n' +0, 0xB5,'M' ,'m' +0xB8,0, ';' ,',' +0x95,0xB7,':' ,'.' +0x96,0xF7,'=' ,'-' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_p.c b/workbench/devs/keymaps/pc105_p.c index e8a6d275127..6071acebf8b 100644 --- a/workbench/devs/keymaps/pc105_p.c +++ b/workbench/devs/keymaps/pc105_p.c @@ -1,9 +1,7 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2011, The AROS Development Team. All rights reserved. Desc: Portuguese PC105 Keymap - Lang: English */ #include "common.h" @@ -32,143 +30,143 @@ DEFINE_KEYMAP("pc105_p") STATIC CONST UBYTE lokeymaptypes[] = { - S|A, /* 00 left of 1 */ + S|A, /* 00 left of 1 */ S|A, /* 01 1 */ V, /* 02 2 */ V, /* 03 3 */ S|A, /* 04 4 */ - S|A, /* 05 */ - S|A, /* 06 */ - S|A, /* 07 */ + S|A, /* 05 */ + S|A, /* 06 */ + S|A, /* 07 */ S|A, /* 08 */ S|A, /* 09 */ - S|A, /* 0A */ - S|A, /* 0B Right of 0 */ - S|A, /* 0C 2nd right of 0 */ - N, /* 0D 3rd right of 0 */ - N, /* 0E undef */ - S|A, /* 0F NUM 0 */ - - V, /* 10 q */ - V, /* 11 w */ - D|V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 y */ - D|V, /* 16 u */ - D|V, /* 17 i */ - D|V, /* 18 o */ - V, /* 19 p */ - - S|A, /* 1A + * */ - D|S|A, /* 1B ` */ - N, /* 1C undefined */ - N, /* 1D NUM 1 */ - N, /* 1E NUM 2 */ - N, /* 1F NUM 3 */ - - D|V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S|A, /* 29 */ - - S|A, /* 2A */ - D|S|A, /* 2B ~ ^ */ - N, /* 2C undefined */ - N, /* 2D NUM 4 */ - N, /* 2E NUM 5 */ - N, /* 2F NUM 6 */ - S|A, /* 30 < > */ - V, /* 31 z */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - - V, /* 37 m */ - S|A, /* 38 , ; */ - S|A, /* 39 . : */ - S, /* 3A - _ */ - N, /* 3B undefined */ - N, /* 3C NUM . */ - N, /* 3D NUM 7 */ - N, /* 3E NUM 8 */ - N, /* 3F NUM 9 */ + S|A, /* 0A */ + S|A, /* 0B Right of 0 */ + S|A, /* 0C 2nd right of 0 */ + N, /* 0D 3rd right of 0 */ + N, /* 0E undef */ + S|A, /* 0F NUM 0 */ + + V, /* 10 q */ + V, /* 11 w */ + D|V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 y */ + D|V, /* 16 u */ + D|V, /* 17 i */ + D|V, /* 18 o */ + V, /* 19 p */ + + S|A, /* 1A + * */ + D|S|A, /* 1B ` */ + N, /* 1C undefined */ + N, /* 1D NUM 1 */ + N, /* 1E NUM 2 */ + N, /* 1F NUM 3 */ + + D|V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S|A, /* 29 */ + + S|A, /* 2A */ + D|S|A, /* 2B ~ ^ */ + N, /* 2C undefined */ + N, /* 2D NUM 4 */ + N, /* 2E NUM 5 */ + N, /* 2F NUM 6 */ + S|A, /* 30 < > */ + V, /* 31 z */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + + V, /* 37 m */ + S|A, /* 38 , ; */ + S|A, /* 39 . : */ + S, /* 3A - _ */ + N, /* 3B undefined */ + N, /* 3C NUM . */ + N, /* 3D NUM 7 */ + N, /* 3E NUM 8 */ + N, /* 3F NUM 9 */ }; STATIC CONST UBYTE hikeymaptypes[] = { - D|S, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + D|S, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -185,9 +183,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) /* dead symbols @@ -195,7 +193,7 @@ STATIC CONST UBYTE hikeymaptypes[] = 2 = ` 3 = ^ 4 = ~ - 5 = " + 5 = " 6 = */ @@ -306,207 +304,207 @@ STATIC CONST UBYTE KEY2B_descr[] = STATIC CONST IPTR lokeymap[] = { - BYTES('|','\\', '|','\\'), /* 00 Left of 1 Key */ - BYTES('', '', '!', '1'), /* 01 1 */ - BYTES('@', '@', '"', '2'), /* 02 2 */ - BYTES('', '', '#', '3'), /* 03 3 */ - BYTES('', '', '$', '4'), /* 04 4 */ - BYTES('%', '5', '%', '5'), /* 05 5 */ - BYTES('&', '6', '&', '6'), /* 06 6 */ - BYTES('{', '{', '/', '7'), /* 07 7 */ - BYTES('[', '[', '(', '8'), /* 08 8 */ - BYTES(']', ']', ')', '9'), /* 09 9 */ - BYTES('}', '}', '=', '0'), /* 0A 0 */ - BYTES('?','\'', '?','\''), /* 0B Right of 0 */ - BYTES('', '', '', ''), /* 0C 2nd right of 0 */ - BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ - - BYTES('Q', 'q', 'Q', 'q'), /* 10 */ - BYTES('W', 'w', 'W', 'w'), /* 11 */ - DEAD(e_descr), /* 12 */ - BYTES('R', 'r', 'R', 'r'), /* 13 */ - BYTES('T', 't', 'T', 't'), /* 14 */ - BYTES('Y', 'y', 'Y', 'y'), /* 15 */ - DEAD(u_descr), /* 16 */ - DEAD(i_descr), /* 17 */ - DEAD(o_descr), /* 18 */ - BYTES('', '', 'P', 'p'), /* 19 */ - BYTES('*', '+', '*', '+'), /* 1A */ - DEAD(KEY1B_descr), /* 1B */ - BYTES(0, 0, 0, 0), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + BYTES('|','\\', '|','\\'), /* 00 Left of 1 Key */ + BYTES('', '', '!', '1'), /* 01 1 */ + BYTES('@', '@', '"', '2'), /* 02 2 */ + BYTES('', '', '#', '3'), /* 03 3 */ + BYTES('', '', '$', '4'), /* 04 4 */ + BYTES('%', '5', '%', '5'), /* 05 5 */ + BYTES('&', '6', '&', '6'), /* 06 6 */ + BYTES('{', '{', '/', '7'), /* 07 7 */ + BYTES('[', '[', '(', '8'), /* 08 8 */ + BYTES(']', ']', ')', '9'), /* 09 9 */ + BYTES('}', '}', '=', '0'), /* 0A 0 */ + BYTES('?','\'', '?','\''), /* 0B Right of 0 */ + BYTES('', '', '', ''), /* 0C 2nd right of 0 */ + BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + + BYTES('Q', 'q', 'Q', 'q'), /* 10 */ + BYTES('W', 'w', 'W', 'w'), /* 11 */ + DEAD(e_descr), /* 12 */ + BYTES('R', 'r', 'R', 'r'), /* 13 */ + BYTES('T', 't', 'T', 't'), /* 14 */ + BYTES('Y', 'y', 'Y', 'y'), /* 15 */ + DEAD(u_descr), /* 16 */ + DEAD(i_descr), /* 17 */ + DEAD(o_descr), /* 18 */ + BYTES('', '', 'P', 'p'), /* 19 */ + BYTES('*', '+', '*', '+'), /* 1A */ + DEAD(KEY1B_descr), /* 1B */ + BYTES(0, 0, 0, 0), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - DEAD(a_descr), /* 20 */ - BYTES('S', 's', 'S', 's'), /* 21 */ - BYTES('D', 'd', 'D', 'd'), /* 22 */ - BYTES('F', 'f', 'F', 'f'), /* 23 */ - BYTES('G', 'g', 'G', 'g'), /* 24 */ - BYTES('H', 'h', 'H', 'h'), /* 25 */ - BYTES('J', 'j', 'J', 'j'), /* 26 */ - BYTES('K', 'k', 'K', 'k'), /* 27 */ - BYTES('L', 'l', 'L', 'l'), /* 28 */ - BYTES('', '', '', ''), /* 29 */ - - BYTES('', '', '', ''), /* 2A */ - DEAD(KEY2B_descr), /* 2B */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ - BYTES('', '|', '>', '<'), /* 30 */ - BYTES('Z', 'z', 'Z', 'z'), /* 31 */ - BYTES('X', 'x', 'X', 'x'), /* 32 */ - BYTES('C', 'c', 'C', 'c'), /* 33 */ - BYTES('V', 'v', 'V', 'v'), /* 34 */ - BYTES('B', 'b', 'B', 'b'), /* 35 */ - BYTES('', '', 'N', 'n'), /* 36 */ - - BYTES('M', 'm', 'M', 'm'), /* 37 */ - BYTES(';', ',', ';', ','), /* 38 */ - BYTES(':', '.', ':', '.'), /* 39 */ - BYTES('_', '-', '_', '-'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES('.', '.', '.', '.'), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + DEAD(a_descr), /* 20 */ + BYTES('S', 's', 'S', 's'), /* 21 */ + BYTES('D', 'd', 'D', 'd'), /* 22 */ + BYTES('F', 'f', 'F', 'f'), /* 23 */ + BYTES('G', 'g', 'G', 'g'), /* 24 */ + BYTES('H', 'h', 'H', 'h'), /* 25 */ + BYTES('J', 'j', 'J', 'j'), /* 26 */ + BYTES('K', 'k', 'K', 'k'), /* 27 */ + BYTES('L', 'l', 'L', 'l'), /* 28 */ + BYTES('', '', '', ''), /* 29 */ + + BYTES('', '', '', ''), /* 2A */ + DEAD(KEY2B_descr), /* 2B */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES('', '|', '>', '<'), /* 30 */ + BYTES('Z', 'z', 'Z', 'z'), /* 31 */ + BYTES('X', 'x', 'X', 'x'), /* 32 */ + BYTES('C', 'c', 'C', 'c'), /* 33 */ + BYTES('V', 'v', 'V', 'v'), /* 34 */ + BYTES('B', 'b', 'B', 'b'), /* 35 */ + BYTES('', '', 'N', 'n'), /* 36 */ + + BYTES('M', 'm', 'M', 'm'), /* 37 */ + BYTES(';', ',', ';', ','), /* 38 */ + BYTES(':', '.', ':', '.'), /* 39 */ + BYTES('_', '-', '_', '-'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES('.', '.', '.', '.'), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" STATIC CONST IPTR hikeymap[] = { - DEAD(space_descr), /* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + DEAD(space_descr), /* 40 SPACE */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_pl.akmd b/workbench/devs/keymaps/pc105_pl.akmd new file mode 100644 index 00000000000..ac43b20f0fa --- /dev/null +++ b/workbench/devs/keymaps/pc105_pl.akmd @@ -0,0 +1,523 @@ +# Polish PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_pl +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +'', '`', '~', '`' +'!', '1', '!', '1' +'', '', '@', '2' +'', '', '#', '3' +0xA4, 0xA4, '$', '4' +'%', '5', '%', '5' +'^', '6', '^', '6' +'&', '7', '&', '7' +'*', '8', '*', '8' +'(', '9', '(', '9' +')', '0', ')', '0' +'_', '-', '_', '-' +'+', '=', '+', '=' +'|', '|', '|', '|' +0, 0, 0, 0 +'0', '0', '0', '0' +'@', '@', 'Q', 'q' +'W', 'w', 'W', 'w' +0xCA, 0xEA, 'E', 'e' +'', '', 'R', 'r' +'', '', 'T', 't' +'Y', 'y', 'Y', 'y' +'', '', 'U', 'u' +'', '', 'I', 'i' +'', '', 'O', 'o' +'P', 'p', 'P', 'p' +'{', '[', '{', '[' +'}', ']', '}', ']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xA1, 0xB1, 'A', 'a' +0xA6, 0xB6, 'S', 's' +'D', 'd', 'D', 'd' +'F', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'K', 'k', 'K', 'k' +0xA3, 0xB3, 'L', 'l' +':', ';', ':', ';' +'"','\'', '"','\'' +'~', '#', '|', '\\' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'|','\\', '|','\\' +0xAF, 0xBF, 'Z', 'z' +0xAC, 0xBC, 'X', 'x' +0xC6, 0xE6, 'C', 'c' +'V', 'v', 'V', 'v' +'B', 'b', 'B', 'b' +0xd1, 0xF1, 'N', 'n' +'', '', 'M', 'm' +'<', ',', '<', ',' +'>', '.', '>', '.' +'?', '/', '?', '/' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_ro.akmd b/workbench/devs/keymaps/pc105_ro.akmd new file mode 100644 index 00000000000..d293b8a3822 --- /dev/null +++ b/workbench/devs/keymaps/pc105_ro.akmd @@ -0,0 +1,523 @@ +# Romanian PC105 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_ro +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +'~' ,'`' ,0xB5,0xA5 +0x94,'~' ,'!' ,'1' +0x99,0xA1,'@' ,'2' +0xB6,'^' ,'#' ,'3' +0xA3,'$' ,'$' ,'4' +0xBC,0xB0,'%' ,'5' +0xBD,0, '^' ,'6' +0xBE,'{' ,'&' ,'7' +0, '[' ,'*' ,'8' +0, ']' ,'(' ,'9' +0xAF,'}' ,')' ,'0' +0xA6,0x5C,'_' ,'-' +0x88,0xB1,'+' ,'=' +0x93,0xB0,0xA8,0xB0 +0, 0, 0, 0 +'0', '0', '0', '0' +0x91,'@' ,'Q' ,'q' +0x92,0x82,'W' ,'w' +0x89,0x80,'E' ,'e' +0, 0xAE,'R' ,'r' +0, 0x86,'T' ,'t' +0, 0, 'Y' ,'y' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0xD8,0xF8,'O' ,'o' +0, 0xA7,'P' ,'p' +'{' ,'[' ,0xC3,0xE3 +'}' ,']' ,0xCE,0xEE +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC5,0xE5,'A' ,'a' +0x8A,0xDF,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0xA9,'G' ,'g' +0, 0xAA,'H' ,'h' +0, 0xBA,'J' ,'j' +0, 0, 'K' ,'k' +0xA3,0xB3,'L' ,'l' +':' ,';' ,0xAA,0xBA +'"' ,'\'',0xDE,0xFE +'|' ,'\\',0xC2,0xE2 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0, 0x7C,'|' ,'\\' +0x87,0xA5,'Z' ,'z' +0xA4,0xD7,'X' ,'x' +0xC7,0xE7,'C' ,'c' +0x8B,0xAB,'V' ,'v' +0x95,0xB7,'B' ,'b' +0x9B,0xBB,'N' ,'n' +0, 0xB5,'M' ,'m' +0xAB,'<' ,';' ,',' +0xBB,'>' ,':' ,'.' +0x96,0x97,'?' ,'/' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_rus.akmd b/workbench/devs/keymaps/pc105_rus.akmd new file mode 100644 index 00000000000..6e628715d81 --- /dev/null +++ b/workbench/devs/keymaps/pc105_rus.akmd @@ -0,0 +1,523 @@ +# Russian PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_rus +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 */ +KCF_SHIFT # 01 */ +KCF_SHIFT|KCF_ALT # 02 */ +KCF_SHIFT|KCF_ALT # 03 */ +KCF_SHIFT|KCF_ALT # 04 */ +KCF_SHIFT # 05 */ +KCF_SHIFT # 06 */ +KCF_SHIFT # 07 */ +KCF_SHIFT # 08 */ +KCF_SHIFT # 09 */ +KCF_SHIFT # 0A */ +KCF_SHIFT # 0B */ +KCF_SHIFT # 0C */ +KC_NOQUAL # 0D */ +KC_NOQUAL # 0E */ +KCF_SHIFT|KCF_ALT # 0F */ +KC_VANILLA # 10 q */ +KC_VANILLA # 11 w */ +KC_VANILLA # 12 e */ +KC_VANILLA # 13 r */ +KC_VANILLA # 14 t */ +KC_VANILLA # 15 z */ +KC_VANILLA # 16 u */ +KC_VANILLA # 17 i */ +KC_VANILLA # 18 o */ +KC_VANILLA # 19 p */ +KCF_SHIFT # 1A */ +KCF_SHIFT|KCF_ALT # 1B */ +KCF_SHIFT|KCF_ALT # 1C */ +KCF_SHIFT|KCF_ALT # 1D */ +KCF_SHIFT|KCF_ALT # 1E */ +KCF_SHIFT|KCF_ALT # 1F */ +KC_VANILLA # 20 a */ +KC_VANILLA # 21 s */ +KC_VANILLA # 22 d */ +KC_VANILLA # 23 f */ +KC_VANILLA # 24 g */ +KC_VANILLA # 25 h */ +KC_VANILLA # 26 j */ +KC_VANILLA # 27 k */ +KC_VANILLA # 28 l */ +KCF_SHIFT # 29 */ +KCF_SHIFT # 2A */ +KCF_SHIFT # 2B */ +KC_NOQUAL # 2C */ +KC_NOQUAL # 2D */ +KC_NOQUAL # 2E */ +KC_NOQUAL # 2F */ +KCF_SHIFT|KCF_ALT # 30 */ +KC_VANILLA # 31 y */ +KC_VANILLA # 32 x */ +KC_VANILLA # 33 c */ +KC_VANILLA # 34 v */ +KC_VANILLA # 35 b */ +KC_VANILLA # 36 n */ +KC_VANILLA # 37 m */ +KCF_SHIFT|KCF_ALT # 38 */ +KCF_SHIFT|KCF_ALT # 39 */ +KCF_SHIFT # 3A */ +KC_NOQUAL # 3B */ +KC_NOQUAL # 3C */ +KC_NOQUAL # 3D */ +KC_NOQUAL # 3E */ +KC_NOQUAL # 3F */ +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE */ +KC_NOQUAL # 41 BACKSPACE */ +KCF_STRING|KCF_SHIFT # 42 TAB */ +KC_NOQUAL # 43 ENTER */ +KCF_CONTROL # 44 RETURN */ +KCF_ALT # 45 ESCAPE */ +KC_NOQUAL # 46 DEL */ +KCF_STRING|KCF_SHIFT # 47 INSERT ?? */ +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? */ +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? */ +KC_NOQUAL # 4A NUMERIC PAD - */ +KCF_STRING|KCF_SHIFT # 4B F11 ?? */ +KCF_STRING|KCF_SHIFT # 4C CURSORUP*/ +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN */ +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT */ +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT */ +KCF_STRING|KCF_SHIFT # 50 F1 */ +KCF_STRING|KCF_SHIFT # 51 F2 */ +KCF_STRING|KCF_SHIFT # 52 F3 */ +KCF_STRING|KCF_SHIFT # 53 F4 */ +KCF_STRING|KCF_SHIFT # 54 F5 */ +KCF_STRING|KCF_SHIFT # 55 F6 */ +KCF_STRING|KCF_SHIFT # 56 F7 */ +KCF_STRING|KCF_SHIFT # 57 F8 */ +KCF_STRING|KCF_SHIFT # 58 F9 */ +KCF_STRING|KCF_SHIFT # 59 F10 */ +KCF_NOP # 5A NUMLOCK */ +KC_NOQUAL # 5B NUMPAD ) */ +KC_NOQUAL # 5C NUMPAD / */ +KC_NOQUAL # 5D NUMPAD * */ +KC_NOQUAL # 5E NUMPAD + */ +KCF_STRING # 5F HELP */ +KCF_NOP # 60 LEFT SHIFT*/ +KCF_NOP # 61 RIGHT SHIFT */ +KCF_NOP # 62 CAPS LOCK */ +KCF_NOP # 63 CONTROL */ +KCF_NOP # 64 LALT */ +KCF_NOP # 65 RALT */ +KCF_NOP # 66 LCOMMAND */ +KCF_NOP # 67 RCOMMAND */ +KCF_NOP # 68 LEFT MOUSE BUTTON*/ +KCF_NOP # 69 RIGHT MOUSE BUTTON */ +KCF_NOP # 6A MIDDLE MOUSE BUTTON */ +KCF_NOP # 6B */ +KCF_NOP # 6C */ +KCF_NOP # 6D */ +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ??*/ +KCF_STRING|KCF_SHIFT # 6F F12 ?? */ +KCF_STRING|KCF_CONTROL # 70 HOME ?? */ +KCF_STRING|KCF_CONTROL # 71 END ?? */ +KCF_NOP # 72 */ +KCF_NOP # 73 */ +KCF_NOP # 74 */ +KCF_NOP # 75 */ +KCF_NOP # 76 */ +KCF_NOP # 77 */ +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0xA6,0x7E,0xA8,0xB8 +0xB9,0xB1,'!' ,'1' +0xB2,'@' ,0x22,'2' +0xB3,0xA1,0xB9,'3' +0xBC,'$' ,';' ,'4' +0xBD,0xBF,'%' ,'5' +0xBE,0x5E,':' ,'6' +0x83,'&' ,'?' ,'7' +0xAB,0x8B,'*' ,'8' +0xBB,0x9B,'(' ,'9 +0x84,0x82,')' ,'0' +0x93,0x91,'_' ,'-' +0x94,0x92,'+' ,'=' +'|', '\\','/' ,'\\' +0, 0, 0, 0 +'0', '0', '0', '0' +'Q' ,'q' ,0xC9,0xE9 +'W' ,'w' ,0xD6,0xF6 +'E' ,'e' ,0xD3,0xF3 +'R' ,'r' ,0xCA,0xEA +'T' ,'t' ,0xC5,0xE5 +'Y' ,'y' ,0xCD,0xED +'U' ,'u' ,0xC3,0xE3 +'I' ,'i' ,0xD8,0xF8 +'O' ,'o' ,0xD9,0xF9 +'P' ,'p' ,0xC7,0xE7 +'{' ,'[' ,0xD5,0xF5 +'}' ,']' ,0xDA,0xFA +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'A' ,'a' ,0xD4,0xF4 +'S' ,'s' ,0xDB,0xFB +'D' ,'d' ,0xC2,0xE2 +'F' ,'f' ,0xC0,0xE0 +'G' ,'g' ,0xCF,0xEF +'H' ,'h' ,0xD0,0xF0 +'J' ,'j' ,0xCE,0xEE +'K' ,'k' ,0xCB,0xEB +'L' ,'l' ,0xC4,0xE4 +':' ,';' ,0xC6,0xE6 +0x22,0x27,0xDD,0xFD +0x7C,0x5C,0x2F,0x5C +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'>' ,'<' ,0x7C,0x5C +'Z' ,'z' ,0xDF,0xFF +'X' ,'x' ,0xD7,0xF7 +'C' ,'c' ,0xD1,0xF1 +'V' ,'v' ,0xCC,0xEC +'B' ,'b' ,0xC8,0xE8 +'N' ,'n' ,0xD2,0xF2 +'M' ,'m' ,0xDC,0xFC +'<' ,',' ,0xC1,0xE1 +'>' ,'.' ,0xDE,0xFE +'?' ,0x2F,',' ,'.' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +1, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 */ +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F */ +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 */ +1, 1, 1, 0, 0, 0, 0, 0 # 18 - 1F */ +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 */ +1, 1, 1, 1, 0, 0, 0, 0 # 28 - 2F */ +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 */ +1, 1, 0, 0, 0, 0, 0, 0 # 38 - 3F */ +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 */ +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F */ +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 */ +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F */ +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 */ +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F */ +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 */ +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F */ +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 */ +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F */ +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 */ +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F */ +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 */ +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F */ +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 */ +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 */ +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F */ +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 */ +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F */ +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 */ +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F */ +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 */ +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_s.akmd b/workbench/devs/keymaps/pc105_s.akmd new file mode 100644 index 00000000000..1a85dace585 --- /dev/null +++ b/workbench/devs/keymaps/pc105_s.akmd @@ -0,0 +1,672 @@ +# Swedish PC105 Amiga keymap descriptor +# Copyright 2024 Johan Gill. +# v1.0 + +## begin config +keymap: pc105_s +## end config + +## begin lokeymaptypes +KCF_SHIFT|KCF_ALT # 00 +KCF_SHIFT|KCF_ALT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT|KCF_ALT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_DEAD|KC_VANILLA # 0B +KCF_DEAD|KCF_SHIFT|KCF_ALT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KCF_DEAD|KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KCF_DEAD|KC_VANILLA # 15 y +KCF_DEAD|KC_VANILLA # 16 u +KCF_DEAD|KC_VANILLA # 17 i +KCF_DEAD|KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT|KCF_ALT # 1A +KCF_DEAD|KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KCF_DEAD|KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT|KCF_ALT # 29 +KCF_SHIFT|KCF_ALT # 2A +KCF_SHIFT|KCF_ALT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 z +KC_VANILLA # 32 x +KCF_DEAD|KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KCF_DEAD|KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_DEAD|KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KCF_SHIFT # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KCF_DEAD|KCF_ALT # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +## begin deadkey +id: KEY0B_descr +0, '+', +0, '?', +0, '\\', +0, 0, +0, 0, +0, 0, +0, 0x1C, +0, 0, +## end deadkey + +## begin deadkey +id: KEY0C_descr +8, 1, +8, 2, +0, '', +0, '' +## end deadkey + +## begin deadkey +id: KEY12_descr +1, 0x10, +1, 0x17, +0, 0xA4, +0, 0xA2, +0, 0x5, +0, 0, +0, 0, +0, 0, +'e', '', '', '', '', 0, 0, +'E', '', '', '', '', 0, 0 +## end deadkey + +## begin deadkey +id: KEY15_descr +1, 0x10, +1, 0x17, +0, 0xA5, +0, 0xA5, +0, 0x19, +0, 0, +0, 0, +0, 0, +'y', '', 0, '', 0, 0, 0, +'Y', '', 0, 0, 0, 0, 0 +## end deadkey + +## begin deadkey +id: KEY16_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x15, +0, 0, +0, 0, +0, 0, +'u', '', '', '', '', 0, 0, +'U', '', '', '', '', 0, 0 +## end deadkey + +## begin deadkey +id: KEY17_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x9, +0, 0, +0, 0, +0, 0, +'i', '', '', '', '', 0, 0, +'I', '', '', '', '', 0, 0 +## end deadkey + +## begin deadkey +id: KEY18_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0xF, +0, 0, +0, 0, +0, 0, +'o', '', '', '', '', '', 0, +'O', '', '', '', '', '', 0 +## end deadkey + +## begin deadkey +id: KEY1B_descr +8, 3, +8, 4, +8, 5, +0, 0 +## end deadkey + +## begin deadkey +id: KEY20_descr +1, 0x10, +1, 0x17, +0, 0xAA, +0, 0xBA, +0, 0x1, +0, 0, +0, 0, +0, 0, +'a', '', '', '', '', '', 0, +'A', '', '', '', '', '', 0 +## end deadkey + +## begin deadkey +id: KEY33_descr +1, 0x10, +1, 0x17, +0, '', +0, '', +0, 0x3, +0, 0, +0, 0, +0, 0, +'c', 0, 0, 0, 0, 0, '', +'C', 0, 0, 0, 0, 0, '' +## end deadkey + +## begin deadkey +id: KEY36_descr +1, 0x10, +1, 0x17, +0, '-', +0, 0xAF, +0, 0xE, +0, 0, +0, 0, +0, 0, +'n', 0, 0, 0, 0, '', 0, +'N', 0, 0, 0, 0, '', 0 +## end deadkey + +## begin deadkey +id: KEY38_descr +0, ',', +0, ';', +8, 6, +0, 0 +## end deadkey + +## begin deadkey +id: space_descr +1, 0x4, +0, 0xA0, +' ', '', '`', 0xA8, '^', '~', '' +## end deadkey + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# map tables .... + +## begin lokeymap +'' ,0xB6,0xBD,0xA7 +'' ,'' ,'!' ,'1' +'' ,'@' ,0x22,'2' +'' ,0xA3,'#' ,'3' +'' ,'$' ,0xA4,'4' +'' ,0xA4,'%' ,'5' +0 ,'' ,'&' ,'6' +'' ,'{' ,0x2F,'7' +'' ,'[' ,'(' ,'8' +'' ,']' ,')' ,'9' +'' ,'}' ,'=' ,'0' +id:KEY0B_descr +id:KEY0C_descr +0 ,0 ,0xBD,0xA7 +0 ,0 ,0 ,0 +'0' ,'0' ,'0' ,'0' +'@' ,'@' ,'Q' ,'q' +'W' ,'w' ,'W' ,'w' +id:KEY12_descr +0xAE,0xAE,'R' ,'r' +0xDE,0xFE,'T' ,'t' +id:KEY15_descr +id:KEY16_descr +id:KEY17_descr +id:KEY18_descr +0xDE,0xFE,'P' ,'p' +0xB0,0xB0,'' ,'' +id:KEY1B_descr +0 ,0 ,0 ,0 +'1' ,'1' ,'1' ,'1' +'2' ,'2' ,'2' ,'2' +'3' ,'3' ,'3' ,'3' +id:KEY20_descr +0xA7,0xDF,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +'G' ,'g' ,'G' ,'g' +'H' ,'h' ,'H' ,'h' +'J' ,'j' ,'J' ,'j' +'K' ,'k' ,'K' ,'k' +'L' ,'l' ,'L' ,'l' +'' ,'' ,'' ,'' +'' ,'' ,'' ,'' +0xD7,0xB4,'*' ,0x27 +0 ,0 ,0 ,0 +'4' ,'4' ,'4' ,'4' +'5' ,'5' ,'5' ,'5' +'6' ,'6' ,'6' ,'6' +'' ,'|' ,'>' ,'<' +0x3C,0xAB,'Z' ,'z' +0x3E,0xBB,'X' ,'x' +id:KEY33_descr +'V' ,'v' ,'V' ,'v' +'B' ,'b' ,'B' ,'b' +id:KEY36_descr +'' ,'' ,'M' ,'m' +id:KEY38_descr +0 ,'' ,':' ,'.' +0 ,0 ,'_' ,'-' +0 ,0 ,0 ,0 +0 ,0 ,'.', ',' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +id:space_descr +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_s.c b/workbench/devs/keymaps/pc105_s.c index 28a647b56e9..cf99010ad52 100644 --- a/workbench/devs/keymaps/pc105_s.c +++ b/workbench/devs/keymaps/pc105_s.c @@ -1,9 +1,7 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. - $Id$ + Copyright (C) 1995-2011, The AROS Development Team. All rights reserved. Desc: Svensk (Swedish) PC105 Keymap - Lang: English */ #include "common.h" @@ -32,138 +30,138 @@ DEFINE_KEYMAP("pc105_s") STATIC CONST UBYTE lokeymaptypes[] = { - S, /* 00 */ - S, /* 01 */ - S|A, /* 02 */ - S|A, /* 03 */ - S, /* 04 */ - S, /* 05 */ - S, /* 06 */ - S|A, /* 07 */ - S|A, /* 08 */ - S|A, /* 09 */ - S|A, /* 0A */ - ST|V, /* 0B */ - S, /* 0C */ - N, /* 0D */ - N, /* 0E */ - S|A, /* 0F */ - V, /* 10 q */ - V, /* 11 w */ - V, /* 12 e */ - V, /* 13 r */ - V, /* 14 t */ - V, /* 15 z */ - V, /* 16 u */ - V, /* 17 i */ - V, /* 18 o */ - V, /* 19 p */ - S|A, /* 1A */ - S|A, /* 1B */ - S|A, /* 1C */ - S|A, /* 1D */ - S|A, /* 1E */ - S|A, /* 1F */ - V, /* 20 a */ - V, /* 21 s */ - V, /* 22 d */ - V, /* 23 f */ - V, /* 24 g */ - V, /* 25 h */ - V, /* 26 j */ - V, /* 27 k */ - V, /* 28 l */ - S, /* 29 */ - S, /* 2A */ - S, /* 2B */ - N, /* 2C */ - N, /* 2D */ - N, /* 2E */ - N, /* 2F */ - S|A, /* 30 */ - V, /* 31 y */ - V, /* 32 x */ - V, /* 33 c */ - V, /* 34 v */ - V, /* 35 b */ - V, /* 36 n */ - V, /* 37 m */ - S|A, /* 38 */ - S|A, /* 39 */ - S, /* 3A */ - N, /* 3B */ - N, /* 3C */ - N, /* 3D */ - N, /* 3E */ - N, /* 3F */ + S, /* 00 */ + S, /* 01 */ + S|A, /* 02 */ + S|A, /* 03 */ + S, /* 04 */ + S, /* 05 */ + S, /* 06 */ + S|A, /* 07 */ + S|A, /* 08 */ + S|A, /* 09 */ + S|A, /* 0A */ + ST|V, /* 0B */ + S, /* 0C */ + N, /* 0D */ + N, /* 0E */ + S|A, /* 0F */ + V, /* 10 q */ + V, /* 11 w */ + V, /* 12 e */ + V, /* 13 r */ + V, /* 14 t */ + V, /* 15 z */ + V, /* 16 u */ + V, /* 17 i */ + V, /* 18 o */ + V, /* 19 p */ + S|A, /* 1A */ + S|A, /* 1B */ + S|A, /* 1C */ + S|A, /* 1D */ + S|A, /* 1E */ + S|A, /* 1F */ + V, /* 20 a */ + V, /* 21 s */ + V, /* 22 d */ + V, /* 23 f */ + V, /* 24 g */ + V, /* 25 h */ + V, /* 26 j */ + V, /* 27 k */ + V, /* 28 l */ + S, /* 29 */ + S, /* 2A */ + S, /* 2B */ + N, /* 2C */ + N, /* 2D */ + N, /* 2E */ + N, /* 2F */ + S|A, /* 30 */ + V, /* 31 y */ + V, /* 32 x */ + V, /* 33 c */ + V, /* 34 v */ + V, /* 35 b */ + V, /* 36 n */ + V, /* 37 m */ + S|A, /* 38 */ + S|A, /* 39 */ + S, /* 3A */ + N, /* 3B */ + N, /* 3C */ + N, /* 3D */ + N, /* 3E */ + N, /* 3F */ }; STATIC CONST UBYTE hikeymaptypes[] = { - N, /* 40 SPACE */ - N, /* 41 BACKSPACE */ - ST|S, /* 42 TAB */ - N, /* 43 ENTER */ - C, /* 44 RETURN */ - A, /* 45 ESCAPE */ - N, /* 46 DEL */ - ST|S, /* 47 INSERT ?? */ - ST|S, /* 48 PAGE UP ?? */ - ST|S, /* 49 PAGE DOWN ?? */ - N, /* 4A NUMERIC PAD - */ - ST|S, /* 4B F11 ?? */ - ST|S, /* 4C CURSORUP*/ - ST|S, /* 4D CURSORDOWN */ - ST|S, /* 4E CURSORRIGHT */ - ST|S, /* 4F CURSORLEFT */ - ST|S, /* 50 F1 */ - ST|S, /* 51 F2 */ - ST|S, /* 52 F3 */ - ST|S, /* 53 F4 */ - ST|S, /* 54 F5 */ - ST|S, /* 55 F6 */ - ST|S, /* 56 F7 */ - ST|S, /* 57 F8 */ - ST|S, /* 58 F9 */ - ST|S, /* 59 F10 */ - NOP, /* 5A NUMLOCK */ - N, /* 5B NUMPAD ) */ - N, /* 5C NUMPAD / */ - N, /* 5D NUMPAD * */ - N, /* 5E NUMPAD + */ - ST, /* 5F HELP */ - NOP, /* 60 LEFT SHIFT*/ - NOP, /* 61 RIGHT SHIFT */ - NOP, /* 62 CAPS LOCK */ - NOP, /* 63 CONTROL */ - NOP, /* 64 LALT */ - NOP, /* 65 RALT */ - NOP, /* 66 LCOMMAND */ - NOP, /* 67 RCOMMAND */ - NOP, /* 68 LEFT MOUSE BUTTON*/ - NOP, /* 69 RIGHT MOUSE BUTTON */ - NOP, /* 6A MIDDLE MOUSE BUTTON */ - NOP, /* 6B */ - NOP, /* 6C */ - NOP, /* 6D */ - ST|A, /* 6E PAUSE/BREAK ??*/ - ST|S, /* 6F F12 ?? */ - ST|C, /* 70 HOME ?? */ - ST|C, /* 71 END ?? */ - NOP, /* 72 */ - NOP, /* 73 */ - NOP, /* 74 */ - NOP, /* 75 */ - NOP, /* 76 */ - NOP, /* 77 */ - NOP, /* 78 */ - NOP, /* 79 */ - NOP, /* 7A */ - NOP, /* 7B */ - NOP, /* 7C */ - NOP, /* 7D */ - NOP, /* 7E */ - NOP /* 7F */ + N, /* 40 SPACE */ + N, /* 41 BACKSPACE */ + ST|S, /* 42 TAB */ + N, /* 43 ENTER */ + C, /* 44 RETURN */ + A, /* 45 ESCAPE */ + N, /* 46 DEL */ + ST|S, /* 47 INSERT ?? */ + ST|S, /* 48 PAGE UP ?? */ + ST|S, /* 49 PAGE DOWN ?? */ + N, /* 4A NUMERIC PAD - */ + ST|S, /* 4B F11 ?? */ + ST|S, /* 4C CURSORUP*/ + ST|S, /* 4D CURSORDOWN */ + ST|S, /* 4E CURSORRIGHT */ + ST|S, /* 4F CURSORLEFT */ + ST|S, /* 50 F1 */ + ST|S, /* 51 F2 */ + ST|S, /* 52 F3 */ + ST|S, /* 53 F4 */ + ST|S, /* 54 F5 */ + ST|S, /* 55 F6 */ + ST|S, /* 56 F7 */ + ST|S, /* 57 F8 */ + ST|S, /* 58 F9 */ + ST|S, /* 59 F10 */ + NOP, /* 5A NUMLOCK */ + N, /* 5B NUMPAD ) */ + N, /* 5C NUMPAD / */ + N, /* 5D NUMPAD * */ + N, /* 5E NUMPAD + */ + ST, /* 5F HELP */ + NOP, /* 60 LEFT SHIFT*/ + NOP, /* 61 RIGHT SHIFT */ + NOP, /* 62 CAPS LOCK */ + NOP, /* 63 CONTROL */ + NOP, /* 64 LALT */ + NOP, /* 65 RALT */ + NOP, /* 66 LCOMMAND */ + NOP, /* 67 RCOMMAND */ + NOP, /* 68 LEFT MOUSE BUTTON*/ + NOP, /* 69 RIGHT MOUSE BUTTON */ + NOP, /* 6A MIDDLE MOUSE BUTTON */ + NOP, /* 6B */ + NOP, /* 6C */ + NOP, /* 6D */ + ST|A, /* 6E PAUSE/BREAK ??*/ + ST|S, /* 6F F12 ?? */ + ST|C, /* 70 HOME ?? */ + ST|C, /* 71 END ?? */ + NOP, /* 72 */ + NOP, /* 73 */ + NOP, /* 74 */ + NOP, /* 75 */ + NOP, /* 76 */ + NOP, /* 77 */ + NOP, /* 78 */ + NOP, /* 79 */ + NOP, /* 7A */ + NOP, /* 7B */ + NOP, /* 7C */ + NOP, /* 7D */ + NOP, /* 7E */ + NOP /* 7F */ }; #undef N @@ -180,9 +178,9 @@ STATIC CONST UBYTE hikeymaptypes[] = #undef BYTES #define STRING(x) (IPTR)x -#define DEAD(x) (IPTR)x +#define DEAD(x) (IPTR)x #define BYTES(b0, b1, b2, b3) \ - (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) + (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0) STATIC CONST UBYTE key0b_descr[] = { @@ -207,74 +205,74 @@ STATIC CONST UBYTE key0b_descr[] = STATIC CONST IPTR lokeymap[] = { - BYTES('', '', '', ''), /* 00 Left of 1 Key */ - BYTES('', '1', '!', '1'), /* 01 1 */ - BYTES('@', '@', '"', '2'), /* 02 2 */ - BYTES('', '', '#', '3'), /* 03 3 */ - BYTES('$', '4', '$', '4'), /* 04 4 */ - BYTES('', '', '%', '5'), /* 05 5 */ - BYTES('', '', '&', '6'), /* 06 6 */ - BYTES('{', '{', '/', '7'), /* 07 7 */ - BYTES('[', '[', '(', '8'), /* 08 8 */ - BYTES(']', ']', ')', '9'), /* 09 9 */ - BYTES('}', '}', '=', '0'), /* 0A 0 */ - STRING(key0b_descr), /* 0B Right of 0 */ - BYTES('`', '', '`', ''), /* 0C 2nd right of 0 */ - BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ - BYTES(0, 0, 0, 0), /* 0E undefined */ - BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ - BYTES('@', '@', 'Q', 'q'), /* 10 */ - BYTES('W', 'w', 'W', 'w'), /* 11 */ - BYTES(EUR, EUR, 'E', 'e'), /* 12 */ - BYTES('R', 'r', 'R', 'r'), /* 13 */ - BYTES('T', 't', 'T', 't'), /* 14 */ - BYTES('Y', 'y', 'Y', 'y'), /* 15 */ - BYTES('U', 'u', 'U', 'u'), /* 16 */ - BYTES('I', 'i', 'I', 'i'), /* 17 */ - BYTES('O', 'o', 'O', 'o'), /* 18 */ - BYTES('P', 'p', 'P', 'p'), /* 19 */ + BYTES('', '', '', ''), /* 00 Left of 1 Key */ + BYTES('', '1', '!', '1'), /* 01 1 */ + BYTES('@', '@', '"', '2'), /* 02 2 */ + BYTES('', '', '#', '3'), /* 03 3 */ + BYTES('$', '4', '$', '4'), /* 04 4 */ + BYTES('', '', '%', '5'), /* 05 5 */ + BYTES('', '', '&', '6'), /* 06 6 */ + BYTES('{', '{', '/', '7'), /* 07 7 */ + BYTES('[', '[', '(', '8'), /* 08 8 */ + BYTES(']', ']', ')', '9'), /* 09 9 */ + BYTES('}', '}', '=', '0'), /* 0A 0 */ + STRING(key0b_descr), /* 0B Right of 0 */ + BYTES('`', '', '`', ''), /* 0C 2nd right of 0 */ + BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */ + BYTES(0, 0, 0, 0), /* 0E undefined */ + BYTES('0', '0', '0', '0'), /* 0F NUM 0 */ + BYTES('@', '@', 'Q', 'q'), /* 10 */ + BYTES('W', 'w', 'W', 'w'), /* 11 */ + BYTES(EUR, EUR, 'E', 'e'), /* 12 */ + BYTES('R', 'r', 'R', 'r'), /* 13 */ + BYTES('T', 't', 'T', 't'), /* 14 */ + BYTES('Y', 'y', 'Y', 'y'), /* 15 */ + BYTES('U', 'u', 'U', 'u'), /* 16 */ + BYTES('I', 'i', 'I', 'i'), /* 17 */ + BYTES('O', 'o', 'O', 'o'), /* 18 */ + BYTES('P', 'p', 'P', 'p'), /* 19 */ - BYTES('', '', '', ''), /* 1A */ - BYTES('^', '~', '', '~'), /* 1B */ - BYTES(0, 0, 0, 0), /* 1C undefined */ - BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ - BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ - BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ + BYTES('', '', '', ''), /* 1A */ + BYTES('^', '~', '', '~'), /* 1B */ + BYTES(0, 0, 0, 0), /* 1C undefined */ + BYTES('1', '1', '1', '1'), /* 1D NUM 1*/ + BYTES('2', '2', '2', '2'), /* 1E NUM 2*/ + BYTES('3', '3', '3', '3'), /* 1F NUM 3*/ - BYTES('A', 'a', 'A', 'a'), /* 20 */ - BYTES('S', 's', 'S', 's'), /* 21 */ - BYTES('D', 'd', 'D', 'd'), /* 22 */ - BYTES('F', 'f', 'F', 'f'), /* 23 */ - BYTES('G', 'g', 'G', 'g'), /* 24 */ - BYTES('H', 'h', 'H', 'h'), /* 25 */ - BYTES('J', 'j', 'J', 'j'), /* 26 */ - BYTES('K', 'k', 'K', 'k'), /* 27 */ - BYTES('L', 'l', 'L', 'l'), /* 28 */ + BYTES('A', 'a', 'A', 'a'), /* 20 */ + BYTES('S', 's', 'S', 's'), /* 21 */ + BYTES('D', 'd', 'D', 'd'), /* 22 */ + BYTES('F', 'f', 'F', 'f'), /* 23 */ + BYTES('G', 'g', 'G', 'g'), /* 24 */ + BYTES('H', 'h', 'H', 'h'), /* 25 */ + BYTES('J', 'j', 'J', 'j'), /* 26 */ + BYTES('K', 'k', 'K', 'k'), /* 27 */ + BYTES('L', 'l', 'L', 'l'), /* 28 */ - BYTES('', '', '', ''), /* 29 */ - BYTES('', '', '', ''), /* 2A */ - BYTES('*', '\'', '*', '\''), /* 2B */ - BYTES(0, 0, 0, 0), /* 2C undefined */ - BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ - BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ - BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ - BYTES('|', '|', '>', '<'), /* 30 */ - BYTES('Z', 'z', 'Z', 'z'), /* 31 */ - BYTES('X', 'x', 'X', 'x'), /* 32 */ - BYTES('C', 'c', 'C', 'c'), /* 33 */ - BYTES('V', 'v', 'V', 'v'), /* 34 */ - BYTES('B', 'b', 'B', 'b'), /* 35 */ - BYTES('', '', 'N', 'n'), /* 36 */ - BYTES('', '', 'M', 'm'), /* 37 */ + BYTES('', '', '', ''), /* 29 */ + BYTES('', '', '', ''), /* 2A */ + BYTES('*', '\'', '*', '\''), /* 2B */ + BYTES(0, 0, 0, 0), /* 2C undefined */ + BYTES('4', '4', '4', '4'), /* 2D NUM 4 */ + BYTES('5', '5', '5', '5'), /* 2E NUM 5 */ + BYTES('6', '6', '6', '6'), /* 2F NUM 6 */ + BYTES('|', '|', '>', '<'), /* 30 */ + BYTES('Z', 'z', 'Z', 'z'), /* 31 */ + BYTES('X', 'x', 'X', 'x'), /* 32 */ + BYTES('C', 'c', 'C', 'c'), /* 33 */ + BYTES('V', 'v', 'V', 'v'), /* 34 */ + BYTES('B', 'b', 'B', 'b'), /* 35 */ + BYTES('', '', 'N', 'n'), /* 36 */ + BYTES('', '', 'M', 'm'), /* 37 */ - BYTES(';', ',', ';', ','), /* 38 */ - BYTES(':', '.', ':', '.'), /* 39 */ - BYTES('_', '-', '_', '-'), /* 3A */ - BYTES(0, 0, 0, 0), /* 3B */ - BYTES('.', '.', '.', '.'), /* 3C NUM . */ - BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ - BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ - BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ + BYTES(';', ',', ';', ','), /* 38 */ + BYTES(':', '.', ':', '.'), /* 39 */ + BYTES('_', '-', '_', '-'), /* 3A */ + BYTES(0, 0, 0, 0), /* 3B */ + BYTES('.', '.', '.', '.'), /* 3C NUM . */ + BYTES('7', '7', '7', '7'), /* 3D NUM 7 */ + BYTES('8', '8', '8', '8'), /* 3E NUM 8 */ + BYTES('9', '9', '9', '9'), /* 3F NUM 9 */ }; #include "standard.h" @@ -282,132 +280,132 @@ STATIC CONST IPTR lokeymap[] = STATIC CONST IPTR hikeymap[] = { BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */ - BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ - STRING(tab_descr), /* 42 TAB */ - BYTES(13, 13, 13, 13), /* 43 ENTER */ - BYTES(0, 0, 10, 13), /* 44 RETURN */ - BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ - BYTES(127, 127, 127, 127), /* 46 DEL */ - STRING(insert_descr), /* 47 INSERT ?? */ - STRING(pageup_descr), /* 48 PAGEUP ?? */ - STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ - BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ - STRING(f11_descr), /* 4B F11 ?? */ - STRING(up_descr), /* 4C CURSOR UP*/ - STRING(down_descr), /* 4D CURSOR DOWN*/ - STRING(right_descr), /* 4E CURSOR RIGHT */ - STRING(left_descr), /* 4F CURSOR LEFT */ - STRING(f1_descr), /* 50 F1 */ - STRING(f2_descr), /* 51 */ - STRING(f3_descr), /* 52 */ - STRING(f4_descr), /* 53 */ - STRING(f5_descr), /* 54 */ - STRING(f6_descr), /* 55 */ - STRING(f7_descr), /* 56 */ - STRING(f8_descr), /* 57 */ - STRING(f9_descr), /* 58 */ - STRING(f10_descr), /* 59 */ - BYTES(0, 0, 0, 0), /* 5A */ - BYTES('/', '/', '/', '/'), /* 5B */ - BYTES('*', '*', '*', '*'), /* 5C */ - BYTES('-', '-', '-', '-'), /* 5D */ - BYTES('+', '+', '+', '+'), /* 5E */ - STRING(help_descr), /* 5F HELP */ - BYTES(0, 0, 0, 0), /* 60 */ - BYTES(0, 0, 0, 0), /* 61 */ - BYTES(0, 0, 0, 0), /* 62 */ - BYTES(0, 0, 0, 0), /* 63 */ - BYTES(0, 0, 0, 0), /* 64 */ - BYTES(0, 0, 0, 0), /* 65 */ - BYTES(0, 0, 0, 0), /* 66 */ - BYTES(0, 0, 0, 0), /* 67 */ - BYTES(0, 0, 0, 0), /* 68 */ - BYTES(0, 0, 0, 0), /* 69 */ - BYTES(0, 0, 0, 0), /* 6A */ - BYTES(0, 0, 0, 0), /* 6B */ - BYTES(0, 0, 0, 0), /* 6C */ - BYTES(0, 0, 0, 0), /* 6D */ - STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ - STRING(f12_descr), /* 6F F12 ?? */ - STRING(home_descr), /* 70 HOME ?? */ - STRING(end_descr), /* 71 END ?? */ - BYTES(0, 0, 0, 0), /* 72 */ - BYTES(0, 0, 0, 0), /* 73 */ - BYTES(0, 0, 0, 0), /* 74 */ - BYTES(0, 0, 0, 0), /* 75 */ - BYTES(0, 0, 0, 0), /* 76 */ - BYTES(0, 0, 0, 0), /* 77 */ - BYTES(0, 0, 0, 0), /* 78 */ - BYTES(0, 0, 0, 0), /* 79 */ - BYTES(0, 0, 0, 0), /* 7A */ - BYTES(0, 0, 0, 0), /* 7B */ - BYTES(0, 0, 0, 0), /* 7C */ - BYTES(0, 0, 0, 0), /* 7D */ - BYTES(0, 0, 0, 0), /* 7E */ - BYTES(0, 0, 0, 0), /* 7F */ + BYTES(8, 8, 8, 8), /* 41 BACKSPACE */ + STRING(tab_descr), /* 42 TAB */ + BYTES(13, 13, 13, 13), /* 43 ENTER */ + BYTES(0, 0, 10, 13), /* 44 RETURN */ + BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */ + BYTES(127, 127, 127, 127), /* 46 DEL */ + STRING(insert_descr), /* 47 INSERT ?? */ + STRING(pageup_descr), /* 48 PAGEUP ?? */ + STRING(pagedown_descr), /* 49 PAGEDOWN ?? */ + BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */ + STRING(f11_descr), /* 4B F11 ?? */ + STRING(up_descr), /* 4C CURSOR UP*/ + STRING(down_descr), /* 4D CURSOR DOWN*/ + STRING(right_descr), /* 4E CURSOR RIGHT */ + STRING(left_descr), /* 4F CURSOR LEFT */ + STRING(f1_descr), /* 50 F1 */ + STRING(f2_descr), /* 51 */ + STRING(f3_descr), /* 52 */ + STRING(f4_descr), /* 53 */ + STRING(f5_descr), /* 54 */ + STRING(f6_descr), /* 55 */ + STRING(f7_descr), /* 56 */ + STRING(f8_descr), /* 57 */ + STRING(f9_descr), /* 58 */ + STRING(f10_descr), /* 59 */ + BYTES(0, 0, 0, 0), /* 5A */ + BYTES('/', '/', '/', '/'), /* 5B */ + BYTES('*', '*', '*', '*'), /* 5C */ + BYTES('-', '-', '-', '-'), /* 5D */ + BYTES('+', '+', '+', '+'), /* 5E */ + STRING(help_descr), /* 5F HELP */ + BYTES(0, 0, 0, 0), /* 60 */ + BYTES(0, 0, 0, 0), /* 61 */ + BYTES(0, 0, 0, 0), /* 62 */ + BYTES(0, 0, 0, 0), /* 63 */ + BYTES(0, 0, 0, 0), /* 64 */ + BYTES(0, 0, 0, 0), /* 65 */ + BYTES(0, 0, 0, 0), /* 66 */ + BYTES(0, 0, 0, 0), /* 67 */ + BYTES(0, 0, 0, 0), /* 68 */ + BYTES(0, 0, 0, 0), /* 69 */ + BYTES(0, 0, 0, 0), /* 6A */ + BYTES(0, 0, 0, 0), /* 6B */ + BYTES(0, 0, 0, 0), /* 6C */ + BYTES(0, 0, 0, 0), /* 6D */ + STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */ + STRING(f12_descr), /* 6F F12 ?? */ + STRING(home_descr), /* 70 HOME ?? */ + STRING(end_descr), /* 71 END ?? */ + BYTES(0, 0, 0, 0), /* 72 */ + BYTES(0, 0, 0, 0), /* 73 */ + BYTES(0, 0, 0, 0), /* 74 */ + BYTES(0, 0, 0, 0), /* 75 */ + BYTES(0, 0, 0, 0), /* 76 */ + BYTES(0, 0, 0, 0), /* 77 */ + BYTES(0, 0, 0, 0), /* 78 */ + BYTES(0, 0, 0, 0), /* 79 */ + BYTES(0, 0, 0, 0), /* 7A */ + BYTES(0, 0, 0, 0), /* 7B */ + BYTES(0, 0, 0, 0), /* 7C */ + BYTES(0, 0, 0, 0), /* 7D */ + BYTES(0, 0, 0, 0), /* 7E */ + BYTES(0, 0, 0, 0), /* 7F */ }; #undef SETBITS #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \ - (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) - + (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7) + STATIC CONST UBYTE locapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */ - SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ + SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */ }; STATIC CONST UBYTE hicapsable[] = { - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; STATIC CONST UBYTE lorepeatable[] = { - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ - SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */ + SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ - SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */ + SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */ - SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ - SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ + SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */ + SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */ }; STATIC CONST UBYTE hirepeatable[] = { - SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ - SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ + SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */ + SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ - SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */ + SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ - SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */ + SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */ }; diff --git a/workbench/devs/keymaps/pc105_sk.akmd b/workbench/devs/keymaps/pc105_sk.akmd new file mode 100644 index 00000000000..ea016302b65 --- /dev/null +++ b/workbench/devs/keymaps/pc105_sk.akmd @@ -0,0 +1,523 @@ +# Slovak PC105 amiga keymap descriptor +# (c) 2021 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_sk +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0, 0, 0xB0,';' +0x7E,0x7E,'1' ,'+' +0xA1,0xA1,'2' ,0xBE +0x5E,0x5E,'3' ,0x9A +0xA2,0xA2,'4' ,0xE8 +0xB0,0xB0,'5' ,0x9D +0xB2,0xB2,'6' ,0x9E +0x60,0x60,'7' ,0xFD +0xFF,0xFF,'8' ,0xE1 +0xB4,0xB4,'9' ,0xED +0xBD,0xBD,'0' ,0xE9 +0xA8,0xA8,'%' ,'=' +0xB8,0xB8,0xA1,0xB4 +0, 0, 0xB0,';' +0, 0, 0, 0 +'0', '0', '0', '0' +0x5C,0x5C,'Q' ,'q' +0x7C,0x7C,'W' ,'w' +0x80,0xA4 ,'E' ,'e' +0, 0, 'R' ,'r' +0, 0, 'T' ,'t' +0, 0, 'Z' ,'z' +0, 0, 'U' ,'u' +0, 0, 'I' ,'i' +0, 0, 'O' ,'o' +0, 0, 'P' ,'p' +0xF7,0xF7,0x2F,0xFA +0xD7,0xD7,'(' ,0xE4 +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0, 0, 'A' ,'a' +0xF0,0xF0,'S' ,'s' +0xD0,0xD0,'D' ,'d' +'[' ,'[' ,'F' ,'f' +']' ,']' ,'G' ,'g' +0, 0, 'H' ,'h' +0, 0, 'J' ,'j' +0xB3,0xB3,'K' ,'k' +0xA3,0xA3,'L' ,'l' +'$' ,'$' ,0x22,0xF4 +0xDF,0xDF,'!' ,0xA7 +0xA4,0xA4,')' ,0xF2 +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'<' ,'<' ,'*' ,'&' +'>' ,'>' ,'Y' ,'y' +'#' ,'#' ,'X' ,'x' +'&' ,'&' ,'C' ,'c' +'@' ,'@' ,'V' ,'v' +'{' ,'{' ,'B' ,'b' +'}' ,'}' ,'N' ,'n' +0, 0, 'M' ,'m' +'<' ,'<' ,'?' ,',' +'>' ,'>' ,':' ,'.' +'*' ,'*' ,'_' ,'-' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_tr.akmd b/workbench/devs/keymaps/pc105_tr.akmd new file mode 100644 index 00000000000..071ca862cce --- /dev/null +++ b/workbench/devs/keymaps/pc105_tr.akmd @@ -0,0 +1,523 @@ +# Turkish Q Standard PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_tr +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT|KCF_ALT # 00 +KCF_SHIFT|KCF_ALT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT|KCF_ALT # 05 +KCF_SHIFT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT|KCF_ALT # 0B +KCF_SHIFT|KCF_ALT # 0C +KCF_SHIFT # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KCF_SHIFT|KCF_ALT # 10 q +KC_VANILLA # 11 w +KCF_SHIFT|KCF_ALT # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT|KCF_ALT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KCF_SHIFT|KCF_ALT # 20 a +KCF_SHIFT|KCF_ALT # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT|KCF_ALT # 29 +KCF_SHIFT # 2A +KCF_SHIFT|KCF_ALT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KCF_SHIFT|KCF_ALT # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +'' ,'<' ,'' ,'"' +'!' ,'>' ,'!' ,'1' +'\'',0xA3,'\'','2' +'#' ,'#' ,'^' ,'3' +'$' ,'$' ,'+' ,'4' +'%' ,0xBD,'%' ,'5' +'&' ,'6' ,'&' ,'6' +'{' ,'{' ,'/' ,'7' +'[' ,'[' ,'(' ,'8' +']' ,']' ,')' ,'9' +'}' ,'}' ,'=' ,'0' +'?' ,'\\','?' ,'*' +'|' ,'|' ,'_' ,'-' +0, 0, 0, 0 +0, 0, 0, 0 +'0', '0', '0', '0' +'@' ,'@' ,'Q' ,'q' +'W' ,'w' ,'W' ,'w' +'E' ,0xA4 ,'E' ,'e' +'R' ,0xAE,'R' ,'r' +'T' ,'t' ,'T' ,'t' +'Y' ,'y' ,'Y' ,'y' +'U' ,'u' ,'U' ,'u' +0xDD,0xFD,'I' ,0xFD +'O' ,'o' ,'O' ,'o' +'P' ,'p' ,'P' ,'p' +0xA8,0xA8,0xD0,0xF0 +0x7E,0x7E,0xDC,0xFC +0 ,0 ,0 , 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC6,0xE6,'A' ,'a' +'S' ,0xDF,'S' ,'s' +'D' ,'d' ,'D' ,'d' +'F' ,'f' ,'F' ,'f' +'G' ,'g' ,'G' ,'g' +'H' ,'h' ,'H' ,'h' +'J' ,'j' ,'J' ,'j' +'K' ,'k' ,'K' ,'k' +'L' ,'l' ,'L' ,'l' +0xB4,0xB4,0xDE,0xFE +0xDD,'i' ,0xDD,'i' +'`' ,'`' ,';' ,',' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'>' ,'|' ,'>' ,'<' +'Z' ,'z' ,'Z' ,'z' +'X' ,'x' ,'X' ,'x' +'C' ,0xA9,'C' ,'c' +'V' ,'v' ,'V' ,'v' +'B' ,'b' ,'B' ,'b' +'' ,'' ,'N' ,'n' +'M' ,'m' ,'M' ,'m' +0xD6,0xF6,0xD6,0xF6 +0xC7,0xE7,0xC7,0xE7 +':' ,'.' ,':' ,'.' +0, 0, 0, 0 +',', ',', ',', ',' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_ua.akmd b/workbench/devs/keymaps/pc105_ua.akmd new file mode 100644 index 00000000000..5865e77541d --- /dev/null +++ b/workbench/devs/keymaps/pc105_ua.akmd @@ -0,0 +1,524 @@ +# Ukranian PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_ua +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0xA8,0xB8,0xA4,'\'' +'!' ,'!' ,'!' ,'1' +0x22,0x22,0x22,'2' +0xB9,0xB9,0xB9,'3' +';' ,';' ,';' ,'4' +'%' ,'%' ,'%' ,'5' +':' ,':' ,':' ,'6' +'?' ,'?' ,'?' ,'7' +'*' ,'*' ,'*' ,'8' +'{' ,'[' ,'(' ,'9' +'}' ,']' ,')' ,'0' +'_' ,'-' ,'_' ,'-' +'+' ,'=' ,'+' ,'=' +'|', '\\','/' ,'\\' +0, 0, 0, 0 +'0', '0', '0', '0' +'Q' ,'q' ,0xC9,0xE9 +'W' ,'w' ,0xD6,0xF6 +'E' ,'e' ,0xD3,0xF3 +'R' ,'r' ,0xCA,0xEA +'T' ,'t' ,0xC5,0xE5 +'Y' ,'y' ,0xCD,0xED +0xA5,0xB4,0xC3,0xE3 +'I' ,'i' ,0xD8,0xF8 +'O' ,'o' ,0xD9,0xF9 +'P' ,'p' ,0xC7,0xE7 +0xD5,0xF5,0xD5,0xF5 +0xAF,0xBF,0xAF,0xBF +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'A' ,'a' ,0xD4,0xF4 +'S' ,'s' ,0xB2,0xB3 +'D' ,'d' ,0xC2,0xE2 +'F' ,'f' ,0xC0,0xE0 +'G' ,'g' ,0xCF,0xEF +'H' ,'h' ,0xD0,0xF0 +'J' ,'j' ,0xCE,0xEE +'K' ,'k' ,0xCB,0xEB +'L' ,'l' ,0xC4,0xE4 +'U' ,'u' ,0xC6,0xE6 +0xAA,0xBA,0xAA,0xBA +0x2F,0x5C,0x2F,0x5C +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'>' ,'<' ,0xA5,0xB4 +'Z' ,'z' ,0xDF,0xFF +'X' ,'x' ,0xD7,0xF7 +'C' ,'c' ,0xD1,0xF1 +'V' ,'v' ,0xCC,0xEC +'B' ,'b' ,0xC8,0xE8 +'N' ,'n' ,0xD2,0xF2 +'M' ,'m' ,0xDC,0xFC +0xC1,0xE1,0xC1,0xE1 +0xDE,0xFE,0xDE,0xFE +',' ,'.' ,',' ,'.' +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 0, 0, 0 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/pc105_usx.akmd b/workbench/devs/keymaps/pc105_usx.akmd new file mode 100644 index 00000000000..79016993565 --- /dev/null +++ b/workbench/devs/keymaps/pc105_usx.akmd @@ -0,0 +1,523 @@ +# US Extended PC105 amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: pc105_usx +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT|KCF_ALT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT # 07 +KCF_SHIFT # 08 +KCF_SHIFT # 09 +KCF_SHIFT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KC_NOQUAL # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT|KCF_CONTROL # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +0, 0, 0x7E,0x60 +0xB9,0xA1,'!' ,'1' +0xB2,0xB2,'@' ,'2' +0xB3,0xB3,'#' ,'3' +0xA3,0xA4,'$' ,'4' +0x80,0x80,'%' ,'5' +0xBC,0xBC,0x5E,'6' +0xBD,0xBD,'&' ,'7' +0xBE,0xBE,'*' ,'8' +0x91,0x91,'(' ,'9' +0x92,0x92,')' ,'0' +0xA5,0xA5,'_' ,'-' +0xF7,0xD7,'+' ,'=' +0, 0, 0x7E,0x60 +0, 0, 0, 0 +'0', '0', '0', '0' +0xC4,0xE4,'Q' ,'q' +0xC5,0xE5,'W' ,'w' +0xC9,0xE9,'E' ,'e' +0, 0xAE,'R' ,'r' +0xDE,0xFE,'T' ,'t' +0xDC,0xFC,'Y' ,'y' +0xDA,0xFA,'U' ,'u' +0xCD,0xED,'I' ,'i' +0xD3,0xF3,'O' ,'o +0xD6,0xF6,'P' ,'p' +0xAB,0xAB,'{' ,'[' +0xBB,0xBB,'}' ,']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +0xC1,0xE1,'A' ,'a' +0xA7,0xDF,'S' ,'s' +0xD0,0xF0,'D' ,'d' +0xDE,0xFE,'F' ,'f' +0, 0, 'G' ,'g' +0, 0, 'H' ,'h' +0, 0, 'J' ,'j' +0, 0, 'K' ,'k' +0xD8,0xF8,'L' ,'l' +0xB0,0xB6,':' ,';' +0xA8,0xB4,0x22,0x27 +0, 0x1C,0x7C,0x5C +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +0x7C,0x5C,0x7C,0x5C +0xC6,0xE6,'Z' ,'z' +0, 0, 'X' ,'x' +0xA2,0xA9,'C' ,'c' +0, 0, 'V' ,'v' +0x95,0xB7,'B' ,'b' +0xD1,0xF1,'N' ,'n' +0xB5,0xB5,'M' ,'m' +0xC7,0xE7,'<' ,',' +0, 0, '>' ,'.' +0xBF,0xBF,'?' ,0x2F +0, 0, 0, 0 +',', '.', ',', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/devs/keymaps/sun_usa.akmd b/workbench/devs/keymaps/sun_usa.akmd new file mode 100644 index 00000000000..ab654ef72d4 --- /dev/null +++ b/workbench/devs/keymaps/sun_usa.akmd @@ -0,0 +1,523 @@ +# American Sun 5C amiga keymap descriptor +# (c) 2020 The AROS Development Team. +# v1.0 + +## begin config +keymap: sun_usa +## end config + +# the "types" must come before "string", "deadkey", and "map" sections. + +## begin lokeymaptypes +KCF_SHIFT # 00 +KCF_SHIFT # 01 +KCF_SHIFT|KCF_ALT # 02 +KCF_SHIFT|KCF_ALT # 03 +KCF_SHIFT # 04 +KCF_SHIFT # 05 +KCF_SHIFT # 06 +KCF_SHIFT|KCF_ALT # 07 +KCF_SHIFT|KCF_ALT # 08 +KCF_SHIFT|KCF_ALT # 09 +KCF_SHIFT|KCF_ALT # 0A +KCF_SHIFT # 0B +KCF_SHIFT # 0C +KCF_SHIFT # 0D +KC_NOQUAL # 0E +KCF_SHIFT|KCF_ALT # 0F +KC_VANILLA # 10 q +KC_VANILLA # 11 w +KC_VANILLA # 12 e +KC_VANILLA # 13 r +KC_VANILLA # 14 t +KC_VANILLA # 15 z +KC_VANILLA # 16 u +KC_VANILLA # 17 i +KC_VANILLA # 18 o +KC_VANILLA # 19 p +KCF_SHIFT # 1A +KCF_SHIFT|KCF_ALT # 1B +KCF_SHIFT|KCF_ALT # 1C +KCF_SHIFT|KCF_ALT # 1D +KCF_SHIFT|KCF_ALT # 1E +KCF_SHIFT|KCF_ALT # 1F +KC_VANILLA # 20 a +KC_VANILLA # 21 s +KC_VANILLA # 22 d +KC_VANILLA # 23 f +KC_VANILLA # 24 g +KC_VANILLA # 25 h +KC_VANILLA # 26 j +KC_VANILLA # 27 k +KC_VANILLA # 28 l +KCF_SHIFT # 29 +KCF_SHIFT # 2A +KCF_SHIFT # 2B +KC_NOQUAL # 2C +KC_NOQUAL # 2D +KC_NOQUAL # 2E +KC_NOQUAL # 2F +KCF_SHIFT|KCF_ALT # 30 +KC_VANILLA # 31 y +KC_VANILLA # 32 x +KC_VANILLA # 33 c +KC_VANILLA # 34 v +KC_VANILLA # 35 b +KC_VANILLA # 36 n +KC_VANILLA # 37 m +KCF_SHIFT|KCF_ALT # 38 +KCF_SHIFT|KCF_ALT # 39 +KCF_SHIFT # 3A +KC_NOQUAL # 3B +KC_NOQUAL # 3C +KC_NOQUAL # 3D +KC_NOQUAL # 3E +KC_NOQUAL # 3F +## end lokeymaptypes + +## begin hikeymaptypes +KC_NOQUAL # 40 SPACE +KC_NOQUAL # 41 BACKSPACE +KCF_STRING|KCF_SHIFT # 42 TAB +KC_NOQUAL # 43 ENTER +KCF_CONTROL # 44 RETURN +KCF_ALT # 45 ESCAPE +KC_NOQUAL # 46 DEL +KCF_STRING|KCF_SHIFT # 47 INSERT ?? +KCF_STRING|KCF_SHIFT # 48 PAGE UP ?? +KCF_STRING|KCF_SHIFT # 49 PAGE DOWN ?? +KC_NOQUAL # 4A NUMERIC PAD - +KCF_STRING|KCF_SHIFT # 4B F11 ?? +KCF_STRING|KCF_SHIFT # 4C CURSORUP +KCF_STRING|KCF_SHIFT # 4D CURSORDOWN +KCF_STRING|KCF_SHIFT # 4E CURSORRIGHT +KCF_STRING|KCF_SHIFT # 4F CURSORLEFT +KCF_STRING|KCF_SHIFT # 50 F1 +KCF_STRING|KCF_SHIFT # 51 F2 +KCF_STRING|KCF_SHIFT # 52 F3 +KCF_STRING|KCF_SHIFT # 53 F4 +KCF_STRING|KCF_SHIFT # 54 F5 +KCF_STRING|KCF_SHIFT # 55 F6 +KCF_STRING|KCF_SHIFT # 56 F7 +KCF_STRING|KCF_SHIFT # 57 F8 +KCF_STRING|KCF_SHIFT # 58 F9 +KCF_STRING|KCF_SHIFT # 59 F10 +KCF_NOP # 5A NUMLOCK +KC_NOQUAL # 5B NUMPAD ) +KC_NOQUAL # 5C NUMPAD / +KC_NOQUAL # 5D NUMPAD * +KC_NOQUAL # 5E NUMPAD + +KCF_STRING # 5F HELP +KCF_NOP # 60 LEFT SHIFT +KCF_NOP # 61 RIGHT SHIFT +KCF_NOP # 62 CAPS LOCK +KCF_NOP # 63 CONTROL +KCF_NOP # 64 LALT +KCF_NOP # 65 RALT +KCF_NOP # 66 LCOMMAND +KCF_NOP # 67 RCOMMAND +KCF_NOP # 68 LEFT MOUSE BUTTON +KCF_NOP # 69 RIGHT MOUSE BUTTON +KCF_NOP # 6A MIDDLE MOUSE BUTTON +KCF_NOP # 6B +KCF_NOP # 6C +KCF_NOP # 6D +KCF_STRING|KCF_ALT # 6E PAUSE/BREAK ?? +KCF_STRING|KCF_SHIFT # 6F F12 ?? +KCF_STRING|KCF_CONTROL # 70 HOME ?? +KCF_STRING|KCF_CONTROL # 71 END ?? +KCF_NOP # 72 +KCF_NOP # 73 +KCF_NOP # 74 +KCF_NOP # 75 +KCF_NOP # 76 +KCF_NOP # 77 +## end hikeymaptypes + +# "string" and "deadkey" sections must +# come after the "types", but before the remaining sections + +## begin string +# 42 TAB +id: tab_descr +1,4, +2,5, +0x9, +0x9B,'Z' +## end string + +## begin string +# 47 INSERT ?? +id: insert_descr +4,4, +4,8, +0x9B,'4','0','~', +0x9B,'5','0','~' +## end string + +## begin string +# 48 PAGEUP ?? +id: pageup_descr +4,4, +4,8, +0x9B,'4','1','~', +0x9B,'5','1','~' +## end string + +## begin string +# 49 PAGEDOWN ?? +id: pagedown_descr +4,4, +4,8, +0x9B,'4','2','~', +0x9B,'5','2','~' +## end string + +## begin string +# 4C CURSOR UP +id: up_descr +2,4, +2,6, +0x9B,'A', +0x9B,'T' +## end string + +## begin string +# 4D CURSOR DOWN +id: down_descr +2,4, +2,6, +0x9B,'B', +0x9B,'S' +## end string + +## begin string +# 4E CURSOR RIGHT +id: right_descr +2,4, +3,6, +0x9B,'C', +0x9B,' ','@' +## end string + +## begin string +# 4F CURSOR LEFT +id: left_descr +2,4, +3,6, +0x9B,'D', +0x9B,' ','A' +## end string + +## begin string +# 50 F1 +id: f1_descr +3,4, +4,7, +0x9B,'0','~', +0x9B,'1','0','~' +## end string + +## begin string +# 51 +id: f2_descr +3,4, +4,7, +0x9B,'1','~', +0x9B,'1','1','~' +## end string + +## begin string +# 52 +id: f3_descr +3,4, +4,7, +0x9B,'2','~', +0x9B,'1','2','~' +## end string + +## begin string +# 53 +id: f4_descr +3,4, +4,7, +0x9B,'3','~', +0x9B,'1','3','~' +## end string + +## begin string +# 54 +id: f5_descr +3,4, +4,7, +0x9B,'4','~', +0x9B,'1','4','~' +## end string + +## begin string +# 55 +id: f6_descr +3,4, +4,7, +0x9B,'5','~', +0x9B,'1','5','~' +## end string + +## begin string +# 56 +id: f7_descr +3,4, +4,7, +0x9B,'6','~', +0x9B,'1','6','~' +## end string + +## begin string +# 57 +id: f8_descr +3,4, +4,7, +0x9B,'7','~', +0x9B,'1','7','~' +## end string + +## begin string +# 58 +id: f9_descr +3,4, +4,7, +0x9B,'8','~', +0x9B,'1','8','~' +## end string + +## begin string +# 59 +id: f10_descr +3,4, +4,7, +0x9B,'9','~', +0x9B,'1','9','~' +## end string + +## begin string +# 4B F11 ?? +id: f11_descr +4,4, +4,8, +0x9B,'2','0','~', +0x9B,'3','0','~' +## end string + +## begin string +# 6F F12 ?? +id: f12_descr +4,4, +4,8, +0x9B,'2','1','~', +0x9B,'3','1','~' +## end string + +## begin string +# 5F HELP +id: help_descr +3,2, +0x9B,'?','~' +## end string + +## begin string +# 6E PAUSE/BREAK ?? +id: pausebreak_descr +4,4, +4,8, +0x9B,'4','3','~', +0x9B,'5','3','~' +## end string + +## begin string +# 70 HOME ?? +id: home_descr +4,4, +4,8, +0x9B,'4','4','~', +0x9B,'5','4','~' +## end string + +## begin string +# 71 END ?? +id: end_descr +4,4, +4,8, +0x9B,'4','5','~', +0x9B,'5','5','~' +## end string + +# the "map" sections which must follow the "type", "string" and "deadkey" sections. +# the "capsable" and "repeatable" sections can be included anywhere. + +## begin lokeymap +'`', '~', '~', '`' +'!', '1', '!', '1' +'', '', '@', '2' +'', '', '#', '3' +'$', '4', '$', '4' +'%', '5', '%', '5' +'&', '6', '^', '6' +'{', '{', '&', '7' +'[', '[', '*', '8' +']', ']', '(', '9' +'}', '}', ')', '0' +'_', '-', '_', '-' +'+', '=', '+', '=' +'|', '\\', '|', '\\' +0, 0, 0, 0 +'0', '0', '0', '0' +'@', '@', 'Q', 'q' +'W', 'w', 'W', 'w' +'E', 'e', 'E', 'e' +'R', 'r', 'R', 'r' +'T', 't', 'T', 't' +'Z', 'z', 'Y', 'y' +'U', 'u', 'U', 'u' +'I', 'i', 'I', 'i' +'O', 'o', 'O', 'o' +'P', 'p', 'P', 'p' +'{', '[', '{', '[' +'}', ']', '}', ']' +0, 0, 0, 0 +'1', '1', '1', '1' +'2', '2', '2', '2' +'3', '3', '3', '3' +'A', 'a', 'A', 'a' +'S', 's', 'S', 's' +'D', 'd', 'D', 'd' +'F', 'f', 'F', 'f' +'G', 'g', 'G', 'g' +'H', 'h', 'H', 'h' +'J', 'j', 'J', 'j' +'K', 'k', 'K', 'k' +'L', 'l', 'L', 'l' +':', ';', ':', ';' +'"', '\'', '"', '\'' +'|', '\\', '|', '\\' +0, 0, 0, 0 +'4', '4', '4', '4' +'5', '5', '5', '5' +'6', '6', '6', '6' +'|', '|', '>', '<' +'Z', 'z', 'Z', 'z' +'X', 'x', 'X', 'x' +'C', 'c', 'C', 'c' +'V', 'v', 'V', 'v' +'B', 'b', 'B', 'b' +'', '', 'N', 'n' +'', '', 'M', 'm' +'<', ',', '<', ',' +'>', '.', '>', '.' +'?', '/', '?', '/' +0, 0, 0, 0 +'.', '.', '.', '.' +'7', '7', '7', '7' +'8', '8', '8', '8' +'9', '9', '9', '9' +## end lokeymap + +## begin hikeymap +0xA0, 0xA0, ' ', ' ' +8, 8, 8, 8 +id:tab_descr +13, 13, 13, 13 +0, 0, 10, 13 +0, 0, 0x9B, 27 +127, 127, 127, 127 +id:insert_descr +id:pageup_descr +id:pagedown_descr +'-', '-', '-', '-' +id:f11_descr +id:up_descr +id:down_descr +id:right_descr +id:left_descr +id:f1_descr +id:f2_descr +id:f3_descr +id:f4_descr +id:f5_descr +id:f6_descr +id:f7_descr +id:f8_descr +id:f9_descr +id:f10_descr +0, 0, 0, 0 +'/', '/', '/', '/' +'*', '*', '*', '*' +'-', '-', '-', '-' +'+', '+', '+', '+' +id:help_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +id:pausebreak_descr +id:f12_descr +id:home_descr +id:end_descr +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +0, 0, 0, 0 +## end hikeymap + +## begin locapsable +0, 0, 0, 0, 0, 0, 0, 0 # 00 - 07 +0, 0, 0, 0, 0, 0, 0, 0 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 0, 0, 0, 0, 0, 0 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 0, 0, 0, 0, 0, 0, 0 # 28 - 2F +0, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +0, 0, 0, 0, 0, 0, 0, 0 # 38 - 3F +## end locapsable + +## begin lorepeatable +1, 1, 1, 1, 1, 1, 1, 1 # 00 - 07 +1, 1, 1, 1, 1, 1, 0, 1 # 08 - 0F +1, 1, 1, 1, 1, 1, 1, 1 # 10 - 17 +1, 1, 1, 1, 0, 1, 1, 1 # 18 - 1F +1, 1, 1, 1, 1, 1, 1, 1 # 20 - 27 +1, 1, 1, 1, 0, 1, 1, 1 # 28 - 2F +1, 1, 1, 1, 1, 1, 1, 1 # 30 - 37 +1, 1, 1, 0, 1, 1, 1, 1 # 38 - 3F +## end lorepeatable + +## begin hicapsable +0, 0, 0, 0, 0, 0, 0, 0 # 40 - 47 +0, 0, 0, 0, 0, 0, 0, 0 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 0, 0, 0, 0, 0, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hicapsable + +## begin hirepeatable +1, 1, 1, 0, 0, 0, 1, 0 # 40 - 47 +1, 1, 0, 0, 1, 1, 1, 1 # 48 - 4F +0, 0, 0, 0, 0, 0, 0, 0 # 50 - 57 +0, 0, 1, 1, 1, 1, 1, 0 # 58 - 5F +0, 0, 0, 0, 0, 0, 0, 0 # 60 - 67 +0, 0, 0, 0, 0, 0, 0, 0 # 68 - 6F +0, 0, 0, 0, 0, 0, 0, 0 # 70 - 77 +## end hirepeatable diff --git a/workbench/libs/asl/catalogs b/workbench/libs/asl/catalogs deleted file mode 160000 index 6fc874c88d1..00000000000 --- a/workbench/libs/asl/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6fc874c88d16122e39c5d01b5b921f36eb9664e7 diff --git a/workbench/libs/asl/catalogs/.gitattributes b/workbench/libs/asl/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/libs/asl/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/libs/asl/catalogs/asl.cd b/workbench/libs/asl/catalogs/asl.cd new file mode 100644 index 00000000000..73f8d06a178 --- /dev/null +++ b/workbench/libs/asl/catalogs/asl.cd @@ -0,0 +1,312 @@ +MSG_FILEREQ_TITLE (//) +Select File +; +MSG_FILEREQ_POSITIVE_GAD (//) +Ok +; +MSG_FILEREQ_NEGATIVE_GAD (//) +Cancel +; +MSG_FILEREQ_VOLUMES_GAD (//) +Volumes +; +MSG_FILEREQ_PARENT_GAD (//) +Parent +; +MSG_FILEREQ_PATTERN_LABEL (//) +Pattern +; +MSG_FILEREQ_DRAWER_LABEL (//) +Drawer +; +MSG_FILEREQ_FILE_LABEL (//) +File +; +MSG_FILEREQ_LV_DRAWER (//) +Drawer +; +MSG_FILEREQ_LV_ASSIGN (//) +Assign +; +MSG_FILEREQ_DELETE_TITLE (//) +Delete File +; +MSG_FILEREQ_DELETE_MSG (//) +Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL (//) +Delete|Cancel +; +MSG_FILEREQ_FOREIGNER_TITLE (//) +Icons dropped from different drawers +; +MSG_FILEREQ_FOREIGNER_MSG (//) +Warning: The icons that have just been dropped\n\ +do not all come from the same drawer.\n\ +The requester could not handle the following files:\n\ +%s +; +MSG_FILEREQ_FOREIGNER_OK (//) +OK +; +MSG_FILEREQ_RENAME_TITLE (//) +Rename +; +MSG_FILEREQ_RENAME_OK (//) +Rename +; +MSG_FILEREQ_RENAME_CANCEL (//) +Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE (//) +Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK (//) +Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL (//) +Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME (//) +Rename_Me +; +MSG_FILEREQ_SELECT_TITLE (//) +Select by pattern +; +MSG_FILEREQ_SELECT_OK (//) +Select +; +MSG_FILEREQ_SELECT_CANCEL (//) +Cancel +; +MSG_FILEREQ_MEN_CONTROL (//) +Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME (//) +L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME (//) +N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE (//) +R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT (//) +P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES (//) +V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE (//) +U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE (//) +D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER (//) +T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME (//) +E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT (//) +#\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK (//) +O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL (//) +C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST (//) +File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME (//) +1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE (//) +2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE (//) +3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP (//) ++\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN (//) +-\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST (//) +4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME (//) +5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST (//) +6\0Show drawers last +; +MSG_MODEREQ_TITLE (//) +Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD (//) +Ok +; +MSG_MODEREQ_NEGATIVE_GAD (//) +Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL (//) +Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT (//) +Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS (//) +Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME (//) +Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM (//) +Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL (//) +Width +; +MSG_MODEREQ_HEIGHT_LABEL (//) +Height +; +MSG_MODEREQ_COLORS_LABEL (//) +Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL (//) +AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF (//) +OFF +; +MSG_MODEREQ_AUTOSCROLL_ON (//) +ON +; +MSG_MODEREQ_PROPERTIES_TITLE (//) +Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB (//) +Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK (//) +Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG (//) +Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM (//) +Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB (//) +Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE (//) +Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS (//) +Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB (//) +Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK (//) +Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG (//) +Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 (//) +DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE (//) +%ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL (//) +Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE (//) +L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE (//) +N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES (//) +?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE (//) +R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK (//) +O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL (//) +C\0Cancel +; +MSG_FONTREQ_TITLE (//) +Select Font +; +MSG_FONTREQ_POSITIVE_GAD (//) +Ok +; +MSG_FONTREQ_NEGATIVE_GAD (//) +Cancel +; +MSG_FONTREQ_MEN_CONTROL (//) +Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT (//) +L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT (//) +N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE (//) +R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN (//) +D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK (//) +O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL (//) +C\0Cancel +; +MSG_FONTREQ_MODE_LABEL (//) +Mode +; +MSG_FONTREQ_MODE_TEXT (//) +Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD (//) +Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT (//) +Complement +; +MSG_FONTREQ_STYLE_LABEL (//) +Style +; +MSG_FONTREQ_STYLE_BOLD (//) +B +; +MSG_FONTREQ_STYLE_ITALIC (//) +I +; +MSG_FONTREQ_STYLE_UNDERLINED (//) +U +; +MSG_FONTREQ_COLOR_LABEL_FG (//) +Color +; +MSG_FONTREQ_COLOR_LABEL_BG (//) +BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG (//) +Colors +; diff --git a/workbench/libs/asl/catalogs/czech.ct b/workbench/libs/asl/catalogs/czech.ct new file mode 100644 index 00000000000..cc5341fc119 --- /dev/null +++ b/workbench/libs/asl/catalogs/czech.ct @@ -0,0 +1,422 @@ +## version $VER: asl.catalog 2.0 (31.03.2016) +## language czech +## codeset 0 +; +MSG_FILEREQ_TITLE +Výběr souboru +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +OK +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Zrušit +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Média +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Vyšší +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Maska +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Adresář +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Soubor +; File +; +MSG_FILEREQ_LV_DRAWER +Adresář +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Přiřazení +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Smazání objektu +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Upozornění: Opravdu chcete smazat vybraný objekt\n\%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Smazat|Zrušit +; Delete|Cancel +; +MSG_FILEREQ_FOREIGNER_TITLE +Ikony z několika různých adresářů +; Icons dropped from different drawers +; +MSG_FILEREQ_FOREIGNER_MSG +Upozornění: Vybrané ikony nepocházejí z jednoho\n\ +adresáře.\n\ +Následující soubory nelze zpracovat:\n\ +%s +; Warning: The icons that have just been dropped\n\ +; do not all come from the same drawer.\n\ +; The requester could not handle the following files:\n\ +; %s +; +MSG_FILEREQ_FOREIGNER_OK +OK +; OK +; +MSG_FILEREQ_RENAME_TITLE +Přejmenování objektu +; Rename +; +MSG_FILEREQ_RENAME_OK +Přejmenovat +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Zrušit +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Nový adresář +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Vytvořit +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Zrušit +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +nový_adresář +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Výběr pomocí masky +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Vybrat +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Zrušit +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Projekt +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Předchozí položka +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +N\0Následující položka +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Adresář o úroveň výš +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Seznam médií +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Aktualizovat obsah +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Smazat +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +T\0Vytvořit nový adresář... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Přejmenovat... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Vybrat položky... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Potvrdit +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Zrušit +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Výpis +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Řadit dle názvu +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Řadit dle data +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Řadit dle velikosti +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Řadit vzestupně +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Řadit sestupně +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Adresáře jako první +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Adresáře i soubory dohromady +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Adresáře jako poslední +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Výběr rozlišení obrazovky +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +Potvrdit +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Zrušit +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Textový režim +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Grafický režim +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Zpracovatelné maximum +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Zobrazitelné maximum +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Šířka +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Výška +; Height +; +MSG_MODEREQ_COLORS_LABEL +Počet barev +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Rolování obrazovky +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +vyp +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +zap +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Přehled vlastností +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Nepodporuje Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Nepodporuje genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Nelze přesouvat +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Režim HAM +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Režim EHB +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Prokládaný +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Vyžaduje ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Podporuje Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Podporuje genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Lze přesouvat +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ld Hz, %ld,%ld kHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Projekt +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Předchozí položka +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Následující položka +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Přehled vlastností... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Potvrdit +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Zrušit +; C\0Cancel +; +MSG_FONTREQ_TITLE +Výběr písma +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Potvrdit +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Zrušit +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Projekt +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Předchozí položka +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Následující položka +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Aktualizovat seznam +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Potvrdit +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Zrušit +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Režim +; Mode +; +MSG_FONTREQ_MODE_TEXT +Text +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Text s pozadím +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Komplementární +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Řez písma +; Style +; +MSG_FONTREQ_STYLE_BOLD +T +; B +; +MSG_FONTREQ_STYLE_ITALIC +K +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +P +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Barva +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Barva pozadí +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Barvy +; Colors +; diff --git a/workbench/libs/asl/catalogs/danish.ct b/workbench/libs/asl/catalogs/danish.ct new file mode 100644 index 00000000000..4bf7c6cd51a --- /dev/null +++ b/workbench/libs/asl/catalogs/danish.ct @@ -0,0 +1,404 @@ +## version $VER: asl.catalog 1.0 (25.06.2010) +## language dansk +## codeset 0 +; +MSG_FILEREQ_TITLE +Vælg fil +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +O.k. +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Afbryd +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volumes +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Forælder +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Mønster +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Skuffe +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Fil +; File +; +MSG_FILEREQ_LV_DRAWER +Skuffe +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Tildel +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Slet fil +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Advarsel: Slettede data kan ikke\ngenskabes. Vil du stadig slette\n%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Slet|Afbryd +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Omdøb +; Rename +; +MSG_FILEREQ_RENAME_OK +Omdøb +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Afbryd +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Opret skuffe +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Opret +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Afbryd +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Omdøb mig +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Vælg efter mønster +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Vælg +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Afbryd +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Kontrol +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Forrige navn +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +N\0Næste navn +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Genskab +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Forælder +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volumes +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Opdatér +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Slet +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +T\0Opret ny skuffe... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Omdøb... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Vælg... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0O.k. +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Afbryd +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Filliste +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Sortér efter navn +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Sortér efter dato +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Sortér efter størrelse +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\Stigende rækkefølge +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\Faldende rækkefølge +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Vis skuffer forrest +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Vis skuffer med filer +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Vis skuffer til sidst +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Vælg skærmtilstand +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +O.k. +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Afbryd +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overskan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Skriftstørrelse +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Grafikstørrelse +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Ekstrem størrelse +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Maksimal størrelse +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Bredde +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Højde +; Height +; +MSG_MODEREQ_COLORS_LABEL +Farver +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Autorulning +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +FRA +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +TIL +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Tilstandsegenskaber +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Understøtter ikke Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Understøtter ikke genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Ikke trækbar +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-HalfBright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Interlaced +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Kræver ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Understøtter Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Understøtter genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Trækbar +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield Prioritet 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Kontrol +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Forrige tilstand +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Næste tilstand +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Egenskabsliste... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Genskab +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0O.k. +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Afbryd +; C\0Cancel +; +MSG_FONTREQ_TITLE +Vælg skrifttype +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +O.k. +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Afbryd +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Kontrol +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Forrige skrifttype +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Næste skrifttype +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Genskab +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Genskan disk +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0O.k. +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Afbryd +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Tilstand +; Mode +; +MSG_FONTREQ_MODE_TEXT +Tekst +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Tekst+baggrund +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Inverteret +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Stil +; Style +; +MSG_FONTREQ_STYLE_BOLD +F +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Farve +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Baggrundsfarve +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Farver +; Colors +; \ No newline at end of file diff --git a/workbench/libs/asl/catalogs/finnish.ct b/workbench/libs/asl/catalogs/finnish.ct new file mode 100644 index 00000000000..fdc6fe70b08 --- /dev/null +++ b/workbench/libs/asl/catalogs/finnish.ct @@ -0,0 +1,404 @@ +## version $VER: asl.catalog 1.0 (13.03.2001) +## language suomi +## codeset 0 +; +MSG_FILEREQ_TITLE +Valitse tiedosto +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +Selvä +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Peru +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Asemat +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Edeltäjä +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Kuvio +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Hakemisto +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Tiedosto +; File +; +MSG_FILEREQ_LV_DRAWER +Hakemisto +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Asetettu +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Poista tiedosto +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Varoitus: et saa takaisin minkä poistat!\nPoistetaanko varmasti\n%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Poista|Peru +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Nimeä uudelleen +; Rename +; +MSG_FILEREQ_RENAME_OK +Nimeä +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Peru +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Luo hakemisto +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Luo +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Peru +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Nimeä_minut +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Valitse kuviolla +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Valitse +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Peru +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Hallinta +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Edellinen nimi +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +N\0Seuraava nimi +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Palauta +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Edeltäjä +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Asemat +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Päivitä +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Poista +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +T\0Luo uusi hakemisto... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Nimeä uudelleen... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Valitse... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Selvä +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Peru +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Tiedostolista +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Järjestä nimen mukaan +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Järjestä päivämäärittäin +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Järjestä koon mukaan +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Nouseva järjestys +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Laskeva järjestys +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Näytä hakemistot ensimmäisenä +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Sekoita hakemistot ja tiedostot +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Näytä hakemistot lopussa +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Valitse näyttötila +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +Selvä +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Peru +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Tekstin koko +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Grafiikan koko +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Äärimmäinen koko +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Suurin koko +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Leveys +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Korkeus +; Height +; +MSG_MODEREQ_COLORS_LABEL +Värit +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Auto-vieritys +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +POIS +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +PÄÄLLÄ +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Tilan ominaisuudet +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Ei tue työpöytää +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Ei tue genlock:ia +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Ei raahattavissa +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-HalfBright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Lomitettu +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Vaatii ECS:n +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Tukee työpöytää +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Tukee genlock:ia +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Raahattavissa +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield prioriteetti 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Hallinta +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Edellinen tila +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Seuraava tila +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Ominaisuuslista... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Palauta +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Selvä +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Peru +; C\0Cancel +; +MSG_FONTREQ_TITLE +Valitse kirjasin +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Selvä +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Peru +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Hallinta +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Edellinen kirjasin +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Seuraava kirjasin +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Palauta +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Tutki levy uudelleen +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Selvä +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Peru +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Tila +; Mode +; +MSG_FONTREQ_MODE_TEXT +Teksti +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Teksti+kenttä +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Käänteinen +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Tyyli +; Style +; +MSG_FONTREQ_STYLE_BOLD +B +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Väri +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Taustaväri +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Värit +; Colors +; diff --git a/workbench/libs/asl/catalogs/french.ct b/workbench/libs/asl/catalogs/french.ct new file mode 100644 index 00000000000..c80ba01d6cf --- /dev/null +++ b/workbench/libs/asl/catalogs/french.ct @@ -0,0 +1,422 @@ +## version $VER: asl.catalog 2.0 (31.03.2016) +## codeset 0 +## language français +; +MSG_FILEREQ_TITLE +Choisir un fichier +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Annuler +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volumes +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Parent +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Modèle +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Répertoire +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Fichier +; File +; +MSG_FILEREQ_LV_DRAWER +Répertoire +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Assignation +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Effacer le fichier +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Attention : Toutes les données vont être détruites\n\ +D'accord pour effacer %s ? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Effacer|Annuler +; Delete|Cancel +; +MSG_FILEREQ_FOREIGNER_TITLE +Icônes déposées provenant de répertoires différents +;Icons dropped from different drawers +; +MSG_FILEREQ_FOREIGNER_MSG +Attention : Les icônes qui viennent d'être déposées\n\ +ne proviennent pas toutes du même répertoire.\n\ +Les fichiers suivants n'ont pas pu être pris en compte :\n\ +%s +;Warning: The icons that have just been dropped\n\ +;do not all come from the same drawer.\n\ +;The requester could not handle the following files:\n\ +;%s +; +MSG_FILEREQ_FOREIGNER_OK +OK +;OK +; +MSG_FILEREQ_RENAME_TITLE +Renommer +; Rename +; +MSG_FILEREQ_RENAME_OK +Renommer +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Annuler +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Créer un répertoire +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Créer +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Annuler +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Renommez_moi +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Appliquer le modèle +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Selectionner +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Annuler +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Contrôle +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Nom précédent +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +M\0Nom suivant +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Revenir à l'initiale +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Parent +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volumes +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +A\0Actualiser +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Effacer +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER + \0Créer un répertoire... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +M\0Renommer... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Sélectionner... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Annuler +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Liste des fichiers +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Trier par ordre alphabétique +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Trier par date +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Trier par taille +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Ordre ascendant +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Ordre descendant +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Répertoires en tête +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Répertoires parmi les fichiers +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Répertoires en fin +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Requête de mode d'affichage +; +MSG_MODEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Annuler +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Taille du texte +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Taille graphique +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Taille extrême +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Taille maximale +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Largeur +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Hauteur +; Height +; +MSG_MODEREQ_COLORS_LABEL +Couleurs +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +AutoScroll +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +OFF +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +ON +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Propriétés des modes +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Ne supporte pas le Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Ne supporte pas le Genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +L'écran n'est pas tractable +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold And Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-Halfbright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Entrelacé +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Requiert ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Supporte le Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Supporte le Genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Ecran tractable +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield de priorité 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Contrôle +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Dernier mode +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Mode suivant +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0List des propriétés ... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Revenir à l'initiale +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Annuler +; C\0Cancel +; +MSG_FONTREQ_TITLE +Choisir une police +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Annuler +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Contrôle +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Dernière police +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Police suivante +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Revenir à l'initiale +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Scruter le disque +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Annuler +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Mode +; Mode +; +MSG_FONTREQ_MODE_TEXT +Texte +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Texte+Fond +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Inverse +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Style +; Style +; +MSG_FONTREQ_STYLE_BOLD +B +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Couleur +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Couleur de fond +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Couleurs +; Colors +; diff --git a/workbench/libs/asl/catalogs/german.ct b/workbench/libs/asl/catalogs/german.ct new file mode 100644 index 00000000000..acda72cc929 --- /dev/null +++ b/workbench/libs/asl/catalogs/german.ct @@ -0,0 +1,425 @@ +## version $VER: asl.catalog 2.0 (31.03.2016) +## language deutsch +## codeset 0 +; +MSG_FILEREQ_TITLE +Datei auswählen +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Abbrechen +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Laufw. +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Mutterv. +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Muster +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Schublade +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Datei +; File +; +MSG_FILEREQ_LV_DRAWER +Schublade +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Assign +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Datei löschen +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Achtung: Gelöschte Dateien sind\n\ +unwiederbringlich verloren!\n\ +Ok zum Löschen von\n\ +%s ? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Löschen|Abbrechen +; Delete|Cancel +; +MSG_FILEREQ_FOREIGNER_TITLE +Piktogramme aus verschiedenen Ordnern fallen gelassen +; Icons dropped from different drawers +; +MSG_FILEREQ_FOREIGNER_MSG +Warnung: Die Piktogramme, die gerade fallen gelassen\n\ +wurden, kommen nicht alle aus der selben Schublade.\n\ +Der Requester konnte folgende Dateien nicht verarbeiten:\n\ +%s +; Warning: The icons that have just been dropped\n\ +; do not all come from the same drawer.\n\ +; The requester could not handle the following files:\n\ +; %s +; +MSG_FILEREQ_FOREIGNER_OK +OK +; OK +; +MSG_FILEREQ_RENAME_TITLE +Umbenennen +; Rename +; +MSG_FILEREQ_RENAME_OK +Umbenennen +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Abbrechen +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Schublade anlegen +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Anlegen +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Abbrechen +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Bitte_umbenennen +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Nach Namensmuster auswählen +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Auswählen +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Abbrechen +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Steuerung +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Letzter Name +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +M\0Nächster Name +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Zurück auf Vorgabe +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Übergeordnet +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Datenträger +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +A\0Aktualisieren +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Löschen +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER + \0Neue Schublade anlegen... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +M\0Umbenennen... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Auswählen... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Abbrechen +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Dateien auflisten +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Nach Namen sortieren +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Nach Datum sortieren +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Nach Größe sortieren +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Aufsteigende Reihenfolge +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Absteigende Reihenfolge +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Schubladen an den Anfang stellen +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Schubladen und Dateien mischen +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Schubladen ans Ende stellen +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Bildschirmmodus auswählen +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Abbrechen +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Randbereich +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Textabmessung +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Grafikabmessung +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Extreme Abmessung +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Maximale Abmessung +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Breite +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Höhe +; Height +; +MSG_MODEREQ_COLORS_LABEL +Farben +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Auto-Rollen +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +AUS +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +AN +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Modus-Eigenschaften +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Unterstützt Workbench nicht +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Unterstützt kein Genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Nicht ziehbarer Schirm +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-Halfbright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Zeilensprung +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Benötigt ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Unterstützt Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Unterstützt Genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Ziehbarer Schirm +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield Priorität 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Steuerung +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Letzter Modus +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Nächster Modus +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Eigenschaftsliste ... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Zurück auf Vorgabe +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Abbrechen +; C\0Cancel +; +MSG_FONTREQ_TITLE +Zeichensatz auswählen +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Abbrechen +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Steuerung +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Letzter Zeichensatz +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Nächster Zeichensatz +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Zurück auf Vorgabe +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Disk neu absuchen +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Abbrechen +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Modus +; Mode +; +MSG_FONTREQ_MODE_TEXT +Text +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Text+Hintergrund +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Invers +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Stil +; Style +; +MSG_FONTREQ_STYLE_BOLD +F +; B +; +MSG_FONTREQ_STYLE_ITALIC +K +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Farbe +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +HG Farbe +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Farben +; Colors +; diff --git a/workbench/libs/asl/catalogs/italian.ct b/workbench/libs/asl/catalogs/italian.ct new file mode 100644 index 00000000000..c6d4f97b5ff --- /dev/null +++ b/workbench/libs/asl/catalogs/italian.ct @@ -0,0 +1,404 @@ +## version $VER: asl.catalog 1.0 (12.03.2001) +## codeset 0 +## language italiano +; +MSG_FILEREQ_TITLE +Scegliere file +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Annulla +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volumi +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Superiore +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Tipo +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Directory +; Drawer +; +MSG_FILEREQ_FILE_LABEL +File +; File +; +MSG_FILEREQ_LV_DRAWER +Directory +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Assign +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Cancellare file +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Attenzione: i dati cancellati non si possono recuperare.\n\ +Procedere nell'eliminazione di\n%s ? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Ok cancella|Annulla +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Rinominare +; Rename +; +MSG_FILEREQ_RENAME_OK +Rinominare +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Annulla +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Crea directory +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Creare +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Annullare +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Rinominami +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Scegliere per tipo +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Seleziona +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Annulla +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Controlla +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Ultimo nome +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +M\0Nome successivo +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Ripristina +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Superiore +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volumi +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +A\0Aggiorna +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Cancella +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER + \0Crea nuova directory... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +M\0Rinomina... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Seleziona... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Annulla +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Lista file +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Ordina alfabeticamente +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Ordina per data +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Ordina per dimensioni +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Ordine ascendente +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Ordine inverso +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Mostra prima le directory +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Mostra directory non vuote +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Mostra le directory per ultime +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Modalità dei file +; +MSG_MODEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Annulla +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Area del testo +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Area grafica +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Ampiezza estrema +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Ampiezza massima +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Larghezza +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Altezza +; Height +; +MSG_MODEREQ_COLORS_LABEL +Coulori +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +AutoScroll +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +OFF +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +ON +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Modalità +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Non supporta il Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Non supporta il Genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Non si può disegnare +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-Halfbright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Interlacciato +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Richiede ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Supporta il Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Supporta il Genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Disegnabile +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield di priorità 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Controllo +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Ultimo modo +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Modo successivo +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Lista delle proprietà ... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Ripristina +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Annulla +; C\0Cancel +; +MSG_FONTREQ_TITLE +Scegliere font +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Annulla +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Controlla +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Ultimo font +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Font successivo +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Ripristina +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Controlla su disco +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Annulla +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Modo +; Mode +; +MSG_FONTREQ_MODE_TEXT +Testo +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Testo+Fondo +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Inverso +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Stile +; Style +; +MSG_FONTREQ_STYLE_BOLD +G +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +S +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Colore +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Colore di fondo +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Coulori +; Colors +; diff --git a/workbench/libs/asl/catalogs/mmakefile.src b/workbench/libs/asl/catalogs/mmakefile.src new file mode 100644 index 00000000000..333ec45246b --- /dev/null +++ b/workbench/libs/asl/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french german +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-libs-asl-catalogs \ + catalogs=$(CATALOGS) \ + name=asl subdir=System/Libs diff --git a/workbench/libs/asl/catalogs/polish.ct b/workbench/libs/asl/catalogs/polish.ct new file mode 100644 index 00000000000..95d88d46655 --- /dev/null +++ b/workbench/libs/asl/catalogs/polish.ct @@ -0,0 +1,407 @@ +## version $VER: asl.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_FILEREQ_TITLE +Wybierz plik +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +OK +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Poniechaj +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Wolumeny +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Nadrzędny +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Wzorzec +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Katalog +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Plik +; File +; +MSG_FILEREQ_LV_DRAWER +Katalog +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Przypis +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Skasuj plik +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Ostrzeżenie: nie będziesz mógł\n\ +tego, co skasujesz!\n\ +Na pewno skasować\n\ +%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Skasuj|Poniechaj +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Zmień nazwę +; Rename +; +MSG_FILEREQ_RENAME_OK +Zmień nazwę +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Poniechaj +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Utwórz katalog +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Utwórz +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Poniechaj +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +zmien_nazwe +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Zaznacz wg wzorca +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Zaznacz +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Poniechaj +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Sterowanie +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Poprzedni +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +M\0Następny +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Przywróć +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Nadrzędny +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Wolumeny +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +A\0Uaktualnij +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Skasuj +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER + \0Utwórz nowy katalog... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +M\0Zmień nazwę... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Zaznacz... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Poniechaj +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Lista plików +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Sortuj wg nazw +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Sortuj wg dat +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Sortuj wg wielkości +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Rosnąco +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Malejąco +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Katalogi na początku +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Wymieszane katalogi i pliki +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Katalogi na końcu +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Wybór trybu wyświetlania +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +OK +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Poniechaj +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Obszar tekstu +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Obszar grafiki +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Obszar ekstremalny +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Obszar maksymalny +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Szerokość +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Wysokość +; Height +; +MSG_MODEREQ_COLORS_LABEL +Kolory +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Automatyczne przewijanie +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +WYŁ. +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +WŁ. +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Właściwości trybu +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Nie wspiera Workbencha +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Nie wspiera genlocka +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Nie można przeciągać +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +HAM +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +EHB +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Z przeplotem +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Wymaga ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Wspiera Workbencha +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Wspiera genlocka +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Można przeciągać +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +Priorytet DualPlayfield = 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Sterowanie +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Poprzedni tryb +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Następny tryb +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Właściwości... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Przywróć +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Poniechaj +; C\0Cancel +; +MSG_FONTREQ_TITLE +Wybierz czcionkę +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +OK +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Poniechaj +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Sterowanie +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Poprzednia czcionka +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Następna czcionka +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Przywróć +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Ponowny odczyt +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Poniechaj +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Tryb +; Mode +; +MSG_FONTREQ_MODE_TEXT +Tekst +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Tekst + tło +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Dopełnienie +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Styl +; Style +; +MSG_FONTREQ_STYLE_BOLD +B +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Kolor +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Kolor tła +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Kolory +; Colors +; diff --git a/workbench/libs/asl/catalogs/portuguese.ct b/workbench/libs/asl/catalogs/portuguese.ct new file mode 100644 index 00000000000..fc8b5407185 --- /dev/null +++ b/workbench/libs/asl/catalogs/portuguese.ct @@ -0,0 +1,400 @@ +## version $VER: asl.catalog 1.0 (29.09.2007) +## codeset 0 +## language português +; +; Translated by João Ralha +; +MSG_FILEREQ_TITLE +Selecionar ficheiro +;Select File +; +MSG_FILEREQ_POSITIVE_GAD +Aceitar +;Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volumes +;Volumes +; +MSG_FILEREQ_PARENT_GAD +D.Acima +;Parent +; +MSG_FILEREQ_PATTERN_LABEL +Padrão +;Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Directório +;Drawer +; +MSG_FILEREQ_FILE_LABEL +Ficheiro +;File +; +MSG_FILEREQ_LV_DRAWER +Directório +;Drawer +; +MSG_FILEREQ_LV_ASSIGN +;Asignar +Assign +; +MSG_FILEREQ_DELETE_TITLE +Apagar ficheiro +;Delete File +; +MSG_FILEREQ_DELETE_MSG +Aviso: Não poderá recuperar\n o que apagar! Apagar de certeza\n%s? +;Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Apagar|Cancelar +;Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Mudar o nome +;Rename +; +MSG_FILEREQ_RENAME_OK +Mudar nome +;Rename +; +MSG_FILEREQ_RENAME_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Criar directório +;Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Criar +;Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Nome_indefenido +;Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Selecionar segundo padrão +;Select by pattern +; +MSG_FILEREQ_SELECT_OK +Selecionar +;Select +; +MSG_FILEREQ_SELECT_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_MEN_CONTROL +Controlar +;Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +A\0Nome ant. +;L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +S\0Nome seg. +;N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +T\0D.Acima +;P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volumes +;V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Actualizar +;U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +B\0Apgar +;D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +J\0Criar um novo directório... +;T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Mudar nome... +;E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Selecionar... +;#\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +A\0Aceitar +;O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Lista de ficheiros +;File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Ordenar por nome +;1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Ordenar por data +;2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Ordenar por tamanho +;3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Ordem ascendente +;+\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Ordem descendente +;-\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Ver directórios primero +;4\0Mostrar los cajones primero +;4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Ver directórios com ficheiros +;5\0Mostrar los cajones con archivos +;5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Ver directórios no final +;6\0Mostrar los cajones al final +;6\0Show drawers last +; +MSG_MODEREQ_TITLE +Selecionar o modo de écran +;Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +Aceitar +;Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Tamanho do texto +;Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Tamanho dos gráficos +;Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Tamanho extremo +;Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Tamanho máximo +;Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Largura +;Width +; +MSG_MODEREQ_HEIGHT_LABEL +Altura +;Height +; +MSG_MODEREQ_COLORS_LABEL +Cores +;Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Scroll automático +; +MSG_MODEREQ_AUTOSCROLL_OFF +Desactivado +;OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +Activado +;ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Propriedades do modo +;Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Não suporta Workbench +;Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Não suporta genlock +;Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Não arrastável +;Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Entrelaçado +;Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Necessita ECS +;Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Suporta Workbench +;Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Suporta genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Arrastável +;Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield de prioridade 2 +;DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Controlo +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Modo ant. +;L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Modo seg. +;N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Lista de propriedades... +;?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +A\0Aceitar +;O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FONTREQ_TITLE +Selecionar fonte +;Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Aceitar +;Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_FONTREQ_MEN_CONTROL +Controlo +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Fonte ant. +;L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Fonte seg. +;N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Reler disco +;D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +A\0Aceitar +;O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Modo +;Mode +; +MSG_FONTREQ_MODE_TEXT +Texto +;Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Texto+Campo +;Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Complemento +;Complement +; +MSG_FONTREQ_STYLE_LABEL +Estilo +;Style +; +MSG_FONTREQ_STYLE_BOLD +N +;B +; +MSG_FONTREQ_STYLE_ITALIC +I +;I +; +MSG_FONTREQ_STYLE_UNDERLINED +S +;U +; +MSG_FONTREQ_COLOR_LABEL_FG +Cor +; +MSG_FONTREQ_COLOR_LABEL_BG +Cor do fundo +;BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Cores +;Colors +; \ No newline at end of file diff --git a/workbench/libs/asl/catalogs/russian.ct b/workbench/libs/asl/catalogs/russian.ct new file mode 100644 index 00000000000..e8a46b27278 --- /dev/null +++ b/workbench/libs/asl/catalogs/russian.ct @@ -0,0 +1,408 @@ +## version $VER: asl.catalog 1.0 (11.05.2006) +## codeset 0 +## language russian +;## charset CP 1251 +; Translated by Sergey Mineychev aka Keen +; +MSG_FILEREQ_TITLE +Выберите файл +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Отмена +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Тома +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Выше +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Шаблон +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Каталог +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Файл +; File +; +MSG_FILEREQ_LV_DRAWER +Каталог +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Назначить +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Удалить файл +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Внимание: после удаления\n\ +информация будет утеряна\n\ +ТОЧНО удалять\n\ +%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Удалить|Отменить +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Переименование +; Rename +; +MSG_FILEREQ_RENAME_OK +Переименовать +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Отмена +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Создание каталога +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Создать +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Отмена +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Назови_Меня +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Выбор по шаблону +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Выбрать +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Отменить +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Управление +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +П\0Предыдущий +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +С\0Следующий +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Вернуть +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +У\0Назад +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +Т\0Тома +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +A\0Обновить +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Удалить +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +T\0Создать каталог... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Переименовать... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Выбрать... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Отмена +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Список файлов +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Сортировать по имени +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Сортировать по дате +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Сортировать по размеру +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0По возрастанию +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0По убыванию +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Показать каталоги первыми +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Показать каталоги с файлами +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Показать каталоги последними +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Выбор разрешения экрана +; +MSG_MODEREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Отмена +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Размер текста +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Размер графики +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Экстремальный размер +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Максимальный размер +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Ширина +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Высота +; Height +; +MSG_MODEREQ_COLORS_LABEL +Цвета +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Автопромотка +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +Выкл +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +Вкл +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Свойства режима +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Не поддерживает Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Не поддерживает Genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Неперемещаемое +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold And Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-Halfbright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Чересстрочная +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Нужен ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Поддерживает Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Поддерживает Genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Перемещаемое +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +Приоритет DualPlayfield = 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldГц, %ld,%ldкГц +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Настройка +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Последний режим +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Следующий режим +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Список свойств... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Вернуть +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Отмена +; C\0Cancel +; +MSG_FONTREQ_TITLE +Выбрать шрифт +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Ok +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Отмена +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Управление +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Последний шрифт +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Следующий шрифт +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Вернуть +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Пересмотреть диск +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0Ok +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Отмена +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Режим +; Mode +; +MSG_FONTREQ_MODE_TEXT +Текст +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Текст+Поле +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Дополнение +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Стиль +; Style +; +MSG_FONTREQ_STYLE_BOLD +B +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Цвет FG +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Цвет BG +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Цвета BG+FG +; Colors +; diff --git a/workbench/libs/asl/catalogs/spanish.ct b/workbench/libs/asl/catalogs/spanish.ct new file mode 100644 index 00000000000..47e8324649d --- /dev/null +++ b/workbench/libs/asl/catalogs/spanish.ct @@ -0,0 +1,400 @@ +## version $VER: asl.catalog 1.0 (29.09.2007) +## codeset 0 +## language español +; +; Translated by ahg +; +MSG_FILEREQ_TITLE +Elegir un archivo +;Select File +; +MSG_FILEREQ_POSITIVE_GAD +Aceptar +;Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volúmenes +;Volumes +; +MSG_FILEREQ_PARENT_GAD +Atrás +;Parent +; +MSG_FILEREQ_PATTERN_LABEL +Patrón +;Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Cajón +;Drawer +; +MSG_FILEREQ_FILE_LABEL +Archivo +;File +; +MSG_FILEREQ_LV_DRAWER +Cajón +;Drawer +; +MSG_FILEREQ_LV_ASSIGN +Asignar +;Assign +; +MSG_FILEREQ_DELETE_TITLE +Borrar un archivo +;Delete File +; +MSG_FILEREQ_DELETE_MSG +Aviso: ¡No podrás recuperar\nlo que borraste! ¿Seguro de borrar\n%s? +;Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Borrar|Cancelar +;Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Cambiar el nombre +;Rename +; +MSG_FILEREQ_RENAME_OK +Renombrar +;Rename +; +MSG_FILEREQ_RENAME_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Crear un cajón +;Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Crear +;Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Renómbra_me +;Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Elegir según el patrón +;Select by pattern +; +MSG_FILEREQ_SELECT_OK +Elegir +;Select +; +MSG_FILEREQ_SELECT_CANCEL +Cancelar +;Cancel +; +MSG_FILEREQ_MEN_CONTROL +Controlar +;Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +A\0Nombre ant. +;L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +S\0Nombre sig. +;N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +T\0Atrás +;P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volúmenes +;V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Actualizar +;U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +B\0Borrar +;D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +J\0Crear un nuevo cajón... +;T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Renombrar... +;E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Elegir... +;#\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +A\0Aceptar +;O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Lista de archivos +;File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Ordenar por nombre +;1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Ordenar por fecha +;2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Ordenar por tamaño +;3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Orden ascendente +;+\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Orden descendente +;-\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Ver los cajones primero +;4\0Mostrar los cajones primero +;4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Ver los cajones con archivos +;5\0Mostrar los cajones con archivos +;5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Ver los cajones al final +;6\0Mostrar los cajones al final +;6\0Show drawers last +; +MSG_MODEREQ_TITLE +Elegir el Modo de Pantalla +;Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +Aceptar +;Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Tamaño del texto +;Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Tamaño de los gráficos +;Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Tamaño extremo +;Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Tamaño máximo +;Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Ancho +;Width +; +MSG_MODEREQ_HEIGHT_LABEL +Alto +;Height +; +MSG_MODEREQ_COLORS_LABEL +Colores +;Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +Desactivado +;OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +Activado +;ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Propiedades del modo +;Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +No soporta al Workbench +;Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +No soporta al genlock +;Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +No se puede arrastrar +;Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Entrelazado +;Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Necesita del ECS +;Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Soporta al Workbench +;Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Se puede arrastrar +;Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield de prioridad 2 +;DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Modo ant. +;L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Modo sig. +;N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Lista de propiedades... +;?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +A\0Aceptar +;O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FONTREQ_TITLE +Elegir la fuente +;Select Font +; +MSG_FONTREQ_POSITIVE_GAD +Aceptar +;Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Cancelar +;Cancel +; +MSG_FONTREQ_MEN_CONTROL +Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Fuente ant. +;L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Fuente sig. +;N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Releer el disco +;D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +A\0Aceptar +;O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Cancelar +;C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Modo +;Mode +; +MSG_FONTREQ_MODE_TEXT +Texto +;Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Texto+Campo +;Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Complemento +;Complement +; +MSG_FONTREQ_STYLE_LABEL +Estilo +;Style +; +MSG_FONTREQ_STYLE_BOLD +N +;B +; +MSG_FONTREQ_STYLE_ITALIC +C +;I +; +MSG_FONTREQ_STYLE_UNDERLINED +S +;U +; +MSG_FONTREQ_COLOR_LABEL_FG +Color +; +MSG_FONTREQ_COLOR_LABEL_BG +Color del fondo +;BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Colores +;Colors +; diff --git a/workbench/libs/asl/catalogs/swedish.ct b/workbench/libs/asl/catalogs/swedish.ct new file mode 100644 index 00000000000..243e5208b8a --- /dev/null +++ b/workbench/libs/asl/catalogs/swedish.ct @@ -0,0 +1,404 @@ +## version $VER: asl.catalog 1.0 (13.03.2001) +## language svenska +## codeset 0 +; +MSG_FILEREQ_TITLE +Välj fil +; Select File +; +MSG_FILEREQ_POSITIVE_GAD +OK +; Ok +; +MSG_FILEREQ_NEGATIVE_GAD +Avbryt +; Cancel +; +MSG_FILEREQ_VOLUMES_GAD +Volymer +; Volumes +; +MSG_FILEREQ_PARENT_GAD +Moder +; Parent +; +MSG_FILEREQ_PATTERN_LABEL +Mönster +; Pattern +; +MSG_FILEREQ_DRAWER_LABEL +Låda +; Drawer +; +MSG_FILEREQ_FILE_LABEL +Fil +; File +; +MSG_FILEREQ_LV_DRAWER +Låda +; Drawer +; +MSG_FILEREQ_LV_ASSIGN +Tilldelning +; Assign +; +MSG_FILEREQ_DELETE_TITLE +Radera fil +; Delete File +; +MSG_FILEREQ_DELETE_MSG +Varning: du kan inte få\tillbaka det du raderar! OK att radera\n\%s? +; Warning: you cannot get back\nwhat you delete! Ok to delete\n\%s? +; +MSG_FILEREQ_DELETE_OKCANCEL +Radera|Avbryt +; Delete|Cancel +; +MSG_FILEREQ_RENAME_TITLE +Byt namn +; Rename +; +MSG_FILEREQ_RENAME_OK +Byt namn +; Rename +; +MSG_FILEREQ_RENAME_CANCEL +Avbryt +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_TITLE +Skapa låda +; Create Drawer +; +MSG_FILEREQ_CREATEDRAWER_OK +Skapa +; Create +; +MSG_FILEREQ_CREATEDRAWER_CANCEL +Avbryt +; Cancel +; +MSG_FILEREQ_CREATEDRAWER_DEFNAME +Byt_Mitt_Namn +; Rename_Me +; +MSG_FILEREQ_SELECT_TITLE +Välj via mönster +; Select by pattern +; +MSG_FILEREQ_SELECT_OK +Välj +; Select +; +MSG_FILEREQ_SELECT_CANCEL +Avbryt +; Cancel +; +MSG_FILEREQ_MEN_CONTROL +Kontroll +; Control +; +MSG_FILEREQ_MEN_CONTROL_LASTNAME +L\0Föregående namn +; L\0Last Name +; +MSG_FILEREQ_MEN_CONTROL_NEXTNAME +N\0Nästa namn +; N\0Next Name +; +MSG_FILEREQ_MEN_CONTROL_RESTORE +R\0Återställ +; R\0Restore +; +MSG_FILEREQ_MEN_CONTROL_PARENT +P\0Moder +; P\0Parent +; +MSG_FILEREQ_MEN_CONTROL_VOLUMES +V\0Volymer +; V\0Volumes +; +MSG_FILEREQ_MEN_CONTROL_UPDATE +U\0Uppdatera +; U\0Update +; +MSG_FILEREQ_MEN_CONTROL_DELETE +D\0Radera +; D\0Delete +; +MSG_FILEREQ_MEN_CONTROL_CREATEDRAWER +T\0Skapa ny låda... +; T\0Create new drawer... +; +MSG_FILEREQ_MEN_CONTROL_RENAME +E\0Byt namn... +; E\0Rename... +; +MSG_FILEREQ_MEN_CONTROL_SELECT +#\0Välj... +; #\0Select... +; +MSG_FILEREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_FILEREQ_MEN_CONTROL_CANCEL +C\0Avbryt +; C\0Cancel +; +MSG_FILEREQ_MEN_FILELIST +Fillista +; File list +; +MSG_FILEREQ_MEN_FILELIST_SORTNAME +1\0Sortera efter namn +; 1\0Sort by name +; +MSG_FILEREQ_MEN_FILELIST_SORTDATE +2\0Sortera efter datum +; 2\0Sort by date +; +MSG_FILEREQ_MEN_FILELIST_SORTSIZE +3\0Sortera efter storlek +; 3\0Sort by size +; +MSG_FILEREQ_MEN_FILELIST_SORTUP ++\0Stigande ordning +; +\0Ascending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDOWN +-\0Fallande ordning +; -\0Descending order +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERFIRST +4\0Visa lådor först +; 4\0Show drawers first +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERSAME +5\0Visa lådor med filer +; 5\0Show drawers with files +; +MSG_FILEREQ_MEN_FILELIST_SORTDRAWERLAST +6\0Visa lådor sist +; 6\0Show drawers last +; +MSG_MODEREQ_TITLE +Välj skärmläge +; Select Screen Mode +; +MSG_MODEREQ_POSITIVE_GAD +OK +; Ok +; +MSG_MODEREQ_NEGATIVE_GAD +Avbryt +; Cancel +; +MSG_MODEREQ_OVERSCAN_LABEL +Overscan +; Overscan +; +MSG_MODEREQ_OVERSCAN_TEXT +Textstorlek +; Text Size +; +MSG_MODEREQ_OVERSCAN_GRAPHICS +Grafikstorlek +; Graphics Size +; +MSG_MODEREQ_OVERSCAN_EXTREME +Extremstorlek +; Extreme Size +; +MSG_MODEREQ_OVERSCAN_MAXIMUM +Maximal storlek +; Maximum Size +; +MSG_MODEREQ_WIDTH_LABEL +Bredd +; Width +; +MSG_MODEREQ_HEIGHT_LABEL +Höjd +; Height +; +MSG_MODEREQ_COLORS_LABEL +Färger +; Colors +; +MSG_MODEREQ_AUTOSCROLL_LABEL +Autorullning +; AutoScroll +; +MSG_MODEREQ_AUTOSCROLL_OFF +AV +; OFF +; +MSG_MODEREQ_AUTOSCROLL_ON +PÅ +; ON +; +MSG_MODEREQ_PROPERTIES_TITLE +Lägesegenskaper +; Mode Properties +; +MSG_MODEREQ_PROPERTIES_NOTWB +Stödjer inte Workbench +; Does not support Workbench +; +MSG_MODEREQ_PROPERTIES_NOTGENLOCK +Stödjer inte genlock +; Does not support genlock +; +MSG_MODEREQ_PROPERTIES_NOTDRAG +Inte dragbar +; Not draggable +; +MSG_MODEREQ_PROPERTIES_HAM +Hold & Modify +; Hold & Modify +; +MSG_MODEREQ_PROPERTIES_EHB +Extra-HalfBright +; Extra-HalfBright +; +MSG_MODEREQ_PROPERTIES_LACE +Interlace +; Interlaced +; +MSG_MODEREQ_PROPERTIES_ECS +Kräver ECS +; Requires ECS +; +MSG_MODEREQ_PROPERTIES_WB +Stödjer Workbench +; Supports Workbench +; +MSG_MODEREQ_PROPERTIES_GENLOCK +Stödjer genlock +; Supports genlock +; +MSG_MODEREQ_PROPERTIES_DRAG +Dragbar +; Draggable +; +MSG_MODEREQ_PROPERTIES_DPFPRI2 +DualPlayfield Prioritet 2 +; DualPlayfield Priority 2 +; +MSG_MODEREQ_PROPERTIES_REFRESHRATE +%ldHz, %ld,%ldkHz +; %ldHz, %ld,%ldkHz +; +MSG_MODEREQ_MEN_CONTROL +Kontroll +; Control +; +MSG_MODEREQ_MEN_CONTROL_LASTMODE +L\0Föregående läge +; L\0Last Mode +; +MSG_MODEREQ_MEN_CONTROL_NEXTMODE +N\0Nästa läge +; N\0Next Mode +; +MSG_MODEREQ_MEN_CONTROL_PROPERTIES +?\0Egenskapslista... +; ?\0Property List... +; +MSG_MODEREQ_MEN_CONTROL_RESTORE +R\0Återställ +; R\0Restore +; +MSG_MODEREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_MODEREQ_MEN_CONTROL_CANCEL +C\0Avbryt +; C\0Cancel +; +MSG_FONTREQ_TITLE +Välj typsnitt +; Select Font +; +MSG_FONTREQ_POSITIVE_GAD +OK +; Ok +; +MSG_FONTREQ_NEGATIVE_GAD +Avbryt +; Cancel +; +MSG_FONTREQ_MEN_CONTROL +Kontroll +; Control +; +MSG_FONTREQ_MEN_CONTROL_LASTFONT +L\0Föregående typsnitt +; L\0Last Font +; +MSG_FONTREQ_MEN_CONTROL_NEXTFONT +N\0Nästa typsnitt +; N\0Next Font +; +MSG_FONTREQ_MEN_CONTROL_RESTORE +R\0Återställ +; R\0Restore +; +MSG_FONTREQ_MEN_CONTROL_RESCAN +D\0Omkontrollera disken +; D\0Rescan Disk +; +MSG_FONTREQ_MEN_CONTROL_OK +O\0OK +; O\0Ok +; +MSG_FONTREQ_MEN_CONTROL_CANCEL +C\0Avbryt +; C\0Cancel +; +MSG_FONTREQ_MODE_LABEL +Mode +; Mode +; +MSG_FONTREQ_MODE_TEXT +Text +; Text +; +MSG_FONTREQ_MODE_TEXTANDFIELD +Text+Field +; Text+Field +; +MSG_FONTREQ_MODE_COMPLEMENT +Complement +; Complement +; +MSG_FONTREQ_STYLE_LABEL +Style +; Style +; +MSG_FONTREQ_STYLE_BOLD +B +; B +; +MSG_FONTREQ_STYLE_ITALIC +I +; I +; +MSG_FONTREQ_STYLE_UNDERLINED +U +; U +; +MSG_FONTREQ_COLOR_LABEL_FG +Color +; Color +; +MSG_FONTREQ_COLOR_LABEL_BG +BG Color +; BG Color +; +MSG_FONTREQ_COLOR_LABEL_FGBG +Colors +; Colors +; diff --git a/workbench/libs/identify/catalogs b/workbench/libs/identify/catalogs deleted file mode 160000 index 568b4c24b7b..00000000000 --- a/workbench/libs/identify/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 568b4c24b7bba6de99599c115581823fe6b4d18f diff --git a/workbench/libs/identify/catalogs/.gitattributes b/workbench/libs/identify/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/libs/identify/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/libs/identify/catalogs/Identify.cd b/workbench/libs/identify/catalogs/Identify.cd new file mode 100644 index 00000000000..6c1a64aaa19 --- /dev/null +++ b/workbench/libs/identify/catalogs/Identify.cd @@ -0,0 +1,694 @@ +;**************************************************************** +;* * +;* identify.library Catalog Descriptor * +;* * +;**************************************************************** +;* +;* (C) 1996-97 Richard Krber -- All Rights Reserved +;* +;**************************************************************** +; +; ** IMPORTANT NOTES FOR TRANSLATORS ** +; +; Nr. 0 must always be preserved +; Do NOT change the sequence of '%' parameters +; Do NOT change the order of the entries +; Obey the minimum and maximum length +; Note that some lines have trailing spaces +; +; +;================================================================ +; MISCELLANEOUS STRINGS (1..) +;================================================================ +; +MSG_BYTE (1//) +%ld +MSG_KBYTE (//) +%ld.%cKB +MSG_MBYTE (//) +%ld.%cMB +MSG_GBYTE (//) +%ld.%cGB +; +;================================================================ +; BOARD CLASSES (100..) +;================================================================ +; Keep these strings as short as ever possible. +; +MSG_EXP_UNKNOWN (100//49) +(unknown) +MSG_EXP_MISC (//49) +expansion +; +MSG_EXP_TURBO (//49) +accelerator +MSG_EXP_TURBORAM (//49) +accelerator RAM +MSG_EXP_TURBOHD (//49) +accelerator HD controller +MSG_EXP_TURBOIDE (//49) +accelerator IDE controller +MSG_EXP_TURBOSCSIHD (//49) +accelerator SCSI host adapter +; +MSG_EXP_NET (//49) +network +MSG_EXP_ARCNET (//49) +ArcNet +MSG_EXP_ETHERNET (//49) +Ethernet +; +MSG_EXP_AUDIO (//49) +audio +MSG_EXP_VIDEO (//49) +video +MSG_EXP_MULTIMEDIA (//49) +multimedia +MSG_EXP_DSP (//49) +DSP +; +MSG_EXP_BUSBRIDGE (//49) +ISA bus bridge +MSG_EXP_BRIDGE (//49) +PC bridge +; +MSG_EXP_EMULATOR (//49) +emulator +MSG_EXP_MACEMU (//49) +Macintosh emulator +MSG_EXP_ATARIEMU (//49) +Atari emulator +; +MSG_EXP_GFX (//49) +graphics +MSG_EXP_GFXRAM (//49) +graphics RAM +; +MSG_EXP_HD (//49) +HD controller +MSG_EXP_HDRAM (//49) +HD controller RAM +MSG_EXP_IDEHD (//49) +IDE controller +MSG_EXP_IDEHDRAM (//49) +IDE controller RAM +MSG_EXP_SCSIHD (//49) +SCSI host adapter +MSG_EXP_RAMSCSIHD (//49) +SCSI host adapter RAM +MSG_EXP_CDROM (//49) +CD-ROM interface +; +MSG_EXP_MODEM (//49) +internal modem +MSG_EXP_ISDN (//49) +internal ISDN +; +MSG_EXP_MULTIIO (//49) +multi I/O +MSG_EXP_SERIAL (//49) +multi serial +MSG_EXP_PARALLEL (//49) +multi parallel +MSG_EXP_SCANIF (//49) +scanner interface +MSG_EXP_TABLET (//49) +drawing tablet interface +; +MSG_EXP_RAM (//49) +RAM expansion +MSG_EXP_FLASHROM (//49) +Flash ROM +; +MSG_EXP_SCSIIDE (//49) +SCSI/IDE controller +MSG_EXP_RAMFPU (//49) +RAM expansion / FPU +; +MSG_EXP_GUESS (//49) +(guessed) +MSG_EXP_KICKSTART (//49) +KickStart +; +MSG_EXP_RAM32 (//49) +32bit RAM expansion +MSG_EXP_TURBOANDRAM (//49) +accelerator / RAM exp. +MSG_EXP_ACCESS (//49) +access control +MSG_EXP_INTERFACE (//49) +interface +MSG_EXP_MFMHD (//49) +MFM HD controller +MSG_EXP_FLOPPY (//49) +floppy disk interface +; +;================================================================ +; ALERT GENERAL ERROR (1024..) +;================================================================ +; +MSG_ALERT_RECOVERY (1024//49) +Recoverable +MSG_ALERT_DEADEND (//49) +Deadend +MSG_ALERT_UNKNOWN (//49) +Unknown +; +MSG_AG_BADPARM (//49) +Bad parameter +MSG_AG_CLOSEDEV (//49) +Cannot close device +MSG_AG_CLOSELIB (//49) +Cannot close library +MSG_AG_GENERAL (//49) +General fault +MSG_AG_IOERROR (//49) +I/O error +MSG_AG_MAKELIB (//49) +Cannot make library +MSG_AG_NOMEMORY (//49) +No memory +MSG_AG_NOSIGNAL (//49) +No signal +MSG_AG_OPENDEV (//49) +Cannot open device +MSG_AG_OPENLIB (//49) +Cannot open library +MSG_AG_OPENRES (//49) +Cannot open resource +MSG_AG_PROCCREATE (//49) +Process creation failed +; +;================================================================ +; ALERT ERROR (2048..) +;================================================================ +; +MSG_ACPU_ADDRESSERR (2048//49) +Illegal address access +MSG_ACPU_AUTOVEC1 (//49) +AutoVector Level 1 interrupt error +MSG_ACPU_AUTOVEC2 (//49) +AutoVector Level 2 interrupt error +MSG_ACPU_AUTOVEC3 (//49) +AutoVector Level 3 interrupt error +MSG_ACPU_AUTOVEC4 (//49) +AutoVector Level 4 interrupt error +MSG_ACPU_AUTOVEC5 (//49) +AutoVector Level 5 interrupt error +MSG_ACPU_AUTOVEC6 (//49) +AutoVector Level 6 interrupt error +MSG_ACPU_AUTOVEC7 (//49) +AutoVector Level 7 interrupt error +MSG_ACPU_BUSERR (//49) +Hardware bus fault/access error +MSG_ACPU_CHK (//49) +Check instruction error +MSG_ACPU_COPRVIOL (//49) +Coprocessor protocol violation +MSG_ACPU_DIVZERO (//49) +Divide by zero +MSG_ACPU_FORMAT (//49) +Stack frame format error +MSG_ACPU_FPCPBRANCH (//49) +FPCP branch or set on unordered condition +MSG_ACPU_FPCPDIVZERO (//49) +FPCP divide by zero +MSG_ACPU_FPCPINEXACT (//49) +FPCP inexact result +MSG_ACPU_FPCPOPERROR (//49) +FPCP operand error +MSG_ACPU_FPCPOVER (//49) +FPCP overflow +MSG_ACPU_FPCPUNDER (//49) +FPCP underflow +MSG_ACPU_UNIMPLDTYPE (//49) +FPCP unimplemented data type +MSG_ACPU_INSTERR (//49) +Illegal instruction +MSG_ACPU_LINEA (//49) +Line 1010 Emulator error +MSG_ACPU_LINEF (//49) +Line 1111 Emulator error +MSG_ACPU_MMUACCVIOL (//49) +PMMU access level violation +MSG_ACPU_MMUCONFIG (//49) +PMMU configuration +MSG_ACPU_MMUILLEGAL (//49) +PMMU illegal configuration +MSG_ACPU_NAN (//49) +FPCP signaling NAN +MSG_ACPU_PRIVERR (//49) +Privilege violation error +MSG_ACPU_SPURIOUS (//49) +Spurious interrupt error +MSG_ACPU_TRACE (//49) +Trace error +MSG_ACPU_TRAPV (//49) +TrapV instruction error +MSG_AN_ADDSWGADGET (//49) +Add SW gadgets, no memory +MSG_AN_ASYNCPKT (//49) +Unexpected packet received +MSG_AN_AUDIODEV (//49) +Audio device trouble +MSG_AN_BADCHKSUM (//49) +Invalid checksum +MSG_AN_BADEXPANSIONFREE (//49) +Freeed free region +MSG_AN_BADFREEADDR (//49) +Memory header not located +MSG_AN_BADGADGET (//49) +Recovery form of AN_GadgetType +MSG_AN_BADINITFUNC (//49) +Invalid init packet for cli/shell +MSG_AN_BADMESSAGE (//49) +Bad Message received by IDCMP +MSG_AN_BADOVERLAY (//49) +Bad overlay +MSG_AN_BADQUICKINT (//49) +An uninitialized quick interrupt has happened +MSG_AN_BADSEGLIST (//49) +Overlays are illegal for library segments +MSG_AN_BADSEMAPHORE (//49) +An attempt was made to use old msg semaphores +MSG_AN_BADSTATE (//49) +Bad State Return entering Intuition +MSG_AN_BASECHKSUM (//49) +Execbase checksum bad +MSG_AN_BITMAP (//49) +Bitmap corrupt +MSG_AN_BLTBITMAP (//49) +BltBitMap, no memory +MSG_AN_BOGUSEXCPT (//49) +Illegal 68k exception taken +MSG_AN_BOOTERROR (//49) +Boot code returned an error +MSG_AN_BOOTSTRAP (//49) +Bootstrap trouble +MSG_AN_CIARSRC (//49) +cia.resource trouble +MSG_AN_CONSOLEDEV (//49) +colsole.device trouble +MSG_AN_CREATEPORT (//49) +Create port, no memory +MSG_AN_DISKBLKSEQ (//49) +Disk block sequence error +MSG_AN_DISKCOPY (//49) +DiskCopy trouble +MSG_AN_DISKERROR (//49) +Disk Error +MSG_AN_DISKFONTLIB (//49) +diskfont.library trouble +MSG_AN_DISKRSRC (//49) +disk.resource trouble +MSG_AN_DOSLIB (//49) +dos.library trouble +MSG_AN_DRHASDISK (//49) +Get unit: already has disk +MSG_AN_DRINTNOACT (//49) +Interrupt: no active unit +MSG_AN_ENDTASK (//49) +EndTask didn't +MSG_AN_EXCPTVECT (//49) +68000 exception vector checksum +MSG_AN_EXECLIB (//49) +exec.library trouble +MSG_AN_EXPANSIONLIB (//49) +expansion.library trouble +MSG_AN_FILERECLOSED (//49) +A filehandle was closed more than once +MSG_AN_FREETWICE (//49) +Freeing memory that is already free +MSG_AN_FREEVEC (//49) +Freevec failed +MSG_AN_GADGETTYPE (//49) +Unknown gadget type +MSG_AN_GADTOOLS (//49) +gadtools.library trouble +MSG_AN_GAMEPORTDEV (//49) +gameport.device trouble +MSG_AN_GFXFREEERROR (//49) +Error freeing graphics +MSG_AN_GFXNEWERROR (//49) +New graphics error +MSG_AN_GFXNOLCM (//49) +Emergency memory not available +MSG_AN_GFXNOMEM (//49) +Graphics out of memory +MSG_AN_GFXNOMEMMSPC (//49) +MonitorSpec alloc, no memory +MSG_AN_GRAPHICSLIB (//49) +graphics.library trouble +MSG_AN_ICONLIB (//49) +icon.library trouble +MSG_AN_INITAPTR (//49) +InitStruct() of an APTR source +MSG_AN_INTRMEM (//49) +No memory for interrupt servers +MSG_AN_INTUITION (//49) +intuition.library trouble +MSG_AN_IOAFTERCLOSE (//49) +IO attempted on closed IORequest +MSG_AN_IOUSEDTWICE (//49) +Attempt to reuse active IORequest +MSG_AN_ISEMORDER (//49) +Intuition obtained a sem in bad order +MSG_AN_ITEMALLOC (//49) +Item plane alloc, no memory +MSG_AN_ITEMBOXTOP (//49) +Item box top < RelZero +MSG_AN_KEYBOARDDEV (//49) +keyboard.device trouble +MSG_AN_KEYFREE (//49) +Key already free +MSG_AN_KEYRANGE (//49) +Key out of range +MSG_AN_LAYERSLIB (//49) +layers.library trouble +MSG_AN_LAYERSNOMEM (//49) +Layers out of memory +MSG_AN_LIBCHKSUM (//49) +Library checksum failure +MSG_AN_LONGFRAME (//49) +Long frame, no memory +MSG_AN_MAKEVPORT (//49) +MakeVPort, no memory +MSG_AN_MATHLIB (//49) +math.library trouble +MSG_AN_MEMCORRUPT (//49) +Corrupt memory list detected in FreeMem +MSG_AN_MEMORYINSANE (//49) +Sanity check on memory list failed +MSG_AN_MISCRSRC (//49) +misc.resource trouble +MSG_AN_NOCONSOLE (//49) +Couldn't open the Console Device +MSG_AN_NOFONTS (//49) +No fonts available +MSG_AN_NOISEM (//49) +Intuition skipped obtaining a semaphore +MSG_AN_NOWINDOW (//49) +Console can't open initial window +MSG_AN_OBSOLETEFONT (//49) +Unsupported font description used +MSG_AN_OPENSCREEN (//49) +Open screen, no memory +MSG_AN_OPENSCRNRAST (//49) +Open screen, raster alloc, no memory +MSG_AN_OPENWINDOW (//49) +Open window, no memory +MSG_AN_PLANEALLOC (//49) +Plane alloc, no memory +MSG_AN_QPKTFAIL (//49) +Qpkt failure +MSG_AN_RAMLIB (//49) +ramlib trouble +MSG_AN_REGIONMEMORY (//49) +Regions, memory not available +MSG_AN_SEMCORRUPT (//49) +A semaphore is in an illegal state +MSG_AN_SHORTFRAME (//49) +Short frame, no memory +MSG_AN_STACKPROBE (//49) +Stack appears to extend out of range +MSG_AN_STARTMEM (//49) +No memory at startup +MSG_AN_SUBALLOC (//49) +Sub alloc, no memory +MSG_AN_SYSSCRNTYPE (//49) +Open sys screen, unknown type +MSG_AN_TDCALIBSEEK (//49) +Calibrate: seek error +MSG_AN_TDDELAY (//49) +Delay: error on timer wait +MSG_AN_TEXTTMPRAS (//49) +Text, no memory for TmpRas +MSG_AN_TIMERDEV (//49) +timer.device trouble +MSG_AN_TMBADREQ (//49) +Bad request +MSG_AN_TMBADSUPPLY (//49) +Power supply -- no 50/60hz ticks +MSG_AN_TRACKDISKDEV (//49) +trackdisk.device trouble +MSG_AN_UTILITYLIB (//49) +utility.library trouble +MSG_AN_WBBADIOMSG (//49) +Bad IO message (hacker code?) +MSG_AN_WBBADSTARTUPMSG2 (//49) +Bad startup message 2 +MSG_AN_WBRELAYOUTTOOLMENU (//49) +GadTools broke? +MSG_AN_WEIRDECHO (//49) +Weird echo causing incomprehension +MSG_AN_WORKBENCH (//49) +Workbench trouble +MSG_AN_LAWBREAKER (//49) +LawBreaker demonstration alert +MSG_AN_AROS (//49) +AROS trouble +MSG_AN_OOP (//49) +OOP trouble +MSG_AN_HIDD (//49) +HIDD trouble +MSG_AN_HIDDNOROOT (//49) +Could not create root device +MSG_AN_NOALERT (//49) +No alert occured +MSG_ACPU_EMUINTR (//49) +Emulator interrupt +MSG_ACPU_UNIMPLEA (//49) +Unimplemented effective address +MSG_ACPU_UNIMPLII (//49) +Unimplemented integer instruction +; +;================================================================ +; HARDWARE STRINGS (4096..) +;================================================================ +; +MSG_HW_VERSION (4096//20) +V%ld.%ld +MSG_HW_NOVERSION (//20) +N/A +MSG_HW_NONE (//49) +None +MSG_HW_FOUND (//49) +Found +; +MSG_HW_AMIGA1000 (4500//49) +Amiga 1000 +MSG_HW_OCSAMIGA (//49) +Amiga (OCS) +MSG_HW_ECSAMIGA (//49) +Amiga (ECS) +MSG_HW_AMIGA500 (//49) +Amiga 500 +MSG_HW_AMIGA2000 (//49) +Amiga 2000 +MSG_HW_AMIGA3000 (//49) +Amiga 3000 +MSG_HW_CDTV (//49) +CDTV +MSG_HW_AMIGA600 (//49) +Amiga 600 +MSG_HW_CD32 (//49) +CD32 +MSG_HW_AMIGA1200 (//49) +Amiga 1200 +MSG_HW_AMIGA4000 (//49) +Amiga 4000 +MSG_HW_DRACO (//49) +DraCo +MSG_HW_UAE (//49) +UAE +MSG_HW_AMIGA4000T (//49) +Amiga 4000 T +MSG_HW_AMIGAXL (//49) +AmigaXL +; +MSG_HW_68000 (5000//49) +68000 +MSG_HW_68010 (//49) +68010 +MSG_HW_68020 (//49) +68020 +MSG_HW_68030 (//49) +68030 +MSG_HW_68EC030 (//49) +68EC030 +MSG_HW_68040 (//49) +68040 +MSG_HW_68LC040 (//49) +68LC040 +MSG_HW_68060 (//49) +68060 +MSG_HW_68LC060 (//49) +68LC060 +; +MSG_HW_68881 (//49) +68881 +MSG_HW_68882 (//49) +68882 +; +MSG_HW_68851 (//49) +68851 +; +MSG_HW_AMIGAOS (5500//49) +AmigaOS +MSG_HW_EGS (//49) +EGS +MSG_HW_RETINA (//49) +Retina +MSG_HW_GRAFFITI (//49) +Graffiti +MSG_HW_TIGA (//49) +TIGA +MSG_HW_PROBENCH (//49) +ProBench +MSG_HW_PICASSO (//49) +Picasso +MSG_HW_CYBERGRAPHX (//49) +CyberGraphX +MSG_HW_CGX3 (//49) +CyberGraphX 3 +MSG_HW_PICASSO96 (//49) +Picasso96 +MSG_HW_CGX4 (//49) +CyberGraphX 4 +; +MSG_HW_AUDAMIGAOS (5700//49) +AmigaOS +MSG_HW_MAESTIX (//49) +Maestix +MSG_HW_TOCCATA (//49) +Toccata +MSG_HW_PRELUDE (//49) +Prelude +MSG_HW_AHI (//49) +AHI +MSG_HW_MACROAUDIO (//49) +MacroAudio +; +MSG_HW_OS_UNKNOWN (6000//49) +Bad OS +MSG_HW_OS_36 (//49) +2.0 +MSG_HW_OS_37 (//49) +2.04 +MSG_HW_OS_38 (//49) +2.1 +MSG_HW_OS_39 (//49) +3.0 +MSG_HW_OS_40 (//49) +3.1 +MSG_HW_OS_44 (//49) +3.5 +MSG_HW_OS_45 (//49) +3.9 +; +;GARY +MSG_HW_NORMAL (6500//49) +Normal +MSG_HW_ENHANCED (//49) +Enhanced +; +;RAMSEY +MSG_HW_REVD (6600//49) +D +MSG_HW_REVF (//49) +F +; +MSG_HW_OCS (6700//49) +OCS +MSG_HW_ECS (//49) +ECS +MSG_HW_AGA (//49) +AGA +MSG_HW_ALTAIS (//49) +Altais +MSG_HW_NECS (//49) +Nearly ECS +; +MSG_HW_PPCFOUND (7000//49) +Found +MSG_HW_602 (//49) +602 +MSG_HW_603 (//49) +603 +MSG_HW_603E (//49) +603e +MSG_HW_603P (//49) +603p +MSG_HW_604 (//49) +604 +MSG_HW_604E (//49) +604e +MSG_HW_620 (//49) +620 +; +MSG_HW_RAMCAS_NORMAL (7200//49) +Normal +MSG_HW_RAMCAS_DOUBLE (//49) +Double +; +MSG_HW_TCPIP_NONE (7300//49) +None +MSG_HW_TCPIP_AMITCP (//49) +AmiTCP/IP +MSG_HW_TCPIP_MIAMI (//49) +Miami +MSG_HW_TCPIP_TERMITE (//49) +TermiteTCP +MSG_HW_TCPIP_GENESIS (//49) +GENESiS +MSG_HW_TCPIP_MIAMIDX (//49) +MiamiDx +; +MSG_HW_PPCOS_NONE (7400//49) +None +MSG_HW_PPCOS_POWERUP (//49) +PowerUp +MSG_HW_PPCOS_WARPOS (//49) +WarpOS +; +MSG_HW_AGNUS_NONE (7500//49) +None +MSG_HW_AGNUS_UNKNOWN (//49) +Unknown +MSG_HW_AGNUS_8361 (//49) +Agnus 8361 +MSG_HW_AGNUS_8367 (//49) +Agnus 8367 +MSG_HW_AGNUS_8370 (//49) +Agnus 8370 +MSG_HW_AGNUS_8371 (//49) +Agnus 8371 +MSG_HW_AGNUS_8372_R4 (//49) +Agnus 8372 Rev. 1-4 +MSG_HW_AGNUS_8372_R5 (//49) +Agnus 8372 Rev. 5 +MSG_HW_AGNUS_8374_R2 (//49) +Alice 8374 Rev. 1-2 +MSG_HW_AGNUS_8374_R3 (//49) +Alice 8374 Rev. 3-4 +; +MSG_HW_AMODE_NONE (7600//49) +None +MSG_HW_AMODE_NTSC (//49) +NTSC +MSG_HW_AMODE_PAL (//49) +PAL +; +MSG_HW_DENISE_NONE (7700//49) +None +MSG_HW_DENISE_UNKNOWN (//49) +Unknown +MSG_HW_DENISE_8362 (//49) +Denise 8362 +MSG_HW_DENISE_8373 (//49) +Denise 8373 +MSG_HW_DENISE_8364 (//49) +Lisa 8364 +; +;================================================================ +; diff --git a/workbench/libs/identify/catalogs/french.ct b/workbench/libs/identify/catalogs/french.ct new file mode 100644 index 00000000000..d651359e726 --- /dev/null +++ b/workbench/libs/identify/catalogs/french.ct @@ -0,0 +1,679 @@ +## version $VER: Identify.catalog 1.0 (19.10.2011) +## language français +## codeset 0 +; +; +;================================================================ +; MISCELLANEOUS STRINGS (1..) +;================================================================ +; +MSG_BYTE +%ld +MSG_KBYTE +%ld.%cKo +MSG_MBYTE +%ld.%cMo +MSG_GBYTE +%ld.%cGo +; +;================================================================ +; BOARD CLASSES (100..) +;================================================================ +; +MSG_EXP_UNKNOWN +(inconnu) +MSG_EXP_MISC +expansion +; +MSG_EXP_TURBO +accelerateur +MSG_EXP_TURBORAM +accelerateur RAM +MSG_EXP_TURBOHD +accelerateur contrôleur Disque +MSG_EXP_TURBOIDE +accelerateur contrôleur IDE +MSG_EXP_TURBOSCSIHD +accelerateur contrôleur SCSI +; +MSG_EXP_NET +réseau +MSG_EXP_ARCNET +ArcNet +MSG_EXP_ETHERNET +Ethernet +; +MSG_EXP_AUDIO +audio +MSG_EXP_VIDEO +vidéo +MSG_EXP_MULTIMEDIA +multimédia +MSG_EXP_DSP +DSP +; +MSG_EXP_BUSBRIDGE +pont ISA +MSG_EXP_BRIDGE +pont PC +; +MSG_EXP_EMULATOR +émulateur +MSG_EXP_MACEMU +émulateur Macintosh +MSG_EXP_ATARIEMU +émulateur Atari +; +MSG_EXP_GFX +graphique +MSG_EXP_GFXRAM +RAM graphique +; +MSG_EXP_HD +contrôleur disque +MSG_EXP_HDRAM +RAM du contrôleur disque +MSG_EXP_IDEHD +contrôleur IDE +MSG_EXP_IDEHDRAM +RAM du contrôleur IDE +MSG_EXP_SCSIHD +contrôleur SCSI +MSG_EXP_RAMSCSIHD +RAM du contrôleur SCSI +MSG_EXP_CDROM +interface CD-ROM +; +MSG_EXP_MODEM +modem interne +MSG_EXP_ISDN +ISDN interne +; +MSG_EXP_MULTIIO +multi E/S +MSG_EXP_SERIAL +multi serie +MSG_EXP_PARALLEL +multi parallèle +MSG_EXP_SCANIF +interface scanner +MSG_EXP_TABLET +interface tablette graphique +; +MSG_EXP_RAM +extension RAM +MSG_EXP_FLASHROM +ROM flash +; +MSG_EXP_SCSIIDE +contrôleur SCSI/IDE +MSG_EXP_RAMFPU +extension RAM / FPU +; +MSG_EXP_GUESS +(prévu) +MSG_EXP_KICKSTART +KickStart +; +MSG_EXP_RAM32 +extension RAM 32bit +MSG_EXP_TURBOANDRAM +accelerateur / ext. RAM +MSG_EXP_ACCESS +contrôle d'accès +MSG_EXP_INTERFACE +interface +MSG_EXP_MFMHD +contrôleur disque MFM +MSG_EXP_FLOPPY +interface disquette +; +;================================================================ +; ALERT GENERAL ERROR (1024..) +;================================================================ +; +MSG_ALERT_RECOVERY +Récupérable +MSG_ALERT_DEADEND +Non récupérable +MSG_ALERT_UNKNOWN +Inconnue +; +MSG_AG_BADPARM +Paramètres incorrects +MSG_AG_CLOSEDEV +Impossible fermer périph. +MSG_AG_CLOSELIB +Impossible fermer librairie +MSG_AG_GENERAL +Erreur générale +MSG_AG_IOERROR +Erreur E/S +MSG_AG_MAKELIB +Imppossible créer librairie +MSG_AG_NOMEMORY +Pas de mémoire +MSG_AG_NOSIGNAL +Pas de signal +MSG_AG_OPENDEV +Impossible d'ouvrir le périph. +MSG_AG_OPENLIB +Impossible d'ouvrir librairie +MSG_AG_OPENRES +Impossible d'ouvrir ressource +MSG_AG_PROCCREATE +Création processus échoué +; +;================================================================ +; ALERT ERROR (2048..) +;================================================================ +; +MSG_ACPU_ADDRESSERR +Accès mémoire illégal +MSG_ACPU_AUTOVEC1 +AutoVector Level 1 erreur interruption +MSG_ACPU_AUTOVEC2 +AutoVector Level 2 erreur interruption +MSG_ACPU_AUTOVEC3 +AutoVector Level 3 erreur interruption +MSG_ACPU_AUTOVEC4 +AutoVector Level 4 erreur interruption +MSG_ACPU_AUTOVEC5 +AutoVector Level 5 erreur interruption +MSG_ACPU_AUTOVEC6 +AutoVector Level 6 erreur interruption +MSG_ACPU_AUTOVEC7 +AutoVector Level 7 erreur interruption +MSG_ACPU_BUSERR +Erreur d'accès au bus +MSG_ACPU_CHK +Erreur d'instruction de test +MSG_ACPU_COPRVIOL +Violation de protocole coprocesseur +MSG_ACPU_DIVZERO +Division par zéro +MSG_ACPU_FORMAT +Stack frame erreur de format +MSG_ACPU_FPCPBRANCH +FPCP branch or set on unordered condition +MSG_ACPU_FPCPDIVZERO +FPCP division par zéro +MSG_ACPU_FPCPINEXACT +FPCP résultat inexact +MSG_ACPU_FPCPOPERROR +FPCP erreur d'opérande +MSG_ACPU_FPCPOVER +FPCP overflow +MSG_ACPU_FPCPUNDER +FPCP underflow +MSG_ACPU_UNIMPLDTYPE +FPCP type de donnée non implémentée +MSG_ACPU_INSTERR +Instruction illégale +MSG_ACPU_LINEA +Line 1010 erreur d'émulation +MSG_ACPU_LINEF +Line 1111 erreur d'émulation +MSG_ACPU_MMUACCVIOL +PMMU violation d'accès +MSG_ACPU_MMUCONFIG +PMMU configuration +MSG_ACPU_MMUILLEGAL +PMMU configuration ilégale +MSG_ACPU_NAN +FPCP signal NAN +MSG_ACPU_PRIVERR +Erreur de violation de privilège +MSG_ACPU_SPURIOUS +Erreur d'interruption suspecte +MSG_ACPU_TRACE +Erreur de traçage +MSG_ACPU_TRAPV +TrapV erreur d'instruction +MSG_AN_ADDSWGADGET +Ajout SW gadgets, pas de mem. +MSG_AN_ASYNCPKT +Paquet reçu non prévu +MSG_AN_AUDIODEV +problème de périph. audio +MSG_AN_BADCHKSUM +Somme invalide +MSG_AN_BADEXPANSIONFREE +Région libérée deux fois +MSG_AN_BADFREEADDR +En-tête mémoire non trouvée +MSG_AN_BADGADGET +Récupération de AN_GadgetType +MSG_AN_BADINITFUNC +Paquet invalide cli/shell +MSG_AN_BADMESSAGE +Mauvais msg reçu par IDCMP +MSG_AN_BADOVERLAY +Mauvais overlay +MSG_AN_BADQUICKINT +Interruption incorrecte +MSG_AN_BADSEGLIST +Overlays illégaux +MSG_AN_BADSEMAPHORE +Tentative d'utiliser un sémaphore éronné +MSG_AN_BADSTATE +Intuition entre dans un état instable +MSG_AN_BASECHKSUM +Somme Execbase incorrecte +MSG_AN_BITMAP +Bitmap corrompu +MSG_AN_BLTBITMAP +BltBitMap, pas de mem. +MSG_AN_BOGUSEXCPT +Exception 68k illégale +MSG_AN_BOOTERROR +Boot code a retourné une erreur +MSG_AN_BOOTSTRAP +problème Bootstrap +MSG_AN_CIARSRC +problème cia.resource +MSG_AN_CONSOLEDEV +problème console.device +MSG_AN_CREATEPORT +Creation port, pas de mem. +MSG_AN_DISKBLKSEQ +Erreur de sequence disque +MSG_AN_DISKCOPY +problème DiskCopy +MSG_AN_DISKERROR +Erreur disque +MSG_AN_DISKFONTLIB +problème diskfont.library +MSG_AN_DISKRSRC +problème disk.resource +MSG_AN_DOSLIB +problème dos.library +MSG_AN_DRHASDISK +Get unit: possède déjà un disque +MSG_AN_DRINTNOACT +Interruption : pas d'unité active +MSG_AN_ENDTASK +Erreur EndTask +MSG_AN_EXCPTVECT +68000 vecteur d'execption de somme +MSG_AN_EXECLIB +problème exec.library +MSG_AN_EXPANSIONLIB +problème expansion.library +MSG_AN_FILERECLOSED +Un filehandle a été clos plusieurs fois +MSG_AN_FREETWICE +Libéré mem. déjà libre +MSG_AN_FREEVEC +Échec Freevec +MSG_AN_GADGETTYPE +Gadget inconnu +MSG_AN_GADTOOLS +problème gadtools.library +MSG_AN_GAMEPORTDEV +problème gameport.device +MSG_AN_GFXFREEERROR +Erreur en libérant les graphismes +MSG_AN_GFXNEWERROR +Erreur création graphismes +MSG_AN_GFXNOLCM +Mem. d'urgence non disponible +MSG_AN_GFXNOMEM +Graphismes hors limite mem. +MSG_AN_GFXNOMEMMSPC +MonitorSpec alloc, pas de mem. +MSG_AN_GRAPHICSLIB +problème graphics.library +MSG_AN_ICONLIB +problème icon.library +MSG_AN_INITAPTR +InitStruct() erreur d'un APTR +MSG_AN_INTRMEM +Pas de mem. pour serveur d'interruption +MSG_AN_INTUITION +problème intuition.library +MSG_AN_IOAFTERCLOSE +Tentative d'E/S sur IORequest close +MSG_AN_IOUSEDTWICE +Tentative de réutiliser une IORequest active +MSG_AN_ISEMORDER +Intuition : ordre incorrect dans les sémaphores +MSG_AN_ITEMALLOC +Item plane alloc, pas de mem. +MSG_AN_ITEMBOXTOP +Item box top < RelZero +MSG_AN_KEYBOARDDEV +problème keyboard.device +MSG_AN_KEYFREE +Key déjà libérée +MSG_AN_KEYRANGE +Key hors limite +MSG_AN_LAYERSLIB +problème layers.library +MSG_AN_LAYERSNOMEM +Couches en dehors de la mem. +MSG_AN_LIBCHKSUM +Échec somme librairie +MSG_AN_LONGFRAME +Plage longue, pas de mem. +MSG_AN_MAKEVPORT +MakeVPort, pas de mem. +MSG_AN_MATHLIB +problème math.library +MSG_AN_MEMCORRUPT +Liste mémoire corrompue +MSG_AN_MEMORYINSANE +Test de mémoire a échoué +MSG_AN_MISCRSRC +problème misc.resource +MSG_AN_NOCONSOLE +Impossible d'ouvrir la console +MSG_AN_NOFONTS +Pas de fonte disponible +MSG_AN_NOISEM +Intuition a échoué à la création d'un sémaphore +MSG_AN_NOWINDOW +la console ne peut ouvrir de fenêtre +MSG_AN_OBSOLETEFONT +Description de fonte obsolète +MSG_AN_OPENSCREEN +Ouverture d'écran, pas de mem. +MSG_AN_OPENSCRNRAST +Ouverture d'écran, alloc. raster, pas de mem. +MSG_AN_OPENWINDOW +Ouverture fenêtre, pas de mem. +MSG_AN_PLANEALLOC +Allocation "plane", pas de mem. +MSG_AN_QPKTFAIL +échec Qpkt +MSG_AN_RAMLIB +problème ramlib +MSG_AN_REGIONMEMORY +mémoire non accessible +MSG_AN_SEMCORRUPT +Sémaphore dans un état illégal +MSG_AN_SHORTFRAME +plage courte, pas de mem. +MSG_AN_STACKPROBE +La pile s'étend trop +MSG_AN_STARTMEM +Pas de mémoire au démarrage +MSG_AN_SUBALLOC +Sub-allocation, pas de mem. +MSG_AN_SYSSCRNTYPE +ouverture d'écran de type inconnu +MSG_AN_TDCALIBSEEK +Calibrage: erreurseek +MSG_AN_TDDELAY +Délai : erreur de timer +MSG_AN_TEXTTMPRAS +Texte, pas de mem. pour TmpRas +MSG_AN_TIMERDEV +problème timer.device +MSG_AN_TMBADREQ +Mauvaise requête +MSG_AN_TMBADSUPPLY +Alimentation -- pas de 50/60hz +MSG_AN_TRACKDISKDEV +problème trackdisk.device +MSG_AN_UTILITYLIB +problème utility.library +MSG_AN_WBBADIOMSG +Mauvais msg E/S message (hacker code?) +MSG_AN_WBBADSTARTUPMSG2 +Mauvais message startup 2 +MSG_AN_WBRELAYOUTTOOLMENU +GadTools cassé ? +MSG_AN_WEIRDECHO +Écho entraînant incompréhension +MSG_AN_WORKBENCH +problème Workbench +MSG_AN_LAWBREAKER +Alerte LawBreaker +MSG_AN_AROS +problème AROS +MSG_AN_OOP +problème OOP +MSG_AN_HIDD +problème HIDD +MSG_AN_HIDDNOROOT +Impossible de créer le périph. racine +MSG_AN_NOALERT +Pas d'alerte +MSG_ACPU_EMUINTR +Interruption émulateur +MSG_ACPU_UNIMPLEA +Adresse effective non implémentée +MSG_ACPU_UNIMPLII +Instruction non implémentée +; +;================================================================ +; HARDWARE STRINGS (4096..) +;================================================================ +; +MSG_HW_VERSION +V%ld.%ld +MSG_HW_NOVERSION +N/A +MSG_HW_NONE +Aucun +MSG_HW_FOUND +Trouvé +; +MSG_HW_AMIGA1000 +Amiga 1000 +MSG_HW_OCSAMIGA +Amiga (OCS) +MSG_HW_ECSAMIGA +Amiga (ECS) +MSG_HW_AMIGA500 +Amiga 500 +MSG_HW_AMIGA2000 +Amiga 2000 +MSG_HW_AMIGA3000 +Amiga 3000 +MSG_HW_CDTV +CDTV +MSG_HW_AMIGA600 +Amiga 600 +MSG_HW_CD32 +CD32 +MSG_HW_AMIGA1200 +Amiga 1200 +MSG_HW_AMIGA4000 +Amiga 4000 +MSG_HW_DRACO +DraCo +MSG_HW_UAE +UAE +MSG_HW_AMIGA4000T +Amiga 4000 T +MSG_HW_AMIGAXL +AmigaXL +; +MSG_HW_68000 +68000 +MSG_HW_68010 +68010 +MSG_HW_68020 +68020 +MSG_HW_68030 +68030 +MSG_HW_68EC030 +68EC030 +MSG_HW_68040 +68040 +MSG_HW_68LC040 +68LC040 +MSG_HW_68060 +68060 +MSG_HW_68LC060 +68LC060 +; +MSG_HW_68881 +68881 +MSG_HW_68882 +68882 +; +MSG_HW_68851 +68851 +; +MSG_HW_AMIGAOS +AmigaOS +MSG_HW_EGS +EGS +MSG_HW_RETINA +Retina +MSG_HW_GRAFFITI +Graffiti +MSG_HW_TIGA +TIGA +MSG_HW_PROBENCH +ProBench +MSG_HW_PICASSO +Picasso +MSG_HW_CYBERGRAPHX +CyberGraphX +MSG_HW_CGX3 +CyberGraphX 3 +MSG_HW_PICASSO96 +Picasso96 +MSG_HW_CGX4 +CyberGraphX 4 +; +MSG_HW_AUDAMIGAOS +AmigaOS +MSG_HW_MAESTIX +Maestix +MSG_HW_TOCCATA +Toccata +MSG_HW_PRELUDE +Prelude +MSG_HW_AHI +AHI +MSG_HW_MACROAUDIO +MacroAudio +; +MSG_HW_OS_UNKNOWN +Mauvais OS +MSG_HW_OS_36 +2.0 +MSG_HW_OS_37 +2.04 +MSG_HW_OS_38 +2.1 +MSG_HW_OS_39 +3.0 +MSG_HW_OS_40 +3.1 +MSG_HW_OS_44 +3.5 +MSG_HW_OS_45 +3.9 +; +;GARY +MSG_HW_NORMAL +Normal +MSG_HW_ENHANCED +Amélioré +; +;RAMSEY +MSG_HW_REVD +D +MSG_HW_REVF +F +; +MSG_HW_OCS +OCS +MSG_HW_ECS +ECS +MSG_HW_AGA +AGA +MSG_HW_ALTAIS +Altais +MSG_HW_NECS +Presque ECS +; +MSG_HW_PPCFOUND +Trouvé +MSG_HW_602 +602 +MSG_HW_603 +603 +MSG_HW_603E +603e +MSG_HW_603P +603p +MSG_HW_604 +604 +MSG_HW_604E +604e +MSG_HW_620 +620 +; +MSG_HW_RAMCAS_NORMAL +Normal +MSG_HW_RAMCAS_DOUBLE +Double +; +MSG_HW_TCPIP_NONE +Aucun +MSG_HW_TCPIP_AMITCP +AmiTCP/IP +MSG_HW_TCPIP_MIAMI +Miami +MSG_HW_TCPIP_TERMITE +TermiteTCP +MSG_HW_TCPIP_GENESIS +GENESiS +MSG_HW_TCPIP_MIAMIDX +MiamiDx +; +MSG_HW_PPCOS_NONE +Aucun +MSG_HW_PPCOS_POWERUP +PowerUp +MSG_HW_PPCOS_WARPOS +WarpOS +; +MSG_HW_AGNUS_NONE +Aucun +MSG_HW_AGNUS_UNKNOWN +Inconnu +MSG_HW_AGNUS_8361 +Agnus 8361 +MSG_HW_AGNUS_8367 +Agnus 8367 +MSG_HW_AGNUS_8370 +Agnus 8370 +MSG_HW_AGNUS_8371 +Agnus 8371 +MSG_HW_AGNUS_8372_R4 +Agnus 8372 Rev. 1-4 +MSG_HW_AGNUS_8372_R5 +Agnus 8372 Rev. 5 +MSG_HW_AGNUS_8374_R2 +Alice 8374 Rev. 1-2 +MSG_HW_AGNUS_8374_R3 +Alice 8374 Rev. 3-4 +; +MSG_HW_AMODE_NONE +Aucun +MSG_HW_AMODE_NTSC +NTSC +MSG_HW_AMODE_PAL +PAL +; +MSG_HW_DENISE_NONE +Aucun +MSG_HW_DENISE_UNKNOWN +Inconnu +MSG_HW_DENISE_8362 +Denise 8362 +MSG_HW_DENISE_8373 +Denise 8373 +MSG_HW_DENISE_8364 +Lisa 8364 +; +;================================================================ +; diff --git a/workbench/libs/identify/catalogs/mmakefile.src b/workbench/libs/identify/catalogs/mmakefile.src new file mode 100644 index 00000000000..17e170e1d2a --- /dev/null +++ b/workbench/libs/identify/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2011, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french + +%build_catalogs mmake=workbench-libs-identify-catalogs \ + catalogs=$(CATALOGS) \ + name=Identify subdir=System/Libs diff --git a/workbench/libs/identify/tools/catalogs b/workbench/libs/identify/tools/catalogs deleted file mode 160000 index e64f2999e24..00000000000 --- a/workbench/libs/identify/tools/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e64f2999e24c6777a4f63266754015efe5bb8904 diff --git a/workbench/libs/identify/tools/catalogs/.gitattributes b/workbench/libs/identify/tools/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/libs/identify/tools/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/libs/identify/tools/catalogs/IdentifyTools.cd b/workbench/libs/identify/tools/catalogs/IdentifyTools.cd new file mode 100644 index 00000000000..ffb4ecef1ae --- /dev/null +++ b/workbench/libs/identify/tools/catalogs/IdentifyTools.cd @@ -0,0 +1,147 @@ +;**************************************************************** +;* * +;* identify.library Tools Catalog Descriptor * +;* * +;**************************************************************** +;* +;* (C) 1996-97 Richard Krber -- All Rights Reserved +;* +;**************************************************************** +; +; ** IMPORTANT NOTES FOR TRANSLATORS ** +; +; Nr. 0 must always be preserved +; Do NOT change the sequence of '%' parameters +; Do NOT change the order of the entries +; Obey the minimum and maximum length +; Note that some lines have trailing spaces +; +; +;================================================================ +; COMMON STRINGS (1..) +;================================================================ +; +MSG_NOIDENTIFY (1//) +Needs identify.library V%ld or higher!\n +; +; +; +;================================================================ +; LISTEXP STRINGS (1000..) +;================================================================ +; +MSG_LISTEXP_HAIL (1000//) +-- ListExp V%s -- Richard Koerber <%s>\n\ + (ListExp is a part of the Identify package, see AmiNet util/libs)\n\n +; +MSG_LISTEXP_HELP (//) +Template:\n\n\ + FULL/S\t\tlist all current commodities\n\ + MID=MANUFID/K/N\tinformation about manufacturer\n\ + PID=PRODID/K/N\tand it's product\n\n\ +Please read the doc file for further details.\n +; +MSG_LISTEXP_OVERFLOW (//) +Bad range! (ManufID=0..65535 ProdID=0..255)\n\n +; +MSG_LISTEXP_SPECBOARD (//) + Manufacturer: %s\n\ + Product: %s\n\ + Class: %s\n\n +; +MSG_LISTEXP_HARDWARE (//) +** HARDWARE **\n\ +\n\ +System: %s\n\ +CPU: %s/%s (Rev %s), FPU=%s/%s, MMU=%s\n +; +MSG_LISTEXP_POWERPC (//) +PowerPC: %s/%s (running %s)\n +; +MSG_LISTEXP_HARDWARE2 (//) +Chipset: %s (RAMSEY %s, GARY %s, CHUNKY %s) VBR=%s\n\ +Agnus: %s (Mode: %s)\n\ +Denise: %s (Rev: %s)\n\ +AmigaOS: %s (%s, BoingBag %s, SetPatch %s)\n\ + Exec %s Workbench %s\n\ +Support: GraphicOS: %s, AudioOS: %s, TCP/IP: %s\n\ +Clock: Power %s, VBlank %s, E-Clock %s\n\ +RAM: Motherboard %s bit, %s, %s CAS, %sx Bandwidth\n\ +\n\ +Memory:\t\t CHIP\t FAST\t TOTAL\tROM = %s\tSLOW = %s\n\ +\t PLAIN\t%7s\t%7s\t%7s\n\ +\tVIRTUAL\t%7s\t%7s\t%7s\n\ +\t TOTAL\t%7s\t%7s\t%7s\n\n\n +; +MSG_LISTEXP_LISTTITLE (//) +** EXPANSIONS **\n\n\ +Nr ID Address Size Manufacturer Product\n\ +----------------------------------------------------------------------------\n +; +MSG_LISTEXP_BOARDLINE (//) +%2ld %04lx.%02lx %08lx %3ld%lc %-20s %s %s\n +; +MSG_LISTEXP_CXTITLE (//) +\n\n** COMMODITIES **\n\n\ +Name Title\n\ +----------------------------------------------------------------------------\n +; +MSG_LISTEXP_CXLINE (//) +%-24s %-40s\n +; +MSG_LISTEXP_EMULATED (//) + -- emulated system detected --\n\ +AmigaXL: Version %s\n\ +Host: OS: %s (Version %s), %s\n\ + CPU: %s/%s\n +; +; +; +;================================================================ +; GURU STRINGS (2000..) +;================================================================ +; +MSG_GURU_HAIL (2000//) +-- Guru V%s -- Richard Koerber <%s>\n\n +; +MSG_GURU_HELP (//) +Template:\n\n\ + GURU\t\tguru code to be analyzed\n\ + LASTALERT/S\tanalyze last system alert\n\n\ +Please read the doc file for further details.\n +; +MSG_GURU_BADCODE (//) +This is not a valid Guru code...\n\n +; +MSG_GURU_RESULT (//) + Alert Code: %08lx\n\ + Type: %s\n\ + Subsystem: %s\n\ + General: %s\n\ + Specified: %s\n\n +; +MSG_GURU_NOLAST (//) +No Guru occured yet...\n\n +; +; +; +;================================================================ +; FUNC STRINGS (1000..) +;================================================================ +; +MSG_FUNC_HAIL (3000//) +-- Function V%s -- Richard Koerber <%s>\n\n +; +MSG_FUNC_HELP (//) +Template:\n\n\ + LN=LIBNAME/A\tname of the library\n\ + O=OFFSET/N/A\toffset of the function\n\n\ +Please read the doc file for further details.\n +; +MSG_FUNC_RESULT (//) + Library: %s\n\ + Offset: %ld\n\ + Function: %s\n\n +; +;================================================================ +; diff --git a/workbench/libs/identify/tools/catalogs/french.ct b/workbench/libs/identify/tools/catalogs/french.ct new file mode 100644 index 00000000000..70a1de4243c --- /dev/null +++ b/workbench/libs/identify/tools/catalogs/french.ct @@ -0,0 +1,135 @@ +; +; IdentifyTools.catalog +; +## version $VER: IdentifyTools.catalog 1.0 (31.03.2016) +## codeset 0 +## language Français +; +;================================================================ +; COMMON STRINGS (1..) +;================================================================ +; +MSG_NOIDENTIFY +Requiert identify.library V%ld ou supérieure !\n +; +; +; +;================================================================ +; LISTEXP STRINGS (1000..) +;================================================================ +; +MSG_LISTEXP_HAIL +-- ListExp V%s -- Richard Koerber <%s>\n\ + (ListExp est une partiedu package Identify, voir AmiNet util/libs)\n\n +; +MSG_LISTEXP_HELP +Modèle : \n\n\ + FULL/S\t\tliste toutes les commodités courantes\n\ + MID=MANUFID/K/N\tinformation sur le constructeur\n\ + PID=PRODID/K/N\tet ses produits\n\n\ +SVP lisez les docs. pour plus de détails.\n +; +MSG_LISTEXP_OVERFLOW +Mauvais interval ! (ManufID=0..65535 ProdID=0..255)\n\n +; +MSG_LISTEXP_SPECBOARD + Constructeur : %s\n\ + Produit : %s\n\ + Classe : %s\n\n +; +MSG_LISTEXP_HARDWARE +** MATERIEL **\n\ +\n\ +Système : %s\n\ +CPU : %s/%s (Rev %s), FPU=%s/%s, MMU=%s\n +; +MSG_LISTEXP_POWERPC +PowerPC: %s/%s (démarré %s)\n +; +MSG_LISTEXP_HARDWARE2 +Chipset: %s (RAMSEY %s, GARY %s, CHUNKY %s) VBR=%s\n\ +Agnus: %s (Mode : %s)\n\ +Denise: %s (Rev : %s)\n\ +AmigaOS: %s (%s, BoingBag %s, SetPatch %s)\n\ + Exec %s Workbench %s\n\ +Support : GraphicOS : %s, AudioOS : %s, TCP/IP : %s\n\ +Horloge : Power %s, VBlank %s, E-Clock %s\n\ +RAM: Carte mère %s bits, %s, %s CAS, %sx Bande passante\n\ +\n\ +Mémoire :\t\t CHIP\t FAST\t TOTAL\tROM = %s\tSLOW = %s\n\ +\tUNIE\t%7s\t%7s\t%7s\n\ +\tVIRTUELLE\t%7s\t%7s\t%7s\n\ +\t TOTALE\t%7s\t%7s\t%7s\n\n\n +; +MSG_LISTEXP_LISTTITLE +** EXTENSIONS **\n\n\ +Nr ID Addresse Taille Constructeur Produit\n\ +----------------------------------------------------------------------------\n +; +MSG_LISTEXP_BOARDLINE +%2ld %04lx.%02lx %08lx %3ld%lc %-20s %s %s\n +; +MSG_LISTEXP_CXTITLE +\n\n** COMMODITES **\n\n\ +Nom Titre\n\ +----------------------------------------------------------------------------\n +; +MSG_LISTEXP_CXLINE +%-24s %-40s\n +; +MSG_LISTEXP_EMULATED + -- système émulé détecté --\n\ +AmigaXL : Version %s\n\ +Hôte : OS : %s (Version %s), %s\n\ + CPU : %s/%s\n +; +; +; +;================================================================ +; GURU STRINGS (2000..) +;================================================================ +; +MSG_GURU_HAIL +-- Guru V%s -- Richard Koerber <%s>\n\n +; +MSG_GURU_HELP +Modèle :\n\n\ + GURU\t\tguru code analysé\n\ + LASTALERT/S\tanalyse la dernière alerte système\n\n\ +SVP lisez les docs. pour plus de détails.\n +; +MSG_GURU_BADCODE +Guru code invalide...\n\n +; +MSG_GURU_RESULT + Alerte : %08lx\n\ + Type : %s\n\ + Sous système : %s\n\ + Général : %s\n\ + Spécifique : %s\n\n +; +MSG_GURU_NOLAST +Pas de Guru pour l'instant...\n\n +; +; +; +;================================================================ +; FUNC STRINGS (1000..) +;================================================================ +; +MSG_FUNC_HAIL +-- Fonction V%s -- Richard Koerber <%s>\n\n +; +MSG_FUNC_HELP +Modèle :\n\n\ + LN=LIBNAME/A\tnom de la bibliothèque\n\ + O=OFFSET/N/A\tdécalage de la fonction\n\n\ +SVP lisez les docs. pour plus de détails.\n +; +MSG_FUNC_RESULT + Bibliothèque : %s\n\ + Décalage : %ld\n\ + Fonction : %s\n\n +; +;================================================================ +; \ No newline at end of file diff --git a/workbench/libs/identify/tools/catalogs/german.ct b/workbench/libs/identify/tools/catalogs/german.ct new file mode 100644 index 00000000000..e873165ca3d --- /dev/null +++ b/workbench/libs/identify/tools/catalogs/german.ct @@ -0,0 +1,243 @@ +## version $VER: IdentifyTools.catalog 1.0 (31.03.2016) +## language deutsch +## codeset 0 +; +;**************************************************************** +;* * +;* identify.library Tools Catalog Descriptor * +;* * +;**************************************************************** +;* +;* (C) 1996-97 Richard Körber -- All Rights Reserved +;* +;**************************************************************** +; +; ** IMPORTANT NOTES FOR TRANSLATORS ** +; +; · Nr. 0 must always be preserved +; · Do NOT change the sequence of '%' parameters +; · Do NOT change the order of the entries +; · Obey the minimum and maximum length +; · Note that some lines have trailing spaces +; +; +;================================================================ +; COMMON STRINGS (1..) +;================================================================ +; +MSG_NOIDENTIFY +Benötigt identify.library V%ld oder höher!\n\ + +; Needs identify.library V%ld or higher!\n +; +; +; +;================================================================ +; LISTEXP STRINGS (1000..) +;================================================================ +; +MSG_LISTEXP_HAIL +-- ListExp V%s -- Richard Koerber <%s>\n\ + (ListExp gehört zum Identify-Paket, siehe AmiNet util/libs)\n\n +; -- ListExp V%s -- Richard Koerber <%s>\n\ +; (ListExp is a part of the Identify package, see AmiNet util/libs)\n\n +; +MSG_LISTEXP_HELP +Format:\n\ +\n\ + FULL/S\t\talle Commodities auflisten\n\ + MID=MANUFID/K/N\tInformation über den Hersteller\n\ + PID=PRODID/K/N\tund sein Produkt\n\ +\n\ +Bitte lesen Sie die Anleitung für weitere Details.\n\ + +; Template:\n\n\ +; FULL/S\t\tlist all current commodities\n\ +; MID=MANUFID/K/N\tinformation about manufacturer\n\ +; PID=PRODID/K/N\tand it's product\n\n\ +; Please read the doc file for further details.\n +; +MSG_LISTEXP_OVERFLOW +Falscher Bereich! (ManufID=0..65535 ProdID=0..255)\n\ +\n\ + +; Bad range! (ManufID=0..65535 ProdID=0..255)\n\n +; +MSG_LISTEXP_SPECBOARD + Hersteller: %s\n\ + Produkt: %s\n\ + Klasse: %s\n\ +\n\ + +; Manufacturer: %s\n\ +; Product: %s\n\ +; Class: %s\n\n +; +MSG_LISTEXP_HARDWARE +** HARDWARE **\n\ +\n\ +System: %s\n\ +CPU: CPU=%s/%s (Rev %s), FPU=%s/%s, MMU=%s\n\ + +; ** HARDWARE **\n\ +; \n\ +; System: %s\n\ +; CPU: %s/%s (Rev %s), FPU=%s/%s, MMU=%s\n +; +MSG_LISTEXP_POWERPC +PowerPC: %s/%s (unter %s)\n\ + +; PowerPC: %s/%s (running %s)\n +; +MSG_LISTEXP_HARDWARE2 +Chipset: %s (RAMSEY %s, GARY %s, CHUNKY %s) VBR=%s\n\ +Agnus: %s (Modus: %s)\n\ +Denise: %s (Rev: %s)\n\ +AmigaOS: %s (%s, BoingBag %s, SetPatch %s)\n\ + Exec %s Workbench %s\n\ +Support: GraphikOS: %s, AudioOS: %s, TCP/IP: %s\n\ +Takte: Netz %s, VBlank %s, E-Clock %s\n\ +RAM: Motherboard %s bit, %s, %s CAS, %sx Bandbreite\n\ +\n\ +Memory:\t\t CHIP\t FAST\t TOTAL\tROM = %s\tSLOW = %s\n\ +\t PLAIN\t%7s\t%7s\t%7s\n\ +\tVIRTUAL\t%7s\t%7s\t%7s\n\ +\t TOTAL\t%7s\t%7s\t%7s\n\n\n +; Chipset: %s (RAMSEY %s, GARY %s, CHUNKY %s) VBR=%s\n\ +; Agnus: %s (Mode: %s)\n\ +; Denise: %s (Rev: %s)\n\ +; AmigaOS: %s (%s, BoingBag %s, SetPatch %s)\n\ +; Exec %s Workbench %s\n\ +; Support: GraphicOS: %s, AudioOS: %s, TCP/IP: %s\n\ +; Clock: Power %s, VBlank %s, E-Clock %s\n\ +; RAM: Motherboard %s bit, %s, %s CAS, %sx Bandwidth\n\ +; \n\ +; Memory:\t\t CHIP\t FAST\t TOTAL\tROM = %s\tSLOW = %s\n\ +; \t PLAIN\t%7s\t%7s\t%7s\n\ +; \tVIRTUAL\t%7s\t%7s\t%7s\n\ +; \t TOTAL\t%7s\t%7s\t%7s\n\n\n +; +MSG_LISTEXP_LISTTITLE +** ERWEITERUNGEN **\n\ +\n\ +Nr ID Adresse Größe Hersteller Produkt\n\ +----------------------------------------------------------------------------\n\ + +; ** EXPANSIONS **\n\n\ +; Nr ID Address Size Manufacturer Product\n\ +; ----------------------------------------------------------------------------\n +; +MSG_LISTEXP_BOARDLINE +%2ld %04lx.%02lx %08lx %3ld%lcB %-20s %s %s\n\ + +; %2ld %04lx.%02lx %08lx %3ld%lc %-20s %s %s\n +; +MSG_LISTEXP_CXTITLE +\n\ +\n\ +** COMMODITIES **\n\ +\n\ +Name Title\n\ +----------------------------------------------------------------------------\n\ + +; \n\n** COMMODITIES **\n\n\ +; Name Title\n\ +; ----------------------------------------------------------------------------\n +; +MSG_LISTEXP_CXLINE +%-24s %-40s\n +; %-24s %-40s\n +; +MSG_LISTEXP_EMULATED + -- emuliertes System entdeckt --\n\ +AmigaXL: Version %s\n\ +Host: OS: %s (Version %s), %s\n\ + CPU: %s/%s\n +; -- emulated system detected --\n\ +; AmigaXL: Version %s\n\ +; Host: OS: %s (Version %s), %s\n\ +; CPU: %s/%s\n +; +; +;================================================================ +; GURU STRINGS (2000..) +;================================================================ +; +MSG_GURU_HAIL +-- Guru V%s -- Richard Koerber <%s>\n\n +; -- Guru V%s -- Richard Koerber <%s>\n\n +; +MSG_GURU_HELP +Format:\n\ +\n\ + GURU\t\tzu analysierender Guru-Code\n\ + LASTALERT/S\tLetzten System-Alert analysieren\n\ +\n\ +Bitte lesen Sie die Anleitung für weitere Details.\n\ + +; Template:\n\n\ +; GURU\t\tguru code to be analyzed\n\ +; LASTALERT/S\tanalyze last system alert\n\n\ +; Please read the doc file for further details.\n +; +MSG_GURU_BADCODE +Dies ist kein gültiger GURU-Code...\n\ +\n\ + +; This is not a valid Guru code...\n\n +; +MSG_GURU_RESULT + Alert-Code: %08lx\n\ + Typ: %s\n\ + Subsystem: %s\n\ + Generell: %s\n\ + Speziell: %s\n\ +\n\ + +; Alert Code: %08lx\n\ +; Type: %s\n\ +; Subsystem: %s\n\ +; General: %s\n\ +; Specified: %s\n\n +; +MSG_GURU_NOLAST +Bisher ist noch kein Guru aufgetreten...\n\ +\n\ + +; No Guru occured yet...\n\n +; +; +; +;================================================================ +; FUNC STRINGS (1000..) +;================================================================ +; +MSG_FUNC_HAIL +-- Function V%s -- Richard Koerber <%s>\n\\n +; -- Function V%s -- Richard Koerber <%s>\n\n +; +MSG_FUNC_HELP +Format:\n\ +\n\ + LN=LIBNAME/A\tName der Library\n\ + O=OFFSET/N/A\tFunktionsoffset\n\ +\n\ +Bitte lesen Sie die Anleitung für weitere Details.\n\ + +; Template:\n\n\ +; LN=LIBNAME/A\tname of the library\n\ +; O=OFFSET/N/A\toffset of the function\n\n\ +; Please read the doc file for further details.\n +; +MSG_FUNC_RESULT + Library: %s\n\ + Offset: %ld\n\ + Funktion: %s\n\ +\n\ + +; Library: %s\n\ +; Offset: %ld\n\ +; Function: %s\n\n +; +;================================================================ +; diff --git a/workbench/libs/identify/tools/catalogs/mmakefile.src b/workbench/libs/identify/tools/catalogs/mmakefile.src new file mode 100644 index 00000000000..0a43620dfbc --- /dev/null +++ b/workbench/libs/identify/tools/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2011, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german + +%build_catalogs mmake=workbench-libs-identify-tools-catalogs \ + catalogs=$(CATALOGS) \ + name=IdentifyTools subdir=System/C diff --git a/workbench/libs/muimaster/catalogs b/workbench/libs/muimaster/catalogs deleted file mode 160000 index 6bacf128338..00000000000 --- a/workbench/libs/muimaster/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6bacf128338354dc4f7b4a835097dab66becbcb1 diff --git a/workbench/libs/muimaster/catalogs/.gitattributes b/workbench/libs/muimaster/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/libs/muimaster/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/libs/muimaster/catalogs/german.ct b/workbench/libs/muimaster/catalogs/german.ct new file mode 100644 index 00000000000..e562c80e6e3 --- /dev/null +++ b/workbench/libs/muimaster/catalogs/german.ct @@ -0,0 +1,228 @@ +## version $VER: muimaster.catalog 1.0 (05.01.2020) +## language deutsch +## codeset 0 +; +; Generic +; +MSG_OK +_OK +; _Ok +; +MSG_CANCEL +_Abbrechen +; _Cancel +; +; ------------------------------------------------- +; Aboutmui class +MSG_ABOUTMUI_WINDOW_TITLE +Über Zune +; About Zune +; +MSG_ABOUTMUI_STRING +Zune, ein MUI-Klon\n\n\ +Kompiliert am %s\n\ +Copyright (C) 2002-2020, The AROS Development Team. +; Zune, a MUI clone\n\n\ +; Compiled on %s\n\ +; Copyright (C) 2002-2020, The AROS Development Team. +; +; ------------------------------------------------- +; Coloradjust class +MSG_COLORADJUST_RED +Rot: +; Red: +; +; Coloradjust class +MSG_COLORADJUST_GREEN +Grün: +; Green: +; +; Coloradjust class +MSG_COLORADJUST_BLUE +Blau: +; Blue: +; +; ------------------------------------------------- +; Dirlist class +MSG_DIRLIST_NAME +Name +; Name +; +MSG_DIRLIST_SIZE +Größe +; Size +; +MSG_DIRLIST_DATE +Datum +; Date +; +MSG_DIRLIST_TIME +Zeit +; Time +; +MSG_DIRLIST_FLAGS +Optionen +; Flags +; +MSG_DIRLIST_COMMENT +Kommentar +; Comment +; +; ------------------------------------------------- +; Frameadjust class +MSG_FRAMEADJUST_INNER_SPACING +Innerer Abstand: +; Inner Spacing: +; +MSG_FRAMEADJUST_LEFT +Links +; Left +; +MSG_FRAMEADJUST_TOP +Oben +; Top +; +MSG_FRAMEADJUST_RIGHT +Rechts +; Right +; +MSG_FRAMEADJUST_BOTTOM +Unten +; Bottom +; +; ------------------------------------------------- +; Imageadjust class +MSG_IMAGEADJUST_PATTERN +Muster +; Pattern +; +MSG_IMAGEADJUST_VECTOR +Vektor +; Vector +; +MSG_IMAGEADJUST_COLOR +Farbe +; Color +; +MSG_IMAGEADJUST_EXTERNAL +Extern +; External +; +MSG_IMAGEADJUST_BITMAP +Bitmap +; Bitmap +; +MSG_IMAGEADJUST_GRADIENT +Verlauf +; Gradient +; +MSG_IMAGEADJUST_SCALED +Skaliert +; Scaled +; +MSG_IMAGEADJUST_TILED +Gekachelt +; Tiled +; +MSG_IMAGEADJUST_TYPE +Typ: +; Type: +; +MSG_IMAGEADJUST_ANGLE +Winkel: +; Angle: +; +MSG_IMAGEADJUST_VERTICAL +Senkrecht +; Vertical +; +MSG_IMAGEADJUST_HORIZONTAL +Waagrecht +; Horizontal +; +MSG_IMAGEADJUST_COLORS +Farben: +; Colors: +; +MSG_IMAGEADJUST_START_PEN +Startstift +; Start pen +; +MSG_IMAGEADJUST_END_PEN +Endstift +; End pen +; +MSG_IMAGEADJUST_PREVIEW +Vorschau: +; Preview: +; +; ------------------------------------------------- +; Palette class +MSG_PALETTE_COLOR +Farbe %ld +; Color %ld +; +; ------------------------------------------------- +; Penadjust class +MSG_PENADJUST_MUI +MUI +; MUI +; +MSG_PENADJUST_COLORMAP +Colormap +; Colormap +; +MSG_PENADJUST_RGB +RGB +; RGB +; +MSG_PENADJUST_SHINE +Leucht +; Shine +; +MSG_PENADJUST_HALFSHINE +Halbleucht +; Halfshine +; +MSG_PENADJUST_BACKGROUND +Hintergrund +; Background +; +MSG_PENADJUST_HALFSHADOW +Halbschatten +; Halfshadow +; +MSG_PENADJUST_SHADOW +Schatten +; Shadow +; +MSG_PENADJUST_TEXT +Text +; Text +; +MSG_PENADJUST_FILL +Füllen +; Fill +; +MSG_PENADJUST_MARK +Markieren +; Mark +; +; ------------------------------------------------- +; Volumelist class +MSG_VOLUMELIST_NAME +Name +; Name +; +MSG_VOLUMELIST_FULL +Voll +; Full +; +MSG_VOLUMELIST_FREE +Frei +; Free +; +MSG_VOLUMELIST_USED +Verwendet +; Used +; diff --git a/workbench/libs/muimaster/catalogs/mmakefile.src b/workbench/libs/muimaster/catalogs/mmakefile.src new file mode 100644 index 00000000000..cf90ea030aa --- /dev/null +++ b/workbench/libs/muimaster/catalogs/mmakefile.src @@ -0,0 +1,9 @@ +# Copyright 1995-2020, The AROS Development Team. All rights reserved. + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + +%build_catalogs mmake=workbench-libs-muimaster-catalogs \ + catalogs=$(CATALOGS) source="../muimaster_strings.h" \ + name=muimaster subdir=System/Libs diff --git a/workbench/libs/muimaster/catalogs/muimaster.cd b/workbench/libs/muimaster/catalogs/muimaster.cd new file mode 100644 index 00000000000..e6868dd9b5f --- /dev/null +++ b/workbench/libs/muimaster/catalogs/muimaster.cd @@ -0,0 +1,172 @@ +; Generic +; +MSG_OK (//) +_Ok +; +MSG_CANCEL (//) +_Cancel +; +; ------------------------------------------------- +; Aboutmui class +MSG_ABOUTMUI_WINDOW_TITLE (//) +About Zune +; +MSG_ABOUTMUI_STRING (//) +Zune, a MUI clone\n\n\ +Compiled on %s\n\ +Copyright (C) 2002-2020, The AROS Development Team. +; +; ------------------------------------------------- +; Coloradjust class +MSG_COLORADJUST_RED (//) +Red: +; +; Coloradjust class +MSG_COLORADJUST_GREEN (//) +Green: +; +; Coloradjust class +MSG_COLORADJUST_BLUE (//) +Blue: +; +; ------------------------------------------------- +; Dirlist class +MSG_DIRLIST_NAME (//) +Name +; +MSG_DIRLIST_SIZE (//) +Size +; +MSG_DIRLIST_DATE (//) +Date +; +MSG_DIRLIST_TIME (//) +Time +; +MSG_DIRLIST_FLAGS (//) +Flags +; +MSG_DIRLIST_COMMENT (//) +Comment +; +; ------------------------------------------------- +; Frameadjust class +MSG_FRAMEADJUST_INNER_SPACING (//) +Inner Spacing: +; +MSG_FRAMEADJUST_LEFT (//) +Left +; +MSG_FRAMEADJUST_TOP (//) +Top +; +MSG_FRAMEADJUST_RIGHT (//) +Right +; +MSG_FRAMEADJUST_BOTTOM (//) +Bottom +; +; ------------------------------------------------- +; Imageadjust class +MSG_IMAGEADJUST_PATTERN (//) +Pattern +; +MSG_IMAGEADJUST_VECTOR (//) +Vector +; +MSG_IMAGEADJUST_COLOR (//) +Color +; +MSG_IMAGEADJUST_EXTERNAL (//) +External +; +MSG_IMAGEADJUST_BITMAP (//) +Bitmap +; +MSG_IMAGEADJUST_GRADIENT (//) +Gradient +; +MSG_IMAGEADJUST_SCALED (//) +Scaled +; +MSG_IMAGEADJUST_TILED (//) +Tiled +; +MSG_IMAGEADJUST_TYPE (//) +Type: +; +MSG_IMAGEADJUST_ANGLE (//) +Angle: +; +MSG_IMAGEADJUST_VERTICAL (//) +Vertical +; +MSG_IMAGEADJUST_HORIZONTAL (//) +Horizontal +; +MSG_IMAGEADJUST_COLORS (//) +Colors: +; +MSG_IMAGEADJUST_START_PEN (//) +Start pen +; +MSG_IMAGEADJUST_END_PEN (//) +End pen +; +MSG_IMAGEADJUST_PREVIEW (//) +Preview: +; +; ------------------------------------------------- +; Palette class +MSG_PALETTE_COLOR (//) +Color %ld +; +; ------------------------------------------------- +; Penadjust class +MSG_PENADJUST_MUI (//) +MUI +; +MSG_PENADJUST_COLORMAP (//) +Colormap +; +MSG_PENADJUST_RGB (//) +RGB +; +MSG_PENADJUST_SHINE (//) +Shine +; +MSG_PENADJUST_HALFSHINE (//) +Halfshine +; +MSG_PENADJUST_BACKGROUND (//) +Background +; +MSG_PENADJUST_HALFSHADOW (//) +Halfshadow +; +MSG_PENADJUST_SHADOW (//) +Shadow +; +MSG_PENADJUST_TEXT (//) +Text +; +MSG_PENADJUST_FILL (//) +Fill +; +MSG_PENADJUST_MARK (//) +Mark +; +; ------------------------------------------------- +; Volumelist class +MSG_VOLUMELIST_NAME (//) +Name +; +MSG_VOLUMELIST_FULL (//) +Full +; +MSG_VOLUMELIST_FREE (//) +Free +; +MSG_VOLUMELIST_USED (//) +Used +; diff --git a/workbench/libs/muimaster/catalogs/polish.ct b/workbench/libs/muimaster/catalogs/polish.ct new file mode 100644 index 00000000000..ba2acc48ddf --- /dev/null +++ b/workbench/libs/muimaster/catalogs/polish.ct @@ -0,0 +1,228 @@ +## version $VER: muimaster.catalog 1.0 (06.01.2020) +## language polski +## codeset 5 +; +; Generic +; +MSG_OK +_OK +; _Ok +; +MSG_CANCEL +Ponie_chaj +; _Cancel +; +; ------------------------------------------------- +; Aboutmui class +MSG_ABOUTMUI_WINDOW_TITLE +O Zune +; About Zune +; +MSG_ABOUTMUI_STRING +Zune, klon MUI\n\n\ +Kompilowany %s\n\ +Copyright (C) 2002-2020, The AROS Development Team. +; Zune, a MUI clone\n\n\ +; Compiled on %s\n\ +; Copyright (C) 2002-2020, The AROS Development Team. +; +; ------------------------------------------------- +; Coloradjust class +MSG_COLORADJUST_RED +Czerwony: +; Red: +; +; Coloradjust class +MSG_COLORADJUST_GREEN +Zielony: +; Green: +; +; Coloradjust class +MSG_COLORADJUST_BLUE +Niebieski: +; Blue: +; +; ------------------------------------------------- +; Dirlist class +MSG_DIRLIST_NAME +Nazwa +; Name +; +MSG_DIRLIST_SIZE +Wysokość +; Size +; +MSG_DIRLIST_DATE +Data +; Date +; +MSG_DIRLIST_TIME +Czas +; Time +; +MSG_DIRLIST_FLAGS +Opcje +; Flags +; +MSG_DIRLIST_COMMENT +Komentarz +; Comment +; +; ------------------------------------------------- +; Frameadjust class +MSG_FRAMEADJUST_INNER_SPACING +Odstęp wewnętrzny: +; Inner Spacing: +; +MSG_FRAMEADJUST_LEFT +Lewo +; Left +; +MSG_FRAMEADJUST_TOP +Góra +; Top +; +MSG_FRAMEADJUST_RIGHT +Prawo +; Right +; +MSG_FRAMEADJUST_BOTTOM +Dół +; Bottom +; +; ------------------------------------------------- +; Imageadjust class +MSG_IMAGEADJUST_PATTERN +Wzór +; Pattern +; +MSG_IMAGEADJUST_VECTOR +Wektor +; Vector +; +MSG_IMAGEADJUST_COLOR +Kolor +; Color +; +MSG_IMAGEADJUST_EXTERNAL +Zewnętrzne +; External +; +MSG_IMAGEADJUST_BITMAP +Bitmap +; Bitmap +; +MSG_IMAGEADJUST_GRADIENT +Gradient +; Gradient +; +MSG_IMAGEADJUST_SCALED +Skalowane +; Scaled +; +MSG_IMAGEADJUST_TILED +Powielane +; Tiled +; +MSG_IMAGEADJUST_TYPE +Typ: +; Type: +; +MSG_IMAGEADJUST_ANGLE +Kąt: +; Angle: +; +MSG_IMAGEADJUST_VERTICAL +Pionowo +; Vertical +; +MSG_IMAGEADJUST_HORIZONTAL +Poziomo +; Horizontal +; +MSG_IMAGEADJUST_COLORS +Kolory: +; Colors: +; +MSG_IMAGEADJUST_START_PEN +Pierwszy pisak +; Start pen +; +MSG_IMAGEADJUST_END_PEN +Ostatni pisak +; End pen +; +MSG_IMAGEADJUST_PREVIEW +Podgląd: +; Preview: +; +; ------------------------------------------------- +; Palette class +MSG_PALETTE_COLOR +Kolor %ld +; Color %ld +; +; ------------------------------------------------- +; Penadjust class +MSG_PENADJUST_MUI +MUI +; MUI +; +MSG_PENADJUST_COLORMAP +Colormap +; Colormap +; +MSG_PENADJUST_RGB +RGB +; RGB +; +MSG_PENADJUST_SHINE +Jasne +; Shine +; +MSG_PENADJUST_HALFSHINE +Rozjaśnione +; Halfshine +; +MSG_PENADJUST_BACKGROUND +Tło +; Background +; +MSG_PENADJUST_HALFSHADOW +Przyciemnione +; Halfshadow +; +MSG_PENADJUST_SHADOW +Ciemne +; Shadow +; +MSG_PENADJUST_TEXT +Tekst +; Text +; +MSG_PENADJUST_FILL +Wypełnij +; Fill +; +MSG_PENADJUST_MARK +Zaznacz +; Mark +; +; ------------------------------------------------- +; Volumelist class +MSG_VOLUMELIST_NAME +Nazwa +; Name +; +MSG_VOLUMELIST_FULL +Pełne +; Full +; +MSG_VOLUMELIST_FREE +Wolne +; Free +; +MSG_VOLUMELIST_USED +Wykorzystane +; Used +; diff --git a/workbench/libs/reqtools/catalogs b/workbench/libs/reqtools/catalogs deleted file mode 160000 index c55a16268c8..00000000000 --- a/workbench/libs/reqtools/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c55a16268c87d6b11cc7490540094e9968fc1b50 diff --git a/workbench/libs/reqtools/catalogs/.gitattributes b/workbench/libs/reqtools/catalogs/.gitattributes new file mode 100644 index 00000000000..47a80ef0e43 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/.gitattributes @@ -0,0 +1,63 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# ISO-8859-9 +# +turkish.ct text encoding=ISO-8859-9 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/libs/reqtools/catalogs/catalog_version.h b/workbench/libs/reqtools/catalogs/catalog_version.h new file mode 100644 index 00000000000..96dbdc6e8f2 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/catalog_version.h @@ -0,0 +1,3 @@ +// CT files must match the version or they won't be opened + +#define CATALOG_VERSION 39 diff --git a/workbench/libs/reqtools/catalogs/czech.ct b/workbench/libs/reqtools/catalogs/czech.ct new file mode 100644 index 00000000000..87e5e3bab53 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/czech.ct @@ -0,0 +1,250 @@ +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## language czech +## codeset 5 +; +;****************** +; +; ReqTools V38 +; +;****************** +; +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _OK +; _Ok +; +MSG_CANCEL +_Zruit +; _Cancel +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _OK |_Zruit +; _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL +_Posledn|_Zruit +; _Last|_Cancel +; +MSG_REQUEST +dost +; Request +; +MSG_INFORMATION +Informace +; Information +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; Min: %ld +; +MSG_MAX_FMT + Max: %ld +; Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Pli mal! +; Too small! +; +MSG_TOO_BIG +Pli velk! +; Too big! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Paleta barev: +; _Palette Colors: +; +MSG_RED +erven _R: +; _Red: +; +MSG_GREEN +Zelen _G: +; _Green: +; +MSG_BLUE +Modr _B: +; _Blue: +; +MSG_COPY +Z_koprovat +; Cop_y +; +MSG_SWAP +Pro_hodit +; _Swap +; +MSG_SPREAD +Roz_ett +; Spr_ead +; +MSG_UNDO +Zp_t +; _Undo +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Zkoprovat do... +; Copy to... +; +MSG_SWAP_TITLE +Prohodit s... +; Swap with... +; +MSG_SPREAD_TITLE +Rozett kam... +; Spread to... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Adres "%s" neexistuje.\nChcete ho vytvoit? +; Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR +Nesprvn adres! +; Directory error! +; +MSG_MATCH_WINTITLE +Zadn masky... +; Match... +; +MSG_DRAWER +adres +; Drawer +; +MSG_ASSIGN +piazen +; Assign +; +MSG_ALL +V_e +; _All +; +MSG_MATCH +Vy_brat... +; _Match.. +; +MSG_CLEAR +N_ic +; C_lear +; +MSG_VOLUMES +Z_azen +; _Volumes +; +MSG_PARENT +V_y +; _Parent +; +MSG_PATTERN +_Maska +; Pa_ttern: +; +MSG_GET +_Nov +; _Get +; +MSG_DOT_INFO +.in_fo +; ._info +; +MSG_SELECTED +Vybrno: +; Selected: +; +MSG_FULL +Zaplnno z %ld %% +; %ld%% full +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Poadovan psmo nelze otevt! +; Couldn't open font! +; +MSG_BOLD +_Tun +; _Bold +; +MSG_ITALIC +_Kurzva +; _Italic +; +MSG_UNDERLINE +_Podtren +; _Underline +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-prokldan +; -Interlaced +; +MSG_DASH_HAM +-reim HAM +; -HAM +; +MSG_DASH_EHB +-reim EHB +; -EHB +; +MSG_REGULAR_SIZE +Standardn velikost +; Regular Size +; +MSG_TEXT_SIZE +Textov reim +; Text Size +; +MSG_GFX_SIZE +Grafick reim +; Graphics Size +; +MSG_MAX_SIZE +Zobraziteln maximum +; Maximum Size +; +MSG_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_WIDTH +k_a: +; _Width: +; +MSG_HEIGHT +V_ka: +; _Height: +; +; +MSG_DEFAULT +Vchoz +; Default +; +MSG_COLORS +Poet _barev: +; Co_lors: +; +MSG_MAX +Max: +; Max: +; +MSG_AUTOSCROLL +_Rolovn: +; _AutoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/danish.ct b/workbench/libs/reqtools/catalogs/danish.ct new file mode 100644 index 00000000000..7794f4d1b59 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/danish.ct @@ -0,0 +1,198 @@ +;****************** +; +; ReqTools V38 +; +; Dansk +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) by Jesper Juul +## codeset 0 +## language dansk +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +; Bemrk: Der er to mellemrum omkring Ok strengen s den bliver 4 tegn. +MSG_OK + _Ok +; +MSG_CANCEL +_Afbryd +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Afbryd +; +MSG_LAST_BAR_CANCEL +_Sidste|_Afbryd +; +MSG_REQUEST +Foresprgsel +; +MSG_INFORMATION +Oplysning +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +; Bemrk: Der er to mellemrum omkring de nste tre strenge! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; +MSG_TOO_SMALL +For lille! +; +MSG_TOO_BIG +For stor! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Palette Farver: +; +MSG_RED +_Rd: +; +MSG_GREEN +_Grn: +; +MSG_BLUE +_Bl: +; +MSG_COPY +_Kopier +; +MSG_SWAP +B_yt +; +MSG_SPREAD +_Spred +; +MSG_UNDO +Oph_v +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copy to... +; +MSG_SWAP_TITLE +Swap with... +; +MSG_SPREAD_TITLE +Spread to... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Skuffen '%s' eksisterer\nikke. Skal den oprettes? +; +MSG_DIR_ERROR +Forkert angivelse! +; +MSG_MATCH_WINTITLE +Filter... +; +MSG_DRAWER +Skuffe +; +MSG_ASSIGN +Assign +; +MSG_ALL +A_lle +; +MSG_MATCH +Filt_er... +; +MSG_CLEAR +I_ngen +; +MSG_VOLUMES +_Volumer +; +MSG_PARENT +_Forlder +; +MSG_PATTERN +Mns_ter: +; +MSG_GET +_GenLs +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Valgte: +; +MSG_FULL +%ld%% fuld +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Kunne ikke bne skrift-typen! +; +MSG_BOLD +_Fed +; +MSG_ITALIC +_Kursiv +; +MSG_UNDERLINE +_Understreget +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlace +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Normal strrelse +; +MSG_TEXT_SIZE +Tekst strrelse +; +MSG_GFX_SIZE +Grafik strrelse +; +MSG_MAX_SIZE +Maksimal strrelse +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Bredde: +; +MSG_HEIGHT +_Hjde: +; +; +MSG_DEFAULT +Grundvrdi +; +MSG_COLORS +_Farver: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +A_utoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/dutch.ct b/workbench/libs/reqtools/catalogs/dutch.ct new file mode 100644 index 00000000000..51af605ebe1 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/dutch.ct @@ -0,0 +1,184 @@ +;****************** +; +; ReqTools V38 +; +; Nederlands +; +;****************** +; +## version $VER: reqtools.catalog 38.3 (18.02.1996) +## codeset 0 +## language nederlands +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it a bit wider! +MSG_OK + _Ok +MSG_CANCEL +_Annuleer +MSG_OK_BAR_CANCEL + _Ok |_Annuleer +; +; *** EZRequester *** +; +MSG_LAST_BAR_CANCEL +_Laatste|_Annuleer +; +MSG_REQUEST +Verzoek +; +MSG_INFORMATION +Informatie +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Te klein! +; +MSG_TOO_BIG +Te groot! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +K_leuren: +; +MSG_RED +_Rood: +; +MSG_GREEN +_Groen: +; +MSG_BLUE +_Blauw: +; +MSG_COPY +_Kopieer +; +MSG_SWAP +_Verwissel +; +MSG_SPREAD +_Smeer +; +MSG_UNDO +_Herstel +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Lade '%s' bestaat\n\ +niet. Aanmaken? +; +MSG_DIR_ERROR +Onbestaande lade! +; +MSG_MATCH_WINTITLE +Patroon... +; +MSG_DRAWER +Lade +; +MSG_ASSIGN +Assign +; +MSG_ALL +All_e +; +MSG_MATCH +_Patroon.. +; +MSG_CLEAR +_Geen +; +MSG_VOLUMES +_Volumes +; +MSG_PARENT +_Hoger +; +MSG_PATTERN +Pa_troon: +; +MSG_GET +_Lees +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Gekozen: +; +MSG_FULL +%ld%% vol +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Kon font niet openen! +; +MSG_BOLD +_Vet +; +MSG_ITALIC +_Cursief +; +MSG_UNDERLINE +O_nderstreept +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlace +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Normale grootte +; +MSG_TEXT_SIZE +Tekstgrootte +; +MSG_GFX_SIZE +Grafische grootte +; +MSG_MAX_SIZE +Maximale grootte +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Breedte: +; +MSG_HEIGHT +_Hoogte: +; +; +MSG_DEFAULT +Standaard +; +MSG_COLORS +K_leuren: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +A_utoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/finnish.ct b/workbench/libs/reqtools/catalogs/finnish.ct new file mode 100644 index 00000000000..c498366454f --- /dev/null +++ b/workbench/libs/reqtools/catalogs/finnish.ct @@ -0,0 +1,196 @@ +;****************** +; +; ReqTools V38 +; +; Suomi +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language suomi +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK +_Ok +; +MSG_CANCEL +_Peru +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Peru +; +MSG_LAST_BAR_CANCEL +_Viimeinen|_Peru +; +MSG_REQUEST +Pyynt +; +MSG_INFORMATION +Tietoa +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Minimi: %ld +; +MSG_MAX_FMT + Maksimi: %ld +; +MSG_MIN_MAX_FMT + Minimi: %ld, Maksimi: %ld +; +MSG_TOO_SMALL +Liian pieni! +; +MSG_TOO_BIG +Liian suuri! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +P_aletin vrit: +; +MSG_RED +_Punainen: +; +MSG_GREEN +_Vihre: +; +MSG_BLUE +_Sininen: +; +MSG_COPY +_Kopioi +; +MSG_SWAP +_Vaihda +; +MSG_SPREAD +L_evit +; +MSG_UNDO +K_umoa +; +; *** 2.5 *** +; +MSG_COPY_TITLE +Kopioin... +; +MSG_SWAP_TITLE +Vaihdan... +; +MSG_SPREAD_TITLE +Levitn... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Hakemistoa '%s' ei\n\ +ole olemassa. Luodaanko se ? +; +MSG_DIR_ERROR +Hakemistovirhe! +; +MSG_MATCH_WINTITLE +Valitse... +; +MSG_DRAWER +Hakemisto +; +MSG_ASSIGN +Assign +; +MSG_ALL +K_aikki +; +MSG_MATCH +Va_litse... +; +MSG_CLEAR +T_yhjenn +; +MSG_VOLUMES +Le_vyt +; +MSG_PARENT +_Edellinen +; +MSG_PATTERN +Valin_ta: +; +MSG_GET +_Hae +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Valittu: +; +MSG_FULL +%ld%% tynn +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Fontti ei auennut! +; +MSG_BOLD +_Lihavoi +; +MSG_ITALIC +_Kursivoi +; +MSG_UNDERLINE +_Alleviivaa +; +; *** Screenmode Requester *** +; +MSG_DASH_INTERLACED +-Lomitettu +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Normaali koko +; +MSG_TEXT_SIZE +Tekstikoko +; +MSG_GFX_SIZE +Grafiikkakoko +; +MSG_MAX_SIZE +Suurin koko +; +MSG_OVERSCAN +_Nytn koko: +; +MSG_WIDTH +_Leveys: +; +MSG_HEIGHT +_Korkeus: +; +MSG_DEFAULT +Oletusarvo +; +MSG_COLORS +Vrit: +; +MSG_MAX +Maksimi: +; +MSG_AUTOSCROLL +_Autom. vieritys: +; diff --git a/workbench/libs/reqtools/catalogs/french.ct b/workbench/libs/reqtools/catalogs/french.ct new file mode 100644 index 00000000000..caf740447fe --- /dev/null +++ b/workbench/libs/reqtools/catalogs/french.ct @@ -0,0 +1,229 @@ +; +; by Georges 'Melkor' Goncalves +; +## version $VER: ReqTools.catalog 39.0 (31.03.2016) +## codeset 0 +## language franais +; +MSG_OK +_Okay +; _Ok +; +MSG_CANCEL +_Annuler +; _Cancel +; +MSG_OK_BAR_CANCEL +_Okay|_Annuler +; _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL +_Dernier|_Annuler +; _Last|_Cancel +; +MSG_REQUEST +Requte +; Request +; +MSG_INFORMATION +Information +; Information +; +MSG_MIN_FMT + Min : %ld +; Min: %ld +; +MSG_MAX_FMT + Max : %ld +; Max: %ld +; +MSG_MIN_MAX_FMT + Min : %ld, Max : %ld +; Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Trop petit ! +; Too small! +; +MSG_TOO_BIG +Trop grand ! +; Too big! +; +MSG_PALETTE_COLORS +_Palette : +; _Palette Colors: +; +MSG_RED +_Rouge : +; _Red: +; +MSG_GREEN +_Vert : +; _Green: +; +MSG_BLUE +_Bleu : +; _Blue: +; +MSG_COPY +_Copier +; Cop_y +; +MSG_SWAP +_Echanger +; _Swap +; +MSG_SPREAD +E_tendre +; Spr_ead +; +MSG_UNDO +_Dfaire +; _Undo +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copier sur... +; +MSG_SWAP_TITLE +Echanger avec... +; +MSG_SPREAD_TITLE +Etendre ... +; +MSG_CREATE_DRAWER +Le tiroir '%s' n'existe pas.\nFaut-il le crer ? +; Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR +Le tiroir n'existe pas ! +; Directory error! +; +MSG_MATCH_WINTITLE +Motif... +; Match... +; +MSG_DRAWER +Tiroir +; Drawer +; +MSG_ASSIGN +Assigne +; Assign +; +MSG_ALL +_Tout +; _All +; +MSG_MATCH +_Motif... +; _Match.. +; +MSG_CLEAR +A_ucun +; C_lear +; +; The underscore is on 'l' to prevent hotkey conflicts with NewEdit or +; similar string Hooks :-) +; +MSG_VOLUMES +Vo_lumes +; _Volumes +; +MSG_PARENT +_Parent +; _Parent +; +MSG_PATTERN +Moti_f : +; Pa_ttern: +; +MSG_GET +_Relire +; _Get +; +MSG_DOT_INFO +_Icnes +; ._info +; +MSG_SELECTED +Slectionns : +; Selected: +; +MSG_FULL +%ld%% plein +; %ld%% full +; +MSG_COULDNT_OPEN_FONT +Impossible d'ouvir la police ! +; Couldn't open font! +; +MSG_BOLD +_Gras +; _Bold +; +MSG_ITALIC +_Italique +; _Italic +; +MSG_UNDERLINE +_Soulign +; _Underline +; +MSG_DASH_INTERLACED +-Entrelace +; -Interlaced +; +MSG_DASH_HAM +-HAM +; -HAM +; +MSG_DASH_EHB +-EHB +; -EHB +; +MSG_REGULAR_SIZE +Taille rgulire +; Regular Size +; +MSG_TEXT_SIZE +Taille texte +; Text Size +; +MSG_GFX_SIZE +Taille graphique +; Graphics Size +; +MSG_MAX_SIZE +Taille maximale +; Maximum Size +; +MSG_OVERSCAN +_Suraffichage : +; O_verscan: +; +MSG_WIDTH +_Largeur : +; _Width: +; +MSG_HEIGHT +_Hauteur : +; _Height: +; +MSG_DEFAULT +Dfaut +; Default +; +MSG_COLORS +_Couleurs : +; Co_lors: +; +MSG_MAX +Max : +; Max: +; +MSG_AUTOSCROLL +Dfil. a_uto : +; _AutoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/german.ct b/workbench/libs/reqtools/catalogs/german.ct new file mode 100644 index 00000000000..d42a517c2d1 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/german.ct @@ -0,0 +1,250 @@ +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## language deutsch +## codeset 0 +; +;****************** +; +; ReqTools V38 +; +;****************** +; +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; _Ok +; +MSG_CANCEL +_Abbrechen +; _Cancel +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Abbrechen +; _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL +_Letztes|_Abbrechen +; _Last|_Cancel +; +MSG_REQUEST +Meldung +; Request +; +MSG_INFORMATION +Information +; Information +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; Min: %ld +; +MSG_MAX_FMT + Max: %ld +; Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Zu klein! +; Too small! +; +MSG_TOO_BIG +Zu gro! +; Too big! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Farben: +; _Palette Colors: +; +MSG_RED +_Rot: +; _Red: +; +MSG_GREEN +_Grn: +; _Green: +; +MSG_BLUE +_Blau: +; _Blue: +; +MSG_COPY +_Kopieren +; Cop_y +; +MSG_SWAP +_Vertauschen +; _Swap +; +MSG_SPREAD +_Verlauf +; Spr_ead +; +MSG_UNDO +R_ckgngig +; _Undo +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Kopieren nach... +; Copy to... +; +MSG_SWAP_TITLE +Vertauschen mit... +; Swap with... +; +MSG_SPREAD_TITLE +Verlauf nach... +; Spread to... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Schublade '%s' existiert\nnicht, neu anlegen? +; Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR +Falsche Schublade! +; Directory error! +; +MSG_MATCH_WINTITLE +Muster... +; Match... +; +MSG_DRAWER +Schublade +; Drawer +; +MSG_ASSIGN +Assign +; Assign +; +MSG_ALL +All_e +; _All +; +MSG_MATCH +M_uster... +; _Match... +; +MSG_CLEAR +_Keine +; C_lear +; +MSG_VOLUMES +_Datentrger +; _Volumes +; +MSG_PARENT +_bergeordnet +; _Parent +; +MSG_PATTERN +Mus_ter: +; Pa_ttern: +; +MSG_GET +_Neu +; _Get +; +MSG_DOT_INFO +._info +; ._info +; +MSG_SELECTED +Ausgewhlt: +; Selected: +; +MSG_FULL +%ld%% voll +; %ld%% full +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Zeichensatz konnte nicht geffnet werden! +; Couldn't open font! +; +MSG_BOLD +_Fett +; _Bold +; +MSG_ITALIC +_Kursiv +; _Italic +; +MSG_UNDERLINE +_Unterstrichen +; _Underline +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlaced +; -Interlaced +; +MSG_DASH_HAM +-HAM +; -HAM +; +MSG_DASH_EHB +-EHB +; -EHB +; +MSG_REGULAR_SIZE +Normale Abmessung +; Regular Size +; +MSG_TEXT_SIZE +Textabmessung +; Text Size +; +MSG_GFX_SIZE +Grafikabmessung +; Graphics Size +; +MSG_MAX_SIZE +Maximale Abmessung +; Maximum Size +; +MSG_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_WIDTH +_Breite: +; _Width: +; +MSG_HEIGHT +_Hhe: +; _Height: +; +; +MSG_DEFAULT +Vorgabe +; Default +; +MSG_COLORS +_Farben: +; Co_lors: +; +MSG_MAX +Max: +; Max: +; +MSG_AUTOSCROLL +A_uto-Rollen: +; _AutoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/hungarian.ct b/workbench/libs/reqtools/catalogs/hungarian.ct new file mode 100644 index 00000000000..83df44f1e49 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/hungarian.ct @@ -0,0 +1,253 @@ +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 5 +## language magyar +; ksztette: Kertai Gbor +; +;****************** +; +; ReqTools V38 +; +;****************** +; +; +;FOLD *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK +_Rendben +; _Ok +; +MSG_CANCEL +_Felejtsd el +; _Cancel +; +MSG_OK_BAR_CANCEL +_Rendben|_Felejtsd el +; _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL +_Utols|_Felejtsd el +; _Last|_Cancel +; +MSG_REQUEST +Krds +; Request +; +MSG_INFORMATION +Informci +; Information +; +; ENDF +; FOLD *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +; +MSG_MIN_FMT + Min.: %ld \0 +; Min: %ld +; +MSG_MAX_FMT + Max.: %ld \0 +; Max: %ld +; +MSG_MIN_MAX_FMT + Min.: %ld, Max.: %ld \0 +; Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Ez tl kicsi! +; Too small! +; +MSG_TOO_BIG +Ez tl nagy! +; Too big! +; +; ENDF +; FOLD *** Palette Requester *** +; +MSG_PALETTE_COLORS +A _paletta sznei: +; _Palette Colors: +; +MSG_RED +Vr_s: +; _Red: +; +MSG_GREEN +_Zld: +; _Green: +; +MSG_BLUE +_Kk: +; _Blue: +; +MSG_COPY +_Msol +; Cop_y +; +MSG_SWAP +_Cserl +; _Swap +; +MSG_SPREAD +Sz_nsor +; Spr_ead +; +MSG_UNDO +_Vissza +; _Undo +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copy to... +; +MSG_SWAP_TITLE +Swap with... +; +MSG_SPREAD_TITLE +Spread to... +; +; ENDF +; FOLD *** File Requester *** +; +MSG_CREATE_DRAWER +A(z) '%s' nev fik\n\ +nem ltezik. Ltrehozzam? +; Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR +Knyvtrhiba! +; Directory error! +; +MSG_MATCH_WINTITLE +Minta... +; Match... +; +MSG_DRAWER +Fik +; Drawer +; +MSG_ASSIGN +Logikai +; Assign +; +MSG_ALL +_Mind +; _All +; +MSG_MATCH +Je_ll... +; _Match.. +; +MSG_CLEAR +S_emmi +; C_lear +; +MSG_VOLUMES +E_gysgek +; _Volumes +; +MSG_PARENT +_Szl +; _Parent +; +MSG_PATTERN +Mint_a: +; Pa_ttern: +; +MSG_GET +_jra +; _Get +; +MSG_DOT_INFO +._info +; ._info +; +MSG_SELECTED +Kijellve: +; Selected: +; +MSG_FULL +%ld%% foglalt +; %ld%% full +; +; ENDF +; FOLD *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Nem sikerlt megnyitni a karakterkszletet! +; Couldn't open font! +; +MSG_BOLD +_Kvr +; _Bold +; +MSG_ITALIC +_Dlt +; _Italic +; +MSG_UNDERLINE +_Alhzott +; _Underline +; +; ENDF +; FOLD *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-fztt +; -Interlaced +; +MSG_DASH_HAM +-HAM +; -HAM +; +MSG_DASH_EHB +-EHB +; -EHB +; +MSG_REGULAR_SIZE +Szoksos mret +; Regular Size +; +MSG_TEXT_SIZE +Szveges mret +; Text Size +; +MSG_GFX_SIZE +Grafikus mret +; Graphics Size +; +MSG_MAX_SIZE +Extrm mret +; Maximum Size +; +MSG_OVERSCAN +_Kpmez: +; O_verscan: +; +MSG_WIDTH +_Szlessg: +; _Width: +; +MSG_HEIGHT +_Magassg: +; _Height: +; +MSG_DEFAULT +Alaprtk +; Default +; +MSG_COLORS +Sz_nek: +; Co_lors: +; +MSG_MAX +Max.: +; Max: +; +MSG_AUTOSCROLL +_Grgets: +; _AutoScroll: +; +; ENDF diff --git a/workbench/libs/reqtools/catalogs/italian.ct b/workbench/libs/reqtools/catalogs/italian.ct new file mode 100644 index 00000000000..faf84859978 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/italian.ct @@ -0,0 +1,183 @@ +;****************** +; +; ReqTools V38 +; +; Italiano +; +; by Michele Giorato +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language italiano +; +MSG_OK + _Ok +; +MSG_CANCEL +_Annulla +; +MSG_OK_BAR_CANCEL + _Ok |_Annulla +; +MSG_LAST_BAR_CANCEL +_Precedente|_Annulla +; +MSG_REQUEST +Richiesta +; +MSG_INFORMATION +Informazioni +; +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Troppo piccolo! +; +MSG_TOO_BIG +Troppo grande! +; +MSG_PALETTE_COLORS +_Tavolozza Colori: +; +MSG_RED +_Rosso: +; +MSG_GREEN +_Verde: +; +MSG_BLUE +_Blu: +; +MSG_COPY +_Copia +; +MSG_SWAP +_Scambia +; +MSG_SPREAD +S_fuma +; +MSG_UNDO +R_ipristina +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copia sul... +; +MSG_SWAP_TITLE +Scambia con... +; +MSG_SPREAD_TITLE +Ruota dei colori... +; +; ** File requester ** +; +MSG_CREATE_DRAWER +Il cassetto '%s' non\n esiste. Lo creo ? +; +MSG_DIR_ERROR +Cassetto inesistente! +; +MSG_MATCH_WINTITLE +Selezione multipla... +; +MSG_DRAWER +Cassetto +; +MSG_ASSIGN +Assegnazioni +; +MSG_ALL +T_utti +; +MSG_MATCH +_Multi... +; +MSG_CLEAR +_Cancella +; +MSG_VOLUMES +_Dischi +; +MSG_PARENT +_Precedente +; +MSG_PATTERN +_Filtro: +; +MSG_GET +Aggio_rna +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Selezionati: +; +MSG_FULL +%ld%% pieno +; +MSG_COULDNT_OPEN_FONT +Non posso accedere al font! +; +MSG_BOLD +_Grassetto +; +MSG_ITALIC +_Italico +; +MSG_UNDERLINE +_Sottolineato +; +MSG_DASH_INTERLACED +-Interlacciato +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Dimensioni normali +; +MSG_TEXT_SIZE +Dimensioni testo +; +MSG_GFX_SIZE +Dimensioni grafiche +; +MSG_MAX_SIZE +Dimensioni massime +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Larghezza: +; +MSG_HEIGHT +Al_tezza: +; +MSG_DEFAULT +Predefinito +; +MSG_COLORS +_Colori: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +A_utoTrasla: +; diff --git a/workbench/libs/reqtools/catalogs/mmakefile.src b/workbench/libs/reqtools/catalogs/mmakefile.src new file mode 100644 index 00000000000..5144e19713b --- /dev/null +++ b/workbench/libs/reqtools/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright (C) 2003, The AROS Development Team. All rights reserved. + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech danish finnish french german hungarian italian norwegian polish portuguese russian serbian spanish swedish +# other catalogs need update to version 39 + +%build_catalogs mmake=workbench-libs-reqtools-catalogs \ + catalogs=$(CATALOGS) \ + name=reqtools subdir=System/Libs diff --git a/workbench/libs/reqtools/catalogs/norwegian.ct b/workbench/libs/reqtools/catalogs/norwegian.ct new file mode 100644 index 00000000000..0356378db34 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/norwegian.ct @@ -0,0 +1,198 @@ +;****************** +; +; ReqTools V38 +; +; Norsk +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language norsk +; +; av Kim Roar Utsi +; (updated by Daniel Holmen) +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; +MSG_CANCEL +_Avbryt +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Avbryt +; +MSG_LAST_BAR_CANCEL +_Forrige|_Avbryt +; +MSG_REQUEST +Foresprsel +; +MSG_INFORMATION +Informasjon +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Maks: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Maks: %ld +; +MSG_TOO_SMALL +For liten! +; +MSG_TOO_BIG +For stor! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Farger: +; +MSG_RED +_Rd: +; +MSG_GREEN +_Grnn: +; +MSG_BLUE +_Bl: +; +MSG_COPY +_Kopier +; +MSG_SWAP +B_ytt +; +MSG_SPREAD +_Spre +; +MSG_UNDO +A_ngre +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Kopier til... +; +MSG_SWAP_TITLE +Bytt med... +; +MSG_SPREAD_TITLE +Spre til... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Skuffen '%s' finnes\nikke. Lage en? +; +MSG_DIR_ERROR +Katalogfeil! +; +MSG_MATCH_WINTITLE +Filter... +; +MSG_DRAWER +Skuff +; +MSG_ASSIGN +Anvis +; +MSG_ALL +A_lle +; +MSG_MATCH +Filt_er... +; +MSG_CLEAR +_Rydd +; +MSG_VOLUMES +_Navn +; +MSG_PARENT +_Forrige +; +MSG_PATTERN +Mns_ter: +; +MSG_GET +_Hent +; +MSG_DOT_INFO +._Info +; +MSG_SELECTED +Valgte: +; +MSG_FULL +%ld%% full +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Kunne ikke pne skrifttypen! +; +MSG_BOLD +_Uthevet +; +MSG_ITALIC +_Kursiv +; +MSG_UNDERLINE +_Understreket +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlace +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Vanlig strrelse +; +MSG_TEXT_SIZE +Tekststrrelse +; +MSG_GFX_SIZE +Grafikkstrrelse +; +MSG_MAX_SIZE +Maksimal strrelse +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Bredde: +; +MSG_HEIGHT +_Hyde: +; +; +MSG_DEFAULT +Standard +; +MSG_COLORS +_Farger: +; +MSG_MAX +Maks: +; +MSG_AUTOSCROLL +A_ut. flytt: +; diff --git a/workbench/libs/reqtools/catalogs/polish.ct b/workbench/libs/reqtools/catalogs/polish.ct new file mode 100644 index 00000000000..b2065164e21 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/polish.ct @@ -0,0 +1,225 @@ +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## language polski +## codeset 5 +; +MSG_OK + _Ok +; _Ok +; +MSG_CANCEL +Ponie_chaj +; _Cancel +; +MSG_OK_BAR_CANCEL + _Ok |Ponie_chaj +; _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL +_Ostani|Ponie_chaj +; _Last|_Cancel +; +MSG_REQUEST +Komunikat +; Request +; +MSG_INFORMATION +Informacje +; Information +; +MSG_MIN_FMT + Min.: %ld +; Min: %ld +; +MSG_MAX_FMT +Maks.: %ld +; Max: %ld +; +MSG_MIN_MAX_FMT + Min.: %ld, maks.: %ld +; Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Za mao! +; Too small! +; +MSG_TOO_BIG +Za duo! +; Too big! +; +MSG_PALETTE_COLORS +_Paleta kolorw: +; _Palette Colors: +; +MSG_RED +Cze_rwony: +; _Red: +; +MSG_GREEN +Zi_elony: +; _Green: +; +MSG_BLUE +Nie_bieski: +; _Blue: +; +MSG_COPY +Sko_piuj +; Cop_y +; +MSG_SWAP +Z_amie +; _Swap +; +MSG_SPREAD +Ro_z +; Spr_ead +; +MSG_UNDO +An_uluj +; _Undo +; +MSG_COPY_TITLE +Skopiuj do... +; Copy to... +; +MSG_SWAP_TITLE +Zamie z... +; Swap with... +; +MSG_SPREAD_TITLE +Roz do... +; Spread to... +; +MSG_CREATE_DRAWER +Katalog \"%s\"\n\ +nie istnieje. Czy mam go utworzy? +; Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR +Bdna nazwa katalogu! +; Directory error! +; +MSG_MATCH_WINTITLE +Dopasuj... +; Match... +; +MSG_DRAWER +Katalog +; Drawer +; +MSG_ASSIGN +Przypisanie +; Assign +; +MSG_ALL +Wszy_stko +; _All +; +MSG_MATCH +Wz_r... +; _Match.. +; +MSG_CLEAR +Anu_luj +; C_lear +; +MSG_VOLUMES +_Wolumeny +; _Volumes +; +MSG_PARENT +_Nadrzdny +; _Parent +; +MSG_PATTERN +Fil_tr: +; Pa_ttern: +; +MSG_GET +O_dczytaj +; _Get +; +MSG_DOT_INFO +._info +; ._info +; +MSG_SELECTED +Zaznaczonych: +; Selected: +; +MSG_FULL +%ld%% zajte +; %ld%% full +; +MSG_COULDNT_OPEN_FONT +Nie mogna odnale czcionki! +; Couldn't open font! +; +MSG_BOLD +Pogru_biona +; _Bold +; +MSG_ITALIC +Pochy_lona +; _Italic +; +MSG_UNDERLINE +Po_dkrelona +; _Underline +; +MSG_DASH_INTERLACED +-Z przeplotem +; -Interlaced +; +MSG_DASH_HAM +-HAM +; -HAM +; +MSG_DASH_EHB +-EHB +; -EHB +; +MSG_REGULAR_SIZE +Wielko normalna +; Regular Size +; +MSG_TEXT_SIZE +Wielko tekstu +; Text Size +; +MSG_GFX_SIZE +Wielko grafiki +; Graphics Size +; +MSG_MAX_SIZE +Maksymalna wielko +; Maximum Size +; +MSG_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_WIDTH +_Szeroko: +; _Width: +; +MSG_HEIGHT +_Wysoko: +; _Height: +; +MSG_DEFAULT +domylna +; Default +; +MSG_COLORS +_Kolorw: +; Co_lors: +; +MSG_MAX +Maks.: +; Max: +; +MSG_AUTOSCROLL +_Automatyczne przewijanie: +; _AutoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/portuguese.ct b/workbench/libs/reqtools/catalogs/portuguese.ct new file mode 100644 index 00000000000..66edac66473 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/portuguese.ct @@ -0,0 +1,197 @@ +;****************** +; +; ReqTools V38 +; +; Portugus +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language portugus +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; +MSG_CANCEL +_Cancelar +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Cancelar +; +MSG_LAST_BAR_CANCEL +_Ultimo|_Cancelar +; +MSG_REQUEST +Pedido +; +MSG_INFORMATION +Informao +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Muito Pequeno! +; +MSG_TOO_BIG +Muito Grande! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +Cor_es: +; +MSG_RED +Ve_rmelho: +; +MSG_GREEN +_Verde: +; +MSG_BLUE +_Azul: +; +MSG_COPY +Cop_iar +; +MSG_SWAP +_Mudar +; +MSG_SPREAD +E_spalhar +; +MSG_UNDO +Res_taurar +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copiar para... +; +MSG_SWAP_TITLE +Trocar com... +; +MSG_SPREAD_TITLE +Espalhar at... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +O Directrio '%s'\nno existe. Crio-o? +; +MSG_DIR_ERROR +Erro no Directrio! +; +; +MSG_MATCH_WINTITLE +Padro... +; +MSG_DRAWER +Gaveta +; +MSG_ASSIGN +Fazer o Assign +; +MSG_ALL +_Todos +; +MSG_MATCH +_Padro... +; +MSG_CLEAR +Apa_gar +; +MSG_VOLUMES +_Volumes +; +MSG_PARENT +_D.Acima +; +MSG_PATTERN +Pa_dro: +; +MSG_GET +_Apanhar +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Seleccionados: +; +MSG_FULL +%ld%% cheio +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +No pode abrir a fonte! +; +MSG_BOLD +_Negrito +; +MSG_ITALIC +_Itlico +; +MSG_UNDERLINE +_Sublinhado +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Entrelaado +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Tamanho regular +; +MSG_TEXT_SIZE +Tamanho de texto +; +MSG_GFX_SIZE +Tamanho de grficos +; +MSG_MAX_SIZE +Tamanho mximo +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Largura: +; +MSG_HEIGHT +_Altura: +; +; +MSG_DEFAULT +Sistema +; +MSG_COLORS +Co_res: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +_Scroll Automtico: +; diff --git a/workbench/libs/reqtools/catalogs/reqtools.cd b/workbench/libs/reqtools/catalogs/reqtools.cd new file mode 100644 index 00000000000..0189d8dcfa7 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/reqtools.cd @@ -0,0 +1,191 @@ +;****************** +; +; ReqTools V38 +; +;****************** +; +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK (1//) + _Ok +; +MSG_CANCEL (//) +_Cancel +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL (//) + _Ok |_Cancel +; +MSG_LAST_BAR_CANCEL (100//) +_Last|_Cancel +; +MSG_REQUEST (//) +Request +; +MSG_INFORMATION (//) +Information +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT (200//) + Min: %ld +; +MSG_MAX_FMT (//) + Max: %ld +; +MSG_MIN_MAX_FMT (//) + Min: %ld, Max: %ld +; +MSG_TOO_SMALL (//) +Too small! +; +MSG_TOO_BIG (//) +Too big! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS (300//) +_Palette Colors: +; +MSG_RED (//) +_Red: +; +MSG_GREEN (//) +_Green: +; +MSG_BLUE (//) +_Blue: +; +MSG_COPY (//) +Cop_y +; +MSG_SWAP (//) +_Swap +; +MSG_SPREAD (//) +Spr_ead +; +MSG_UNDO (//) +_Undo +; +; ** 2.5 ** +; +MSG_COPY_TITLE (//) +Copy to... +; +MSG_SWAP_TITLE (//) +Swap with... +; +MSG_SPREAD_TITLE (//) +Spread to... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER (400//) +Drawer '%s' does\nnot exist. Create it? +; +MSG_DIR_ERROR (//) +Directory error! +; +MSG_MATCH_WINTITLE (//) +Match... +; +MSG_DRAWER (//) +Drawer +; +MSG_ASSIGN (//) +Assign +; +MSG_ALL (//) +_All +; +MSG_MATCH (//) +_Match... +; +MSG_CLEAR (//) +C_lear +; +MSG_VOLUMES (//) +_Volumes +; +MSG_PARENT (//) +_Parent +; +MSG_PATTERN (//) +Pa_ttern: +; +MSG_GET (//) +_Get +; +MSG_DOT_INFO (//) +._info +; +MSG_SELECTED (//) +Selected: +; +MSG_FULL (//) +%ld%% full +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT (500//) +Couldn't open font! +; +MSG_BOLD (//) +_Bold +; +MSG_ITALIC (//) +_Italic +; +MSG_UNDERLINE (//) +_Underline +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED (600//) +-Interlaced +; +MSG_DASH_HAM (//) +-HAM +; +MSG_DASH_EHB (//) +-EHB +; +MSG_REGULAR_SIZE (//) +Regular Size +; +MSG_TEXT_SIZE (//) +Text Size +; +MSG_GFX_SIZE (//) +Graphics Size +; +MSG_MAX_SIZE (//) +Maximum Size +; +MSG_OVERSCAN (//) +O_verscan: +; +MSG_WIDTH (//) +_Width: +; +MSG_HEIGHT (//) +_Height: +; +; +MSG_DEFAULT (//) +Default +; +MSG_COLORS (//) +Co_lors: +; +MSG_MAX (//) +Max: +; +MSG_AUTOSCROLL (//) +_AutoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/russian.ct b/workbench/libs/reqtools/catalogs/russian.ct new file mode 100644 index 00000000000..556d4f21a60 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/russian.ct @@ -0,0 +1,202 @@ +;****************** +; +; ReqTools V38 +; +; Russian +; +;****************** +; Done by Oleg Sergeev (26.1.97) +; Done in cp1251 by Sergey Mineychev aka Keen +; +## version $VER: reqtools.catalog 39.0 (14.12.2020) +## codeset 2104 +## language russian +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; +MSG_CANCEL + +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok | +; +MSG_LAST_BAR_CANCEL +| +; +MSG_REQUEST + +;Begran, Anhllan, Efterfrgan +; +MSG_INFORMATION + +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + .: %ld \ +; +MSG_MAX_FMT + .: %ld \ +; +MSG_MIN_MAX_FMT + . %ld, .: %ld \ +; +MSG_TOO_SMALL +! +; +MSG_TOO_BIG +! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS + : +; +MSG_RED +: +; +MSG_GREEN +: +; +MSG_BLUE +: +; +MSG_COPY + +; +MSG_SWAP + +; +MSG_SPREAD + +; +MSG_UNDO + +; +; ** 2.5 ** +; +MSG_COPY_TITLE + ... +; Copy to +; +MSG_SWAP_TITLE + ... +; Swap with +; +MSG_SPREAD_TITLE + ... +; Spread to +; +; *** File Requester *** +; +MSG_CREATE_DRAWER + "%s" .\n ? +; +MSG_DIR_ERROR + ! +; +MSG_MATCH_WINTITLE +... +; +MSG_DRAWER + +; +MSG_ASSIGN + +; +MSG_ALL + +; +MSG_MATCH +... +; +MSG_CLEAR + +; +MSG_VOLUMES + +; +MSG_PARENT + +; +MSG_PATTERN +: +; +MSG_GET + +; +MSG_DOT_INFO + +; +MSG_SELECTED +: +; +MSG_FULL + %ld%% +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT + ! +; +MSG_BOLD + +; +MSG_ITALIC + +; +MSG_UNDERLINE + +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +- +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE + +; +MSG_TEXT_SIZE + +; +MSG_GFX_SIZE + +; +MSG_MAX_SIZE + +; +MSG_OVERSCAN +: +; +MSG_WIDTH +: +; +MSG_HEIGHT +: +; +; +MSG_DEFAULT + +; +MSG_COLORS +: +; +MSG_MAX +.: +; +MSG_AUTOSCROLL +: +; diff --git a/workbench/libs/reqtools/catalogs/serbian.ct b/workbench/libs/reqtools/catalogs/serbian.ct new file mode 100644 index 00000000000..e6db1f68fee --- /dev/null +++ b/workbench/libs/reqtools/catalogs/serbian.ct @@ -0,0 +1,196 @@ +;****************** +; +; ReqTools V38 +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 8 +## language srpski +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; +MSG_CANCEL +O_dustani +; +MSG_OK_BAR_CANCEL + _Ok |O_dustani +; +; *** EZRequester *** +; +MSG_LAST_BAR_CANCEL +_Prolo|_Odustani +; +MSG_REQUEST +Upitnik +;Eingabeaufforderung +; Das ist zu lang / It's too long and clumpsy +; +MSG_INFORMATION +Informacije +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Maks: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Maks: %ld +; +MSG_TOO_SMALL +Premalo! +; +MSG_TOO_BIG +Preveliko! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Boje: +; +MSG_RED +_Crvena: +; +MSG_GREEN +_Zelena: +; +MSG_BLUE +_Plava: +; +MSG_COPY +_Kopiraj +; +MSG_SWAP +Z_ameni +; +MSG_SPREAD +P_rostiranje +; +MSG_UNDO +Prethodno +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Kopiranje u... +; +MSG_SWAP_TITLE +Zamena sa... +; +MSG_SPREAD_TITLE +Prostri do... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Direktorijum '%s' ne postoji\nda napravim novi? +; +MSG_DIR_ERROR +Greka u direktorijumu! +; +MSG_MATCH_WINTITLE +Match... +; +MSG_DRAWER +Direktorijum +; +MSG_ASSIGN +Asajn +; +MSG_ALL +_Sve +; +MSG_MATCH +_Match... +; +MSG_CLEAR +_Nita +; +MSG_VOLUMES +Dis_kovi +; +MSG_PARENT +_Preth. +; +MSG_PATTERN +P_atern: +; +MSG_GET +_Is. +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Odabrano: +; +MSG_FULL +%ld%% puno +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Ne mogu da otvorim font! +; +MSG_BOLD +_Podeb. +; +MSG_ITALIC +_Italik +; +MSG_UNDERLINE +_Podv. +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlejs +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Normalna veliina +; +MSG_TEXT_SIZE +TEXT veliina +; +MSG_GFX_SIZE +GFX veliina +; +MSG_MAX_SIZE +Maksimalna veliina +; +MSG_OVERSCAN +O_versken: +; +MSG_WIDTH +_irina: +; +MSG_HEIGHT +_Visina: +; +; +MSG_DEFAULT +Ugraeno +; +MSG_COLORS +_Boje: +; +MSG_MAX +Maks: +; +MSG_AUTOSCROLL +A_uto-Skrol: +; diff --git a/workbench/libs/reqtools/catalogs/spanish.ct b/workbench/libs/reqtools/catalogs/spanish.ct new file mode 100644 index 00000000000..87a6dbdb1cf --- /dev/null +++ b/workbench/libs/reqtools/catalogs/spanish.ct @@ -0,0 +1,199 @@ +;****************** +; +; ReqTools V38 +; +; Espaol +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language espaol +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok +; +MSG_CANCEL +_Cancelar +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Cancelar +; +MSG_LAST_BAR_CANCEL +_Anterior|_Cancelar +; +MSG_REQUEST +Peticin +; +MSG_INFORMATION +Informacin +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld +; +MSG_MAX_FMT + Max: %ld +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld +; +MSG_TOO_SMALL +Muy pequeo!! +; +MSG_TOO_BIG +Muy grande! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +Pa_leta de colores: +; +MSG_RED +_Rojo: +; +MSG_GREEN +_Verde: +; +MSG_BLUE +_Azul: +; +MSG_COPY +Co_piar +; +MSG_SWAP +_Intercambiar +; +MSG_SPREAD +_Distribuir +; +MSG_UNDO +R_estaurar +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Copiar a... +; Copy to... +; +MSG_SWAP_TITLE +Cambiar con... +; Swap with... +; +MSG_SPREAD_TITLE +Distribuir en... +; Spread to... +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +No existe el directorio %s\nQuiere crearlo? +; +MSG_DIR_ERROR +Directorio errneo! +; +MSG_MATCH_WINTITLE +Patrn... +; +MSG_DRAWER +Directorio +; +MSG_ASSIGN +Asignacin +; +MSG_ALL +To_do +; +MSG_MATCH +_Patrn... +; +MSG_CLEAR +_Borrar +; +MSG_VOLUMES +_Volmenes +; +MSG_PARENT +_Anterior +; +MSG_PATTERN +Pat_rn: +; +MSG_GET +_Tomar +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Seleccionado: +; +MSG_FULL +%ld%% lleno +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +No puedo abrir fuente! +; +MSG_BOLD +_Negrita +; +MSG_ITALIC +_Itlica +; +MSG_UNDERLINE +_Subrayada +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Entrelazado +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Tamao Normal +; +MSG_TEXT_SIZE +Tamao Texto +; +MSG_GFX_SIZE +Tamao Grfico +; +MSG_MAX_SIZE +Tamao Mximo +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Ancho: +; +MSG_HEIGHT +Al_to: +; +; +MSG_DEFAULT +Por defecto +; +MSG_COLORS +Co_lores: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +A_utoScroll: +; diff --git a/workbench/libs/reqtools/catalogs/swedish.ct b/workbench/libs/reqtools/catalogs/swedish.ct new file mode 100644 index 00000000000..c50faed6770 --- /dev/null +++ b/workbench/libs/reqtools/catalogs/swedish.ct @@ -0,0 +1,204 @@ +;****************** +; +; ReqTools V38 +; +; Svenska +; +;****************** +; +## version $VER: reqtools.catalog 39.0 (31.03.2016) +## codeset 0 +## language svenska +; +; *** General *** +; +; Note: there are two spaces around the Ok string to make it 4 chars wide. +MSG_OK + _Ok \ + +; +MSG_CANCEL +_Avbryt +; +; *** EZRequester *** +; +MSG_OK_BAR_CANCEL + _Ok |_Avbryt +; +MSG_LAST_BAR_CANCEL +_Sista|_Avbryt +; +MSG_REQUEST +Frfrgan +;Begran, Anhllan, Efterfrgan +; +MSG_INFORMATION +Information +; +; *** GetLong Requester *** +; +; Note: there are two spaces around the next three strings! +MSG_MIN_FMT + Min: %ld \ + +; +MSG_MAX_FMT + Max: %ld \ + +; +MSG_MIN_MAX_FMT + Min: %ld, Max: %ld \ + +; +MSG_TOO_SMALL +Fr litet! +; +MSG_TOO_BIG +Fr stort! +; +; *** Palette Requester *** +; +MSG_PALETTE_COLORS +_Frginstllningar: +; +MSG_RED +_Rtt: +; +MSG_GREEN +_Grnt: +; +MSG_BLUE +_Bltt: +; +MSG_COPY +_Kopiera +; +MSG_SWAP +B_yt +; +MSG_SPREAD +_Sprid +; +MSG_UNDO +_ngra +; +; ** 2.5 ** +; +MSG_COPY_TITLE +Kopiera till... +; Copy to +; +MSG_SWAP_TITLE +Byt med... +; Swap with +; +MSG_SPREAD_TITLE +Sprid till... +; Spread to +; +; *** File Requester *** +; +MSG_CREATE_DRAWER +Ldan "%s" finns\ninte. Skall den skapas? +; +MSG_DIR_ERROR +Ldfel! +; +MSG_MATCH_WINTITLE +Motsvara... +; +MSG_DRAWER +Lda +; +MSG_ASSIGN +Tilldelning +; +MSG_ALL +A_lla +; +MSG_MATCH +Mot_svara... +; +MSG_CLEAR +_Rensa +; +MSG_VOLUMES +_Volymer +; +MSG_PARENT +_Moder +; +MSG_PATTERN +Mns_ter: +; +MSG_GET +_Hmta +; +MSG_DOT_INFO +._info +; +MSG_SELECTED +Valda: +; +MSG_FULL +%ld%% full +; +; *** Font Requester *** +; +MSG_COULDNT_OPEN_FONT +Kunde inte ppna teckensnittet! +; +MSG_BOLD +_Fet +; +MSG_ITALIC +_Lutande +; +MSG_UNDERLINE +_Understruken +; +; *** ScreenMode Requester *** +; +MSG_DASH_INTERLACED +-Interlace +; +MSG_DASH_HAM +-HAM +; +MSG_DASH_EHB +-EHB +; +MSG_REGULAR_SIZE +Normal storlek +; +MSG_TEXT_SIZE +Textstorlek +; +MSG_GFX_SIZE +Grafikstorlek +; +MSG_MAX_SIZE +Maximal storlek +; +MSG_OVERSCAN +O_verscan: +; +MSG_WIDTH +_Bredd: +; +MSG_HEIGHT +_Hjd: +; +; +MSG_DEFAULT +Frinstllt +; +MSG_COLORS +_Frger: +; +MSG_MAX +Max: +; +MSG_AUTOSCROLL +A_utorullning: +; diff --git a/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs deleted file mode 160000 index 0c4b467336a..00000000000 --- a/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0c4b467336a8ac712e7446b67a6fa50ea4fc3aa3 diff --git a/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/MUI.MiamiPanel.cd b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/MUI.MiamiPanel.cd new file mode 100644 index 00000000000..174c00e9db1 --- /dev/null +++ b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/MUI.MiamiPanel.cd @@ -0,0 +1,462 @@ +; +; CATCOMP MUI.MiamiPanel.cd CFILE loc.h +; CATCOMP MUI.MiamiPanel.cd CTFILE MUI.MiamiPanel.ct +; +MSG_Copyright (1//) +Copyright 2001-2005 by Alfonso Ranieri +; Copyright message +; +MSG_Description (//) +MUI MiamiDx control panel. +; Description message +; +MSG_Menu_Project (100//) +Project +; +MSG_Menu_About (//) +?\0About... +; +MSG_Menu_AboutMUI (//) +!\0About MUI... +; +MSG_Menu_Hide (//) +H\0Hide +; +MSG_Menu_Quit (//) +Q\0Quit +; +MSG_Menu_Miami (//) +MiamiDx +; +MSG_Menu_Miami_Show (//) +W\0Show... +; Use the same shortcut of MSG_Button_Show +; +MSG_Menu_Miami_Hide (//) +D\0Hide +; Use the same shortcut of MSG_Button_Hide +; +MSG_Menu_Miami_Quit (//) +T\0Quit +; Use the same shortcut of MSG_Button_Quit +; +MSG_Menu_Prefs (//) +Preferences +; +MSG_Menu_Edit (//) +E\0Edit... +; +MSG_Menu_Save (//) +S\0Save +; +MSG_Menu_Use (//) +U\0Use +; +MSG_Menu_Restore (//) +R\0Restore +; +MSG_Menu_LastSaved (//) +L\0Last saved +; +MSG_Menu_MUI (//) +M\0MUI Settings... +; +MSG_Window_Title (200//) +MUI.MiamiPanel +; +MSG_Button_Show (//) +Sho_w +; Use the same shortcut of MSG_Menu_Miami_Show +; +MSG_Button_Show_Help (//) +Show MiamiDx main window. +; +MSG_Button_Hide (//) +Hi_de +; Use the same shortcut of MSG_Menu_Miami_Hide +; +MSG_Button_Hide_Help (//) +Hide MiamiDx main window. +; +MSG_Button_Quit (//) +Qui_t +; Use the same shortcut of MSG_Menu_Miami_Quit +; +MSG_Button_Quit_Help (//) +Quit MiamiDx. +; +MSG_IFGroup_Help (300//) +Interfaces list. If you chose to have\n\ +the On/Offline button, clicking it\n\ +puts the interface On/Offline. +; +MSG_IFGroup_CItem_Online (//) +Online +; Don't use shortcut +; +MSG_IFGroup_CItem_Offline (//) +Offline +; Don't use shortcut +; +MSG_IFGroup_CItem_Scale (//) +Scale +; +MSG_IFGroup_CItem_ScaleFmt (//64) +%ldKb +; This is the fmt to format scale values +; +MSG_IF_Title_Name (400//) +Name: +; +MSG_IF_Title_State (//) +State: +; +MSG_IF_Title_OnTime (//) +Ontime: +; +MSG_IF_Title_Rate (//) +Rate: +; +MSG_IF_Title_Speed (//) +Speed: +; +MSG_IF_Title_Traffic (//) +Traffic: +; +MSG_IF_Button_Online (//) +Online +; +MSG_IF_Button_Offline (//) +Offline +; +MSG_IF_Status_GoingOnline (//) +Going online... +; +MSG_IF_Status_GoingOffline (//) +Going offline... +; +MSG_IF_Status_Suspending (//) +Suspending... +; +MSG_IF_Status_Online (//) +Online +; +MSG_IF_Status_Offline (//) +Offline +; +MSG_IF_Status_Suspended (//) +Suspended +; +MSG_Traffic_Byte (500//) +byte +; Actually not used, it should be used for "1 byte" +; +MSG_Traffic_Bytes (//) +bytes +; Actually not used, it should be used for "100 bytes" +; +MSG_Traffic_KB (//) +Kb +; Short for "kilo bytes" +; +MSG_Traffic_MB (//) +Mb +; Short for "mega bytes" +; +MSG_Rate_Bs (600//) +bps +; +MSG_Rate_KBs (//) +Kb/s +; Short for "kilo bits per second" +; +MSG_Rate_MBs (//) +Mb/s +; Short for "mega bits per second" +; +MSG_Prefs_WinTitle (700//) +MUI.MiamiPanel Preferences +; +MSG_Prefs_Interfaces (//) +Interfaces +; +MSG_Prefs_MiamiCtrls (//) +Buttons +; +MSG_Prefs_Options (//) +Options +; +MSG_Prefs_IF_Traffic_Format (//) +T_raffic format +; +MSG_Prefs_IF_Traffic_Format_Help (//) +Traffic format:\n\ +Long - traffic shown in bytes\n\ +Short - traffic shown in Kb/Mb +; +MSG_Prefs_IF_Traffic_Format_Long (//) +Long +; +MSG_Prefs_IF_Traffic_Format_Short (//) +Short +; +MSG_Prefs_IF_Traffic_Grouping (//) +_Group +; +MSG_Prefs_IF_Traffic_Grouping_Help (//) +If selected, traffic\n\ +digits are grouped. +; +MSG_Prefs_IF_Rate_Format (//) +Rat_e format +; +MSG_Prefs_IF_Rate_Format_Help (//) +Rate format:\n\ +Long - rate shown in bytes\n\ +Short - rate shown in Kb/Mb +; +MSG_Prefs_IF_Rate_Format_Long (//) +Long +; +MSG_Prefs_IF_Rate_Format_Short (//) +Short +; +MSG_Prefs_IF_Rate_Grouping (//) +Gr_oup +; +MSG_Prefs_IF_Rate_Grouping_Help (//) +If selected, rate\n\ +digits are grouped. +; +MSG_Prefs_Miami_Position (//) +_Position +; +MSG_Prefs_Miami_Position_Help (//) +Adjust the position\n\ +of the buttons bar. +; +MSG_Prefs_Miami_Position_Top (//) +Top +; +MSG_Prefs_Miami_Position_Bottom (//) +Bottom +; +MSG_Prefs_Miami_Position_Left (//) +Left +; +MSG_Prefs_Miami_Position_Right (//) +Right +; +MSG_Prefs_Miami_ViewMode (//) +Appea_rance +; +MSG_Prefs_Miami_ViewMode_Help (//) +Adjust the appearance\n\ +of the buttons bar. +; +MSG_Prefs_Miami_ViewMode_TextGfx (//) +Icons and text +; +MSG_Prefs_Miami_ViewMode_Gfx (//) +Icons only +; +MSG_Prefs_Miami_ViewMode_Text (//) +Text only +; +MSG_Prefs_Miami_Borderless (//) +_Borderless +; +MSG_Prefs_Miami_Borderless_Help (//) +If selected, buttons\n\ +are borderless. +; +MSG_Prefs_Miami_Sunny (//) +_Highlight +; +MSG_Prefs_Miami_Sunny_Help (//) +If selected, buttons,\n\ +rendered in black and\n\ +white, are colored when\n\ +the mouse is over them. +; +MSG_Prefs_Miami_Raised (//) +Rais_ed +; +MSG_Prefs_Miami_Raised_Help (//) +If selected, a border is drawn\n\ +around borderless buttons,\n\ +when the mouse is over them. +; +MSG_Prefs_Miami_Scaled (//) +Scale_d +; +MSG_Prefs_Miami_Scaled_Help (//) +If selected, buttons are\n\ +scaled, according to\n\ +MUI/TheBar prefereces. +; +MSG_Prefs_Miami_LabelPosition (//) +_Label position +; +MSG_Prefs_Miami_LabelPosition_Help (//) +Adjust the position of the\n\ +text in \"Icons and text\"\n\ +buttons. +; +MSG_Prefs_Miami_LabelPosition_Bottom (//) +Bottom +; +MSG_Prefs_Miami_LabelPosition_Top (//) +Top +; +MSG_Prefs_Miami_LabelPosition_Right (//) +Right +; +MSG_Prefs_Miami_LabelPosition_Left (//) +Left +; +MSG_Prefs_Miami_BarLayout (//) +_Inner position +; +MSG_Prefs_Miami_BarLayout_Help (//) +Adjust the position of the\n\ +buttons in the bar. +; +MSG_Prefs_Miami_BarLayout_Left (//) +Left/Up +; +MSG_Prefs_Miami_BarLayout_Center (//) +Center +; +MSG_Prefs_Miami_BarLayout_Right (//) +Right/Down +; +MSG_Prefs_Miami_Underscore (//) +Use sh_ort cuts +; +MSG_Prefs_Miami_Underscore_Help (//) +If selected, buttons text\n\ +shortcuts are used. +; +MSG_Prefs_OnIconify (//) +_On iconify +; +MSG_Prefs_OnIconify_Help (//) +Action to take on iconify:\n\ +Quit - quit the panel\n\ +Hide - iconify the panel +; +MSG_Prefs_OI_Quit (//) +Quit +; +MSG_Prefs_OI_Hide (//) +Hide +; +MSG_Prefs_BWin (//) +Us_e BWin +; +MSG_Prefs_BWin_Help (//) +If selected, the panel uses\n\ +BWin.mcc for its main window. +; +MSG_Prefs_BWinBorders (//) +Use _BWin borders +; +MSG_Prefs_BWinBorders_Help (//) +If selected, BWin.mcc\n\ +uses borders. +; +MSG_Prefs_Save (//) +_Save +; +MSG_Prefs_Save_Help (//) +Save preferences and exit. +; +MSG_Prefs_Use (//) +_Use +; +MSG_Prefs_Use_Help (//) +Use preferences and exit. +; +MSG_Prefs_Apply (//) +_Apply +; +MSG_Prefs_Apply_Help (//) +Apply preferences and exit. +; +MSG_Prefs_Test (//) +_Test +; +MSG_Prefs_Test_Help (//) +Test preferences without exit.\n\ +Preferences are restored\n\ +before exit. +; +MSG_Prefs_Cancel (//) +_Cancel +; +MSG_Prefs_Cancel_Help (//) +Exit without save. +; +MSG_Prefs_IF_UseBusyBar (//) +Use _busy bar +; +MSG_Prefs_IF_UseBusyBar_Help (//) +If selected, a busy bar appears\n\ +when an interface changes its\n\ +state. +; +MSG_Prefs_Miami_Frame (//) +_Frame +; +MSG_Prefs_Miami_Frame_Help (//) +If selected, buttons\n\ +bar is framed. +; +MSG_Prefs_Miami_DragBar (//) +_Drag bar +; +MSG_Prefs_Miami_DragBar_Help (//) +If selected, buttons\n\ +bar is draggable. +; +MSG_Prefs_UseTransparency (//) +Use t_ransparency +; +MSG_Prefs_UseTransparency_Help (//) +If selected, the panel uses transparency. +; +MSG_About_WinTitle (800//) +About MUI.MiamiPanel +; +MSG_About_Information (//) +Information +; +MSG_About_Version (//) +Version: +; +MSG_About_Author (//) +Author: +; +MSG_About_Support (//) +Support: +; +MSG_About_MiamiSite (//) +MiamiDx site: +; +MSG_About_ThirdParts (//) +Third parts +; +MSG_About_Lamp (//) +Lamp.mcc by +; +MSG_About_Busy (//) +Busy.mcc by +; +MSG_About_OfCourse (//) +, of course! +; +MSG_About_Translation (//) + +; Put your language translation info here, something like "Japanes translation by Oko Hono" +; Check it is not too long diff --git a/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile.src b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile.src new file mode 100644 index 00000000000..9d4b13e6450 --- /dev/null +++ b/workbench/network/stacks/AROSTCP/MUI.MiamiPanel/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2004, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + +%build_catalogs mmake=arostcp-libs-muimiamipanel-catalogs \ + catalogs=$(CATALOGS) \ + name=MUI.MiamiPanel subdir=System/System diff --git a/workbench/network/stacks/AROSTCP/bsdsocket/conf.h b/workbench/network/stacks/AROSTCP/bsdsocket/conf.h index 99973f65b22..d8635888a38 100644 --- a/workbench/network/stacks/AROSTCP/bsdsocket/conf.h +++ b/workbench/network/stacks/AROSTCP/bsdsocket/conf.h @@ -215,6 +215,12 @@ extern struct ExecBase *SysBase; #include #include +#if APOLLO_DEBUG +#define DEBUG 0 +#else +#define DEBUG 0 +#endif + #ifdef DEBUG #define D(x) x #else diff --git a/workbench/network/stacks/AROSTCP/bsdsocket/sys/systm.h b/workbench/network/stacks/AROSTCP/bsdsocket/sys/systm.h index 1a776eec8c7..3f9299e0199 100644 --- a/workbench/network/stacks/AROSTCP/bsdsocket/sys/systm.h +++ b/workbench/network/stacks/AROSTCP/bsdsocket/sys/systm.h @@ -74,6 +74,7 @@ #include + /* * queue node definition for _insque and _remque. _insque and _remque expect * to find this structure from the start of every node they handle. @@ -113,11 +114,13 @@ _remque(register struct queue_node *node) void cs_putchar(unsigned char, struct CSource *); void panic(const char *, ...); #ifdef __AROS__ -#define __log(A, B, C...) \ -bug("[AROSTCP] "), bug(B , ## C), bug("\n") -#define log(A, B, C...) __log(A, B , ## C) + #if DEBUG + #define __log(A, B, C...) \ + bug("[AROSTCP] "), bug(B , ## C), bug("\n") + #define log(A, B, C...) __log(A, B , ## C) + #endif #else -void __log(unsigned long, const char *, ...); + void __log(unsigned long, const char *, ...); #endif int vlog(unsigned long, const char *, const char *, va_list); int printf(const char *, ...); diff --git a/workbench/prefs/Editor/catalogs b/workbench/prefs/Editor/catalogs deleted file mode 160000 index 09440b85781..00000000000 --- a/workbench/prefs/Editor/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 09440b857815ebd2e7589a7aa9fc64a12f54b157 diff --git a/workbench/prefs/Editor/catalogs/.gitattributes b/workbench/prefs/Editor/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/Editor/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/Editor/catalogs/JanoPrefs.cd b/workbench/prefs/Editor/catalogs/JanoPrefs.cd new file mode 100644 index 00000000000..a6524000728 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/JanoPrefs.cd @@ -0,0 +1,104 @@ +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT (//) +Default values +; +MSG_LASTSAVED (//) +Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN (//) +Main setup +; +MSG_TAB (//) +Tabulation: +; +MSG_SEPARATORS (//) +Separators: +; +MSG_TXTFONT (//) +Text font: +; +MSG_SCRFONT (//) +Screen font: +; +MSG_PUBSCREEN (//) +Screen mode: +; +MSG_BACKDROP (//) +Backdrop +; +MSG_LEFTMARGIN (//) +Left margin +; +MSG_AUTOINDENT (//) +Auto indent +; +MSG_EXTEND (//) +Extended numeric pad +; +MSG_PREFSSAVE (//) +Save +; +MSG_USEPREFS (//) +Use +; +MSG_DISCARDPREFS (//) +Cancel +; +MSG_USEDEF (//) +Use Default +; +MSG_CHOOSEIT (//) +Choose one... +; +MSG_CLONEPARENT (//) +Clone parent +; +MSG_COLOR_BACK (//) +Background +; +MSG_COLOR_TEXT (//) +Standard text +; +MSG_COLOR_FILLTXT (//) +Selected fill text +; +MSG_COLOR_FILLSEL (//) +Selected text +; +MSG_COLOR_MARGINBACK (//) +Margin background +; +MSG_COLOR_MARGINTXT (//) +Margin text +; +MSG_COLOR_SHINE (//) +Panel shine +; +MSG_COLOR_SHADE (//) +Panel shade +; +MSG_COLOR_PANELBACK (//) +Panel back +; +MSG_COLOR_PANELTEXT (//) +Panel text +; +MSG_COLOR_GLYPH (//) +Panel glyph +; +MSG_COLOR_MARKEDLINES (//) +Active panel +; diff --git a/workbench/prefs/Editor/catalogs/croatian.ct b/workbench/prefs/Editor/catalogs/croatian.ct new file mode 100644 index 00000000000..b4b18f37b8e --- /dev/null +++ b/workbench/prefs/Editor/catalogs/croatian.ct @@ -0,0 +1,138 @@ +## version $VER: EditorPrefs.catalog 1.3 (22.12.2009) +## language hrvatski +## codeset 5 +; +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +PredloĹžene vrijednosti +; Default values +; +MSG_LASTSAVED +Zadnje spremljene vrijednosti +; Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Glavne postavke +; Main setup +; +MSG_TAB +Tabeliranje +; Tabulation: +; +MSG_SEPARATORS +Razdvajač +; Separators: +; +MSG_TXTFONT +Slovo teksta +; Text font: +; +MSG_SCRFONT +Slovo zaslona +; Screen font: +; +MSG_PUBSCREEN +Zaslonski mod +; Screen mode: +; +MSG_BACKDROP +Pozadina +; Backdrop +; +MSG_LEFTMARGIN +Lijeva margina +; Left margin +; +MSG_AUTOINDENT +Auto razmak +; Auto indent +; +MSG_EXTEND +ProĹĄiri numeričku tipkovnicu +; Extended numeric pad +; +MSG_PREFSSAVE +Spremi +; Save +; +MSG_USEPREFS +Koristi +; Use +; +MSG_DISCARDPREFS +Odustani +; Cancel +; +MSG_USEDEF +Koristi predloĹženo +; Use Default +; +MSG_CHOOSEIT +Izaberi jedan... +; Choose one... +; +MSG_CLONEPARENT +Zatvori izvorni +; Clone parent +; +MSG_COLOR_BACK +Podloga +; Background +; +MSG_COLOR_TEXT +Uobičajeni tekst +; Standard text +; +MSG_COLOR_FILLTXT +Izabrani ispunjeni tekst +; Selected fill text +; +MSG_COLOR_FILLSEL +Izabrani tekst +; Selected text +; +MSG_COLOR_MARGINBACK +Podloga margine +; Margin background +; +MSG_COLOR_MARGINTXT +Slovo margine +; Margin text +; +MSG_COLOR_SHINE +Sjaj panela +; Panel shine +; +MSG_COLOR_SHADE +Sjena panela +; Panel shade +; +MSG_COLOR_PANELBACK +Pozadina panela +; Panel back +; +MSG_COLOR_PANELTEXT +Slovo panela +; Panel text +; +MSG_COLOR_GLYPH +Simbol panela +; Panel glyph +; +MSG_COLOR_MARKEDLINES +Aktivni panel +; Active panel +; diff --git a/workbench/prefs/Editor/catalogs/czech.ct b/workbench/prefs/Editor/catalogs/czech.ct new file mode 100644 index 00000000000..abae8bee67c --- /dev/null +++ b/workbench/prefs/Editor/catalogs/czech.ct @@ -0,0 +1,138 @@ +## version $VER: EditorPrefs.catalog 1.3 (30.11.2007) +## language czech +## codeset 0 +; +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Obnovit výchozí +; Default values +; +MSG_LASTSAVED +Naposledy uložené +; Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Nastavení editoru +; Main setup +; +MSG_TAB +Tabulátor: +; Tabulation: +; +MSG_SEPARATORS +Oddělovače: +; Separators: +; +MSG_TXTFONT +Písmo pro text: +; Text font: +; +MSG_SCRFONT +Písmo pro obrazovku: +; Screen font: +; +MSG_PUBSCREEN +Rozlišení obrazovky: +; Screen mode: +; +MSG_BACKDROP +Pozadí +; Backdrop +; +MSG_LEFTMARGIN +Levý okraj +; Left margin +; +MSG_AUTOINDENT +Automatické odsazení +; Auto indent +; +MSG_EXTEND +Vylepšený numerický blok +; Extended numeric pad +; +MSG_PREFSSAVE +Uložit +; Save +; +MSG_USEPREFS +Použít +; Use +; +MSG_DISCARDPREFS +Zrušit +; Cancel +; +MSG_USEDEF +Výchozí +; Use Default +; +MSG_CHOOSEIT +Vybrat... +; Choose one... +; +MSG_CLONEPARENT +Dle nadřazené +; Clone parent +; +MSG_COLOR_BACK +Barva pozadí +; Background +; +MSG_COLOR_TEXT +Běžný text +; Standard text +; +MSG_COLOR_FILLTXT +Selected fill text?? +; Selected fill text +; +MSG_COLOR_FILLSEL +Označený text +; Selected text +; +MSG_COLOR_MARGINBACK +Margin background?? +; Margin background +; +MSG_COLOR_MARGINTXT +Margin text?? +; Margin text +; +MSG_COLOR_SHINE +Panel shine?? +; Panel shine +; +MSG_COLOR_SHADE +Panel shade?? +; Panel shade +; +MSG_COLOR_PANELBACK +Pozadí panelu +; Panel back +; +MSG_COLOR_PANELTEXT +Text na panelu +; Panel text +; +MSG_COLOR_GLYPH +Symbol panelu +; Panel glyph +; +MSG_COLOR_MARKEDLINES +Aktivní panel +; Active panel +; diff --git a/workbench/prefs/Editor/catalogs/danish.ct b/workbench/prefs/Editor/catalogs/danish.ct new file mode 100644 index 00000000000..898d334b490 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/danish.ct @@ -0,0 +1,140 @@ +## version $VER: EditorPrefs.catalog 1.0 (20.07.2010) +## language dansk +## codeset 0 +; +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; Initial Danish translation by Kristian Poul Herkild +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Standardvrdier +; Default values +; +MSG_LASTSAVED +Sidst gemte vrdier +; Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Hovedopstning +; Main setup +; +MSG_TAB +Tabulering: +; Tabulation: +; +MSG_SEPARATORS +Separatorer: +; Separators: +; +MSG_TXTFONT +Printerskrifttype: +; Text font: +; +MSG_SCRFONT +Skrmskrifttype: +; Screen font: +; +MSG_PUBSCREEN +Skrmtilstand: +; Screen mode: +; +MSG_BACKDROP +Baggrund +; Backdrop +; +MSG_LEFTMARGIN +Venstremargen +; Left margin +; +MSG_AUTOINDENT +Automatisk indrykning +; Auto indent +; +MSG_EXTEND +Udvidet numerisk tastatur +; Extended numeric pad +; +MSG_PREFSSAVE +Gem +; Save +; +MSG_USEPREFS +Brug +; Use +; +MSG_DISCARDPREFS +Afbryd +; Cancel +; +MSG_USEDEF +Brug standard +; Use Default +; +MSG_CHOOSEIT +Vlg... +; Choose one... +; +MSG_CLONEPARENT +Klon forlder +; Clone parent +; +MSG_COLOR_BACK +Baggrundsfarve +; Background +; +MSG_COLOR_TEXT +Standardtekst +; Standard text +; +MSG_COLOR_FILLTXT +Valgt udfyldningstekst +; Selected fill text +; +MSG_COLOR_FILLSEL +Valgt tekst +; Selected text +; +MSG_COLOR_MARGINBACK +Margenbaggrund +; Margin background +; +MSG_COLOR_MARGINTXT +Margentekst +; Margin text +; +MSG_COLOR_SHINE +Panelskin +; Panel shine +; +MSG_COLOR_SHADE +Panelskygge +; Panel shade +; +MSG_COLOR_PANELBACK +Panelbaggrund +; Panel back +; +MSG_COLOR_PANELTEXT +Paneltekst +; Panel text +; +MSG_COLOR_GLYPH +Panel glyph +; Panel glyph +; +MSG_COLOR_MARKEDLINES +Aktivt panel +; Active panel +; diff --git a/workbench/prefs/Editor/catalogs/finnish.ct b/workbench/prefs/Editor/catalogs/finnish.ct new file mode 100644 index 00000000000..5930089c849 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/finnish.ct @@ -0,0 +1,104 @@ +##version $VER: JanoPrefs.catalog 1.0 (24.2.2001) +##codeset 0 +##language suomi +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Oletusasetukset +; +MSG_LASTSAVED +Viimeksi tallennetut asetukset +; +; ********************* +; Preference window +; ********************* +; +MSG_TITLEWIN +Pääasetukset +; +MSG_TAB +Tabulointi: +; +MSG_SEPARATORS +Erottimet: +; +MSG_TXTFONT +Tekstin kirjasin: +; +MSG_SCRFONT +Näyttökirjasin: +; +MSG_PUBSCREEN +Näytön tyyppi: +; +MSG_BACKDROP +Tausta +; +MSG_LEFTMARGIN +Vasen marginaali +; +MSG_AUTOINDENT +Automaattinen sisennys +; +MSG_EXTEND +Laajennettu numeronäppäimistö +; +MSG_PREFSSAVE +Tallenna +; +MSG_USEPREFS +Käytä +; +MSG_DISCARDPREFS +Peru +; +MSG_USEDEF +Käytä oletuksena +; +MSG_CHOOSEIT +Valitse... +; +MSG_CLONEPARENT +Kloonaa vanhempi +; +MSG_COLOR_BACK +Tausta +; +MSG_COLOR_TEXT +Perusteksti +; +MSG_COLOR_FILLTXT +Valittu täyttöteksti +; +MSG_COLOR_FILLSEL +Valittu teksti +; +MSG_COLOR_MARGINBACK +Marginaalin tausta +; +MSG_COLOR_MARGINTXT +Marginaalin teksti +; +MSG_COLOR_SHINE +Paneeli +; +MSG_COLOR_SHADE +Paneelin varjo +; +MSG_COLOR_PANELBACK +Paneelin tausta +; +MSG_COLOR_PANELTEXT +Paneelin teksti +; +MSG_COLOR_GLYPH +Paneelin glyyfi +; +MSG_COLOR_MARKEDLINES +Aktiivinen paneeli +; diff --git a/workbench/prefs/Editor/catalogs/french.ct b/workbench/prefs/Editor/catalogs/french.ct new file mode 100644 index 00000000000..e939bbe863b --- /dev/null +++ b/workbench/prefs/Editor/catalogs/french.ct @@ -0,0 +1,105 @@ +##version $VER: JanoPrefs.catalog 1.0 (02.07.2009). +##codeset 0 +##language français +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Valeurs par défaut +; +MSG_LASTSAVED +Dernières valeurs sauvées +; +; ********************* +; Preference window +; ********************* +; +MSG_TITLEWIN +Paramétrage général +; +MSG_TAB +Tabulations : +; +MSG_SEPARATORS +Séparateurs : +; +MSG_TXTFONT +Police texte : +; +MSG_SCRFONT +Police d'écran : +; +MSG_PUBSCREEN +Mode d'écran : +; +MSG_BACKDROP +Arrière plan +; +MSG_LEFTMARGIN +Marge à gauche +; +MSG_AUTOINDENT +Indentation automatique +; +MSG_EXTEND +Pavé numérique étendu +; +MSG_PREFSSAVE +Sauver +; +MSG_USEPREFS +Utiliser +; +MSG_DISCARDPREFS +Annuler +; +MSG_USEDEF +Par défaut +; +MSG_CHOOSEIT +Choisir ... +; +MSG_CLONEPARENT +Cloner parent +; +MSG_COLOR_BACK +Arrière plan +; +MSG_COLOR_TEXT +Texte normal +; +MSG_COLOR_FILLTXT +Arrière plan sélectionné +; +MSG_COLOR_FILLSEL +Texte sélectionné +; +MSG_COLOR_MARGINBACK +Arrière plan de la marge +; +MSG_COLOR_MARGINTXT +Texte dans la marge +; +MSG_COLOR_SHINE +Arête brillante +; +MSG_COLOR_SHADE +Arête ombrée +; +MSG_COLOR_PANELBACK +Arrière plan des onglets +; +MSG_COLOR_PANELTEXT +Texte des onglets +; +MSG_COLOR_GLYPH +Décoration +; +MSG_COLOR_MARKEDLINES +Onglet actif +; diff --git a/workbench/prefs/Editor/catalogs/german.ct b/workbench/prefs/Editor/catalogs/german.ct new file mode 100644 index 00000000000..feba28bb543 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/german.ct @@ -0,0 +1,104 @@ +##version $VER: JanoPrefs.catalog 1.0 (24.2.2001) +##codeset 0 +##language deutsch +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Default values +; +MSG_LASTSAVED +Last saved values +; +; ********************* +; Preference window +; ********************* +; +MSG_TITLEWIN +Haupteinstellung +; +MSG_TAB +Tabulator: +; +MSG_SEPARATORS +Trenner: +; +MSG_TXTFONT +Textschrift: +; +MSG_SCRFONT +Hauptschrift: +; +MSG_PUBSCREEN +Bildschirmauflösung: +; +MSG_BACKDROP +Editorfenster als Hintergrund +; +MSG_LEFTMARGIN +Linksbündig +; +MSG_AUTOINDENT +Automatisch einrücken +; +MSG_EXTEND +Erweiterter Ziffernblock +; +MSG_PREFSSAVE +Speichern +; +MSG_USEPREFS +Benutzen +; +MSG_DISCARDPREFS +Verwerfen +; +MSG_USEDEF +Voreinstellung benutzen +; +MSG_CHOOSEIT +Auswählen... +; +MSG_CLONEPARENT +Klone vorhergehendes +; +MSG_COLOR_BACK +Hintergrund +; +MSG_COLOR_TEXT +Normaler Text +; +MSG_COLOR_FILLTXT +Selected fill text +; +MSG_COLOR_FILLSEL +Ausgewählter Text +; +MSG_COLOR_MARGINBACK +Margin background +; +MSG_COLOR_MARGINTXT +Margin text +; +MSG_COLOR_SHINE +Panel shine +; +MSG_COLOR_SHADE +Panel shade +; +MSG_COLOR_PANELBACK +Panel back +; +MSG_COLOR_PANELTEXT +Panel text +; +MSG_COLOR_GLYPH +Panel glyph +; +MSG_COLOR_MARKEDLINES +Active panel +; diff --git a/workbench/prefs/Editor/catalogs/italian.ct b/workbench/prefs/Editor/catalogs/italian.ct new file mode 100644 index 00000000000..9e7d30d65ff --- /dev/null +++ b/workbench/prefs/Editor/catalogs/italian.ct @@ -0,0 +1,104 @@ +##version $VER: JanoPrefs.catalog 1.0 (24.2.2001) +##codeset 0 +##language italiano +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Valori predefiniti +; +MSG_LASTSAVED +Ultimi valori salvati +; +; ********************* +; Preference window +; ********************* +; +MSG_TITLEWIN +Preferenze +; +MSG_TAB +Tabulatori: +; +MSG_SEPARATORS +Separatori: +; +MSG_TXTFONT +Font testo: +; +MSG_SCRFONT +Font schermo: +; +MSG_PUBSCREEN +Modalitù schermo: +; +MSG_BACKDROP +Sfondo +; +MSG_LEFTMARGIN +Margine sinistro +; +MSG_AUTOINDENT +Rientranza automatica +; +MSG_EXTEND +Tastierino numerico esteso +; +MSG_PREFSSAVE +Salva +; +MSG_USEPREFS +Usa +; +MSG_DISCARDPREFS +Annulla +; +MSG_USEDEF +Valori predefiniti +; +MSG_CHOOSEIT +Scegli tra... +; +MSG_CLONEPARENT +Clona superiore +; +MSG_COLOR_BACK +Sfondo +; +MSG_COLOR_TEXT +Testo standard +; +MSG_COLOR_FILLTXT +Selezione +; +MSG_COLOR_FILLSEL +Testo selezionato +; +MSG_COLOR_MARGINBACK +Margine dello sfondo +; +MSG_COLOR_MARGINTXT +Margine del testo +; +MSG_COLOR_SHINE +Pannello +; +MSG_COLOR_SHADE +Ombra del pannello +; +MSG_COLOR_PANELBACK +Retro del pannello +; +MSG_COLOR_PANELTEXT +Testo del pannello +; +MSG_COLOR_GLYPH +Sezione del pannello +; +MSG_COLOR_MARKEDLINES +Pannello attivo +; diff --git a/workbench/prefs/Editor/catalogs/mmakefile.src b/workbench/prefs/Editor/catalogs/mmakefile.src new file mode 100644 index 00000000000..6a5987550a9 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish finnish french german italian polish portuguese russian spanish norwegian + +%build_catalogs mmake=workbench-prefs-editor-catalogs \ + catalogs=$(CATALOGS) \ + name=EditorPrefs subdir=System/Prefs diff --git a/workbench/prefs/Editor/catalogs/norwegian.ct b/workbench/prefs/Editor/catalogs/norwegian.ct new file mode 100644 index 00000000000..1a8424b771a --- /dev/null +++ b/workbench/prefs/Editor/catalogs/norwegian.ct @@ -0,0 +1,104 @@ +##version $VER: JanoPrefs.catalog 1.0 (24.2.2001) +##codeset 0 +##language deutsch +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Tilbakestill til standardverdier +; +MSG_LASTSAVED +Siste lagrede +; +; ********************* +; Preference window +; ********************* +; +MSG_TITLEWIN +Editor innstillinger +; +MSG_TAB +Tabulator: +; +MSG_SEPARATORS +Skilletegn: +; +MSG_TXTFONT +Skrifttype tekst: +; +MSG_SCRFONT +Skrifttype skjerm: +; +MSG_PUBSCREEN +Skjermmodus: +; +MSG_BACKDROP +Bakgrunnsvindu +; +MSG_LEFTMARGIN +Venstremargin +; +MSG_AUTOINDENT +Automatisk innrykk +; +MSG_EXTEND +Utvid +; +MSG_PREFSSAVE +Lagre +; +MSG_USEPREFS +Bruke +; +MSG_DISCARDPREFS +Avbryt +; +MSG_USEDEF +Bruk standardverdier +; +MSG_CHOOSEIT +Velg en... +; +MSG_CLONEPARENT +Klon opphav +; +MSG_COLOR_BACK +Bakgrunnsfarge +; +MSG_COLOR_TEXT +Normal tekst +; +MSG_COLOR_FILLTXT +Farge valgt tekst +; +MSG_COLOR_FILLSEL +Fyllfarge valgt tekst +; +MSG_COLOR_MARGINBACK +Bagrunnsmargin +; +MSG_COLOR_MARGINTXT +Tekstmargin +; +MSG_COLOR_SHINE +Glans +; +MSG_COLOR_SHADE +Skygge +; +MSG_COLOR_PANELBACK +Bakgrunnspanel +; +MSG_COLOR_PANELTEXT +Tekstpanel +; +MSG_COLOR_GLYPH +Glyphpanel +; +MSG_COLOR_MARKEDLINES +Aktivt panel +; diff --git a/workbench/prefs/Editor/catalogs/polish.ct b/workbench/prefs/Editor/catalogs/polish.ct new file mode 100644 index 00000000000..a97f1689e50 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/polish.ct @@ -0,0 +1,124 @@ +## version $VER: EditorPrefs.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_RESETDEFAULT +Ustawienia domyślne +; Default values +; +MSG_LASTSAVED +Ostatnio zapisane ustawienia +; Last saved values +; +MSG_TITLEWIN +Ustawienia edytora +; Main setup +; +MSG_TAB +Tabulator: +; Tabulation: +; +MSG_SEPARATORS +Separatory: +; Separators: +; +MSG_TXTFONT +Czcionka tekstu: +; Text font: +; +MSG_SCRFONT +Czcionka ekranu: +; Screen font: +; +MSG_PUBSCREEN +Tryb wyświetlania: +; Screen mode: +; +MSG_BACKDROP +Tło +; Backdrop +; +MSG_LEFTMARGIN +Lewy margines +; Left margin +; +MSG_AUTOINDENT +Automatyczne wcięcia +; Auto indent +; +MSG_EXTEND +Rozszerzony blok numeryczny +; Extended numeric pad +; +MSG_PREFSSAVE +Zapisz +; Save +; +MSG_USEPREFS +Użyj +; Use +; +MSG_DISCARDPREFS +Poniechaj +; Cancel +; +MSG_USEDEF +Użyj domyślnych +; Use Default +; +MSG_CHOOSEIT +Wybierz... +; Choose one... +; +MSG_CLONEPARENT +Klonuj nadrzędne +; Clone parent +; +MSG_COLOR_BACK +Tło +; Background +; +MSG_COLOR_TEXT +Tekst +; Standard text +; +MSG_COLOR_FILLTXT +Tło zaznaczonego tekstu +; Selected fill text +; +MSG_COLOR_FILLSEL +Zaznaczony tekst +; Selected text +; +MSG_COLOR_MARGINBACK +Tło marginesu +; Margin background +; +MSG_COLOR_MARGINTXT +Tekst na marginesie +; Margin text +; +MSG_COLOR_SHINE +Jasne krawędzie +; Panel shine +; +MSG_COLOR_SHADE +Ciemne krawędzie +; Panel shade +; +MSG_COLOR_PANELBACK +Tło panelu +; Panel back +; +MSG_COLOR_PANELTEXT +Tekst na panelu +; Panel text +; +MSG_COLOR_GLYPH +Elementy panelu +; Panel glyph +; +MSG_COLOR_MARKEDLINES +Aktywny panel +; Active panel +; diff --git a/workbench/prefs/Editor/catalogs/portuguese.ct b/workbench/prefs/Editor/catalogs/portuguese.ct new file mode 100644 index 00000000000..4e93c394193 --- /dev/null +++ b/workbench/prefs/Editor/catalogs/portuguese.ct @@ -0,0 +1,153 @@ +##version $VER: JanoPrefs.catalog 1.0 (30.09.2007). +##codeset 0 +##language portugus +; +; Translated by Joo Ralha +; +; FIXME: Rest translate the msg MSG_COLOR_* +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Valores por defeito +;Valores predeterminados +;Default values +; +MSG_LASTSAVED +ltimos valores guardados +;Valores guardados +;ltimos valores guardados +;Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Configurao global +;Configuracin principal +;Main setup +; +MSG_TAB +Tabulao: +;Tabulation: +; +MSG_SEPARATORS +Separadores: +;Separators: +; +MSG_TXTFONT +Fonte do texto: +;Text font: +; +MSG_SCRFONT +Fonte de cran: +;Screen font: +; +MSG_PUBSCREEN +Modo de cran: +;Screen mode: +; +MSG_BACKDROP +Fundo +;Backdrop +; +MSG_LEFTMARGIN +Margem esquerda +;Left margin +; +MSG_AUTOINDENT +Indentao automtica +;Auto indent +; +MSG_EXTEND +Teclado numrico extendido +;Tastierino numerico esteso +;Extended numeric pad +; +MSG_PREFSSAVE +Guardar +;Save +; +MSG_USEPREFS +Utilizar +;Use +; +MSG_DISCARDPREFS +Cancelar +;Cancel +; +MSG_USEDEF +Utilizar por defeito +;Usar el predeterminado +;Uso predeterminado +;Use Default +; +MSG_CHOOSEIT +Selecione um... +;Choose one... +; +MSG_CLONEPARENT +Copiar o anterior +;Clonar al ancestro +;Clone parent +; +MSG_COLOR_BACK +Fundo +;Background +; +MSG_COLOR_TEXT +Texto comum +;Texto normal +;Standard text +; +MSG_COLOR_FILLTXT +Fundo do Texto selecionado +;Selected fill text +; +MSG_COLOR_FILLSEL +Texto selecionado +;Selected text +; +MSG_COLOR_MARGINBACK +Fundo da margem +;Margin background +; +MSG_COLOR_MARGINTXT +Margem do texto +;Margine del testo +;Texto del margen +;Margin text +; +MSG_COLOR_SHINE +Brilho o painel +;Panel shine +; +MSG_COLOR_SHADE +Sombra do painel +;Ombra del pannello +;Panel shade +; +MSG_COLOR_PANELBACK +Fundo do painel +;Panel back +; +MSG_COLOR_PANELTEXT +Texto do painel +;Panel text +; +MSG_COLOR_GLYPH +Decorao do painel +;Panel glyph +; +MSG_COLOR_MARKEDLINES +Painel activo +;Active panel +; diff --git a/workbench/prefs/Editor/catalogs/russian.ct b/workbench/prefs/Editor/catalogs/russian.ct new file mode 100644 index 00000000000..12f0f5c414e --- /dev/null +++ b/workbench/prefs/Editor/catalogs/russian.ct @@ -0,0 +1,104 @@ +##version $VER: JanoEditor.catalog 1.0 (13.05.2006). +##codeset 2104 +##language russian +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Значения по умолчанию +; +MSG_LASTSAVED +Последние сохраненные +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Главный setup +; +MSG_TAB +Табуляция: +; +MSG_SEPARATORS +Разделители: +; +MSG_TXTFONT +Шрифт для текста: +; +MSG_SCRFONT +Экранный шрифт: +; +MSG_PUBSCREEN +Общий экран: +; +MSG_BACKDROP +Развернуть +; +MSG_LEFTMARGIN +Левая граница +; +MSG_AUTOINDENT +Автоотступ +; +MSG_EXTEND +Расширенная цифровая клавиатура +; +MSG_PREFSSAVE +Сохранить +; +MSG_USEPREFS +Использовать +; +MSG_DISCARDPREFS +Отмена +; +MSG_USEDEF +Использовать базовые +; +MSG_CHOOSEIT +Выбрать... +; +MSG_CLONEPARENT +Использовать предыдущие +; +MSG_COLOR_BACK +Фон +; +MSG_COLOR_TEXT +Нормальный текст +; +MSG_COLOR_FILLTXT +Заливка выбранного +; +MSG_COLOR_FILLSEL +Выбранный текст +; +MSG_COLOR_MARGINBACK +Заливка границы +; +MSG_COLOR_MARGINTXT +Граничный текст +; +MSG_COLOR_SHINE +Окантовка закладок +; +MSG_COLOR_SHADE +Тень закладок +; +MSG_COLOR_PANELBACK +Цвет закладок +; +MSG_COLOR_PANELTEXT +Текст закладок +; +MSG_COLOR_GLYPH +Выемки +; +MSG_COLOR_MARKEDLINES +Выбранная закладка +; diff --git a/workbench/prefs/Editor/catalogs/spanish.ct b/workbench/prefs/Editor/catalogs/spanish.ct new file mode 100644 index 00000000000..a1220a266af --- /dev/null +++ b/workbench/prefs/Editor/catalogs/spanish.ct @@ -0,0 +1,153 @@ +##version $VER: JanoPrefs.catalog 1.0 (30.09.2007). +##codeset 0 +##language español +; +; Translated by ahg +; +; FIXME: Rest translate the msg MSG_COLOR_* +; +; Catalog description for JanoPrefs +; JanoPrefs.cd +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Edit Menu +; +MSG_RESETDEFAULT +Valores de fábrica +;Valores predeterminados +;Default values +; +MSG_LASTSAVED +Valores previos +;Valores guardados +;Últimos valores guardados +;Last saved values +; +; ******************* +; Preference window +; ******************* +; +MSG_TITLEWIN +Configuración global +;Configuración principal +;Main setup +; +MSG_TAB +Tabulación: +;Tabulation: +; +MSG_SEPARATORS +Separadores: +;Separators: +; +MSG_TXTFONT +Fuente del texto: +;Text font: +; +MSG_SCRFONT +Fuente de la pantalla: +;Screen font: +; +MSG_PUBSCREEN +Modo de la pantalla: +;Screen mode: +; +MSG_BACKDROP +Telón de fondo +;Backdrop +; +MSG_LEFTMARGIN +Margen izquierdo +;Left margin +; +MSG_AUTOINDENT +Sangría automática +;Auto indent +; +MSG_EXTEND +Teclado numérico extendido +;Tastierino numerico esteso +;Extended numeric pad +; +MSG_PREFSSAVE +Guardar +;Save +; +MSG_USEPREFS +Usar +;Use +; +MSG_DISCARDPREFS +Cancelar +;Cancel +; +MSG_USEDEF +Usar el de fábrica +;Usar el predeterminado +;Uso predeterminado +;Use Default +; +MSG_CHOOSEIT +Elige uno... +;Choose one... +; +MSG_CLONEPARENT +Clonar al anterior +;Clonar al ancestro +;Clone parent +; +MSG_COLOR_BACK +Fondo +;Background +; +MSG_COLOR_TEXT +Texto común +;Texto normal +;Standard text +; +MSG_COLOR_FILLTXT +Texto elegido para llenar +;Selected fill text +; +MSG_COLOR_FILLSEL +Texto elegido +;Selected text +; +MSG_COLOR_MARGINBACK +Fondo del margen +;Margin background +; +MSG_COLOR_MARGINTXT +Margen del texto +;Margine del testo +;Texto del margen +;Margin text +; +MSG_COLOR_SHINE +Brillo del panel +;Panel shine +; +MSG_COLOR_SHADE +Sombra del panel +;Ombra del pannello +;Panel shade +; +MSG_COLOR_PANELBACK +Fondo del panel +;Panel back +; +MSG_COLOR_PANELTEXT +Texto del panel +;Panel text +; +MSG_COLOR_GLYPH +Decoración del panel +;Panel glyph +; +MSG_COLOR_MARKEDLINES +Panel activo +;Active panel +; diff --git a/workbench/prefs/PSI/catalogs b/workbench/prefs/PSI/catalogs deleted file mode 160000 index fbf26965e1b..00000000000 --- a/workbench/prefs/PSI/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fbf26965e1bb4eccaf1108d655b38c43427305e6 diff --git a/workbench/prefs/PSI/catalogs/.gitattributes b/workbench/prefs/PSI/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/PSI/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/PSI/catalogs/croatian.ct b/workbench/prefs/PSI/catalogs/croatian.ct new file mode 100644 index 00000000000..26267aa23d0 --- /dev/null +++ b/workbench/prefs/PSI/catalogs/croatian.ct @@ -0,0 +1,580 @@ +## version $VER: PSI.catalog 1.0 (23.12.09) +## language hrvatski +## codeset 0 +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROJECT_OPEN +Otvori... +; Open... +; +MSG_MENU_PROJECT_APPEND +Dodati... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Spremi Kao... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +O Programu... +; About... +; +MSG_MENU_PROJECT_QUIT +Izlaz +; Quit +; +MSG_MENU_EDIT +Uredi +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Zadnje Spremljeno +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Povrat +; Restore +; +MSG_MENU_SETTINGS +Opcije +; Settings +; +MSG_MENU_SETTINGS_MUI +MUI... +; MUI... +; +MSG_MENU_COLORS +Boje +; Colors +; +MSG_MENU_COLORS_PRESETS +Predlošci +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +Opcije za Dvobojni Zaslon +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +Opcije za četverobojni Zaslon +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +MagicWB Opcije +; MagicWB Settings +; +MSG_BUTTON_OK +U redu +; _OK +; +MSG_BUTTON_CANCEL +Odustani +; Cancel +; +MSG_BUTTON_SAVE +Spremi +; Save +; +MSG_BUTTON_USE +Koristi +; Use +; +MSG_BUTTON_NEW +Novo +; _New +; +MSG_BUTTON_COPY +Kopiraj +; _Copy +; +MSG_BUTTON_DELETE +Izbriši +; _Delete +; +MSG_BUTTON_EDIT +Uredi... +; _Edit... +; +MSG_BUTTON_OPEN +Otvori +; _Open +; +MSG_BUTTON_CLOSE +Zatvori +; _Close +; +MSG_BUTTON_JUMP +Skok +; _Jump +; +MSG_BUTTON_KILL +Prisilno Zatvori +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Uredi Zaslon +; Edit Screen: +; +MSG_TITLE_SAVE +Spremi PublicScreen Datoteku +; Save PublicScreen File +; +MSG_TITLE_OPEN +Učitaj PublicScreen Datoteku +; Load PublicScreen File +; +MSG_TITLE_APPEND +Dodaj PublicScreen Datoteku +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Ime +; Name +; +MSG_LIST_SCREENMODE +Mod Zaslona +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(nepoznato) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(strano) +; (foreign) +; +MSG_LABEL_PUBLICNAME +Javno Ime: +; Public _Name: +; +MSG_LABEL_SCREENTITLE +Naslov Zaslona: +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +Mod Zaslona: +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +Postavljeno Slovo: +; Default _Font: +; +MSG_LABEL_BACKGROUND +Podloga +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Flags: +; Flags: +; +MSG_LABEL_AUTOSCROLL +Autoscroll +; _Autoscroll +; +MSG_LABEL_NODRAG +Bez D_rag +; No D_rag +; +MSG_LABEL_EXCLUSIVE +Exclusive +; _Exclusive +; +MSG_LABEL_INTERLEAVED +Interleaved +; _Interleaved +; +MSG_LABEL_OPENBEHIND +Otvori Pozadi +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +Postavljen za Sustav +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Auto Zatvori +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Zatvori Gadget +; Close Gadget +; +MSG_LABEL_OVERSCAN +Overscan: +; O_verscan: +; +MSG_LABEL_SIZE +Veličina: +; _Size: +; +MSG_LABEL_CROSS +x +; _x +; +MSG_LABEL_DEPTH +Rezolucija: +; _Depth: +; +MSG_LABEL_VISIBLE +Vidljivo: +; Visible: +; +MSG_LABEL_MINIMUM +Minimalno: +; Minimum: +; +MSG_LABEL_MAXIMUM +Maksimalno: +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bits/Gun: +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Scanrate: +; Scanrate: +; +MSG_LABEL_SCANLINE +Scanline: +; Scanline: +; +MSG_CLI_SCREENOPENED +Zaslon otvoren (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Greška pri otvaranju zaslona (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Zaslon zatvoren (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Greška pri zatvaranju zaslona (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Greška u komandnoj liniji (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Zaslon nije pronađen (5).\n +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Nedovoljno memorije (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Greška pri stvaranju aplikacije (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Greška pri otvaranju muimaster.library V11 (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Broj zaslona: +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Nepoznat Mod Zaslona +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Strani javni zaslon +; Foreign public screen +; +MSG_PALETTE_TITLE +Paleta +; Palette +; +MSG_PALETTE_FIRST +Prve 4 boje +; First 4 colors +; +MSG_PALETTE_LAST +Zadnje 4 boje +; Last 4 colors +; +MSG_SYSPENS_TITLE +Boje Sustava +; System Pens +; +MSG_SYSPEN_DETAIL +Detalji +; Detail +; +MSG_SYSPEN_BLOCK +Blok +; Block +; +MSG_SYSPEN_TEXT +Tekst +; Text +; +MSG_SYSPEN_SHINE +Sjaj +; Shine +; +MSG_SYSPEN_SHADOW +Sjena +; Shadow +; +MSG_SYSPEN_FILL +Popunjeno +; Fill +; +MSG_SYSPEN_FILLTEXT +Popunjen tekst +; Filltext +; +MSG_SYSPEN_BACKGROUND +Podloga +; Background +; +MSG_SYSPEN_HIGHLIGHT +Istaknuto +; Highlight +; +MSG_SYSPEN_BARDETAIL +Bardetail +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Barblock +; Barblock +; +MSG_SYSPEN_BARTRIM +Bartrim +; Bartrim +; +MSG_PALPRES_TITLE +Predlošci Boja +; Color Presets +; +MSG_PALPRES_STANDARD +0\0Standardno +; 0\0Standard +; +MSG_PALPRES_TINT +1\0Tint +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0Pharao +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Sunset +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Ocean +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0Steel +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Chocolate +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Pewter +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0Wine +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +Kloniraj WB +; Clone WB +; +MSG_OVERSCAN_TEXT +Tekst +; Text +; +MSG_OVERSCAN_GRAPHICS +Grafika +; Graphics +; +MSG_OVERSCAN_EXTREME +Ekstremno +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maksimalno +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Atributi +; Attributes +; +MSG_EDITPAGE_DISPLAY +Prikaz +; Display +; +MSG_EDITPAGE_COLORS +Boje +; Colors +; +MSG_HELP_WHEEL +Podesi boje za\ngrupu. +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Informacije o\nmodu i veličini. +; Information about\nmode & size. +; +MSG_HELP_NAME +Ime Javnog Zaslona.\nVišeznačnici dozvoljeni\nza strane zaslone. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Tekst koji se pojavljuje\nu titlebar-u zaslona. +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Postavljeno slovo/nza zaslon. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Datatype slika korištena\nkao pozadinska slika. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +Pomicanje zaslona kad\nmiš dotakne okvir zaslona. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +Zaslon nije moguće povući. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +Zaslon ne može djeliti\nprikaz sa drugima. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Bitmap zaslona se nalazi u interleaved modu. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +Zaslon se otvara iza\ndrugih zaslona. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +Zaslon postaje postavljen\nza zaslon sustava. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +Zaslon se zatvara kad\nsa zadnjim zatvorenim prozorom. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +Zaslon dobiva\ndugme za izlaz. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Lista dostupnih\nmodova prikaza. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Informacije o trenutnom\nmodu prikaza. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Podešavanje Overscan veličine +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Širina zaslona,\nmjereno u pikselima. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Visina zaslona,\nmjereno u pikselima. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Dubina zaslona,\nmjereno u planes. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Boje sustava, mogu se prebacivati. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Trenutna boja, klikni\nna polje za promjenu. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Ukloni ovu boju\niz grupe. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Dodaj novu boju\nu grupu. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Izađi i zapamti\npromjene za ovaj zaslon. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Izađi i \33bodbaci\33n\npromjene za ovaj zaslon. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Lista definiranih javnih zaslona. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Stvori novi\njavni zaslon. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Kloniraj trenutni zaslon. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +izbriši trenutni javni zaslon. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Uredi trenutni javni zaslon. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Otvori trenutni javni zaslon +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Zatvori trenutni javni zaslon. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Skok na trenutni javni zaslon. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Izađi i spremi\npromjene na disk. +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Izađi i spremi\npromjene za trenutnu +; Exit and save changes\nfor current seansu. +; +MSG_HELP_CANCEL +Izađi i\n\33bodbaci\33n promjene. +; Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/czech.ct b/workbench/prefs/PSI/catalogs/czech.ct new file mode 100644 index 00000000000..747cc31a1f9 --- /dev/null +++ b/workbench/prefs/PSI/catalogs/czech.ct @@ -0,0 +1,580 @@ +## version $VER: PSI.catalog 19.1 (28.1.2010) +## language czech +## codeset 0 +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROJECT_OPEN +Otevřít... +; Open... +; +MSG_MENU_PROJECT_APPEND +Připojit... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Uložit jako... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +O programu... +; About... +; +MSG_MENU_PROJECT_QUIT +Ukončit +; Quit +; +MSG_MENU_EDIT +Úpravy +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Naposledy uložené +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Obnovit předchozí +; Restore +; +MSG_MENU_SETTINGS +Nastavení +; Settings +; +MSG_MENU_SETTINGS_MUI +Uživatelské rozhraní... +; MUI... +; +MSG_MENU_COLORS +Barvy +; Colors +; +MSG_MENU_COLORS_PRESETS +Předvolby +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +Dvoubarevné +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +Čtyřbarevné +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +MagicWB +; MagicWB Settings +; +MSG_BUTTON_OK +_OK +; _OK +; +MSG_BUTTON_CANCEL +Zrušit +; Cancel +; +MSG_BUTTON_SAVE +Uložit +; Save +; +MSG_BUTTON_USE +Použít +; Use +; +MSG_BUTTON_NEW +_Nová +; _New +; +MSG_BUTTON_COPY +Z_kopírovat +; _Copy +; +MSG_BUTTON_DELETE +_Smazat +; _Delete +; +MSG_BUTTON_EDIT +U_pravit... +; _Edit... +; +MSG_BUTTON_OPEN +_Otevřít +; _Open +; +MSG_BUTTON_CLOSE +_Zavřít +; _Close +; +MSG_BUTTON_JUMP +Pře_jít na +; _Jump +; +MSG_BUTTON_KILL +Uvolnit +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Úprava obrazovky: +; Edit Screen: +; +MSG_TITLE_SAVE +Uložit soubor +; Save PublicScreen File +; +MSG_TITLE_OPEN +Otevřít soubor +; Load PublicScreen File +; +MSG_TITLE_APPEND +Připojit soubor +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Název +; Name +; +MSG_LIST_SCREENMODE +Zobrazovací mód +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(neznámá) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(cizí) +; (foreign) +; +MSG_LABEL_PUBLICNAME +Veřejný _název: +; Public _Name: +; +MSG_LABEL_SCREENTITLE +_Titulek obrazovky: +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +Zobrazovací mó_d: +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +_Výchozí písmo: +; Default _Font: +; +MSG_LABEL_BACKGROUND +Pozadí o_brazovky: +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Atributy: +; Flags: +; +MSG_LABEL_AUTOSCROLL +_Rolování +; _Autoscroll +; +MSG_LABEL_NODRAG +Nesta_hovatelná +; No D_rag +; +MSG_LABEL_EXCLUSIVE +_Exkluzivní +; _Exclusive +; +MSG_LABEL_INTERLEAVED +Pro_kládaná +; _Interleaved +; +MSG_LABEL_OPENBEHIND +Otevřít vza_du +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +Výchozí pro s_ystém +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Automaticky zavřít +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Zavírací tlačítko +; Close Gadget +; +MSG_LABEL_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_LABEL_SIZE +Veliko_st: +; _Size: +; +MSG_LABEL_CROSS +_x +; _x +; +MSG_LABEL_DEPTH +_Hloubka: +; _Depth: +; +MSG_LABEL_VISIBLE +Viditelný rozměr: +; Visible: +; +MSG_LABEL_MINIMUM +Nejmenší rozměr: +; Minimum: +; +MSG_LABEL_MAXIMUM +Největší rozměr: +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bitů/složka: +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Snímk. frekvence: +; Scanrate: +; +MSG_LABEL_SCANLINE +Řádk. frekvence: +; Scanline: +; +MSG_CLI_SCREENOPENED +Obrazovka otevřena (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Chyba při otvírání obrazovky (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Obrazovka zavřena (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Chyba při zavírání obrazovky (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Chyba syntaxe v příkazovém řádku (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Obrazovka nebyla nalezena (5).\n +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Není dostatek volné paměti (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Chyba při vytváření programu (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Nelze otevřít knihovnu muimaster.library V11 (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Počet obrazovek: +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Neznámý zobrazovací mód +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Cizí veřejná obrazovka +; Foreign public screen +; +MSG_PALETTE_TITLE +Paleta +; Palette +; +MSG_PALETTE_FIRST +První 4 barvy +; First 4 colors +; +MSG_PALETTE_LAST +Poslední 4 barvy +; Last 4 colors +; +MSG_SYSPENS_TITLE +Systémové barvy +; System Pens +; +MSG_SYSPEN_DETAIL +Detail +; Detail +; +MSG_SYSPEN_BLOCK +Blok +; Block +; +MSG_SYSPEN_TEXT +Text +; Text +; +MSG_SYSPEN_SHINE +Světlá +; Shine +; +MSG_SYSPEN_SHADOW +Stínovaná +; Shadow +; +MSG_SYSPEN_FILL +Výplňová +; Fill +; +MSG_SYSPEN_FILLTEXT +Výplňová, text +; Filltext +; +MSG_SYSPEN_BACKGROUND +Pozadí +; Background +; +MSG_SYSPEN_HIGHLIGHT +Zvýrazňovací +; Highlight +; +MSG_SYSPEN_BARDETAIL +Úzký pruh +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Široký pruh +; Barblock +; +MSG_SYSPEN_BARTRIM +Elegantní pruh +; Bartrim +; +MSG_PALPRES_TITLE +Předvolby barev +; Color Presets +; +MSG_PALPRES_STANDARD +0\0Standardní +; 0\0Standard +; +MSG_PALPRES_TINT +1\0Inkoustová +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0Faraón +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Západ slunce +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Oceán +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0Ocelová +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Čokoládová +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Cínová +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0Vínová +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +Převzít ze systému +; Clone WB +; +MSG_OVERSCAN_TEXT +Textový +; Text +; +MSG_OVERSCAN_GRAPHICS +Grafický +; Graphics +; +MSG_OVERSCAN_EXTREME +Extrémní +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maximální +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Atributy +; Attributes +; +MSG_EDITPAGE_DISPLAY +Zobrazovací mód +; Display +; +MSG_EDITPAGE_COLORS +Barvy +; Colors +; +MSG_HELP_WHEEL +Nastavení barvy pro skupinu vybraných položek. +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Informace o módu a rozměrech obrazovky. +; Information about\nmode & size. +; +MSG_HELP_NAME +Definuje název veřejné obrazovky.\nLze zadat i masku pro cizí obrazovky. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Definuje text, zobrazený na horní liště obrazovky. +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Definuje výchozí písmo pro obrazovku. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Definuje obrázek pro výplň plochy pozadí. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +Přejedete-li myší přes okraje obrazovky, ta začne rolovat. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +Vypne možnost uchopení obrazovky za lištu a stáhnutí. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +Vypne možnost sdílení obrazovky mezi programy. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Vytvoří obrazovku v prokládaném režimu. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +Otevře obrazovku na pozadí, za všemi ostatními obrazovkami. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +Nastaví obrazovku jako výchozí systémovou. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +Zavře obrazovku automaticky po uzavření posledního okna. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +Přidá na obrazovku tlačítko pro zavření. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Seznam zobrazovacích módů obrazovky. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Informace o vybraném zobrazovacím módu. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Nastavení okrajových rozměrů obrazovky. +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Definuje šířku obrazovky v bodech. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Definuje výšku obrazovky v bodech. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Definuje barevnou hloubku obrazovky. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Seznam systémových barev; lze přetáhnout jednu na druhou. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Ukazuje aktuální barvu; lze změnit kliknutím. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Umožní odstranit barvu ze skupiny. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Umožní přidat novou barvu do skupiny. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Ukončí a zapamatuje si změny pro tuto obrazovku. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Ukončí a \33bzruší\33n změny provedené na této obrazovce. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Seznam definovaných veřejných obrazovek. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Vytvoří novou veřejnou obrazovku. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Vytvoří kopii vybrané veřejné obrazovky. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Odstraní vybranou veřejnou obrazovku. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Upraví vybranou veřejnou obrazovku. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Otevře vybranou veřejnou obrazovku. +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Zavře vybranou veřejnou obrazovku. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Přejde na vybranou veřejnou obrazovku. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Ukončí a trvale uloží veškeré změny na disk. +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Ukončí a pro tuto relaci uloží provedené změny. +; Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Ukončí a \33bzruší\33n provedené změny. +; Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/french.ct b/workbench/prefs/PSI/catalogs/french.ct new file mode 100644 index 00000000000..31402c5461a --- /dev/null +++ b/workbench/prefs/PSI/catalogs/french.ct @@ -0,0 +1,580 @@ +## version $VER: PSI.catalog 19.1 (28.04.2010) +## language français +## codeset 0 +; +MSG_MENU_PROJECT +Projet +; Project +; +MSG_MENU_PROJECT_OPEN +Ouvrir... +; Open... +; +MSG_MENU_PROJECT_APPEND +Ajouter... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Sauver comme... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +A propos... +; About... +; +MSG_MENU_PROJECT_QUIT +Quitter +; Quit +; +MSG_MENU_EDIT +Editer +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Dernière sauvegarde +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Restaurer +; Restore +; +MSG_MENU_SETTINGS +Réglages +; Settings +; +MSG_MENU_SETTINGS_MUI +MUI... +; MUI... +; +MSG_MENU_COLORS +Couleurs +; Colors +; +MSG_MENU_COLORS_PRESETS +Préréglages +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +Réglage monochrome +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +Réglage 4-couleurs +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +Réglage MagicWB +; MagicWB Settings +; +MSG_BUTTON_OK +_Ok +; _OK +; +MSG_BUTTON_CANCEL +Annuler +; Cancel +; +MSG_BUTTON_SAVE +Sauver +; Save +; +MSG_BUTTON_USE +Utiliser +; Use +; +MSG_BUTTON_NEW +N_ouveau +; _New +; +MSG_BUTTON_COPY +_Copier +; _Copy +; +MSG_BUTTON_DELETE +_Effacer +; _Delete +; +MSG_BUTTON_EDIT +_Editer... +; _Edit... +; +MSG_BUTTON_OPEN +_Ouvrir +; _Open +; +MSG_BUTTON_CLOSE +_Fermer +; _Close +; +MSG_BUTTON_JUMP +_Sauter +; _Jump +; +MSG_BUTTON_KILL +Tuer +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Editer l'écran +; Edit Screen: +; +MSG_TITLE_SAVE +Sauver le fichier écran public +; Save PublicScreen File +; +MSG_TITLE_OPEN +Charger le fichier écran public +; Load PublicScreen File +; +MSG_TITLE_APPEND +Ajouter le fichier écran public +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Nom +; Name +; +MSG_LIST_SCREENMODE +Mode d'affichage +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(inconnu) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(étranger) +; (foreign) +; +MSG_LABEL_PUBLICNAME +No_m public : +; Public _Name: +; +MSG_LABEL_SCREENTITLE +_Titre de l'écran : +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +Mo_de d'affichage : +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +Police par dé_faut : +; Default _Font: +; +MSG_LABEL_BACKGROUND +Arrière _plan : +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Drapeaux : +; Flags: +; +MSG_LABEL_AUTOSCROLL +Défilement au_tomatique +; _Autoscroll +; +MSG_LABEL_NODRAG +Pas de déplacement +; No D_rag +; +MSG_LABEL_EXCLUSIVE +_Exclusif +; _Exclusive +; +MSG_LABEL_INTERLEAVED +_Entrelacé +; _Interleaved +; +MSG_LABEL_OPENBEHIND +Ouvrir derrière +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +Réglage s_ystème par défaut +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Fermer automatiquement +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Gadget de fermeture +; Close Gadget +; +MSG_LABEL_OVERSCAN +Su_raffichage : +; O_verscan: +; +MSG_LABEL_SIZE +_Taille : +; _Size: +; +MSG_LABEL_CROSS +_x +; _x +; +MSG_LABEL_DEPTH +_Profondeur : +; _Depth: +; +MSG_LABEL_VISIBLE +Visible : +; Visible: +; +MSG_LABEL_MINIMUM +Minimum : +; Minimum: +; +MSG_LABEL_MAXIMUM +Maximum : +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bit par barrilet : +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Vitesse de rafraichissement : +; Scanrate: +; +MSG_LABEL_SCANLINE +Ligne de balayage : +; Scanline: +; +MSG_CLI_SCREENOPENED +Ecran ouvert (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Impossible d'ouvrir l'écran (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Ecran fermé (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Impossible de fermer l'écran (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Erreur de syntaxe dans la ligne de commande (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Ecran non trouvé (5).\n +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Plus de mémoire (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Impossible de créer l'application (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Impossible d'ouvrir la bibliothèque muimaster.library V11 (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Nombre d'écrans : +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Mode d'affichage inconnu +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Ecran public étranger +; Foreign public screen +; +MSG_PALETTE_TITLE +Palette +; Palette +; +MSG_PALETTE_FIRST +4 premières couleurs +; First 4 colors +; +MSG_PALETTE_LAST +4 dernières couleurs +; Last 4 colors +; +MSG_SYSPENS_TITLE +Stylo système +; System Pens +; +MSG_SYSPEN_DETAIL +Détail +; Detail +; +MSG_SYSPEN_BLOCK +Bloc +; Block +; +MSG_SYSPEN_TEXT +Text +; Text +; +MSG_SYSPEN_SHINE +Brillant +; Shine +; +MSG_SYSPEN_SHADOW +Ombre +; Shadow +; +MSG_SYSPEN_FILL +Remplissage +; Fill +; +MSG_SYSPEN_FILLTEXT +Remplissage de texte +; Filltext +; +MSG_SYSPEN_BACKGROUND +Fond +; Background +; +MSG_SYSPEN_HIGHLIGHT +Mettre en évidence +; Highlight +; +MSG_SYSPEN_BARDETAIL +Détail des barres +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Détail des blocs +; Barblock +; +MSG_SYSPEN_BARTRIM +Détail des barres +; Bartrim +; +MSG_PALPRES_TITLE +Réglage par défaut des couleurs +; Color Presets +; +MSG_PALPRES_STANDARD +0\0Standard +; 0\0Standard +; +MSG_PALPRES_TINT +1\0Tint +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0Pharao +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Sunset +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Ocean +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0Steel +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Chocolate +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Pewter +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0Wine +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +Dupliquer WB +; Clone WB +; +MSG_OVERSCAN_TEXT +Texte +; Text +; +MSG_OVERSCAN_GRAPHICS +Graphique +; Graphics +; +MSG_OVERSCAN_EXTREME +Extrème +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maximum +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Attributs +; Attributes +; +MSG_EDITPAGE_DISPLAY +Affichage +; Display +; +MSG_EDITPAGE_COLORS +Couleurs +; Colors +; +MSG_HELP_WHEEL +Ajuster les couleurs pour\nle groupe de stylos. +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Information à propos\ndu mode et de la taille. +; Information about\nmode & size. +; +MSG_HELP_NAME +Nom de l'écran public.\nWildcards autorisés pour les écrans étrangers. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Texte affiché dans la barre\n de titre de l'écran. +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Police par défaut\nde l'écran. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Image utilisée comme\nmotif de fond. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +L'écran défile quand la souris\ntouche les bords. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +L'écran est indéplaçable. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +L'écran ne peut partager son\naffichage avec les autres. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Le bitmap de l'écran est\nalloué en mode entrelacé. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +L'écran est ouvert derrière\ntous les autres. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +L'écran devient l'écran\nsystème par défaut. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +L'écran se ferme quand la\ndernière fenêtre est fermée. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +L'écran possède un gadget\nde fermeture. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Liste des modes d'affichage\ndisponibles. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Information à propos du\nmode d'affichage actuel. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Ajustement du suraffichage. +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Largeur de l'écran\nmesuré en pixels. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Hauteur de l'écran\nmesuré en pixels. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Profondeur de l'écran\mesuré en plans. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Stylos système, déplaçable vers\ndes pots de couleurs différents. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Couleur actuelle, cliquez sur\nle champ pour la changer. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Retirer la couleur\nde ce groupe. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Ajouter une couleur\nà ce groupe. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Sortir et se rappeler\n les modifications pour cet écran. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Sortir et \33bsupprimer\33n\nles modifications pour cet écran. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Liste des écrans publics définis. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Créer un nouvel\nécran public. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Créer une copie de\nl'écran actuel. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Supprimer l'écran\npublic actuel. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Editer l'écran\npublic actuel. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Ouvrir l'écran\npublic actuel. +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Fermer l'écran\npublic actuel. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Sauter vers l'écran\npublic actuel. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Sortir et sauver\nles modifications. +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Sortir et sauver les modifications\npour la session courante. +; Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Sortir et oublier\nles modifications. +; Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/german.ct b/workbench/prefs/PSI/catalogs/german.ct new file mode 100644 index 00000000000..70d930f6ad8 --- /dev/null +++ b/workbench/prefs/PSI/catalogs/german.ct @@ -0,0 +1,580 @@ +## version $VER: PSI.catalog 19.1 (26.09.2010) +## language deutsch +## codeset 0 +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROJECT_OPEN +Öffnen... +; Open... +; +MSG_MENU_PROJECT_APPEND +Anfügen... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Speichern unter... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +Über... +; About... +; +MSG_MENU_PROJECT_QUIT +Beenden +; Quit +; +MSG_MENU_EDIT +Bearbeiten +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Zuletzt gespeichert +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Wiederherstellen +; Restore +; +MSG_MENU_SETTINGS +Einstellungen +; Settings +; +MSG_MENU_SETTINGS_MUI +MUI... +; MUI... +; +MSG_MENU_COLORS +Farben +; Colors +; +MSG_MENU_COLORS_PRESETS +Standardwerte +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +Monochrom Einstellungen +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +4 Farb Einstellungen +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +MagicWB Einstellungen +; MagicWB Settings +; +MSG_BUTTON_OK +_OK +; _OK +; +MSG_BUTTON_CANCEL +Abbrechen +; Cancel +; +MSG_BUTTON_SAVE +_Speichern +; Save +; +MSG_BUTTON_USE +Benutzen +; Use +; +MSG_BUTTON_NEW +_Neu +; _New +; +MSG_BUTTON_COPY +_Kopieren +; _Copy +; +MSG_BUTTON_DELETE +_Löschen +; _Delete +; +MSG_BUTTON_EDIT +_Bearbeiten... +; _Edit... +; +MSG_BUTTON_OPEN +_Öffnen +; _Open +; +MSG_BUTTON_CLOSE +Schließen +; _Close +; +MSG_BUTTON_JUMP +_Gehe zu +; _Jump +; +MSG_BUTTON_KILL +Kill +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Bildschirm bearbeiten: +; Edit Screen: +; +MSG_TITLE_SAVE +PublicScreen Datei speichern +; Save PublicScreen File +; +MSG_TITLE_OPEN +PublicScreen Datei öffnen +; Load PublicScreen File +; +MSG_TITLE_APPEND +PublicScreen Datei anfügen +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Name +; Name +; +MSG_LIST_SCREENMODE +Anzeigemodus +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(unbekannt) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(fremd) +; (foreign) +; +MSG_LABEL_PUBLICNAME +Öffentlicher Name: +; Public _Name: +; +MSG_LABEL_SCREENTITLE +Titelzeile: +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +_Anzeigemodus: +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +Standard Zeichensatz: +; Default _Font: +; +MSG_LABEL_BACKGROUND +_Hintergrund: +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Flags: +; Flags: +; +MSG_LABEL_AUTOSCROLL +_Autoscroll +; _Autoscroll +; +MSG_LABEL_NODRAG +Nicht B_eweglich +; No D_rag +; +MSG_LABEL_EXCLUSIVE +_Exclusiv +; _Exclusive +; +MSG_LABEL_INTERLEAVED +_Interleaved +; _Interleaved +; +MSG_LABEL_OPENBEHIND +Hinter allen anderen öffnen +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +System Standardwerte +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Automatisch schließen +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Close Gadget +; Close Gadget +; +MSG_LABEL_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_LABEL_SIZE +G_röße +; _Size: +; +MSG_LABEL_CROSS +_x +; _x +; +MSG_LABEL_DEPTH +_Tiefe +; _Depth: +; +MSG_LABEL_VISIBLE +Sichtbar +; Visible: +; +MSG_LABEL_MINIMUM +Minimum: +; Minimum: +; +MSG_LABEL_MAXIMUM +Maximum: +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bits/Gun: +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Scanrate: +; Scanrate: +; +MSG_LABEL_SCANLINE +Scanline: +; Scanline: +; +MSG_CLI_SCREENOPENED +Schirm geöffnet (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Schirm konnte nicht geöffnet werden (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Schirm geschlossen (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Schirm konnte nicht geschlossen werden (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Syntax Fehler in Zeile (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Schirm wurde nicht gefunden (5).\ +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Speicherplatzmangel (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Applikation konnte nicht erzeugt werden (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +muimaster.library V11 konnte nicht geöffnet werden (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Anzahl an Schirmen: +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Unbekannter Anzeigemodus +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Fremder Öffentlicher Schirm +; Foreign public screen +; +MSG_PALETTE_TITLE +Palette +; Palette +; +MSG_PALETTE_FIRST +Erste 4 Farben +; First 4 colors +; +MSG_PALETTE_LAST +Letzte 4 Farben +; Last 4 colors +; +MSG_SYSPENS_TITLE +Systemfarben +; System Pens +; +MSG_SYSPEN_DETAIL +Detail +; Detail +; +MSG_SYSPEN_BLOCK +Block +; Block +; +MSG_SYSPEN_TEXT +Text +; Text +; +MSG_SYSPEN_SHINE +Leuchtend +; Shine +; +MSG_SYSPEN_SHADOW +Schatten +; Shadow +; +MSG_SYSPEN_FILL +Gefüllt +; Fill +; +MSG_SYSPEN_FILLTEXT +Fülltext +; Filltext +; +MSG_SYSPEN_BACKGROUND +Hintergrund +; Background +; +MSG_SYSPEN_HIGHLIGHT +Hervorgehoben +; Highlight +; +MSG_SYSPEN_BARDETAIL +Bardetail +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Barblock +; Barblock +; +MSG_SYSPEN_BARTRIM +Bartrim +; Bartrim +; +MSG_PALPRES_TITLE +Standardfarben +; Color Presets +; +MSG_PALPRES_STANDARD +0\0Standard +; 0\0Standard +; +MSG_PALPRES_TINT +1\0Tint +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0Pharao +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Sunset +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Ocean +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0Steel +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Chocolate +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Pewter +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0Wine +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +Workbench imitieren +; Clone WB +; +MSG_OVERSCAN_TEXT +Text +; Text +; +MSG_OVERSCAN_GRAPHICS +Grafiken +; Graphics +; +MSG_OVERSCAN_EXTREME +Extrem +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maximum +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Eigenschaften +; Attributes +; +MSG_EDITPAGE_DISPLAY +Anzeige +; Display +; +MSG_EDITPAGE_COLORS +Farben +; Colors +; +MSG_HELP_WHEEL +Farbe für eine\nGruppe anpassen +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Information über\nAnzeigemodus & Größe +; Information about\nmode & size. +; +MSG_HELP_NAME +Name des öffentlichen Schirms.\nPlatzhalter sind nur\nfür fremde Schirme möglich. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Text der in der\nTitelzeile erscheint +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Standard Zeichensatz\nfür den Schirm. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Datatype Grafik, die\nals Hintergrundmuster verwendet wird. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +Der Schirm scrollt,\nsobald die Maus den Rand berührt. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +Der Schirm kann\nnicht bewegt werden. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +Der Schirm kann seine Anzeige\nnicht mit anderen teilen. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Die Bitmap des Schirms wird\nim interleaved Modus allokiert. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +Der Schirm wird hinter\nallen anderen Schirmen geöffnet. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +Der Schirm wird zum\nStandard Schirm des Systems. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +Der Schirm wird geschlossen,\nsobald das letzte Fenster geschlossen wurde. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +Der Schirm erhält eine Schaltfläche zum Schließen. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Liste aller verfügbaren Anzeigemodi. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Information über den aktuellen Anzeigemodus. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Anpassung der Overscan Größe. +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Breite des Schirms in Pixel. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Höhe des Schirms in Pixel. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Farbtiefe des Schirms in Bitplanes. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Systemfarben können in\nunterschiedliche Farbtöpfe gezogen werden. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Die Aktuelle Farbe.\n Sie kann durch Anklicken geändert werden. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Entfernt diese Farbe\naus der Gruppe. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Fügt eine neue Farbe\nzur Gruppe hinzu. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Beenden und Änderungen des Schirms\nvorübergehend behalten. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Beenden und Änderungen des Schirms verwerfen. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Liste aller definierten öffentlichen Schirme. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Neuen öffentlichen\nSchirm erzeugen. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Kopie des aktuellen\Schirms erzeugen. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Aktuellen Schirm löschen. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Aktuellen öffentlichen Schirm bearbeiten. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Aktuellen öffentlichen Schirm öffnen. +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Aktuellen öffentlichen Schirm schließen. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Gehe zum aktuellen öffentlichen Schirm. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Beenden und Änderungen speichern. +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Beenden und Änderungen für diese Sitzung speichern. +; Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Beenden und Änderungen verwerfen. +; Exit and\n\33bdiscard\33n changes. +; \ No newline at end of file diff --git a/workbench/prefs/PSI/catalogs/mmakefile.src b/workbench/prefs/PSI/catalogs/mmakefile.src new file mode 100644 index 00000000000..f63e8d238dd --- /dev/null +++ b/workbench/prefs/PSI/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2009-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech french german polish russian norwegian + +%build_catalogs mmake=workbench-prefs-psi-catalogs \ + catalogs=$(CATALOGS) \ + name=PSI subdir=System/Prefs diff --git a/workbench/prefs/PSI/catalogs/norwegian.ct b/workbench/prefs/PSI/catalogs/norwegian.ct new file mode 100644 index 00000000000..7c8105b9347 --- /dev/null +++ b/workbench/prefs/PSI/catalogs/norwegian.ct @@ -0,0 +1,580 @@ +## version $VER: PSI.catalog 19.1 (26.09.2010) +## language norwegian +## codeset 0 +; +MSG_MENU_PROJECT +Prosjekt +; Project +; +MSG_MENU_PROJECT_OPEN +pne... +; Open... +; +MSG_MENU_PROJECT_APPEND +Legg til... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Lagre som... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +Om... +; About... +; +MSG_MENU_PROJECT_QUIT +Avslutt +; Quit +; +MSG_MENU_EDIT +Rediger +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Sist lagret +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Gjenopprett +; Restore +; +MSG_MENU_SETTINGS +Innstillinger +; Settings +; +MSG_MENU_SETTINGS_MUI +MUI... +; MUI... +; +MSG_MENU_COLORS +Farger +; Colors +; +MSG_MENU_COLORS_PRESETS +Standardverdier +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +Monokrominnstillinger +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +4-Fargers innstillinger +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +MagicWB innstillinger +; MagicWB Settings +; +MSG_BUTTON_OK +_OK +; _OK +; +MSG_BUTTON_CANCEL +Avbryt +; Cancel +; +MSG_BUTTON_SAVE +_Lagre +; Save +; +MSG_BUTTON_USE +Bruk +; Use +; +MSG_BUTTON_NEW +_Ny +; _New +; +MSG_BUTTON_COPY +_Kopier +; _Copy +; +MSG_BUTTON_DELETE +_Slett +; _Delete +; +MSG_BUTTON_EDIT +_Editer... +; _Edit... +; +MSG_BUTTON_OPEN +_pne +; _Open +; +MSG_BUTTON_CLOSE +_Lukke +; _Close +; +MSG_BUTTON_JUMP +_G til +; _Jump +; +MSG_BUTTON_KILL +Drep +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Rediger skjerm: +; Edit Screen: +; +MSG_TITLE_SAVE +Lagre offentlig skjermfil +; Save PublicScreen File +; +MSG_TITLE_OPEN +Les offentlig skjermfil +; Load PublicScreen File +; +MSG_TITLE_APPEND +Legg til offentlig skjermfil +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Navn +; Name +; +MSG_LIST_SCREENMODE +Visningsmodus +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(ukjent) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(fremmed) +; (foreign) +; +MSG_LABEL_PUBLICNAME +Offentlig _navn: +; Public _Name: +; +MSG_LABEL_SCREENTITLE +Skjermtittel: +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +_Visningsmodus: +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +Standard _skrifttype: +; Default _Font: +; +MSG_LABEL_BACKGROUND +_Bakgrunn: +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Flagg: +; Flags: +; +MSG_LABEL_AUTOSCROLL +_Automatisk scrolling +; _Autoscroll +; +MSG_LABEL_NODRAG +Ingen B_eveglighet +; No D_rag +; +MSG_LABEL_EXCLUSIVE +_Eksklusiv +; _Exclusive +; +MSG_LABEL_INTERLEAVED +_Flettet +; _Interleaved +; +MSG_LABEL_OPENBEHIND +pne b_ak +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +System standard +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Automatisk lukking +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Lukkeikon +; Close Gadget +; +MSG_LABEL_OVERSCAN +O_verscan: +; O_verscan: +; +MSG_LABEL_SIZE +St_rrelse: +; _Size: +; +MSG_LABEL_CROSS +_x +; _x +; +MSG_LABEL_DEPTH +_Dybde +; _Depth: +; +MSG_LABEL_VISIBLE +Synlig_ +; Visible: +; +MSG_LABEL_MINIMUM +Minimum: +; Minimum: +; +MSG_LABEL_MAXIMUM +Maksimum: +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bits/Gun: +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Scanrate: +; Scanrate: +; +MSG_LABEL_SCANLINE +Scanline: +; Scanline: +; +MSG_CLI_SCREENOPENED +Skjerm pnet (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Klarte ikke pne skjerm (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Skjerm lukket (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Klarte ikke lukke skjerm (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Syntaksfeil p kommandolinje (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Fant ikke skjermen (5).\ +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Tom for minne (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Klarte ikke opprette applikasjonen (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Klarte ikke pne muimaster.library V11 (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Antall skjermer: +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Ukjent skjermmodus +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Fremmed offentlig skjerm +; Foreign public screen +; +MSG_PALETTE_TITLE +Palette +; Palette +; +MSG_PALETTE_FIRST +Frste 4 farger +; First 4 colors +; +MSG_PALETTE_LAST +Siste 4 farger +; Last 4 colors +; +MSG_SYSPENS_TITLE +Systemfarger +; System Pens +; +MSG_SYSPEN_DETAIL +Detalj +; Detail +; +MSG_SYSPEN_BLOCK +Blokk +; Block +; +MSG_SYSPEN_TEXT +Tekst +; Text +; +MSG_SYSPEN_SHINE +Gjennskinn +; Shine +; +MSG_SYSPEN_SHADOW +Skygge +; Shadow +; +MSG_SYSPEN_FILL +Fyll +; Fill +; +MSG_SYSPEN_FILLTEXT +Fylltekst +; Filltext +; +MSG_SYSPEN_BACKGROUND +Bakgrunn +; Background +; +MSG_SYSPEN_HIGHLIGHT +Opplys +; Highlight +; +MSG_SYSPEN_BARDETAIL +Menydetalj +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Menyblokk +; Barblock +; +MSG_SYSPEN_BARTRIM +Menytrim +; Bartrim +; +MSG_PALPRES_TITLE +Standardfarger +; Color Presets +; +MSG_PALPRES_STANDARD +0\0Standard +; 0\0Standard +; +MSG_PALPRES_TINT +1\0Fargetone +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0Farao +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Solnedgang +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Hav +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0Stl +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Sjokolade +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Tinn +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0Vin +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +Klon workbench +; Clone WB +; +MSG_OVERSCAN_TEXT +Tekst +; Text +; +MSG_OVERSCAN_GRAPHICS +Grafikk +; Graphics +; +MSG_OVERSCAN_EXTREME +Ekstrem +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maksimum +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Attributter +; Attributes +; +MSG_EDITPAGE_DISPLAY +Visning +; Display +; +MSG_EDITPAGE_COLORS +Farger +; Colors +; +MSG_HELP_WHEEL +Juster farge for\ngruppen med penner. +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Informasjon om\nmodus og strrelse. +; Information about\nmode & size. +; +MSG_HELP_NAME +Navn p offentlig skjerm.\nWildcard er gyldig for\nfremmede skjermer. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Tekst som vises p\nskjermens tittellinje. +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Standard skriftype\nfor vinduet. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Bilde datatype brukt\nsom bakgrunnsm?nster. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +Skjermen skroller nr\nmusepekeren treffer kanten p skjermen. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +Skjermen kan\nikke dras. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +Skjermen kan ikke dele\nvisningen sin med andre. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Bitmappen til skjermen er allokert\ni flettet modus. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +Skjermen pnes bak\nalle andre skjermer. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +Skjermen blir\nsystemets standardskjerm. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +Skjermen lukkes nr\ndet siste vinduet lukkes. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +Skjermen fr\n et lukkeikon. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Liste over tilgjengelige\nvisningsmoduser. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Informansjon om nvrende\nvisningsmodus. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Justering av overscan strrelsen. +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Bredden p skjermen\nmlt i piksler. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Hyden p skjermen\nmlt i piksler. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Dybden p skjermen\nmlt i plan. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Systempenner, flyttbare\ntil forskjellige farge pott. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Nvrende farge. Trykk\np feltet for endre den. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Fjern denne fargen\nfra gruppen. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Legg til en ny farge\ntil gruppen. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Avslutt og husk\nendringene for denne skjermen. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Avslutt og \33bglem\33n\nendringene for denne skjermen. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Vis alle definerte\noffentlige skjermer. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Opprette en ny\noffentlig skjerm. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Opprett en kopi av\nnvrende skjerm. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Slette nvrende\noffentlige skjerm. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Editer nvrende\noffentlige skjerm. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +pne nvrende\noffentlige skjerm. +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Lukk nvrende\noffentlige skjerm. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Hopp til nvrende\noffentlige skjerm. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Avslutt og lagre\nendringene til disk. +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Avslutt og lagre endringene\nfor nvrende sesjon. +; Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Avslutt og \n\33bglem\33n endringene. +; Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/polish.ct b/workbench/prefs/PSI/catalogs/polish.ct new file mode 100644 index 00000000000..5d3533960ef --- /dev/null +++ b/workbench/prefs/PSI/catalogs/polish.ct @@ -0,0 +1,617 @@ +## version $VER: psi.catalog 19.1 (29.04.2010) +## codeset 0 +## language polski +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROJECT_OPEN +Otwórz... +; Open... +; +MSG_MENU_PROJECT_APPEND +Dołącz... +; Append... +; +MSG_MENU_PROJECT_SAVEAS +Zapisz jako... +; Save As... +; +MSG_MENU_PROJECT_ABOUT +O programie... +; About... +; +MSG_MENU_PROJECT_QUIT +Skończ +; Quit +; +MSG_MENU_EDIT +Edycja +; Edit +; +MSG_MENU_EDIT_LASTSAVED +Ostatnio zapisane +; Last Saved +; +MSG_MENU_EDIT_RESTORE +Przywróć +; Restore +; +MSG_MENU_SETTINGS +Ustawienia +; Settings +; +MSG_MENU_SETTINGS_MUI +MUI... +; MUI... +; +MSG_MENU_COLORS +Kolory +; Colors +; +MSG_MENU_COLORS_PRESETS +ustawienia predefiniowane +; Presets +; +MSG_MENU_COLORS_PRESETS_2COL +ustawienia monochromatyczne +; Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL +ustawienia 4 kolorowe +; 4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL +ustawienia MagicWB +; MagicWB Settings +; +MSG_BUTTON_OK +_OK +; _OK +; +MSG_BUTTON_CANCEL +Poniechaj +; Cancel +; +MSG_BUTTON_SAVE +Zapisz +; Save +; +MSG_BUTTON_USE +Użyj +; Use +; +MSG_BUTTON_NEW +_Nowy +; _New +; +MSG_BUTTON_COPY +Sk_opiuj +; _Copy +; +MSG_BUTTON_DELETE +S_kasuj +; _Delete +; +MSG_BUTTON_EDIT +_Edytuj... +; _Edit... +; +MSG_BUTTON_OPEN +_Otwórz +; _Open +; +MSG_BUTTON_CLOSE +_Zamknij +; _Close +; +MSG_BUTTON_JUMP +Prze_jdź na +; _Jump +; +MSG_BUTTON_KILL +Zamknij ekran +; Kill +; +MSG_TITLE_PUBSCREENWINDOW +Edycja ekranu: +; Edit Screen: +; +MSG_TITLE_SAVE +Zapisz plik ekranu publicznego +; Save PublicScreen File +; +MSG_TITLE_OPEN +Wczytaj plik ekranu publicznego +; Load PublicScreen File +; +MSG_TITLE_APPEND +Dołącz plik ekranu publicznego +; Append PublicScreen File +; +MSG_LIST_SCREENNAME +Nazwa +; Name +; +MSG_LIST_SCREENMODE +Tryb wyświetlania +; Display Mode +; +MSG_LIST_UNKNOWNMODE +(nieznany) +; (unknown) +; +MSG_LIST_FOREIGNSCREEN +(zewnętrzny) +; (foreign) +; +MSG_LABEL_PUBLICNAME +_Nazwa publiczna: +; Public _Name: +; +MSG_LABEL_SCREENTITLE +_Tytuł ekranu: +; Screen _Title: +; +MSG_LABEL_DISPLAYMODE +Try_b wyświetlania: +; _Display Mode: +; +MSG_LABEL_DEFAULTFONT +Czcionka _domyślna: +; Default _Font: +; +MSG_LABEL_BACKGROUND +Tło: +; _Background: +; +MSG_LABEL_PUBLICFLAGS +Flagi: +; Flags: +; +MSG_LABEL_AUTOSCROLL +_Automatyczne przewijanie +; _Autoscroll +; +MSG_LABEL_NODRAG +Bez p_rzeciągania +; No D_rag +; +MSG_LABEL_EXCLUSIVE +_Wyłączny +; _Exclusive +; +MSG_LABEL_INTERLEAVED +Tryb _przeplatany +; _Interleaved +; +MSG_LABEL_OPENBEHIND +Otwórz pod spode_m +; Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +Dom_yślny ekran publiczny +; S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Zamykany automatycznie +; Auto Close +; +MSG_LABEL_CLOSEGADGET +Gadżet zamykania +; Close Gadget +; +MSG_LABEL_OVERSCAN +O_bszar ekranu: +; O_verscan: +; +MSG_LABEL_SIZE +_Wielkość: +; _Size: +; +MSG_LABEL_CROSS +_x +; _x +; +MSG_LABEL_DEPTH +_Głębia: +; _Depth: +; +MSG_LABEL_VISIBLE +Widoczna: +; Visible: +; +MSG_LABEL_MINIMUM +Minimalna: +; Minimum: +; +MSG_LABEL_MAXIMUM +Maksymalna: +; Maximum: +; +MSG_LABEL_BITSPERGUN +Bitów/działo: +; Bits/Gun: +; +MSG_LABEL_SCANRATE +Częstotliwość odświeżania pionowego: +; Scanrate: +; +MSG_LABEL_SCANLINE +Częstotliwość odświeżania poziomego: +; Scanline: +; +MSG_CLI_SCREENOPENED +Otworzono ekran (0).\n +; Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Nie udało się otworzyć ekranu (5).\n +; Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Zamknięto ekran (0).\n +; Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Nie udało się zamknąć ekranu (5).\n +; Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Błąd składni w linii poleceń (10).\n +; Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Nie odnaleziono ekranu (5).\n +; Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Brak pamięci (20).\n +; Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Nie udało się utworzyć aplikacji (20).\n +; Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Nie udało się otworzyć biblioteki muimaster.library v11 (20).\n +; Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Ilość ekranów: +; Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Nieznany tryb wyświetlania +; Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Zewnętrzny ekran publiczny +; Foreign public screen +; +MSG_PALETTE_TITLE +Paleta +; Palette +; +MSG_PALETTE_FIRST +Pierwsze 4 kolory +; First 4 colors +; +MSG_PALETTE_LAST +Ostatnie 4 kolory +; Last 4 colors +; +MSG_SYSPENS_TITLE +Pisaki systemowe +; System Pens +; +MSG_SYSPEN_DETAIL +Szczegóły +; Detail +; +MSG_SYSPEN_BLOCK +Blok +; Block +; +MSG_SYSPEN_TEXT +Tekst +; Text +; +MSG_SYSPEN_SHINE +Jasne krawędzie +; Shine +; +MSG_SYSPEN_SHADOW +Ciemne krawędzie +; Shadow +; +MSG_SYSPEN_FILL +Wypełnienie +; Fill +; +MSG_SYSPEN_FILLTEXT +Tekst wypełnienia +; Filltext +; +MSG_SYSPEN_BACKGROUND +Tło +; Background +; +MSG_SYSPEN_HIGHLIGHT +Podświetlenie +; Highlight +; +MSG_SYSPEN_BARDETAIL +Szczegóły belki ekranu +; Bardetail +; +MSG_SYSPEN_BARBLOCK +Belka ekranu +; Barblock +; +MSG_SYSPEN_BARTRIM +Podkreślenie belki ekranu +; Bartrim +; +MSG_PALPRES_TITLE +Zestaw kolorów +; Color Presets +; +MSG_PALPRES_STANDARD +0\0standardowy +; 0\0Standard +; +MSG_PALPRES_TINT +1\0zabarwiony +; 1\0Tint +; +MSG_PALPRES_PHARAO +2\0faraon +; 2\0Pharao +; +MSG_PALPRES_SUNSET +3\0wschód słońca +; 3\0Sunset +; +MSG_PALPRES_OCEAN +4\0ocean +; 4\0Ocean +; +MSG_PALPRES_STEEL +5\0stalo +; 5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0czekolada +; 6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0niebieskawoszary +; 7\0Pewter +; +MSG_PALPRES_WINE +8\0wino +; 8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; 9\0MagicWB +; +MSG_PALPRES_CLONEWB +klonuj paletę WB +; Clone WB +; +MSG_OVERSCAN_TEXT +Tekst +; Text +; +MSG_OVERSCAN_GRAPHICS +Grafika +; Graphics +; +MSG_OVERSCAN_EXTREME +Ekstremalny +; Extreme +; +MSG_OVERSCAN_MAXIMUM +Maksymalny +; Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Atrybuty +; Attributes +; +MSG_EDITPAGE_DISPLAY +Wyświetlanie +; Display +; +MSG_EDITPAGE_COLORS +Kolory +; Colors +; +MSG_HELP_WHEEL +Ustala kolor\n\ +dla grupy pisaków. +; Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Informacje o trybie\n\ +i wielkości. +; Information about\nmode & size. +; +MSG_HELP_NAME +Nazwa ekranu publicznego.\n\ +Dozwolone są znaki wieloznaczne\n\ +dla ekranów zewnętrznych. +; Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Tekst wyświetlany\n\ +na belce tytułowej ekranu. +; Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Domyślna czcionka\n\ +ekranu. +; Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Obrazek używany\n\ +jako tło ekranu. +; Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +Przewijanie ekranu gdy\n\ +wskaźnik myszki dotknie jego krawędzi. +; The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +Ekran jest\n\ +nieprzeciągalny. +; The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +Ekran nie może udostępniać\n\ +swojej zawartości. +; The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +Mapa bitowa ekranu będzie alokowana\n\ +w trybie przeplatanym. +; The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +Ekran będzie otwierany pod\n\ +wszystkimi innymi ekranami. +; The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +Ekran stanie się systemowym\n\ +domyślnym ekranem publicznym. +; The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +Ekran zostanie zamknięty\n\ +po zamknięciu ostatniego otwartego okna. +; The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +Ekran będzie posiadał\n\ +gadżet zamykania. +; The screen gets\na close gadget. +; +MSG_HELP_MODELIST +Lista dostępnych\n\ +trybów wyświetlania. +; List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Informacje o wybranym\n\ +trybie wyświetlania. +; Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Ustawienia obszaru ekranu. +; Overscan size adjustment. +; +MSG_HELP_WIDTH +Szerokość ekranu\n\ +mierzona w pikselach. +; Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Wysokość ekranu\n\ +mierzona w pikselach. +; Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Głębia ekranu\n\ +mierzona w bitplanach. +; Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +Pisaki systemowe, można je\n\ +przeciągać na inne pola. +; System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Wybrany kolor, kliknij\n\ +na polu by go zmienić. +; Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Usuwa wybrany kolor\n\ +z grupy. +; Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Dodaje nowy kolor\n\ +do grupy. +; Add a new color\nto the group. +; +MSG_HELP_EDITOK +Wychodzi i zapamiętuje\n\ +zmiany dla tego ekranu. +; Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Wychodzi i \33bporzuca\33n\n\ +zmiany dla tego ekranu. +; Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +Lista zdefiniowanych\n\ +ekranów publicznych. +; List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Tworzy nowy\n\ +ekran publiczny. +; Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Tworzy kopię\n\ +wybranego ekranu publicznego. +; Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Kasuje wybrany\n\ +ekran publiczny. +; Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Edytuje wybrany\n\ +ekran publiczny. +; Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Otwiera wybrany\n\ +ekran publiczny. +; Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Zamyka wybrany\n\ +ekran publiczny. +; Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Przeskakuje na wybrany\n\ +ekran publiczny. +; Jump to current\npublic screen. +; +MSG_HELP_SAVE +Opuszcza program\n\ +i zapisuje zmiany +; Exit and save\nchanges to disk. +; +MSG_HELP_USE +Opuszcza program i zapisuje\n\ +zmiany dla obecnej sesji. +; Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Opuszcza program \n\ +i \33bporzuca\33n zmiany. +; Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/psi.cd b/workbench/prefs/PSI/catalogs/psi.cd new file mode 100644 index 00000000000..c2ddf0d23bd --- /dev/null +++ b/workbench/prefs/PSI/catalogs/psi.cd @@ -0,0 +1,432 @@ +MSG_MENU_PROJECT (//) +Project +; +MSG_MENU_PROJECT_OPEN (//) +Open... +; +MSG_MENU_PROJECT_APPEND (//) +Append... +; +MSG_MENU_PROJECT_SAVEAS (//) +Save As... +; +MSG_MENU_PROJECT_ABOUT (//) +About... +; +MSG_MENU_PROJECT_QUIT (//) +Quit +; +MSG_MENU_EDIT (//) +Edit +; +MSG_MENU_EDIT_LASTSAVED (//) +Last Saved +; +MSG_MENU_EDIT_RESTORE (//) +Restore +; +MSG_MENU_SETTINGS (//) +Settings +; +MSG_MENU_SETTINGS_MUI (//) +MUI... +; +MSG_MENU_COLORS (//) +Colors +; +MSG_MENU_COLORS_PRESETS (//) +Presets +; +MSG_MENU_COLORS_PRESETS_2COL (//) +Monochrome Settings +; +MSG_MENU_COLORS_PRESETS_4COL (//) +4-Color Settings +; +MSG_MENU_COLORS_PRESETS_8COL (//) +MagicWB Settings +; +MSG_BUTTON_OK (//) +_OK +; +MSG_BUTTON_CANCEL (//) +Cancel +; +MSG_BUTTON_SAVE (//) +Save +; +MSG_BUTTON_USE (//) +Use +; +MSG_BUTTON_NEW (//) +_New +; +MSG_BUTTON_COPY (//) +_Copy +; +MSG_BUTTON_DELETE (//) +_Delete +; +MSG_BUTTON_EDIT (//) +_Edit... +; +MSG_BUTTON_OPEN (//) +_Open +; +MSG_BUTTON_CLOSE (//) +_Close +; +MSG_BUTTON_JUMP (//) +_Jump +; +MSG_BUTTON_KILL (//) +Kill +; +MSG_TITLE_PUBSCREENWINDOW (//) +Edit Screen: +; +MSG_TITLE_SAVE (//) +Save PublicScreen File +; +MSG_TITLE_OPEN (//) +Load PublicScreen File +; +MSG_TITLE_APPEND (//) +Append PublicScreen File +; +MSG_LIST_SCREENNAME (//) +Name +; +MSG_LIST_SCREENMODE (//) +Display Mode +; +MSG_LIST_UNKNOWNMODE (//) +(unknown) +; +MSG_LIST_FOREIGNSCREEN (//) +(foreign) +; +MSG_LABEL_PUBLICNAME (//) +Public _Name: +; +MSG_LABEL_SCREENTITLE (//) +Screen _Title: +; +MSG_LABEL_DISPLAYMODE (//) +_Display Mode: +; +MSG_LABEL_DEFAULTFONT (//) +Default _Font: +; +MSG_LABEL_BACKGROUND (//) +_Background: +; +MSG_LABEL_PUBLICFLAGS (//) +Flags: +; +MSG_LABEL_AUTOSCROLL (//) +_Autoscroll +; +MSG_LABEL_NODRAG (//) +No D_rag +; +MSG_LABEL_EXCLUSIVE (//) +_Exclusive +; +MSG_LABEL_INTERLEAVED (//) +_Interleaved +; +MSG_LABEL_OPENBEHIND (//) +Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT (//) +S_ystem Default +; +MSG_LABEL_AUTOCLOSE (//) +Auto Close +; +MSG_LABEL_CLOSEGADGET (//) +Close Gadget +; +MSG_LABEL_OVERSCAN (//) +O_verscan: +; +MSG_LABEL_SIZE (//) +_Size: +; +MSG_LABEL_CROSS (//) +_x +; +MSG_LABEL_DEPTH (//) +_Depth: +; +MSG_LABEL_VISIBLE (//) +Visible: +; +MSG_LABEL_MINIMUM (//) +Minimum: +; +MSG_LABEL_MAXIMUM (//) +Maximum: +; +MSG_LABEL_BITSPERGUN (//) +Bits/Gun: +; +MSG_LABEL_SCANRATE (//) +Scanrate: +; +MSG_LABEL_SCANLINE (//) +Scanline: +; +MSG_CLI_SCREENOPENED (//) +Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED (//) +Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED (//) +Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED (//) +Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR (//) +Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND (//) +Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY (//) +Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION (//) +Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER (//) +Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS (//) +Number of screens: +; +MSG_TEXT_UNKNOWNMODE (//) +Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN (//) +Foreign public screen +; +MSG_PALETTE_TITLE (//) +Palette +; +MSG_PALETTE_FIRST (//) +First 4 colors +; +MSG_PALETTE_LAST (//) +Last 4 colors +; +MSG_SYSPENS_TITLE (//) +System Pens +; +MSG_SYSPEN_DETAIL (//) +Detail +; +MSG_SYSPEN_BLOCK (//) +Block +; +MSG_SYSPEN_TEXT (//) +Text +; +MSG_SYSPEN_SHINE (//) +Shine +; +MSG_SYSPEN_SHADOW (//) +Shadow +; +MSG_SYSPEN_FILL (//) +Fill +; +MSG_SYSPEN_FILLTEXT (//) +Filltext +; +MSG_SYSPEN_BACKGROUND (//) +Background +; +MSG_SYSPEN_HIGHLIGHT (//) +Highlight +; +MSG_SYSPEN_BARDETAIL (//) +Bardetail +; +MSG_SYSPEN_BARBLOCK (//) +Barblock +; +MSG_SYSPEN_BARTRIM (//) +Bartrim +; +MSG_PALPRES_TITLE (//) +Color Presets +; +MSG_PALPRES_STANDARD (//) +0\0Standard +; +MSG_PALPRES_TINT (//) +1\0Tint +; +MSG_PALPRES_PHARAO (//) +2\0Pharao +; +MSG_PALPRES_SUNSET (//) +3\0Sunset +; +MSG_PALPRES_OCEAN (//) +4\0Ocean +; +MSG_PALPRES_STEEL (//) +5\0Steel +; +MSG_PALPRES_CHOCOLATE (//) +6\0Chocolate +; +MSG_PALPRES_PEWTER (//) +7\0Pewter +; +MSG_PALPRES_WINE (//) +8\0Wine +; +MSG_PALPRES_MAGICWB (//) +9\0MagicWB +; +MSG_PALPRES_CLONEWB (//) +Clone WB +; +MSG_OVERSCAN_TEXT (//) +Text +; +MSG_OVERSCAN_GRAPHICS (//) +Graphics +; +MSG_OVERSCAN_EXTREME (//) +Extreme +; +MSG_OVERSCAN_MAXIMUM (//) +Maximum +; +MSG_EDITPAGE_ATTRIBUTES (//) +Attributes +; +MSG_EDITPAGE_DISPLAY (//) +Display +; +MSG_EDITPAGE_COLORS (//) +Colors +; +MSG_HELP_WHEEL (//) +Adjust color for\ngroup of pens. +; +MSG_HELP_INFO (//) +Information about\nmode & size. +; +MSG_HELP_NAME (//) +Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE (//) +Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT (//) +Default font\nfor the screen. +; +MSG_HELP_BACKGROUND (//) +Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL (//) +The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG (//) +The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE (//) +The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED (//) +The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND (//) +The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT (//) +The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE (//) +The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET (//) +The screen gets\na close gadget. +; +MSG_HELP_MODELIST (//) +List of available\ndisplay modes. +; +MSG_HELP_MODEINFO (//) +Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN (//) +Overscan size adjustment. +; +MSG_HELP_WIDTH (//) +Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT (//) +Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH (//) +Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST (//) +System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD (//) +Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR (//) +Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR (//) +Add a new color\nto the group. +; +MSG_HELP_EDITOK (//) +Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL (//) +Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST (//) +List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN (//) +Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN (//) +Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN (//) +Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN (//) +Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN (//) +Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN (//) +Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN (//) +Jump to current\npublic screen. +; +MSG_HELP_SAVE (//) +Exit and save\nchanges to disk. +; +MSG_HELP_USE (//) +Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL (//) +Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/PSI/catalogs/russian.ct b/workbench/prefs/PSI/catalogs/russian.ct new file mode 100644 index 00000000000..1bcdc4c804d --- /dev/null +++ b/workbench/prefs/PSI/catalogs/russian.ct @@ -0,0 +1,435 @@ +## version $VER: PSI.catalog 1.0 (25.06.09) +## codeset 2104 +## language russian +MSG_MENU_PROJECT +Проект +;Project +MSG_MENU_PROJECT_OPEN +Открыть... +;Open... +MSG_MENU_PROJECT_APPEND +Добавить... +;Append... +MSG_MENU_PROJECT_SAVEAS +Сохранить как... +;Save As... +MSG_MENU_PROJECT_ABOUT +О проекте... +;About... +MSG_MENU_PROJECT_QUIT +Выход +;Quit +MSG_MENU_EDIT +Правка +;Edit +MSG_MENU_EDIT_LASTSAVED +Последнее сохранение +;Last Saved +MSG_MENU_EDIT_RESTORE +Восстановть +;Restore +MSG_MENU_SETTINGS +Настройки +;Settings +MSG_MENU_SETTINGS_MUI +Настройки MUI... +;MUI... +MSG_MENU_COLORS +Цвета +;Colors +MSG_MENU_COLORS_PRESETS +Цветовые шаблоны +;Presets +MSG_MENU_COLORS_PRESETS_2COL +Монохромные +;Monochrome Settings +MSG_MENU_COLORS_PRESETS_4COL +4х-цветные +;4-Color Settings +MSG_MENU_COLORS_PRESETS_8COL +Настройки MagicWB +;MagicWB Settings +MSG_BUTTON_OK +_OK +; +MSG_BUTTON_CANCEL +Cancel +; +MSG_BUTTON_SAVE +Save +; +MSG_BUTTON_USE +Use +; +MSG_BUTTON_NEW +_New +; +MSG_BUTTON_COPY +_Copy +; +MSG_BUTTON_DELETE +_Delete +; +MSG_BUTTON_EDIT +_Edit... +; +MSG_BUTTON_OPEN +_Open +; +MSG_BUTTON_CLOSE +_Close +; +MSG_BUTTON_JUMP +_Jump +; +MSG_BUTTON_KILL +Kill +; +MSG_TITLE_PUBSCREENWINDOW +Edit Screen: +; +MSG_TITLE_SAVE +Save PublicScreen File +; +MSG_TITLE_OPEN +Load PublicScreen File +; +MSG_TITLE_APPEND +Append PublicScreen File +; +MSG_LIST_SCREENNAME +Name +; +MSG_LIST_SCREENMODE +Display Mode +; +MSG_LIST_UNKNOWNMODE +(unknown) +; +MSG_LIST_FOREIGNSCREEN +(foreign) +; +MSG_LABEL_PUBLICNAME +Public _Name: +; +MSG_LABEL_SCREENTITLE +Screen _Title: +; +MSG_LABEL_DISPLAYMODE +_Display Mode: +; +MSG_LABEL_DEFAULTFONT +Default _Font: +; +MSG_LABEL_BACKGROUND +_Background: +; +MSG_LABEL_PUBLICFLAGS +Flags: +; +MSG_LABEL_AUTOSCROLL +_Autoscroll +; +MSG_LABEL_NODRAG +No D_rag +; +MSG_LABEL_EXCLUSIVE +_Exclusive +; +MSG_LABEL_INTERLEAVED +_Interleaved +; +MSG_LABEL_OPENBEHIND +Open Be_hind +; +MSG_LABEL_SYSTEMDEFAULT +S_ystem Default +; +MSG_LABEL_AUTOCLOSE +Auto Close +; +MSG_LABEL_CLOSEGADGET +Close Gadget +; +MSG_LABEL_OVERSCAN +O_verscan: +; +MSG_LABEL_SIZE +_Size: +; +MSG_LABEL_CROSS +_x +; +MSG_LABEL_DEPTH +_Depth: +; +MSG_LABEL_VISIBLE +Visible: +; +MSG_LABEL_MINIMUM +Minimum: +; +MSG_LABEL_MAXIMUM +Maximum: +; +MSG_LABEL_BITSPERGUN +Bits/Gun: +; +MSG_LABEL_SCANRATE +Scanrate: +; +MSG_LABEL_SCANLINE +Scanline: +; +MSG_CLI_SCREENOPENED +Screen opened (0).\n +; +MSG_CLI_SCREENOPENFAILED +Failed to open screen (5).\n +; +MSG_CLI_SCREENCLOSED +Screen closed (0).\n +; +MSG_CLI_SCREENCLOSEFAILED +Failed to close screen (5).\n +; +MSG_CLI_SYNTAXERROR +Syntax Error in command line (10).\n +; +MSG_CLI_SCREENNOTFOUND +Screen not found (5).\n +; +MSG_CLI_OUTOFMEMORY +Out of memory (20).\n +; +MSG_CLI_NOAPPLICATION +Failed to create application (20).\n +; +MSG_CLI_NOMUIMASTER +Failed to open muimaster.library V11 (20).\n +; +MSG_ABOUT_NUMBEROFSCREENS +Number of screens: +; +MSG_TEXT_UNKNOWNMODE +Unknown Display Mode +; +MSG_TEXT_FOREIGNSCREEN +Foreign public screen +; +MSG_PALETTE_TITLE +Palette +; +MSG_PALETTE_FIRST +First 4 colors +; +MSG_PALETTE_LAST +Last 4 colors +; +MSG_SYSPENS_TITLE +System Pens +; +MSG_SYSPEN_DETAIL +Detail +; +MSG_SYSPEN_BLOCK +Block +; +MSG_SYSPEN_TEXT +Text +; +MSG_SYSPEN_SHINE +Shine +; +MSG_SYSPEN_SHADOW +Shadow +; +MSG_SYSPEN_FILL +Fill +; +MSG_SYSPEN_FILLTEXT +Filltext +; +MSG_SYSPEN_BACKGROUND +Background +; +MSG_SYSPEN_HIGHLIGHT +Highlight +; +MSG_SYSPEN_BARDETAIL +Bardetail +; +MSG_SYSPEN_BARBLOCK +Barblock +; +MSG_SYSPEN_BARTRIM +Bartrim +; +MSG_PALPRES_TITLE +Color Presets +; +MSG_PALPRES_STANDARD +0\0Standard +; +MSG_PALPRES_TINT +1\0Tint +; +MSG_PALPRES_PHARAO +2\0Pharao +; +MSG_PALPRES_SUNSET +3\0Sunset +; +MSG_PALPRES_OCEAN +4\0Ocean +; +MSG_PALPRES_STEEL +5\0Steel +; +MSG_PALPRES_CHOCOLATE +6\0Chocolate +; +MSG_PALPRES_PEWTER +7\0Pewter +; +MSG_PALPRES_WINE +8\0Wine +; +MSG_PALPRES_MAGICWB +9\0MagicWB +; +MSG_PALPRES_CLONEWB +Clone WB +; +MSG_OVERSCAN_TEXT +Text +; +MSG_OVERSCAN_GRAPHICS +Graphics +; +MSG_OVERSCAN_EXTREME +Extreme +; +MSG_OVERSCAN_MAXIMUM +Maximum +; +MSG_EDITPAGE_ATTRIBUTES +Attributes +; +MSG_EDITPAGE_DISPLAY +Display +; +MSG_EDITPAGE_COLORS +Colors +; +MSG_HELP_WHEEL +Adjust color for\ngroup of pens. +; +MSG_HELP_INFO +Information about\nmode & size. +; +MSG_HELP_NAME +Name of Public Screen.\nWildcards allowed for\nforeign screens. +; +MSG_HELP_TITLE +Text that appears in\nthe screen's title bar. +; +MSG_HELP_FONT +Default font\nfor the screen. +; +MSG_HELP_BACKGROUND +Datatype picture used\nas background pattern. +; +MSG_HELP_AUTOSCROLL +The screen scrolls when\nthe mouse hits its borders. +; +MSG_HELP_NODRAG +The screen\nis undraggable. +; +MSG_HELP_EXCLUSIVE +The screen cannot share\nits display with others. +; +MSG_HELP_INTERLEAVED +The screen's bitmap is allocated\nin interleaved mode. +; +MSG_HELP_BEHIND +The screen opens behind\nall other screens. +; +MSG_HELP_SYSTEMDEFAULT +The screen becomes the\nsystem's default screen. +; +MSG_HELP_AUTOCLOSE +The screen closes when\nthe last window is closed. +; +MSG_HELP_CLOSEGADGET +The screen gets\na close gadget. +; +MSG_HELP_MODELIST +List of available\ndisplay modes. +; +MSG_HELP_MODEINFO +Information about the\ncurrent display mode. +; +MSG_HELP_OVERSCAN +Overscan size adjustment. +; +MSG_HELP_WIDTH +Width of screen,\nmeasured in pixels. +; +MSG_HELP_HEIGHT +Height of screen,\nmeasured in pixels. +; +MSG_HELP_DEPTH +Depth of screen,\nmeasured in planes. +; +MSG_HELP_PENLIST +System pens, draggable\nto different color pot. +; +MSG_HELP_COLORFIELD +Current color, click\non field to change it. +; +MSG_HELP_KILLCOLOR +Remove this color\nfrom the group. +; +MSG_HELP_NEWCOLOR +Add a new color\nto the group. +; +MSG_HELP_EDITOK +Exit and remember\nchanges for this screen. +; +MSG_HELP_EDITCANCEL +Exit and \33bdiscard\33n\nchanges for this screen. +; +MSG_HELP_SCREENLIST +List of defined\npublic screens. +; +MSG_HELP_NEWSCREEN +Create a new\npublic screen. +; +MSG_HELP_COPYSCREEN +Create a copy\nof current screen. +; +MSG_HELP_DELETESCREEN +Delete current\npublic screen. +; +MSG_HELP_EDITSCREEN +Edit current\npublic screen. +; +MSG_HELP_OPENSCREEN +Open current\npublic screen. +; +MSG_HELP_CLOSESCREEN +Close current\npublic screen. +; +MSG_HELP_JUMPSCREEN +Jump to current\npublic screen. +; +MSG_HELP_SAVE +Exit and save\nchanges to disk. +; +MSG_HELP_USE +Exit and save changes\nfor current session. +; +MSG_HELP_CANCEL +Exit and\n\33bdiscard\33n changes. +; diff --git a/workbench/prefs/Zune/catalogs b/workbench/prefs/Zune/catalogs deleted file mode 160000 index 7756ed14d73..00000000000 --- a/workbench/prefs/Zune/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7756ed14d73f94e3ba07759c42a65685b6f0221e diff --git a/workbench/prefs/Zune/catalogs/.gitattributes b/workbench/prefs/Zune/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/Zune/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/Zune/catalogs/croatian.ct b/workbench/prefs/Zune/catalogs/croatian.ct new file mode 100644 index 00000000000..8035b8086d1 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/croatian.ct @@ -0,0 +1,923 @@ +## version $VER: Zune.catalog 2.1 (23.12.2019) +## language hrvatski +## codeset 0 +; +; +; buttonsp.c +;----------- +MSG_GENERAL +Općenito +; General +; +MSG_BACKGROUND_COLON +Podloga: +; Background: +; +MSG_BACKGROUND_PRESSED +Podloga u\npritisnutom stanje: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Tekst Dugma +; Text Buttons +; +MSG_FRAME_COLON +Okvir +; Frame: +; +MSG_FONT +Slovo: +; Font: +; +MSG_IMAGE_BUTTONS +Slike Dugma +; Image Buttons +; +MSG_ADJUST_FRAME +Podesi Okvir +; Adjust Frame +; +MSG_CHECKMARKS +Knačice +; Checkmarks +; +MSG_LOOK_COLON +Izgled: +; Look: +; +MSG_CHECKMARK +Kvačica +; Checkmark +; +MSG_RADIO_BUTTONS +Radio Dugma +; Radio Buttons +; +MSG_RADIOBUTTON +Radiodugme +; Radiobutton +; +MSG_LOOK +Izgled +; Look +; +MSG_H +H +; H +; +MSG_V +V +; V +; +MSG_SPACING +Razmak +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +ispod +; below +; +MSG_ON_ACTIVE +na aktivnom +; on active +; +MSG_CYCLE_GADGET_DESIGN +Izgled Slijeda +; Cycle Gadget Design +; +MSG_CYCLE +Slijed +; Cycle +; +MSG_POPUP_MENU_CONTROL +Popup Izbornik +; Popup Menu Control +; +MSG_POSITION +Pozicija: +; Position: +; +MSG_LEVEL +Level: +; Level: +; +MSG_SPEED +Brzina: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Popup Izbornik Izgled +; Popup Menu Design +; +MSG_FRAME +Okvir +; Frame +; +MSG_ADJUST_BACKGROUND +Podesi Podlogu +; Adjust Background +; +MSG_BACKGROUND +Podloga +; Background +; +MSG_RECESSED_ENTRIES +Raspušten Natuknice: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +iznad +; above +; +MSG_CENTERED +centrirano +; centered +; +MSG_STANDARD +standardno +; standard +; +MSG_HILITE +posvjetljeno +; hilite +; +MSG_3D +3D +; 3d +; +MSG_OUTLINE +vanjski obrisi +; outline +; +MSG_TITLE +Naslov +; Title +; +MSG_COLOR +Boja: +; Color: +; +MSG_HORIZONTAL +Horizontalno: +; Horizontal: +; +MSG_VERTICAL +Vertikalno: +; Vertical: +; +MSG_REGISTER +Registracija +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Postavljena veličina\nskračeni naslova +; Default size truncate titles +; +MSG_NORMAL +Normal +; Normal +; +MSG_VIRTUAL +Virtual +; Virtual +; +MSG_FRAMED +Okvir +; Framed +; +MSG_PAGE +Stranica +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +izdignuto +; shifted +; +MSG_ALWAYS +uvijek +; always +; +MSG_LINEAR +pravocrtan +; linear +; +MSG_MIXED +mješano +; mixed +; +MSG_CONTROL +Kontrola +; Control +; +MSG_MULTI +Multi: +; Multi: +; +MSG_REFRESH +Obnovi: +; Refresh: +; +MSG_SMOOTH +Uglađeno: +; Smooth: +; +MSG_FONTS +Slova +; Fonts +; +MSG_NORMAL_COLON +Normalno: +; Normal: +; +MSG_FIXED +Fiksirano: +; Fixed: +; +MSG_LEADING +Vodeći +; Leading +; +MSG_DESIGN +Dizajn +; Design +; +MSG_INPUT_LISTS +Ulaz \nListe: +; Input \nLists: +; +MSG_READONLY_LISTS +Readonly \nListe: +; Readonly \nLists: +; +MSG_CURSOR +Pokazivač +; Cursor +; +MSG_ACTIVE +Aktivno: +; Active: +; +MSG_ACTIVE_SELECTED +Aktivno &\nIzabrano: +; Active &\nSelected: +; +MSG_SELECTED +Izabrano: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +uvijek trajan +; always solid +; +MSG_GHOSTED_ON_BOX +prividno na kutije +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +prividno izvan kutije +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +uvijek prividno +; always ghosted +; +MSG_SHOW_FRAMES +prikaži okvire +; show frames +; +MSG_SHOW_OBJECTS +prikaži objekte +; show objects +; +MSG_KL_PRESS +Pritinuto: +; Press: +; +MSG_KL_TOGGLE +Preklopno: +; Toggle: +; +MSG_KL_UP +Gore: +; Up: +; +MSG_KL_DOWN +Dolje: +; Down: +; +MSG_KL_PAGE_UP +Strana gore: +; Page up: +; +MSG_KL_PAGE_DOWN +Strana dolje: +; Page down: +; +MSG_KL_TOP +Vrh: +; Top: +; +MSG_KL_BOTTOM +Dno: +; Bottom: +; +MSG_KL_LEFT +Lijevo: +; Left: +; +MSG_KL_RIGHT +Desno: +; Right: +; +MSG_KL_WORD_LEFT +Riječ lijevo: +; Word left: +; +MSG_KL_WORD_RIGHT +Riječ desno: +; Word right: +; +MSG_KL_LINE_START +Početak linije: +; Line start: +; +MSG_KL_LINE_END +Kraj linije: +; Line end: +; +MSG_KL_NEXT_GADGET +Slijedeći gadget: +; Next gadget: +; +MSG_KL_PREV_GADGET +Prošli gadget: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Iskljućen gadget: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Zatvori prozor: +; Close window: +; +MSG_KL_NEXT_WINDOW +Slijedeći prozor: +; Next window: +; +MSG_KL_PREV_WINDOW +Prošli prozor: +; Prev. window: +; +MSG_KL_HELP +Pomoć: +; Help: +; +MSG_KL_POPUP +Popup: +; Popup: +; +MSG_DRAG_DROP +Drag & Drop +; Drag & Drop +; +MSG_LEFT_BUTTON +Lijevo Dugme: +; Left Button: +; +MSG_MIDDLE_BUTTON +Middle Button: +; Middle Button: +; +MSG_AUTOSTART +Autostart: +; Autostart: +; +MSG_PIXEL +%ld piksel +; %ld pixel +; +MSG_BALANCING_GROUPS +Balansirajuče Grupe +; Balancing Groups +; +MSG_EXAMPLE +Prijemer: +; Example: +; +MSG_TRY_WITH +Pokušaj sa +; Try with +; +MSG_SHIFT +izdigni +; shift +; +MSG_TOO +isto! +; too! +; +MSG_KEYBOARD_CONTROL +Kontrola preko Tipkovnica +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Boja aktivnog objekta: +; Color of active object: +; +MSG_NEWLOOK +newlook +; newlook +; +MSG_CUSTOM +vlastito +; custom +; +MSG_ARROWS +Strelice +; Arrows +; +MSG_UP +gore +; up +; +MSG_ARROW_UP +Strelica gore +; Arrow up +; +MSG_ARROW_DOWN +Strelica dolje +; Arrow down +; +MSG_DOWN +dolje +; down +; +MSG_LEFT +lijevo +; left +; +MSG_ARROW_LEFT +Strelica lijevo +; Arrow left +; +MSG_ARROW_RIGHT +Arrow desno +; Arrow right +; +MSG_RIGHT +desno +; right +; +MSG_BAR +Traka +; Bar +; +MSG_GADGET_TYPE +Tip Gadget-a: +; Gadget Type: +; +MSG_SCROLLER +Scroller +; Scroller +; +MSG_KNOB +Knob +; Knob +; +MSG_ARRANGEMENT +Razvrstavanje +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Izgled Kontejnera +; Container Design +; +MSG_KNOB_DESIGN +Izgled Knob-a +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Primjer Slajdera +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Polje teksta +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Primjer Polja Teksta +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Indikator Progresa +; Progress Indicator +; +MSG_DEVICE_IMAGES +Slike Uređaja +; Device Images +; +MSG_DRAWER +Mapa +; Drawer +; +MSG_HARDDISK +Harddisk +; Harddisk +; +MSG_DISK +Disk +; Disk +; +MSG_RAM +RAM +; RAM +; +MSG_VOLUME +Volume +; Volume +; +MSG_NETWORK +Network +; Network +; +MSG_ASSIGN +Assign +; Assign +; +MSG_TAPE_IMAGES +Tape Slike +; Tape Images +; +MSG_TAPE_PLAY +Tape play +; Tape play +; +MSG_TAPE_PLAYBACK +Tape playback +; Tape playback +; +MSG_TAPE_PAUSE +Tape pause +; Tape pause +; +MSG_TAPE_STOP +Tape stop +; Tape stop +; +MSG_TAPE_RECORD +Tape record +; Tape record +; +MSG_TAPE_UP +Tape gore +; Tape up +; +MSG_TAPE_DOWN +Tape dolje +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Okvir Niza +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Posebna Popup Dugma +; Special Popup Buttons +; +MSG_POPUP +Popup +; Popup +; +MSG_DEFAULT +Postavljeno +; Default +; +MSG_FILE +Datoteka +; File +; +MSG_POPUP_FILE +Popup datoteka +; Popup file +; +MSG_POPUP_DRAWER +Popup mapa +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Boja Neaktivnog Niza +; Inactive String Colors +; +MSG_TEXT +Tekst +; Text +; +MSG_ACTIVE_STRING_COLORS +Boja Aktivnog Niza +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Označene Boje niza +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Primjer Niz Gadgeta +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +zaboravi na izlazu +; forget on exit +; +MSG_REMEMBER_ON_EXIT +zapamti na izlazu +; remember on exit +; +MSG_SAVE_ON_EXIT +spremi na izlazu +; save on exit +; +MSG_SMART +pametno +; smart +; +MSG_SIMPLE +jednostavno +; simple +; +MSG_WITHOUT_CLEAR +sa čiščenjem +; without clear +; +MSG_WITH_CLEAR +bez čiščenja +; with clear +; +MSG_POSITIONS +Pozicija: +; Positions: +; +MSG_REDRAW +Redraw: +; Redraw: +; +MSG_TINY +Malo: +; Tiny: +; +MSG_BIG +Veliko: +; Big: +; +MSG_WINDOW +Prozor +; Window +; +MSG_REQUESTER +Birač +; Requester +; +MSG_L +L +; L +; +MSG_T +G +; T +; +MSG_R +D +; R +; +MSG_B +D +; B +; +MSG_BUTTONS +Dugma +; Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - Opće Postavke +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - Postavke za : %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_OPEN +Otvori... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Dodati... +; Append ... +; +MSG_MEN_SAVEAS +Spremi Kao... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +O Programu... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Izlaz +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Okvir međuspremnika +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Slika međuspremnika +; Image Clipboard +; +MSG_GAD_TEST +_Test +; _Test +; +MSG_GAD_SAVE +_Spremi +; _Save +; +MSG_GAD_USE +Koristi +; _Use +; +MSG_GAD_CANCEL +Odustani +; _Cancel +; +MSG_DSC_SYSTEM +Sustav +; System +; +MSG_DSC_WINDOWS +Prozori +; Windows +; +MSG_DSC_GROUPS +Grupe +; Groups +; +MSG_DSC_BUTTONS +Dugma +; Buttons +; +MSG_DSC_CYCLES +Slijedovi +; Cycles +; +MSG_DSC_SLIDERS +Klizači +; Sliders +; +MSG_DSC_SCROLLBARS +Klizne Trake +; Scrollbars +; +MSG_DSC_LISTVIEWS +Liste +; Listviews +; +MSG_DSC_STRINGS +Nizovi +; Strings +; +MSG_DSC_NAVIGATION +Navigacije +; Navigation +; +MSG_DSC_SPECIAL +Specijalno +; Special +; +MSG_DSC_FRAMES +Okviri +; Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Podesi Pen (izabrana boja) +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Vlastitiokviri +; Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Javni Zaslon +; Public Screen +; +MSG_NAME +Ime: +; Name: +; +MSG_CALL_INSPECTOR +Otvori PSI +; Call Inspector +; +MSG_POP_TO_FRONT +Prebaci naprijed: +; Pop to front: +; +MSG_ICONIFICATION +Ikonifikacija +; Iconification +; +MSG_HOTKEY +Hotkey: +; Hotkey: +; +MSG_SHOW +Prikaži: +; Show: +; +MSG_ICON +Ikona +; Icon +; +MSG_MENU +Izbornik +; Menu +; +MSG_ON_STARTUP +Na Startup-u: +; On Startup: +; +MSG_INTERFACES +Sučelja +; Interfaces +; +MSG_AREXX +ARexx: +; ARexx: +; +MSG_BUBBLE_HELP +Mjehurić Pomoći +; Bubble Help +; +MSG_FIRST_BUBBLE +Prvi Mjehurić: +; First Bubble: +; +MSG_NEXT_BUBBLE +Slijedeći Mjehurić: +; Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/czech.ct b/workbench/prefs/Zune/catalogs/czech.ct new file mode 100644 index 00000000000..a9a35e333c8 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/czech.ct @@ -0,0 +1,923 @@ +## version $VER: Zune.catalog 2.1 (23.12.2019) +## language czech +## codeset 0 +; +; +; buttonsp.c +;----------- +MSG_GENERAL +Obecné +; General +; +MSG_BACKGROUND_COLON +Pozadí\nnormální: +; Background: +; +MSG_BACKGROUND_PRESSED +Pozadí\npři zmáčknutí: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Textová tlačítka +; Text Buttons +; +MSG_FRAME_COLON +Rámeček: +; Frame: +; +MSG_FONT +Písmo: +; Font: +; +MSG_IMAGE_BUTTONS +Grafické symboly +; Image Buttons +; +MSG_ADJUST_FRAME +Upravit rámeček +; Adjust Frame +; +MSG_CHECKMARKS +Zatržení +; Checkmarks +; +MSG_LOOK_COLON +Vzhled: +; Look: +; +MSG_CHECKMARK +Zatržení +; Checkmark +; +MSG_RADIO_BUTTONS +Přepínače +; Radio Buttons +; +MSG_RADIOBUTTON +Přepínač +; Radiobutton +; +MSG_LOOK +Vzhled +; Look +; +MSG_H +H +; H +; +MSG_V +V +; V +; +MSG_SPACING +Rozestup +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +Rozbalit směrem dolů +; below +; +MSG_ON_ACTIVE +Rozbalit na aktivní +; on active +; +MSG_CYCLE_GADGET_DESIGN +Vzhled tlačítka +; Cycle Gadget Design +; +MSG_CYCLE +Cyklovací tlačítko +; Cycle +; +MSG_POPUP_MENU_CONTROL +Funkce +; Popup Menu Control +; +MSG_POSITION +Metoda: +; Position: +; +MSG_LEVEL +Úroveň: +; Level: +; +MSG_SPEED +Rychlost: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Vzhled menu +; Popup Menu Design +; +MSG_FRAME +Rámeček +; Frame +; +MSG_ADJUST_BACKGROUND +Definice pozadí +; Adjust Background +; +MSG_BACKGROUND +Pozadí +; Background +; +MSG_RECESSED_ENTRIES +Vybrané položky: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +Nad řádkem +; above +; +MSG_CENTERED +Vystředěný +; centered +; +MSG_STANDARD +Standardní +; standard +; +MSG_HILITE +Zvýrazněný +; hilite +; +MSG_3D +Prostorový +; 3d +; +MSG_OUTLINE +Obrysový +; outline +; +MSG_TITLE +Text záhlaví +; Title +; +MSG_COLOR +Barva: +; Color: +; +MSG_HORIZONTAL +Vodorovně: +; Horizontal: +; +MSG_VERTICAL +Svisle: +; Vertical: +; +MSG_REGISTER +Záložka +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Zkracovat text v záhlaví +; Default size truncate titles +; +MSG_NORMAL +Normální +; Normal +; +MSG_VIRTUAL +Vnořený +; Virtual +; +MSG_FRAMED +Rámeček +; Framed +; +MSG_PAGE +Stránka +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +Pomocí Shift +; shifted +; +MSG_ALWAYS +Standardně +; always +; +MSG_LINEAR +Lineární +; linear +; +MSG_MIXED +Kombinované +; mixed +; +MSG_CONTROL +Funkce +; Control +; +MSG_MULTI +Více položek: +; Multi: +; +MSG_REFRESH +Obnovení: +; Refresh: +; +MSG_SMOOTH +Plynulost: +; Smooth: +; +MSG_FONTS +Písma +; Fonts +; +MSG_NORMAL_COLON +Normální: +; Normal: +; +MSG_FIXED +Fixní: +; Fixed: +; +MSG_LEADING +Rozestup +; Leading +; +MSG_DESIGN +Vzhled +; Design +; +MSG_INPUT_LISTS +K zadání\núdajů: +; Input \nLists: +; +MSG_READONLY_LISTS +K výpisu\núdajů: +; Readonly \nLists: +; +MSG_CURSOR +Kurzor +; Cursor +; +MSG_ACTIVE +Aktivní: +; Active: +; +MSG_ACTIVE_SELECTED +Aktivní a\nvybraná: +; Active &\nSelected: +; +MSG_SELECTED +Vybraná: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +Neměnit vzhled táhnutého objektu +; always solid +; +MSG_GHOSTED_ON_BOX +Zešednout nad cílovou oblastí +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +Zešednout mimo cílovou oblast +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +Zešednout na celou dobu táhnutí +; always ghosted +; +MSG_SHOW_FRAMES +Zobrazit rámečky +; show frames +; +MSG_SHOW_OBJECTS +Zobrazit objekty +; show objects +; +MSG_KL_PRESS +Zmáčknutí: +; Press: +; +MSG_KL_TOGGLE +Přepnutí: +; Toggle: +; +MSG_KL_UP +Nahoru: +; Up: +; +MSG_KL_DOWN +Dolů: +; Down: +; +MSG_KL_PAGE_UP +O stranu nahoru: +; Page up: +; +MSG_KL_PAGE_DOWN +O stranu dolů: +; Page down: +; +MSG_KL_TOP +První položka: +; Top: +; +MSG_KL_BOTTOM +Poslední položka: +; Bottom: +; +MSG_KL_LEFT +Doleva: +; Left: +; +MSG_KL_RIGHT +Doprava: +; Right: +; +MSG_KL_WORD_LEFT +O slovo doleva: +; Word left: +; +MSG_KL_WORD_RIGHT +O slovo doprava: +; Word right: +; +MSG_KL_LINE_START +Začátek řádku: +; Line start: +; +MSG_KL_LINE_END +Konec řádku: +; Line end: +; +MSG_KL_NEXT_GADGET +Další objekt: +; Next gadget: +; +MSG_KL_PREV_GADGET +Předch. objekt: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Deaktivace: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Zavření okna: +; Close window: +; +MSG_KL_NEXT_WINDOW +Další okno: +; Next window: +; +MSG_KL_PREV_WINDOW +Předch. okno: +; Prev. window: +; +MSG_KL_HELP +Nápověda: +; Help: +; +MSG_KL_POPUP +Výběr objektu: +; Popup: +; +MSG_DRAG_DROP +Táhnout a pustit +; Drag & Drop +; +MSG_LEFT_BUTTON +Levé tlačítko: +; Left Button: +; +MSG_MIDDLE_BUTTON +Střední tlačítko: +; Middle Button: +; +MSG_AUTOSTART +Autom. aktivovat: +; Autostart: +; +MSG_PIXEL +%ld pix. +; %ld pixel +; +MSG_BALANCING_GROUPS +Vyvážení skupin +; Balancing Groups +; +MSG_EXAMPLE +Ukázka: +; Example: +; +MSG_TRY_WITH +Zkuste i +; Try with +; +MSG_SHIFT +s klávesou +; shift +; +MSG_TOO +Shift! +; too! +; +MSG_KEYBOARD_CONTROL +Ovládání z klávesnice +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Barva aktivního objektu: +; Color of active object: +; +MSG_NEWLOOK +Typ Newlook +; newlook +; +MSG_CUSTOM +Vlastní +; custom +; +MSG_ARROWS +Šipky +; Arrows +; +MSG_UP +Nahoru +; up +; +MSG_ARROW_UP +Šipka nahoru +; Arrow up +; +MSG_ARROW_DOWN +Šipka dolů +; Arrow down +; +MSG_DOWN +Dolů +; down +; +MSG_LEFT +Vlevo +; left +; +MSG_ARROW_LEFT +Šipka vlevo +; Arrow left +; +MSG_ARROW_RIGHT +Šipka vpravo +; Arrow right +; +MSG_RIGHT +Vpravo +; right +; +MSG_BAR +Lišta +; Bar +; +MSG_GADGET_TYPE +Druh objektu: +; Gadget Type: +; +MSG_SCROLLER +Posuvník +; Scroller +; +MSG_KNOB +Knoflík +; Knob +; +MSG_ARRANGEMENT +Umístění +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Vzhled vnitřní části +; Container Design +; +MSG_KNOB_DESIGN +Vzhled knoflíku +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Ukázka +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Textová pole +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Ukázka textového pole +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Ukazatel průběhu +; Progress Indicator +; +MSG_DEVICE_IMAGES +Symboly zařízení +; Device Images +; +MSG_DRAWER +Adresář +; Drawer +; +MSG_HARDDISK +Pevný disk +; Harddisk +; +MSG_DISK +Disk +; Disk +; +MSG_RAM +Paměť +; RAM +; +MSG_VOLUME +Médium +; Volume +; +MSG_NETWORK +Síťové zařízení +; Network +; +MSG_ASSIGN +Přiřazení +; Assign +; +MSG_TAPE_IMAGES +Symboly pro přehrávač +; Tape Images +; +MSG_TAPE_PLAY +Přehrát +; Tape play +; +MSG_TAPE_PLAYBACK +Přehrát pozpátku +; Tape playback +; +MSG_TAPE_PAUSE +Pauza +; Tape pause +; +MSG_TAPE_STOP +Zastavit +; Tape stop +; +MSG_TAPE_RECORD +Nahrávat +; Tape record +; +MSG_TAPE_UP +Vysunout médium +; Tape up +; +MSG_TAPE_DOWN +Vložit médium +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Rámeček textového pole +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Speciální symboly +; Special Popup Buttons +; +MSG_POPUP +Výběr objektu +; Popup +; +MSG_DEFAULT +Výchozí +; Default +; +MSG_FILE +Soubor +; File +; +MSG_POPUP_FILE +Symbol pro soubor +; Popup file +; +MSG_POPUP_DRAWER +Symbol pro adresář +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Barvy pro neaktivní pole +; Inactive String Colors +; +MSG_TEXT +Text +; Text +; +MSG_ACTIVE_STRING_COLORS +Barvy pro aktivní pole +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Barvy pro označený text +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Ukázka textového pole +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +Vůbec neukládat +; forget on exit +; +MSG_REMEMBER_ON_EXIT +Uložit dočasně (do restartu) +; remember on exit +; +MSG_SAVE_ON_EXIT +Uložit trvale +; save on exit +; +MSG_SMART +Vylepšené +; smart +; +MSG_SIMPLE +Jednoduché +; simple +; +MSG_WITHOUT_CLEAR +Pomalé +; without clear +; +MSG_WITH_CLEAR +Rychlé +; with clear +; +MSG_POSITIONS +Umístění: +; Positions: +; +MSG_REDRAW +Překreslení: +; Redraw: +; +MSG_TINY +Malé: +; Tiny: +; +MSG_BIG +Velké: +; Big: +; +MSG_WINDOW +Pro okno +; Window +; +MSG_REQUESTER +Pro dotaz +; Requester +; +MSG_L +L +; L +; +MSG_T +T +; T +; +MSG_R +R +; R +; +MSG_B +B +; B +; +MSG_BUTTONS +Tlačítka +; Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Globální nastavení Zune +; Zune - Global Prefs +; +MSG_WINTITLE2 +Nastavení Zune pro %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_OPEN +Otevřít... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Připojit... +; Append ... +; +MSG_MEN_SAVEAS +Uložit jako... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +O Zune... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Ukončit +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Výběr rámečku +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Výběr obrázku +; Image Clipboard +; +MSG_GAD_TEST +Zkusi_t +; _Test +; +MSG_GAD_SAVE +_Uložit +; _Save +; +MSG_GAD_USE +_Použít +; _Use +; +MSG_GAD_CANCEL +_Zrušit +; _Cancel +; +MSG_DSC_SYSTEM +Systém +; System +; +MSG_DSC_WINDOWS +Okna +; Windows +; +MSG_DSC_GROUPS +Skupiny +; Groups +; +MSG_DSC_BUTTONS +Tlačítka +; Buttons +; +MSG_DSC_CYCLES +Cyklická +; Cycles +; +MSG_DSC_SLIDERS +Šoupátka +; Sliders +; +MSG_DSC_SCROLLBARS +Posuvníky +; Scrollbars +; +MSG_DSC_LISTVIEWS +Seznamy +; Listviews +; +MSG_DSC_STRINGS +Texty +; Strings +; +MSG_DSC_NAVIGATION +Ovládání +; Navigation +; +MSG_DSC_SPECIAL +Ostatní +; Special +; +MSG_DSC_FRAMES +Rámečky +; Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Definice barvy +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Speciální rámečky +; Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Veřejná obrazovka +; Public Screen +; +MSG_NAME +Název: +; Name: +; +MSG_CALL_INSPECTOR +Spustit správce +; Call Inspector +; +MSG_POP_TO_FRONT +Přesunout do popředí: +; Pop to front: +; +MSG_ICONIFICATION +Ikonifikace +; Iconification +; +MSG_HOTKEY +Klávesová zkratka: +; Hotkey: +; +MSG_SHOW +Zobrazit: +; Show: +; +MSG_ICON +Ikonu na ploše +; Icon +; +MSG_MENU +V menu 'Nástroje' +; Menu +; +MSG_ON_STARTUP +Po spuštění: +; On Startup: +; +MSG_INTERFACES +Rozhraní +; Interfaces +; +MSG_AREXX +Povolit rozhraní ARexx: +; ARexx: +; +MSG_BUBBLE_HELP +Bublinová nápověda +; Bubble Help +; +MSG_FIRST_BUBBLE +První bublina: +; First Bubble: +; +MSG_NEXT_BUBBLE +Další bublina: +; Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/danish.ct b/workbench/prefs/Zune/catalogs/danish.ct new file mode 100644 index 00000000000..15a1d5316ee --- /dev/null +++ b/workbench/prefs/Zune/catalogs/danish.ct @@ -0,0 +1,924 @@ +## version $VER: Zune.catalog 2.1 (23.12.2019) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +; buttonsp.c +;----------- +MSG_GENERAL +Generelt +; General +; +MSG_BACKGROUND_COLON +Baggrund: +; Background: +; +MSG_BACKGROUND_PRESSED +Baggrund i\nnedtrykket tilstand: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Tekstknapper +; Text Buttons +; +MSG_FRAME_COLON +Ramme: +; Frame: +; +MSG_FONT +Skrifttype: +; Font: +; +MSG_IMAGE_BUTTONS +Billedknapper +; Image Buttons +; +MSG_ADJUST_FRAME +Justr ramme +; Adjust Frame +; +MSG_CHECKMARKS +Afkrydsningsmrker +; Checkmarks +; +MSG_LOOK_COLON +Udseende: +; Look: +; +MSG_CHECKMARK +Afkrydsningsmrke +; Checkmark +; +MSG_RADIO_BUTTONS +Radioknapper +; Radio Buttons +; +MSG_RADIOBUTTON +Radioknap +; Radiobutton +; +MSG_LOOK +Udseende +; Look +; +MSG_H +V +; H +; +MSG_V +L +; V +; +MSG_SPACING +Afstand +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +under +; below +; +MSG_ON_ACTIVE +aktiveret +; on active +; +MSG_CYCLE_GADGET_DESIGN +Cycle Gadget Design +; Cycle Gadget Design +; +MSG_CYCLE +Cycle +; Cycle +; +MSG_POPUP_MENU_CONTROL +Popopmenukontrol +; Popup Menu Control +; +MSG_POSITION +Position: +; Position: +; +MSG_LEVEL +Niveau: +; Level: +; +MSG_SPEED +Hastighed: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Popopmenudesign +; Popup Menu Design +; +MSG_FRAME +Ramme +; Frame +; +MSG_ADJUST_BACKGROUND +Justr baggrund +; Adjust Background +; +MSG_BACKGROUND +Baggrund +; Background +; +MSG_RECESSED_ENTRIES +Recessed Entries: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +over +; above +; +MSG_CENTERED +centreret +; centered +; +MSG_STANDARD +standard +; standard +; +MSG_HILITE +hilite +; hilite +; +MSG_3D +3d +; 3d +; +MSG_OUTLINE +outline +; outline +; +MSG_TITLE +Titel +; Title +; +MSG_COLOR +Farve: +; Color: +; +MSG_HORIZONTAL +Vandret: +; Horizontal: +; +MSG_VERTICAL +Lodret: +; Vertical: +; +MSG_REGISTER +Register +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Standardstrrelse\nfor afkortning af titler +; Default size truncate titles +; +MSG_NORMAL +Normal +; Normal +; +MSG_VIRTUAL +Virtuel +; Virtual +; +MSG_FRAMED +Indrammet +; Framed +; +MSG_PAGE +Side +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +skiftet +; shifted +; +MSG_ALWAYS +altid +; always +; +MSG_LINEAR +liner +; linear +; +MSG_MIXED +blandet +; mixed +; +MSG_CONTROL +Kontrol +; Control +; +MSG_MULTI +Multi: +; Multi: +; +MSG_REFRESH +Opfrisk: +; Refresh: +; +MSG_SMOOTH +Udglat: +; Smooth: +; +MSG_FONTS +Skrifttyper +; Fonts +; +MSG_NORMAL_COLON +Normal: +; Normal: +; +MSG_FIXED +Fastbredde: +; Fixed: +; +MSG_LEADING +Afstand +; Leading +; +MSG_DESIGN +Design +; Design +; +MSG_INPUT_LISTS +Input \nlister: +; Input \nLists: +; +MSG_READONLY_LISTS +Readonly \nlister: +; Readonly \nLists: +; +MSG_CURSOR +Markr +; Cursor +; +MSG_ACTIVE +Aktiv: +; Active: +; +MSG_ACTIVE_SELECTED +Aktiv &\nvalgt: +; Active &\nSelected: +; +MSG_SELECTED +Valgt: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +altid solid +; always solid +; +MSG_GHOSTED_ON_BOX +gennemsigtig over boks +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +gennemsigtig udenfor boks +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +altid gennemsigtig +; always ghosted +; +MSG_SHOW_FRAMES +vis rammer +; show frames +; +MSG_SHOW_OBJECTS +vis objekter +; show objects +; +MSG_KL_PRESS +Tryk: +; Press: +; +MSG_KL_TOGGLE +Veksle +; Toggle: +; +MSG_KL_UP +Op: +; Up: +; +MSG_KL_DOWN +Ned: +; Down: +; +MSG_KL_PAGE_UP +Side op: +; Page up: +; +MSG_KL_PAGE_DOWN +Side ned: +; Page down: +; +MSG_KL_TOP +Top: +; Top: +; +MSG_KL_BOTTOM +Bund: +; Bottom: +; +MSG_KL_LEFT +Venstre: +; Left: +; +MSG_KL_RIGHT +Hjre: +; Right: +; +MSG_KL_WORD_LEFT +Ord venstre: +; Word left: +; +MSG_KL_WORD_RIGHT +Ord hjre: +; Word right: +; +MSG_KL_LINE_START +Liniestart: +; Line start: +; +MSG_KL_LINE_END +Lineafslutning: +; Line end: +; +MSG_KL_NEXT_GADGET +Nste gadget: +; Next gadget: +; +MSG_KL_PREV_GADGET +Forrige gadget: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Gadget slet fra: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Luk vindue: +; Close window: +; +MSG_KL_NEXT_WINDOW +Nste vindue: +; Next window: +; +MSG_KL_PREV_WINDOW +Forrige vindue: +; Prev. window: +; +MSG_KL_HELP +Hjlp: +; Help: +; +MSG_KL_POPUP +Pop-op: +; Popup: +; +MSG_DRAG_DROP +Trk og slip +; Drag & Drop +; +MSG_LEFT_BUTTON +Venstre knap: +; Left Button: +; +MSG_MIDDLE_BUTTON +Midterknap: +; Middle Button: +; +MSG_AUTOSTART +Autostart: +; Autostart: +; +MSG_PIXEL +%ld billedpunkt +; %ld pixel +; +MSG_BALANCING_GROUPS +Balancerede grupper +; Balancing Groups +; +MSG_EXAMPLE +Eksempel: +; Example: +; +MSG_TRY_WITH +Prv med +; Try with +; +MSG_SHIFT +skift +; shift +; +MSG_TOO +ogs! +; too! +; +MSG_KEYBOARD_CONTROL +Tastaturkontrol +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Farve p aktivt objekt: +; Color of active object: +; +MSG_NEWLOOK +newlook +; newlook +; +MSG_CUSTOM +custom +; custom +; +MSG_ARROWS +Pile +; Arrows +; +MSG_UP +op +; up +; +MSG_ARROW_UP +Pil op +; Arrow up +; +MSG_ARROW_DOWN +Pil ned +; Arrow down +; +MSG_DOWN +ned +; down +; +MSG_LEFT +venstre +; left +; +MSG_ARROW_LEFT +Pil venstre +; Arrow left +; +MSG_ARROW_RIGHT +Pil hjre +; Arrow right +; +MSG_RIGHT +hjre +; right +; +MSG_BAR +Bjlke +; Bar +; +MSG_GADGET_TYPE +Gadgettype: +; Gadget Type: +; +MSG_SCROLLER +Ruller: +; Scroller +; +MSG_KNOB +Knop +; Knob +; +MSG_ARRANGEMENT +Arrangement +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Containerdesign +; Container Design +; +MSG_KNOB_DESIGN +Knopdesign +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Example Sliders +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Tekstfelter +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Eksempel p tekstfelt +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Fremgangsviser +; Progress Indicator +; +MSG_DEVICE_IMAGES +Enhedsbilleder +; Device Images +; +MSG_DRAWER +Skuffe +; Drawer +; +MSG_HARDDISK +Harddisk +; Harddisk +; +MSG_DISK +Disk +; Disk +; +MSG_RAM +Hukommelse +; RAM +; +MSG_VOLUME +Volume +; Volume +; +MSG_NETWORK +Netvrk +; Network +; +MSG_ASSIGN +Tildel +; Assign +; +MSG_TAPE_IMAGES +Bndarkiver +; Tape Images +; +MSG_TAPE_PLAY +Tape play +; Tape play +; +MSG_TAPE_PLAYBACK +Tape playback +; Tape playback +; +MSG_TAPE_PAUSE +Tape pause +; Tape pause +; +MSG_TAPE_STOP +Tape stop +; Tape stop +; +MSG_TAPE_RECORD +Tape record +; Tape record +; +MSG_TAPE_UP +Tape up +; Tape up +; +MSG_TAPE_DOWN +Tape down +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Strengramme +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Specielle pop-opknapper +; Special Popup Buttons +; +MSG_POPUP +Pop-op +; Popup +; +MSG_DEFAULT +Standard +; Default +; +MSG_FILE +Fil +; File +; +MSG_POPUP_FILE +Pop-op fil +; Popup file +; +MSG_POPUP_DRAWER +Pop-op skuffe +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Inaktive strengfarver +; Inactive String Colors +; +MSG_TEXT +Tekst +; Text +; +MSG_ACTIVE_STRING_COLORS +Aktive strengfarver +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Markerede strengfarver +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Eksempel p et strenggadget +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +Glem ved afslutning +; forget on exit +; +MSG_REMEMBER_ON_EXIT +Husk ved afslutning +; remember on exit +; +MSG_SAVE_ON_EXIT +Gem ved afslutning +; save on exit +; +MSG_SMART +smart +; smart +; +MSG_SIMPLE +enkel +; simple +; +MSG_WITHOUT_CLEAR +without clear +; without clear +; +MSG_WITH_CLEAR +with clear +; with clear +; +MSG_POSITIONS +Positioner: +; Positions: +; +MSG_REDRAW +Gentegn: +; Redraw: +; +MSG_TINY +Lille: +; Tiny: +; +MSG_BIG +Stor: +; Big: +; +MSG_WINDOW +Vindue: +; Window +; +MSG_REQUESTER +Foresprger: +; Requester +; +MSG_L +L +; L +; +MSG_T +T +; T +; +MSG_R +R +; R +; +MSG_B +B +; B +; +MSG_BUTTONS +Knapper +; Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - globale indstillinger +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - indstillinger for : %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_OPEN +bn ... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Tilfj ... +; Append ... +; +MSG_MEN_SAVEAS +Gem som ... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +Om Zune ... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Afslut +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Rammeklippebord +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Billedklippebord +; Image Clipboard +; +MSG_GAD_TEST +_Prv +; _Test +; +MSG_GAD_SAVE +_Gem +; _Save +; +MSG_GAD_USE +_Brug +; _Use +; +MSG_GAD_CANCEL +_Afbryd +; _Cancel +; +MSG_DSC_SYSTEM +System +; System +; +MSG_DSC_WINDOWS +Vinduer +; Windows +; +MSG_DSC_GROUPS +Grupper +; Groups +; +MSG_DSC_BUTTONS +Knapper +; Buttons +; +MSG_DSC_CYCLES +Cycles +; Cycles +; +MSG_DSC_SLIDERS +Sliders +; Sliders +; +MSG_DSC_SCROLLBARS +Rullebjlker +; Scrollbars +; +MSG_DSC_LISTVIEWS +Listevisninger +; Listviews +; +MSG_DSC_STRINGS +Strenge +; Strings +; +MSG_DSC_NAVIGATION +Navigering +; Navigation +; +MSG_DSC_SPECIAL +Speciel +; Special +; +MSG_DSC_FRAMES +Rammer +; Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Justr pen +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Customframes +; Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Offentlig skrm +; Public Screen +; +MSG_NAME +Navn: +; Name: +; +MSG_CALL_INSPECTOR +Kald inspektr +; Call Inspector +; +MSG_POP_TO_FRONT +Pop to front: +; Pop to front: +; +MSG_ICONIFICATION +Ikonificering +; Iconification +; +MSG_HOTKEY +Hotkey: +; Hotkey: +; +MSG_SHOW +Vis: +; Show: +; +MSG_ICON +IkoN: +; Icon +; +MSG_MENU +Menu: +; Menu +; +MSG_ON_STARTUP +Ved opstart: +; On Startup: +; +MSG_INTERFACES +Interfaces +; Interfaces +; +MSG_AREXX +ARexx: +; ARexx: +; +MSG_BUBBLE_HELP +Boblehjlp +; Bubble Help +; +MSG_FIRST_BUBBLE +Frste boble: +; First Bubble: +; +MSG_NEXT_BUBBLE +Nste boble: +; Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/french.ct b/workbench/prefs/Zune/catalogs/french.ct new file mode 100644 index 00000000000..efa26a659b0 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/french.ct @@ -0,0 +1,923 @@ +## version $VER: Zune.catalog 2.1 (23.12.2019) +## language français +## codeset 0 +; +;============================= +; buttonsp.c +;----------- +MSG_GENERAL +Général +;General +; +MSG_BACKGROUND_COLON +Fond : +;Background: +; +MSG_BACKGROUND_PRESSED +Fond sélectionné +;Background in\npressed state: +; +MSG_TEXT_BUTTONS +Boutons texte +;Text Buttons +; +MSG_FRAME_COLON +Cadre : +;Frame: +; +MSG_FONT +Fonte : +;Font: +; +MSG_IMAGE_BUTTONS +Boutons image +;Image Buttons +; +MSG_ADJUST_FRAME +Ajuster le cadre +;Adjust Frame +; +MSG_CHECKMARKS +Encoches +;Checkmarks +; +MSG_LOOK_COLON +Aspect : +;Look: +; +MSG_CHECKMARK +Encoche +;Checkmark +; +MSG_RADIO_BUTTONS +Boutons radio +;Radio Buttons +; +MSG_RADIOBUTTON +Bouton radio +;Radiobutton +; +MSG_LOOK +Aspect +;Look +; +MSG_H +H +;H +; +MSG_V +V +;V +; +MSG_SPACING +Espacement +;Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +dessous +;below +; +MSG_ON_ACTIVE +sur la sélection +;on active +; +MSG_CYCLE_GADGET_DESIGN +Aspect +;Cycle Gadget Design +; +MSG_CYCLE +Cycle +;Cycle +; +MSG_POPUP_MENU_CONTROL +Contrôle de menu contextuel +;Popup Menu Control +; +MSG_POSITION +Position : +;Position: +; +MSG_LEVEL +Niveau : +;Level: +; +MSG_SPEED +Vitesse : +;Speed: +; +MSG_POPUP_MENU_DESIGN +Apparence de menu contextuel +;Popup Menu Design +; +MSG_FRAME +Cadre +;Frame +; +MSG_ADJUST_BACKGROUND +Ajuster l'arrière plan +;Adjust Background +; +MSG_BACKGROUND +Arrière plan +;Background +; +MSG_RECESSED_ENTRIES +Encastré : +;Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +dessus +;above +; +MSG_CENTERED +centré +;centered +; +MSG_STANDARD +normal +;standard +; +MSG_HILITE +surligné +;hilite +; +MSG_3D +3d +;3d +; +MSG_OUTLINE +détouré +;outline +; +MSG_TITLE +Titre +;Title +; +MSG_COLOR +Couleur : +;Color: +; +MSG_HORIZONTAL +Horizontal : +;Horizontal: +; +MSG_VERTICAL +Vertical : +;Vertical: +; +MSG_REGISTER +Entourage +;Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Tronquer les titres +;Default size truncate titles +; +MSG_NORMAL +Normal +;Normal +; +MSG_VIRTUAL +Virtuel +;Virtual +; +MSG_FRAMED +Encadré +;Framed +; +MSG_PAGE +Page +;Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +décalé +;shifted +; +MSG_ALWAYS +toujours +;always +; +MSG_LINEAR +linéaire +;linear +; +MSG_MIXED +mélangé +;mixed +; +MSG_CONTROL +Contrôle +;Control +; +MSG_MULTI +Multi : +;Multi: +; +MSG_REFRESH +Rafraîchissement : +;Refresh: +; +MSG_SMOOTH +Douceur : +;Smooth: +; +MSG_FONTS +Fontes +;Fonts +; +MSG_NORMAL_COLON +Normal : +;Normal: +; +MSG_FIXED +Fixé : +;Fixed: +; +MSG_LEADING +En tête +;Leading +; +MSG_DESIGN +Apparence +;Design +; +MSG_INPUT_LISTS +Listes \nactives : +;Input \nLists: +; +MSG_READONLY_LISTS +Listes \npassives : +;Readonly \nLists: +; +MSG_CURSOR +Curseur +;Cursor +; +MSG_ACTIVE +Actif : +;Active: +; +MSG_ACTIVE_SELECTED +Actif et\nSelectionné : +;Active &\nSelected: +; +MSG_SELECTED +Selectionné : +;Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +toujours solide +;always solid +; +MSG_GHOSTED_ON_BOX +flouté au dessus +;ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +flouté en dehors +;ghosted outside box +; +MSG_ALWAYS_GHOSTED +toujours flouté +;always ghosted +; +MSG_SHOW_FRAMES +voir les cadres +;show frames +; +MSG_SHOW_OBJECTS +voir les objets +;show objects +; +MSG_KL_PRESS +Presser : +;Press: +; +MSG_KL_TOGGLE +Échanger: +;Toggle: +; +MSG_KL_UP +Haut : +;Up: +; +MSG_KL_DOWN +Bas : +;Down: +; +MSG_KL_PAGE_UP +Page précédente : +;Page up: +; +MSG_KL_PAGE_DOWN +Page suivante : +;Page down: +; +MSG_KL_TOP +Début : +;Top: +; +MSG_KL_BOTTOM +Fin : +;Bottom: +; +MSG_KL_LEFT +Gauche : +;Left: +; +MSG_KL_RIGHT +Droite : +;Right: +; +MSG_KL_WORD_LEFT +Gauche du Mot : +;Word left: +; +MSG_KL_WORD_RIGHT +Droite du mot: +;Word right: +; +MSG_KL_LINE_START +Début de ligne : +;Line start: +; +MSG_KL_LINE_END +Fin de ligne : +;Line end: +; +MSG_KL_NEXT_GADGET +Gadget suivant : +;Next gadget: +; +MSG_KL_PREV_GADGET +Gadget suivant : +;Prev. gadget: +; +MSG_KL_GADGET_OFF +Pas de gadget : +;Gadget off: +; +MSG_KL_CLOSE_WINDOW +Fermer la fenêtre : +;Close window: +; +MSG_KL_NEXT_WINDOW +Fenêtre suivante : +;Next window: +; +MSG_KL_PREV_WINDOW +Fenêtre précédente : +;Prev. window: +; +MSG_KL_HELP +Aide : +;Help: +; +MSG_KL_POPUP +Menu contextuel : +;Popup: +; +MSG_DRAG_DROP +Glisser & Déposer +;Drag & Drop +; +MSG_LEFT_BUTTON +Bouton gauche : +;Left Button: +; +MSG_MIDDLE_BUTTON +Bouton central: +;Middle Button: +; +MSG_AUTOSTART +Démarrage automatique : +;Autostart: +; +MSG_PIXEL +%ld pixel +;%ld pixel +; +MSG_BALANCING_GROUPS +Groupes balancés +;Balancing Groups +; +MSG_EXAMPLE +Exemple : +;Example: +; +MSG_TRY_WITH +Essayer avec +;Try with +; +MSG_SHIFT +décalage +;shift +; +MSG_TOO +aussi ! +;too! +; +MSG_KEYBOARD_CONTROL +Clavier +;Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Couleur de l'objet actif : +;Color of active object: +; +MSG_NEWLOOK +nouvelle apparence +;newlook +; +MSG_CUSTOM +personnalisé +;custom +; +MSG_ARROWS +Flêches +;Arrows +; +MSG_UP +haut +;up +; +MSG_ARROW_UP +Flêche haut +;Arrow up +; +MSG_ARROW_DOWN +Flêche bas +;Arrow down +; +MSG_DOWN +bas +;down +; +MSG_LEFT +gauche +;left +; +MSG_ARROW_LEFT +Flêche gauche +;Arrow left +; +MSG_ARROW_RIGHT +Flêche droite +;Arrow right +; +MSG_RIGHT +droite +;right +; +MSG_BAR +Barre +;Bar +; +MSG_GADGET_TYPE +Type du gadget : +;Gadget Type: +; +MSG_SCROLLER +Ascenseur +;Scroller +; +MSG_KNOB +Poignée +;Knob +; +MSG_ARRANGEMENT +Arrangement +;Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Apparence du conteneur +;Container Design +; +MSG_KNOB_DESIGN +Apparence de la Poignée +;Knob Design +; +MSG_EXAMPLE_SLIDERS +Exemple +;Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Champs de texte +;Text fields +; +MSG_EXAMPLE_TEXTFIELD +Exemple de champ de texte +;Example Textfield +; +MSG_PROGRESS_INDICATOR +Barre de progression +;Progress Indicator +; +MSG_DEVICE_IMAGES +Images du périphérique +;Device Images +; +MSG_DRAWER +Répertoire +;Drawer +; +MSG_HARDDISK +Disque dur +;Harddisk +; +MSG_DISK +Disque +;Disk +; +MSG_RAM +RAM +;RAM +; +MSG_VOLUME +Volume +;Volume +; +MSG_NETWORK +Réseau +;Network +; +MSG_ASSIGN +Assigne +;Assign +; +MSG_TAPE_IMAGES +Apparence lecteur de bandes +;Tape Images +; +MSG_TAPE_PLAY +lire +;Tape play +; +MSG_TAPE_PLAYBACK +rembobiner +;Tape playback +; +MSG_TAPE_PAUSE +pause +;Tape pause +; +MSG_TAPE_STOP +stop +;Tape stop +; +MSG_TAPE_RECORD +enregistrer +;Tape record +; +MSG_TAPE_UP +arrière +;Tape up +; +MSG_TAPE_DOWN +avant +;Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Cadre +;String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Boutons spéciaux +;Special Popup Buttons +; +MSG_POPUP +Bouton contextuel +;Popup +; +MSG_DEFAULT +Par défaut +;Default +; +MSG_FILE +Fichier +;File +; +MSG_POPUP_FILE +Bouton spéciaux fichier +;Popup file +; +MSG_POPUP_DRAWER +Bouton spéciaux répertoire +;Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Couleurs inactives +;Inactive String Colors +; +MSG_TEXT +Texte +;Text +; +MSG_ACTIVE_STRING_COLORS +Couleurs actives +;Active String Colors +; +MSG_MARKED_STRING_COLORS +Couleurs sélectionnées +;Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Exemple de gadget texte +;Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +oublier en quittant +;forget on exit +; +MSG_REMEMBER_ON_EXIT +se souvenir en quittant +;remember on exit +; +MSG_SAVE_ON_EXIT +sauvegarder en quittant +;save on exit +; +MSG_SMART +intelligent +;smart +; +MSG_SIMPLE +simple +;simple +; +MSG_WITHOUT_CLEAR +sans effacer +;without clear +; +MSG_WITH_CLEAR +effacer +;with clear +; +MSG_POSITIONS +Positions : +;Positions: +; +MSG_REDRAW +Redessiner : +;Redraw: +; +MSG_TINY +Petit : +;Tiny: +; +MSG_BIG +Grand : +;Big: +; +MSG_WINDOW +Fenêtre +;Window +; +MSG_REQUESTER +Requête +;Requester +; +MSG_L +L +;L +; +MSG_T +T +;T +; +MSG_R +R +;R +; +MSG_B +B +;B +; +MSG_BUTTONS +Boutons +;Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - Préférences générales +;Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - Préférences pour : %s +;Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projet +;Project +; +MSG_MEN_OPEN +Ouvrir ... +;Open ... +; +MSG_MEN_OPEN_SC +O +;O +; +MSG_MEN_APPEND +Ajouter à ... +;Append ... +; +MSG_MEN_SAVEAS +Sauver sous ... +;Save As ... +; +MSG_MEN_SAVEAS_SC +A +;A +; +MSG_MEN_ABOUT +À propos de Zune ... +;About Zune ... +; +MSG_MEN_ABOUT_SC +? +;? +; +MSG_MEN_QUIT +Quitter +;Quit +; +MSG_MEN_QUIT_SC +Q +;Q +; +MSG_FRAME_CLIPBOARD +Cadre presse-papier +;Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Image presse-papier +;Image Clipboard +; +MSG_GAD_TEST +_Tester +;_Test +; +MSG_GAD_SAVE +_Sauver +;_Save +; +MSG_GAD_USE +_Utiliser +;_Use +; +MSG_GAD_CANCEL +A_nnuler +;_Cancel +; +MSG_DSC_SYSTEM +Système +;System +; +MSG_DSC_WINDOWS +Fenêtres +;Windows +; +MSG_DSC_GROUPS +Groupes +;Groups +; +MSG_DSC_BUTTONS +Boutons +;Buttons +; +MSG_DSC_CYCLES +Cycles +;Cycles +; +MSG_DSC_SLIDERS +Glissières +;Sliders +; +MSG_DSC_SCROLLBARS +Ascenseurs +;Scrollbars +; +MSG_DSC_LISTVIEWS +Listes +;Listviews +; +MSG_DSC_STRINGS +Textes +;Strings +; +MSG_DSC_NAVIGATION +Navigation +;Navigation +; +MSG_DSC_SPECIAL +Spécial +;Special +; +MSG_DSC_FRAMES +Cadres +;Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Ajuster le crayon +;Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Cadres personnalisés +;Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Ecran public +;Public Screen +; +MSG_NAME +Nom : +;Name: +; +MSG_CALL_INSPECTOR +Inspecteur d'appel +;Call Inspector +; +MSG_POP_TO_FRONT +Placer à l'avant plan : +;Pop to front: +; +MSG_ICONIFICATION +Iconifier +;Iconification +; +MSG_HOTKEY +Raccourci : +;Hotkey: +; +MSG_SHOW +Afficher : +;Show: +; +MSG_ICON +Icône +;Icon +; +MSG_MENU +Menu +;Menu +; +MSG_ON_STARTUP +Au démarrage: +;On Startup: +; +MSG_INTERFACES +Interfaces +;Interfaces +; +MSG_AREXX +ARexx: +;ARexx: +; +MSG_BUBBLE_HELP +Bulle d'aide +;Bubble Help +; +MSG_FIRST_BUBBLE +Première bulle : +;First Bubble: +; +MSG_NEXT_BUBBLE +Bulle suivante : +;Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/german.ct b/workbench/prefs/Zune/catalogs/german.ct new file mode 100644 index 00000000000..9eab6b4cd2b --- /dev/null +++ b/workbench/prefs/Zune/catalogs/german.ct @@ -0,0 +1,923 @@ +## version $VER: deutsch.catalog 2.1 (23.12.2019) +## language deutsch +## codeset 0 +; +; +; buttonsp.c +;----------- +MSG_GENERAL +Allgemein +; General +; +MSG_BACKGROUND_COLON +Hintergrund +; Background: +; +MSG_BACKGROUND_PRESSED +Hintergrund im\ngedrückten Zustand: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Textknöpfe +; Text Buttons +; +MSG_FRAME_COLON +Rahmen +; Frame: +; +MSG_FONT +Zeichensatz +; Font: +; +MSG_IMAGE_BUTTONS +Bildknöpfe +; Image Buttons +; +MSG_ADJUST_FRAME +Rahmeneinstellung +; Adjust Frame +; +MSG_CHECKMARKS +An-/Aus-Knöpfe +; Checkmarks +; +MSG_LOOK_COLON +Aussehen: +; Look: +; +MSG_CHECKMARK +An-/Aus-Knopf +; Checkmark +; +MSG_RADIO_BUTTONS +Radio-Knöpfe +; Radio Buttons +; +MSG_RADIOBUTTON +Radio-Knopf +; Radiobutton +; +MSG_LOOK +Aussehen +; Look +; +MSG_H +H +; H +; +MSG_V +V +; V +; +MSG_SPACING +Abstand +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +darunter +; below +; +MSG_ON_ACTIVE +aktiviert +; on active +; +MSG_CYCLE_GADGET_DESIGN +Cycle-Gadget Design +; Cycle Gadget Design +; +MSG_CYCLE +Cycle +; Cycle +; +MSG_POPUP_MENU_CONTROL +Popup-Menü Steuerung +; Popup Menu Control +; +MSG_POSITION +Position: +; Position: +; +MSG_LEVEL +Level: +; Level: +; +MSG_SPEED +Geschwindigkeit: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Popup-Menü Design +; Popup Menu Design +; +MSG_FRAME +Rahmen +; Frame +; +MSG_ADJUST_BACKGROUND +Hintergrund Einstellung +; Adjust Background +; +MSG_BACKGROUND +Hintergrund +; Background +; +MSG_RECESSED_ENTRIES +Vertiefte Einträge: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +oberhalb +; above +; +MSG_CENTERED +zentriert +; centered +; +MSG_STANDARD +Standard +; standard +; +MSG_HILITE +hilite +; hilite +; +MSG_3D +3D +; 3d +; +MSG_OUTLINE +outline +; outline +; +MSG_TITLE +Titel +; Title +; +MSG_COLOR +Farbe: +; Color: +; +MSG_HORIZONTAL +Horizontal: +; Horizontal: +; +MSG_VERTICAL +Vertikal: +; Vertical: +; +MSG_REGISTER +Register +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Kürze Titel\nauf voreingestellte Breite +; Default size truncate titles +; +MSG_NORMAL +Normal +; Normal +; +MSG_VIRTUAL +Virtuell +; Virtual +; +MSG_FRAMED +gerahmt +; Framed +; +MSG_PAGE +Seite +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +mit Shift +; shifted +; +MSG_ALWAYS +immer +; always +; +MSG_LINEAR +linear +; linear +; +MSG_MIXED +gemischt +; mixed +; +MSG_CONTROL +Steuerung +; Control +; +MSG_MULTI +Multi: +; Multi: +; +MSG_REFRESH +Refresh: +; Refresh: +; +MSG_SMOOTH +Weich: +; Smooth: +; +MSG_FONTS +Zeichensätze +; Fonts +; +MSG_NORMAL_COLON +Normal: +; Normal: +; +MSG_FIXED +Fixiert: +; Fixed: +; +MSG_LEADING +Abstand +; Leading +; +MSG_DESIGN +Design +; Design +; +MSG_INPUT_LISTS +Eingabe-\nListen: +; Input \nLists: +; +MSG_READONLY_LISTS +Nur-Lese-\nListen +; Readonly \nLists: +; +MSG_CURSOR +Cursor +; Cursor +; +MSG_ACTIVE +Aktiv: +; Active: +; +MSG_ACTIVE_SELECTED +Aktiv &\ngewählt +; Active &\nSelected: +; +MSG_SELECTED +Gewählt: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +immer komplett +; always solid +; +MSG_GHOSTED_ON_BOX +durchsichtig über Box +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +durchsichtig neben Box +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +immer durchsichtig +; always ghosted +; +MSG_SHOW_FRAMES +Rahmen zeigen +; show frames +; +MSG_SHOW_OBJECTS +Objekte zeigen +; show objects +; +MSG_KL_PRESS +Drücken: +; Press: +; +MSG_KL_TOGGLE +Umschalten: +; Toggle: +; +MSG_KL_UP +Rauf: +; Up: +; +MSG_KL_DOWN +Runter: +; Down: +; +MSG_KL_PAGE_UP +Seite rauf: +; Page up: +; +MSG_KL_PAGE_DOWN +Seite runter: +; Page down: +; +MSG_KL_TOP +Oben: +; Top: +; +MSG_KL_BOTTOM +Unten: +; Bottom: +; +MSG_KL_LEFT +Links: +; Left: +; +MSG_KL_RIGHT +Rechts: +; Right: +; +MSG_KL_WORD_LEFT +Wort links: +; Word left: +; +MSG_KL_WORD_RIGHT +Wort rechts: +; Word right: +; +MSG_KL_LINE_START +Zeilenanfang: +; Line start: +; +MSG_KL_LINE_END +Zeilenende: +; Line end: +; +MSG_KL_NEXT_GADGET +Gadget vor: +; Next gadget: +; +MSG_KL_PREV_GADGET +Gadget zurück: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Gadget aus: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Fenster zu: +; Close window: +; +MSG_KL_NEXT_WINDOW +Fenster vor: +; Next window: +; +MSG_KL_PREV_WINDOW +Fenster zurück: +; Prev. window: +; +MSG_KL_HELP +Hilfe: +; Help: +; +MSG_KL_POPUP +Popup: +; Popup: +; +MSG_DRAG_DROP +Drag & Drop +; Drag & Drop +; +MSG_LEFT_BUTTON +Linker Knopf: +; Left Button: +; +MSG_MIDDLE_BUTTON +Mittlerer Knopf: +; Middle Button: +; +MSG_AUTOSTART +Automatik: +; Autostart: +; +MSG_PIXEL +%ld Pixel +; %ld pixel +; +MSG_BALANCING_GROUPS +Gewichtete Gruppen +; Balancing Groups +; +MSG_EXAMPLE +Beispiel: +; Example: +; +MSG_TRY_WITH +Versuche auch +; Try with +; +MSG_SHIFT +mit +; shift +; +MSG_TOO +Shift! +; too! +; +MSG_KEYBOARD_CONTROL +Tastatursteuerung +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Farbe aktives Objekt +; Color of active object: +; +MSG_NEWLOOK +neues Aussehen +; newlook +; +MSG_CUSTOM +angepasst +; custom +; +MSG_ARROWS +Pfeile +; Arrows +; +MSG_UP +rauf +; up +; +MSG_ARROW_UP +Pfeil rauf +; Arrow up +; +MSG_ARROW_DOWN +Pfeil runter +; Arrow down +; +MSG_DOWN +runter +; down +; +MSG_LEFT +links +; left +; +MSG_ARROW_LEFT +Pfeil links +; Arrow left +; +MSG_ARROW_RIGHT +Pfeil rechts +; Arrow right +; +MSG_RIGHT +rechts +; right +; +MSG_BAR +Balken +; Bar +; +MSG_GADGET_TYPE +Gadget Typ: +; Gadget Type: +; +MSG_SCROLLER +Schieberegler +; Scroller +; +MSG_KNOB +Knopf +; Knob +; +MSG_ARRANGEMENT +Anordnung +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Behälter-Design +; Container Design +; +MSG_KNOB_DESIGN +Knopf-Design +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Beispiel Slider +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Textfelder +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Beispiel Textfeld +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Fortschrittsanzeige +; Progress Indicator +; +MSG_DEVICE_IMAGES +Geräte-Bilder +; Device Images +; +MSG_DRAWER +Verzeichnis +; Drawer +; +MSG_HARDDISK +Festplatte +; Harddisk +; +MSG_DISK +Diskette +; Disk +; +MSG_RAM +RAM +; RAM +; +MSG_VOLUME +Datenträger +; Volume +; +MSG_NETWORK +Netzwerk +; Network +; +MSG_ASSIGN +Assign +; Assign +; +MSG_TAPE_IMAGES +Bandlaufwerk-Bilder +; Tape Images +; +MSG_TAPE_PLAY +Abspielen +; Tape play +; +MSG_TAPE_PLAYBACK +Wiederholen +; Tape playback +; +MSG_TAPE_PAUSE +Pause +; Tape pause +; +MSG_TAPE_STOP +Stopp +; Tape stop +; +MSG_TAPE_RECORD +Aufnahme +; Tape record +; +MSG_TAPE_UP +Band nach oben +; Tape up +; +MSG_TAPE_DOWN +Band nach unten +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +String Rahmen +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Spezialle Popup-Knöpfe +; Special Popup Buttons +; +MSG_POPUP +Popup +; Popup +; +MSG_DEFAULT +Standard +; Default +; +MSG_FILE +Datei +; File +; +MSG_POPUP_FILE +Datei Popup +; Popup file +; +MSG_POPUP_DRAWER +Verzeichnis Popup +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Stringfarben (inaktiv) +; Inactive String Colors +; +MSG_TEXT +Text +; Text +; +MSG_ACTIVE_STRING_COLORS +Stringfarben (aktiv) +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Stringfarben (markiert) +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Beispiel String Gadget +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +am Ende vergessen +; forget on exit +; +MSG_REMEMBER_ON_EXIT +am Ende merken +; remember on exit +; +MSG_SAVE_ON_EXIT +am Ende speichern +; save on exit +; +MSG_SMART +smart +; smart +; +MSG_SIMPLE +simpel +; simple +; +MSG_WITHOUT_CLEAR +ohne löschen +; without clear +; +MSG_WITH_CLEAR +mit löschen +; with clear +; +MSG_POSITIONS +Positionen: +; Positions: +; +MSG_REDRAW +Aktualisieren: +; Redraw: +; +MSG_TINY +Klein: +; Tiny: +; +MSG_BIG +Groß +; Big: +; +MSG_WINDOW +Fenster +; Window +; +MSG_REQUESTER +Requester +; Requester +; +MSG_L +L +; L +; +MSG_T +O +; T +; +MSG_R +R +; R +; +MSG_B +U +; B +; +MSG_BUTTONS +Knöpfe +; Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune-Einstellungen +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - Einstellungen für : %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_OPEN +Öffnen ... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Anhängen ... +; Append ... +; +MSG_MEN_SAVEAS +Speichern unter ... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +Über Zune ... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Beenden +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Zwischenablage Rahmen +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Zwischenablage Grafiken +; Image Clipboard +; +MSG_GAD_TEST +_Testen +; _Test +; +MSG_GAD_SAVE +_Speichern +; _Save +; +MSG_GAD_USE +_Benutzen +; _Use +; +MSG_GAD_CANCEL +_Abbrechen +; _Cancel +; +MSG_DSC_SYSTEM +System +; System +; +MSG_DSC_WINDOWS +Fenster +; Windows +; +MSG_DSC_GROUPS +Gruppen +; Groups +; +MSG_DSC_BUTTONS +Knöpfe +; Buttons +; +MSG_DSC_CYCLES +Cycles +; Cycles +; +MSG_DSC_SLIDERS +Slider +; Sliders +; +MSG_DSC_SCROLLBARS +Rollbalken +; Scrollbars +; +MSG_DSC_LISTVIEWS +Listen +; Listviews +; +MSG_DSC_STRINGS +Strings +; Strings +; +MSG_DSC_NAVIGATION +Navigation +; Navigation +; +MSG_DSC_SPECIAL +Spezial +; Special +; +MSG_DSC_FRAMES +Rahmen +; Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Stift einstellen +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Spezieller Rahmen +; Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Öffentlicher Schirm +; Public Screen +; +MSG_NAME +Name: +; Name: +; +MSG_CALL_INSPECTOR +Inspector aufrufen +; Call Inspector +; +MSG_POP_TO_FRONT +Nach vorne holen: +; Pop to front: +; +MSG_ICONIFICATION +Ikonifizierung +; Iconification +; +MSG_HOTKEY +Hotkey: +; Hotkey: +; +MSG_SHOW +Anzeigen: +; Show: +; +MSG_ICON +Icon +; Icon +; +MSG_MENU +Menü +; Menu +; +MSG_ON_STARTUP +Beim Start: +; On Startup: +; +MSG_INTERFACES +Schnittstelle +; Interfaces +; +MSG_AREXX +ARexx: +; ARexx: +; +MSG_BUBBLE_HELP +Sprechblasenhilfe +; Bubble Help +; +MSG_FIRST_BUBBLE +Erster Hinweis: +; First Bubble: +; +MSG_NEXT_BUBBLE +Nächster Hinweis: +; Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/italian.ct b/workbench/prefs/Zune/catalogs/italian.ct new file mode 100644 index 00000000000..6bbd1ea9028 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/italian.ct @@ -0,0 +1,862 @@ +## version $VER: Zune.catalog 0.2 (23.12.2019) +## language italiano +## codeset 0 +; +; +; buttonsp.c +;----------- +MSG_GENERAL +Impostazioni generali +; General +; +MSG_BACKGROUND_COLON +Sfondo: +; Background: +; +MSG_BACKGROUND_PRESSED +Selezione sfondo +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Testo pulsanti +; Text Buttons +; +MSG_FRAME_COLON +Quadro +; Frame: +; +MSG_FONT +Carattere: +; Font: +; +MSG_IMAGE_BUTTONS +Immagine pulsanti +; Image Buttons +; +MSG_ADJUST_FRAME +Regolare il quadro +; Adjust Frame +; +MSG_CHECKMARKS +Caselline +; Checkmarks +; +MSG_LOOK_COLON +Aspetto: +; Look: +; +MSG_CHECKMARK +Marcatura +; Checkmark +; +MSG_RADIO_BUTTONS +Circolari +; Radio Buttons +; +MSG_RADIOBUTTON +Circolare +; Radiobutton +; +MSG_LOOK +Aspetto +; Look +; +MSG_H +O +; H +; +MSG_V +V +; V +; +MSG_SPACING +Spaziatura +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +Sotto +; below +; +MSG_ON_ACTIVE +Sopra la selezione +; on active +; +MSG_CYCLE_GADGET_DESIGN +Aspetto +; Cycle Gadget Design +; +MSG_CYCLE +Ciclo +; Cycle +; +MSG_POPUP_MENU_CONTROL +Controllo +; Popup Menu Control +; +MSG_POSITION +Posizione: +; Position: +; +MSG_LEVEL +Nuovo : +; Level: +; +MSG_SPEED +Velocità : +; Speed: +; +MSG_POPUP_MENU_DESIGN +Aspetto +; Popup Menu Design +; +MSG_FRAME +Quadro +; Frame +; +MSG_ADJUST_BACKGROUND +Modifica sfondo +; Adjust Background +; +MSG_BACKGROUND +Sfondo +; Background +; +MSG_RECESSED_ENTRIES +Incastrate: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +Sotto +; above +; +MSG_CENTERED +centrato +; centered +; +MSG_STANDARD +normale +; standard +; +MSG_HILITE +sottolineato +; hilite +; +MSG_3D +3d +; 3d +; +MSG_OUTLINE +contorno +; outline +; +MSG_TITLE +Titolo +; Title +; +MSG_COLOR +Coulore: +; Color: +; +MSG_HORIZONTAL +Orizzontale: +; Horizontal: +; +MSG_VERTICAL +Verticale: +; Vertical: +; +MSG_REGISTER +Registro +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Troncare i titoli +; Default size truncate titles +; +MSG_NORMAL +Normale +; Normal +; +MSG_VIRTUAL +Virtuale +; Virtual +; +MSG_FRAMED +Nel riquadro +; Framed +; +MSG_PAGE +Pagina +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +spostato +; shifted +; +MSG_ALWAYS +sempre +; always +; +MSG_LINEAR +lineare +; linear +; +MSG_MIXED +mescolato +; mixed +; +MSG_CONTROL +Controllo +; Control +; +MSG_MULTI +Multi: +; Multi: +; +MSG_REFRESH +Aggiornamento: +; Refresh: +; +MSG_SMOOTH +Dolce: +; Smooth: +; +MSG_FONTS +Caratteri +; Fonts +; +MSG_NORMAL_COLON +Normale: +; Normal: +; +MSG_FIXED +Fisso: +; Fixed: +; +MSG_LEADING +All'inizio +; Leading +; +MSG_DESIGN +Design +; Design +; +MSG_INPUT_LISTS +Input \nLists: +; Input \nLists: +; +MSG_READONLY_LISTS +Readonly \nLists: +; Readonly \nLists: +; +MSG_CURSOR +Cursore +; Cursor +; +MSG_ACTIVE +Attivo: +; Active: +; +MSG_ACTIVE_SELECTED +\nSelezione attiva: +; Active &\nSelected: +; +MSG_SELECTED +Selezionato: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +Sempre solide +; always solid +; +MSG_GHOSTED_ON_BOX +Trasparente su box +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +Trasparente sotto box +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +Sempre trasparente +; always ghosted +; +MSG_SHOW_FRAMES +Sotto i quadri +; show frames +; +MSG_SHOW_OBJECTS +Mostra oggetti +; show objects +; +MSG_KL_PRESS +Premere: +; Press: +; +MSG_KL_TOGGLE +Scambiare: +; Toggle: +; +MSG_KL_UP +Sopra: +; Up: +; +MSG_KL_DOWN +Sotto: +; Down: +; +MSG_KL_PAGE_UP +Pagina precedente: +; Page up: +; +MSG_KL_PAGE_DOWN +Pagina successiva: +; Page down: +; +MSG_KL_TOP +Inizio: +; Top: +; +MSG_KL_BOTTOM +Fine: +; Bottom: +; +MSG_KL_LEFT +a sinistra: +; Left: +; +MSG_KL_RIGHT +a destra: +; Right: +; +MSG_KL_WORD_LEFT +Inizio parola: +; Word left: +; +MSG_KL_WORD_RIGHT +Fine parola: +; Word right: +; +MSG_KL_LINE_START +Inizio linea: +; Line start: +; +MSG_KL_LINE_END +Fine linea: +; Line end: +; +MSG_KL_NEXT_GADGET +Gadget successivo: +; Next gadget: +; +MSG_KL_PREV_GADGET +Gadget precedente: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Nessun gadget: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Chiudi finestra: +; Close window: +; +MSG_KL_NEXT_WINDOW +Finestra successiva: +; Next window: +; +MSG_KL_PREV_WINDOW +Finestra precedente: +; Prev. window: +; +MSG_KL_HELP +Aiuto: +; Help: +; +MSG_KL_POPUP +Popup : +; Popup: +; +MSG_DRAG_DROP +Drag & Drop +; Drag & Drop +; +MSG_LEFT_BUTTON +Pulsante sinistro: +; Left Button: +; +MSG_MIDDLE_BUTTON +Pulsante centrale: +; Middle Button: +; +MSG_AUTOSTART +Avvio automatico: +; Autostart: +; +MSG_PIXEL +%ld pixel +; %ld pixel +; +MSG_BALANCING_GROUPS +Gruppi bilanciati +; Balancing Groups +; +MSG_EXAMPLE +Esempio: +; Example: +; +MSG_TRY_WITH +Prova con +; Try with +; +MSG_SHIFT +shift +; shift +; +MSG_TOO +pure! +; too! +; +MSG_KEYBOARD_CONTROL +Tastiera +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Colore dell'oggetto selezionato: +; Color of active object: +; +MSG_NEWLOOK +Nuovo look +; newlook +; +MSG_CUSTOM +Personalizzato +; custom +; +MSG_ARROWS +Frecce +; Arrows +; +MSG_UP +Alto +; up +; +MSG_ARROW_UP +Freccia su +; Arrow up +; +MSG_ARROW_DOWN +Freccia giù +; Arrow down +; +MSG_DOWN +giù +; down +; +MSG_LEFT +sinistra +; left +; +MSG_ARROW_LEFT +Freccia sinistra +; Arrow left +; +MSG_ARROW_RIGHT +Freccia destra +; Arrow right +; +MSG_RIGHT +destra +; right +; +MSG_BAR +Barra +; Bar +; +MSG_GADGET_TYPE +Design: +; Gadget Type: +; +MSG_SCROLLER +Barra scorrimento +; Scroller +; +MSG_KNOB +Manopola +; Knob +; +MSG_ARRANGEMENT +Sistemazione +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Contenitore +; Container Design +; +MSG_KNOB_DESIGN +Manopola +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Esempio +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Caselle di testo +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Esempio di caselle testo +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Barra di progressione +; Progress Indicator +; +MSG_DEVICE_IMAGES +Periferiche +; Device Images +; +MSG_DRAWER +Cassetto +; Drawer +; +MSG_HARDDISK +Disco fisso +; Harddisk +; +MSG_DISK +Disco +; Disk +; +MSG_RAM +RAM +; RAM +; +MSG_VOLUME +Volume +; Volume +; +MSG_NETWORK +Rete +; Network +; +MSG_ASSIGN +Assign +; Assign +; +MSG_TAPE_IMAGES +Lettore +; Tape Images +; +MSG_TAPE_PLAY +leggere +; Tape play +; +MSG_TAPE_PLAYBACK +riavvolgere +; Tape playback +; +MSG_TAPE_PAUSE +pausa +; Tape pause +; +MSG_TAPE_STOP +stop +; Tape stop +; +MSG_TAPE_RECORD +registrare +; Tape record +; +MSG_TAPE_UP +all'inizio +; Tape up +; +MSG_TAPE_DOWN +avanti +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Quadro +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Pulsanti speciali +; Special Popup Buttons +; +MSG_POPUP +Popup +; Popup +; +MSG_DEFAULT +Predefinito +; Default +; +MSG_FILE +File +; File +; +MSG_POPUP_FILE +Popup file +; Popup file +; +MSG_POPUP_DRAWER +Popup cassetto +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Normale +; Inactive String Colors +; +MSG_TEXT +Testo +; Text +; +MSG_ACTIVE_STRING_COLORS +Selezionato +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Selezione +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Esempio di gadget testuale +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +Dimenticare +; forget on exit +; +MSG_REMEMBER_ON_EXIT +Ricordare +; remember on exit +; +MSG_SAVE_ON_EXIT +Salvare +; save on exit +; +MSG_SMART +smart +; smart +; +MSG_SIMPLE +semplice +; simple +; +MSG_WITHOUT_CLEAR +conservare +; without clear +; +MSG_WITH_CLEAR +chiaro +; with clear +; +MSG_POSITIONS +Posizione: +; Positions: +; +MSG_REDRAW +Aggiornare: +; Redraw: +; +MSG_TINY +Piccolo: +; Tiny: +; +MSG_BIG +Grande: +; Big: +; +MSG_WINDOW +Finestra +; Window +; +MSG_REQUESTER +Dialogo +; Requester +; +MSG_L +L +; L +; +MSG_T +T +; T +; +MSG_R +R +; R +; +MSG_B +B +; B +; +MSG_BUTTONS + +; Buttons +; +; ***NEW*** +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - Preferenze generali +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - Preferenze: %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Progetto +; Project +; +MSG_MEN_OPEN +Apri... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Aggiungi a... +; Append ... +; +MSG_MEN_SAVEAS +Salva come... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +Informazioni su Zune... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Chiudi +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Quadro clipboard +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Immagine clipboard +; Image Clipboard +; +MSG_GAD_TEST +_Test +; _Test +; +MSG_GAD_SAVE +_Salva +; _Save +; +MSG_GAD_USE +_Usa +; _Use +; +MSG_GAD_CANCEL +_Annulla +; _Cancel +; +MSG_DSC_WINDOWS +Finestre +; Windows +; +MSG_DSC_GROUPS +Gruppi +; Groups +; +MSG_DSC_BUTTONS +Pulsanti +; Buttons +; +MSG_DSC_CYCLES +Cicli +; Cycles +; +MSG_DSC_SLIDERS +Slider +; Sliders +; +MSG_DSC_SCROLLBARS +Barre di scorrimento +; Scrollbars +; +MSG_DSC_LISTVIEWS +Liste +; Listviews +; +MSG_DSC_STRINGS +Testi +; Strings +; +MSG_DSC_NAVIGATION +Navigazione +; Navigation +; +MSG_DSC_SPECIAL +Speciale +; Special +; +MSG_DSC_FRAMES + +; Frames +; +; ***NEW*** +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Matita +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES + +; Customframes +; +; ***NEW*** +; diff --git a/workbench/prefs/Zune/catalogs/mmakefile.src b/workbench/prefs/Zune/catalogs/mmakefile.src new file mode 100644 index 00000000000..e7dca92b9a5 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2006-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german polish french norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-zune-catalogs \ + catalogs=$(CATALOGS) \ + name=Zune subdir=System/Prefs diff --git a/workbench/prefs/Zune/catalogs/norwegian.ct b/workbench/prefs/Zune/catalogs/norwegian.ct new file mode 100644 index 00000000000..0b516d8383b --- /dev/null +++ b/workbench/prefs/Zune/catalogs/norwegian.ct @@ -0,0 +1,702 @@ +## version $VER: Zune.catalog 2.1 (23.12.2019) +## language norwegian +## codeset 0 +; +; buttonsp.c +;----------- +MSG_GENERAL +Generelt +; +MSG_BACKGROUND_COLON +Bakgrunn: +; +MSG_BACKGROUND_PRESSED +Bakgrunn i\nvalgt tilstand: +; +MSG_TEXT_BUTTONS +Tekstknapper +; +MSG_FRAME_COLON +Ramme: +; +MSG_FONT +Skrifttype: +; +MSG_IMAGE_BUTTONS +Bildeknapper +; +MSG_ADJUST_FRAME +Juster ramme +; +MSG_CHECKMARKS +Haker +; +MSG_LOOK_COLON +Utseende: +; +MSG_CHECKMARK +Hake +; +MSG_RADIO_BUTTONS +Radioknapper +; +MSG_RADIOBUTTON +Radioknapp +; +MSG_LOOK +Utseende +; +MSG_H +H +; +MSG_V +V +; +MSG_SPACING +Mellomrom +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +Under +; +MSG_ON_ACTIVE +Nr aktiv +; +MSG_CYCLE_GADGET_DESIGN +Syklus gadget design +; +MSG_CYCLE +Syklus +; +MSG_POPUP_MENU_CONTROL +Popupmeny kontroll +; +MSG_POSITION +Posisjon: +; +MSG_LEVEL +Niv: +; +MSG_SPEED +Hastighet: +; +MSG_POPUP_MENU_DESIGN +Popupmeny design +; +MSG_FRAME +Ramme +; +MSG_ADJUST_BACKGROUND +Juster bakgrunn +; +MSG_BACKGROUND +Bakgrunn +; +MSG_RECESSED_ENTRIES +Nedsenkede tittler: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +Over +; +MSG_CENTERED +Midtstilt +; +MSG_STANDARD +Standard +; +MSG_HILITE +Opplyst +; +MSG_3D +3D +; +MSG_OUTLINE +Uthevet +; +MSG_TITLE +Tittel +; +MSG_COLOR +Farge: +; +MSG_HORIZONTAL +Horisontalt: +; +MSG_VERTICAL +Vertikalt: +; +MSG_REGISTER +Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Standard strrelse\nfor sammentrukne tittler +; +MSG_NORMAL +Normal +; +MSG_VIRTUAL +Virtuell +; +MSG_FRAMED +Innrammede +; +MSG_PAGE +Side +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +Forflyttet +; +MSG_ALWAYS +Alltid +; +MSG_LINEAR +Biner +; +MSG_MIXED +Blandede +; +MSG_CONTROL +Kontroll +; +MSG_MULTI +Multi: +; +MSG_REFRESH +Oppdater: +; +MSG_SMOOTH +Jevn: +; +MSG_FONTS +Skrifttyper +; +MSG_NORMAL_COLON +Normal: +; +MSG_FIXED +Fast: +; +MSG_LEADING +Ledende +; +MSG_DESIGN +Design +; +MSG_INPUT_LISTS +Input \nlister: +; +MSG_READONLY_LISTS +Lste \nlister: +; +MSG_CURSOR +Markr +; +MSG_ACTIVE +Aktiv: +; +MSG_ACTIVE_SELECTED +Aktiv og valgt: +; +MSG_SELECTED +Valgt: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +Alltid ugjennomsiktig +; +MSG_GHOSTED_ON_BOX +Skyggelagt p boksen +; +MSG_GHOSTED_OUTSIDE_BOX +Skyggelagt p utsiden av boksen +; +MSG_ALWAYS_GHOSTED +Alltid skyggelagt +; +MSG_SHOW_FRAMES +Vis rammer +; +MSG_SHOW_OBJECTS +Vis objekter +; +MSG_KL_PRESS +Press: +; +MSG_KL_TOGGLE +Veksle: +; +MSG_KL_UP +Opp: +; +MSG_KL_DOWN +Ned: +; +MSG_KL_PAGE_UP +Side opp: +; +MSG_KL_PAGE_DOWN +Side ned: +; +MSG_KL_TOP +Topp: +; +MSG_KL_BOTTOM +Bunn: +; +MSG_KL_LEFT +Venstre: +; +MSG_KL_RIGHT +Hyre: +; +MSG_KL_WORD_LEFT +Ord til venstre: +; +MSG_KL_WORD_RIGHT +Ord til hyre: +; +MSG_KL_LINE_START +Starten p linje: +; +MSG_KL_LINE_END +Slutten av linje: +; +MSG_KL_NEXT_GADGET +Neste gadget: +; +MSG_KL_PREV_GADGET +Forrige gadget: +; +MSG_KL_GADGET_OFF +Skru av gadget: +; +MSG_KL_CLOSE_WINDOW +Lukk vindu: +; +MSG_KL_NEXT_WINDOW +Neste vindu: +; +MSG_KL_PREV_WINDOW +Forrige vindu: +; +MSG_KL_HELP +Hjelp: +; +MSG_KL_POPUP +Sprettopp: +; +MSG_DRAG_DROP +Dra og slipp +; +MSG_LEFT_BUTTON +Venstre knapp: +; +MSG_MIDDLE_BUTTON +Midtre knapp: +; +MSG_AUTOSTART +Autostart: +; +MSG_PIXEL +%ld pixel +; +MSG_BALANCING_GROUPS +Balanserende grupper +; +MSG_EXAMPLE +Eksempel: +; +MSG_TRY_WITH +Prv med +; +MSG_SHIFT +shift +; +MSG_TOO +ogs! +; +MSG_KEYBOARD_CONTROL +Tastaturkontroll +; +MSG_COLOR_ACTIVE_OBJ +Farge p aktive objekter: +; +MSG_NEWLOOK +Newlook +; +MSG_CUSTOM +Egendefinert +; +MSG_ARROWS +Piler +; +MSG_UP +opp +; +MSG_ARROW_UP +Pil opp +; +MSG_ARROW_DOWN +Pil ned +; +MSG_DOWN +ned +; +MSG_LEFT +venstre +; +MSG_ARROW_LEFT +Pil venstre +; +MSG_ARROW_RIGHT +Pil hyre +; +MSG_RIGHT +hyre +; +MSG_BAR +Stolpe +; +MSG_GADGET_TYPE +Gadget type: +; +MSG_SCROLLER +Scroller +; +MSG_KNOB +Knapp +; +MSG_ARRANGEMENT +Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Konteinerdesign +; +MSG_KNOB_DESIGN +Bryterdesign +; +MSG_EXAMPLE_SLIDERS +Glidebryter eksempel +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Skrivefelt +; +MSG_EXAMPLE_TEXTFIELD +Skrivefelt eksempel +; +MSG_PROGRESS_INDICATOR +Framdriftsviser +; +MSG_DEVICE_IMAGES +Enhetsbilder +; +MSG_DRAWER +Skuff +; +MSG_HARDDISK +Harddisk +; +MSG_DISK +Disk +; +MSG_RAM +RAM +; +MSG_VOLUME +Volum +; +MSG_NETWORK +Nettverk +; +MSG_ASSIGN +Tildele +; +MSG_TAPE_IMAGES +Tape image +; +MSG_TAPE_PLAY +Spill tape +; +MSG_TAPE_PLAYBACK +Spill av tape +; +MSG_TAPE_PAUSE +Pause tape +; +MSG_TAPE_STOP +Stoppe tape +; +MSG_TAPE_RECORD +Ta opp p tape +; +MSG_TAPE_UP +Tape opp +; +MSG_TAPE_DOWN +Tape ned +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Tekstramme +; +MSG_SPECIAL_POPUP_BUTTONS +Spesielle sprettoppknapper +; +MSG_POPUP +Sprettopp +; +MSG_DEFAULT +Standard +; +MSG_FILE +Fil +; +MSG_POPUP_FILE +Sprettopp filer +; +MSG_POPUP_DRAWER +Sprettopp skuff +; +MSG_INACTIVE_STRING_COLORS +Inaktive farger +; +MSG_TEXT +Tekst +; +MSG_ACTIVE_STRING_COLORS +Aktive farger +; +MSG_MARKED_STRING_COLORS +Markerte farger +; +MSG_EXAMPLE_STRING_GADGET +Strengfelt eksempel +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +Glem ved avslutt +; +MSG_REMEMBER_ON_EXIT +Husk ved avslutt +; +MSG_SAVE_ON_EXIT +Lagre ved avsutt +; +MSG_SMART +smart +; +MSG_SIMPLE +enkel +; +MSG_WITHOUT_CLEAR +Uten rens +; +MSG_WITH_CLEAR +Med rens +; +MSG_POSITIONS +Posisjon: +; +MSG_REDRAW +Tegn p nytt: +; +MSG_TINY +Liten: +; +MSG_BIG +Stor: +; +MSG_WINDOW +Vindu +; +MSG_REQUESTER +Foresprsler +; +MSG_L +L +; +MSG_T +T +; +MSG_R +R +; +MSG_B +B +; +MSG_BUTTONS +Knapper +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - Globale innstillinger +; +MSG_WINTITLE2 +Zune - Innstillinger for: %s +; +MSG_MEN_PROJECT +Prosjekt +; +MSG_MEN_OPEN +pne ... +; +MSG_MEN_OPEN_SC +O +; +MSG_MEN_APPEND +Legg til ... +; +MSG_MEN_SAVEAS +Lagre som ... +; +MSG_MEN_SAVEAS_SC +S +; +MSG_MEN_ABOUT +Om Zune ... +; +MSG_MEN_ABOUT_SC +? +; +MSG_MEN_QUIT +Avslutt +; +MSG_MEN_QUIT_SC +Q +; +MSG_FRAME_CLIPBOARD +Utklippstavle ramme +; +MSG_IMAGE_CLIPBOARD +Utklippstavle bilde +; +MSG_GAD_TEST +_Test +; +MSG_GAD_SAVE +_Lagre +; +MSG_GAD_USE +_Bruk +; +MSG_GAD_CANCEL +_Avbryt +; +MSG_DSC_SYSTEM +System +; +MSG_DSC_WINDOWS +Vinduer +; +MSG_DSC_GROUPS +Grupper +; +MSG_DSC_BUTTONS +Knapper +; +MSG_DSC_CYCLES +Sykluser +; +MSG_DSC_SLIDERS +Glidebryter +; +MSG_DSC_SCROLLBARS +Rullefelt +; +MSG_DSC_LISTVIEWS +Listevisninger +; +MSG_DSC_STRINGS +Strenger +; +MSG_DSC_NAVIGATION +Navigasjon +; +MSG_DSC_SPECIAL +Spesiell +; +MSG_DSC_FRAMES +Rammer +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Juster penn +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Egendefinerte rammer +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN +Offentlig skjerm +; +MSG_NAME +Navn: +; +MSG_CALL_INSPECTOR +pne PSI inspektr +; +MSG_POP_TO_FRONT +Sprett forran: +; +MSG_ICONIFICATION +Minimer +; +MSG_HOTKEY +Hurtigtast: +; +MSG_SHOW +Vis: +; +MSG_ICON +Ikon +; +MSG_MENU +Meny +; +MSG_ON_STARTUP +Ved oppstart: +; +MSG_INTERFACES +Grensesnitt +; +MSG_AREXX +ARexx: +; +MSG_BUBBLE_HELP +Hjelpbobbler +; +MSG_FIRST_BUBBLE +Frste bobble: +; +MSG_NEXT_BUBBLE +Neste bobble: +; diff --git a/workbench/prefs/Zune/catalogs/polish.ct b/workbench/prefs/Zune/catalogs/polish.ct new file mode 100644 index 00000000000..f15fcbf02a0 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/polish.ct @@ -0,0 +1,884 @@ +## version $VER: zune.catalog 2.1 (23.12.2019) +## language polski +## codeset 5 +; +MSG_GENERAL +Główne +; General +; +MSG_BACKGROUND_COLON +Tło: +; Background: +; +MSG_BACKGROUND_PRESSED +Tło wciśnięte: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Przyciski tekstowe +; Text Buttons +; +MSG_FRAME_COLON +Ramka: +; Frame: +; +MSG_FONT +Czcionka: +; Font: +; +MSG_IMAGE_BUTTONS +Przyciski graficzne +; Image Buttons +; +MSG_ADJUST_FRAME +Dostosuj ramkę +; Adjust Frame +; +MSG_CHECKMARKS +Znaczniki +; Checkmarks +; +MSG_LOOK_COLON +Wygląd: +; Look: +; +MSG_CHECKMARK +Znacznik +; Checkmark +; +MSG_RADIO_BUTTONS +Przyciski radiowe +; Radio Buttons +; +MSG_RADIOBUTTON +Przycisk radiowy +; Radiobutton +; +MSG_LOOK +Wygląd +; Look +; +MSG_H +Poziome +; H +; +MSG_V +Pionowe +; V +; +MSG_SPACING +Odstępy +; Spacing +; +MSG_BELOW +poniżej +; below +; +MSG_ON_ACTIVE +na aktywnym +; on active +; +MSG_CYCLE_GADGET_DESIGN +Wygląd przycisku cyklicznego +; Cycle Gadget Design +; +MSG_CYCLE +Gadżet cykliczny +; Cycle +; +MSG_POPUP_MENU_CONTROL +Kontrola menu podręcznego +; Popup Menu Control +; +MSG_POSITION +Pozycja: +; Position: +; +MSG_LEVEL +Poziom: +; Level: +; +MSG_SPEED +Szybkość: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Wygląd menu podręcznego +; Popup Menu Design +; +MSG_FRAME +Ramka +; Frame +; +MSG_ADJUST_BACKGROUND +Dostosuj tło +; Adjust Background +; +MSG_BACKGROUND +Tło +; Background +; +MSG_RECESSED_ENTRIES +Elementy wciśnięte: +; Recessed Entries: +; +MSG_ABOVE +powyżej +; above +; +MSG_CENTERED +wycentrowane +; centered +; +MSG_STANDARD +domyślne +; standard +; +MSG_HILITE +podświetlone +; hilite +; +MSG_3D +3D +; 3d +; +MSG_OUTLINE +obrysowane +; outline +; +MSG_TITLE +Nazwa +; Title +; +MSG_COLOR +Kolor: +; Color: +; +MSG_HORIZONTAL +Poziomy: +; Horizontal: +; +MSG_VERTICAL +Pionowy: +; Vertical: +; +MSG_REGISTER +Zarejestruj +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Skracaj nagłówki\ndo doomyślnej szerokości +; Default size truncate titles +; +MSG_NORMAL +Normalny +; Normal +; +MSG_VIRTUAL +Wirtualny +; Virtual +; +MSG_FRAMED +Obramowany +; Framed +; +MSG_PAGE +Strona +; Page +; +MSG_SHIFTED +przesunięte +; shifted +; +MSG_ALWAYS +zawsze +; always +; +MSG_LINEAR +liniowe +; linear +; +MSG_MIXED +mieszane +; mixed +; +MSG_CONTROL +Kontrola +; Control +; +MSG_MULTI +Wiele: +; Multi: +; +MSG_REFRESH +Odświeżanie: +; Refresh: +; +MSG_SMOOTH +Wygładzanie: +; Smooth: +; +MSG_FONTS +Czcionki +; Fonts +; +MSG_NORMAL_COLON +Normalne: +; Normal: +; +MSG_FIXED +Nieproporcjonalne: +; Fixed: +; +MSG_LEADING +Odstępy +; Leading +; +MSG_DESIGN +Wygląd +; Design +; +MSG_INPUT_LISTS +Listy\nwprowadzania: +; Input \nLists: +; +MSG_READONLY_LISTS +Listy tylko\ndo odczytu: +; Readonly \nLists: +; +MSG_CURSOR +Kursor +; Cursor +; +MSG_ACTIVE +Aktywne: +; Active: +; +MSG_ACTIVE_SELECTED +Aktywne\ni zaznaczone: +; Active &\nSelected: +; +MSG_SELECTED +Zaznaczone: +; Selected: +; +MSG_ALWAYS_SOLID +zawsze wypełniony +; always solid +; +MSG_GHOSTED_ON_BOX +przezroczysty na polach +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +przezroczysty poza polami +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +zawsze przezroczysty +; always ghosted +; +MSG_SHOW_FRAMES +pokazuj ramki +; show frames +; +MSG_SHOW_OBJECTS +pokazuj obiekty +; show objects +; +MSG_KL_PRESS +Wciśnięcie: +; Press: +; +MSG_KL_TOGGLE +Przełączenie: +; Toggle: +; +MSG_KL_UP +Kursor w górę: +; Up: +; +MSG_KL_DOWN +Kursor w dół: +; Down: +; +MSG_KL_PAGE_UP +Strona w górę: +; Page up: +; +MSG_KL_PAGE_DOWN +Strona w dół: +; Page down: +; +MSG_KL_TOP +Początek pliku: +; Top: +; +MSG_KL_BOTTOM +Koniec pliku: +; Bottom: +; +MSG_KL_LEFT +Kursor w lewo: +; Left: +; +MSG_KL_RIGHT +Kursor w prawo: +; Right: +; +MSG_KL_WORD_LEFT +Poprzednie słowo: +; Word left: +; +MSG_KL_WORD_RIGHT +Następne słowo: +; Word right: +; +MSG_KL_LINE_START +Początek linii: +; Line start: +; +MSG_KL_LINE_END +Koniec linii: +; Line end: +; +MSG_KL_NEXT_GADGET +Następny gadżet: +; Next gadget: +; +MSG_KL_PREV_GADGET +Poprzedni gadżet: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +Wyłączenie gadżetu: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Zamknięcie okna: +; Close window: +; +MSG_KL_NEXT_WINDOW +Następne okno: +; Next window: +; +MSG_KL_PREV_WINDOW +Poprzednie okno: +; Prev. window: +; +MSG_KL_HELP +Pomoc: +; Help: +; +MSG_KL_POPUP +Lista podręczna: +; Popup: +; +MSG_DRAG_DROP +Przeciąganie i upuszczanie +; Drag & Drop +; +MSG_LEFT_BUTTON +Lewy przycisk: +; Left Button: +; +MSG_MIDDLE_BUTTON +Środkowy przycisk: +; Middle Button: +; +MSG_AUTOSTART +Automatyczne rozpoczęcie: +; Autostart: +; +MSG_PIXEL +%ld pikseli +; %ld pixel +; +MSG_BALANCING_GROUPS +Grupy regulowane +; Balancing Groups +; +MSG_EXAMPLE +Przykład: +; Example: +; +MSG_TRY_WITH +Spróbuj również +; Try with +; +MSG_SHIFT +z klawiszem +; shift +; +MSG_TOO +shift! +; too! +; +MSG_KEYBOARD_CONTROL +Sterowanie klawiaturą +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Kolor aktywnego obiektu: +; Color of active object: +; +MSG_NEWLOOK +newlook +; newlook +; +MSG_CUSTOM +własny +; custom +; +MSG_ARROWS +Strzałki +; Arrows +; +MSG_UP +góra +; up +; +MSG_ARROW_UP +Strzałka w górę +; Arrow up +; +MSG_ARROW_DOWN +Strzałka w dół +; Arrow down +; +MSG_DOWN +dół +; down +; +MSG_LEFT +lewo +; left +; +MSG_ARROW_LEFT +Strzałka w lewo +; Arrow left +; +MSG_ARROW_RIGHT +Strzałka w prawo +; Arrow right +; +MSG_RIGHT +prawo +; right +; +MSG_BAR +Belka +; Bar +; +MSG_GADGET_TYPE +Typ gadżetu: +; Gadget Type: +; +MSG_SCROLLER +Suwak +; Scroller +; +MSG_KNOB +Gałka +; Knob +; +MSG_ARRANGEMENT +Rozłożenie +; Arrangement +; +MSG_CONTAINER_DESIGN +Wygląd kontenera +; Container Design +; +MSG_KNOB_DESIGN +Wygląd gałki +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Przykładowe suwaki +; Example Sliders +; +MSG_TEXT_FIELDS +Pola tekstowe +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Przykładowe pole tekstowe +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Pasek postępu +; Progress Indicator +; +MSG_DEVICE_IMAGES +Obrazki urządzeń +; Device Images +; +MSG_DRAWER +Katalog +; Drawer +; +MSG_HARDDISK +Dysk twardy +; Harddisk +; +MSG_DISK +Dysk +; Disk +; +MSG_RAM +RAM +; RAM +; +MSG_VOLUME +Wolumen +; Volume +; +MSG_NETWORK +Sieć +; Network +; +MSG_ASSIGN +Przypis +; Assign +; +MSG_TAPE_IMAGES +Obrazki magnetofonowe +; Tape Images +; +MSG_TAPE_PLAY +Odtwarzaj +; Tape play +; +MSG_TAPE_PLAYBACK +Odtwarzaj +; Tape playback +; +MSG_TAPE_PAUSE +Pauza +; Tape pause +; +MSG_TAPE_STOP +Zatrzymaj +; Tape stop +; +MSG_TAPE_RECORD +Nagrywaj +; Tape record +; +MSG_TAPE_UP +W górę +; Tape up +; +MSG_TAPE_DOWN +W dół +; Tape down +; +MSG_STRING_FRAME +Ramka ciągu +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Specjalne przyciski podręczne +; Special Popup Buttons +; +MSG_POPUP +Podręczne +; Popup +; +MSG_DEFAULT +Domyślne +; Default +; +MSG_FILE +Plik +; File +; +MSG_POPUP_FILE +Plik podręczny +; Popup file +; +MSG_POPUP_DRAWER +Katalog podręczny +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Kolory nieaktywnego ciągu +; Inactive String Colors +; +MSG_TEXT +Tekst +; Text +; +MSG_ACTIVE_STRING_COLORS +Kolory aktywnego ciągu +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Kolory zaznaczonego ciągu +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Przykładowy gadżet ciągu +; Example String Gadget +; +MSG_FORGET_ON_EXIT +zapomnij przy wyjściu +; forget on exit +; +MSG_REMEMBER_ON_EXIT +zapamiętaj przy wyjściu +; remember on exit +; +MSG_SAVE_ON_EXIT +zapisz przy wyjściu +; save on exit +; +MSG_SMART +oszczędne +; smart +; +MSG_SIMPLE +proste +; simple +; +MSG_WITHOUT_CLEAR +bez czyszczenia +; without clear +; +MSG_WITH_CLEAR +z czyszczeniem +; with clear +; +MSG_POSITIONS +Pozycje: +; Positions: +; +MSG_REDRAW +Odrysowywanie: +; Redraw: +; +MSG_TINY +Mała: +; Tiny: +; +MSG_BIG +Duża: +; Big: +; +MSG_WINDOW +Okno +; Window +; +MSG_REQUESTER +Okno wyboru +; Requester +; +MSG_L +L +; L +; +MSG_T +G +; T +; +MSG_R +P +; R +; +MSG_B +D +; B +; +MSG_BUTTONS +Przyciski +; Buttons +; +MSG_WINTITLE1 +Zune - preferencje globalne +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - preferencje dla: %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_OPEN +Otwórz... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Dołącz... +; Append ... +; +MSG_MEN_SAVEAS +Zapisz jako... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +O Zune... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Skończ +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Schowek ramek +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Schowek obrazków +; Image Clipboard +; +MSG_GAD_TEST +_Testuj +; _Test +; +MSG_GAD_SAVE +Zapi_sz +; _Save +; +MSG_GAD_USE +_Użyj +; _Use +; +MSG_GAD_CANCEL +Ponie_chaj +; _Cancel +; +MSG_DSC_SYSTEM +System +; System +; +MSG_DSC_WINDOWS +Okna +; Windows +; +MSG_DSC_GROUPS +Grupy +; Groups +; +MSG_DSC_BUTTONS +Przyciski +; Buttons +; +MSG_DSC_CYCLES +Gadżety cykliczne +; Cycles +; +MSG_DSC_SLIDERS +Suwaki +; Sliders +; +MSG_DSC_SCROLLBARS +Paski przewijania +; Scrollbars +; +MSG_DSC_LISTVIEWS +Listy +; Listviews +; +MSG_DSC_STRINGS +Ciągi +; Strings +; +MSG_DSC_NAVIGATION +Nawigacja +; Navigation +; +MSG_DSC_SPECIAL +Specjalne +; Special +; +MSG_DSC_FRAMES +Ramki +; Frames +; +MSG_ADJUST_PEN +Dostosuj pisak +; Adjust Pen +; +MSG_CUSTOMFRAMES +Własne ramki +; Customframes +; +MSG_PUBLIC_SCREEN +Ekran publiczny +; Public Screen +; +MSG_NAME +Nazwa: +; Name: +; +MSG_CALL_INSPECTOR +Przywołaj inspektora +; Call Inspector +; +MSG_POP_TO_FRONT +Przerzuć na wierzch: +; Pop to front: +; +MSG_ICONIFICATION +Ikonifikacja +; Iconification +; +MSG_HOTKEY +Klawisz: +; Hotkey: +; +MSG_SHOW +Pokaż: +; Show: +; +MSG_ICON +ikonkę +; Icon +; +MSG_MENU +menu +; Menu +; +MSG_ON_STARTUP +Przy uruchomieniu: +; On Startup: +; +MSG_INTERFACES +Interfejsy +; Interfaces +; +MSG_AREXX +ARexx: +; ARexx: +; +MSG_BUBBLE_HELP +Dymki pomocy +; Bubble Help +; +MSG_FIRST_BUBBLE +Pierwszy dymek: +; First Bubble: +; +MSG_NEXT_BUBBLE +Następny dymek: +; Next Bubble: +; diff --git a/workbench/prefs/Zune/catalogs/russian.ct b/workbench/prefs/Zune/catalogs/russian.ct new file mode 100644 index 00000000000..96fde2ac84b --- /dev/null +++ b/workbench/prefs/Zune/catalogs/russian.ct @@ -0,0 +1,849 @@ +## version $VER: Zune.catalog 0.3 (23.12.2019) +## language russian +## codeset 2104 +; +; +; buttonsp.c +;----------- +MSG_GENERAL +Основные +; General +; +MSG_BACKGROUND_COLON +Фон кнопки +; Background: +; +MSG_BACKGROUND_PRESSED +Фон\nнажатой кнопки: +; Background in\npressed state: +; +MSG_TEXT_BUTTONS +Текст кнопок +; Text Buttons +; +MSG_FRAME_COLON +Рамка +; Frame: +; +MSG_FONT +Шрифт +; Font: +; +MSG_IMAGE_BUTTONS +Кнопки с иконками +; Image Buttons +; +MSG_ADJUST_FRAME +Изменить рамку +; Adjust Frame +; +MSG_CHECKMARKS +Отметки +; Checkmarks +; +MSG_LOOK_COLON +Вид: +; Look: +; +MSG_CHECKMARK +Отметки +; Checkmark +; +MSG_RADIO_BUTTONS +Радио-кнопки +; Radio Buttons +; +MSG_RADIOBUTTON +Радио-кнопка +; Radiobutton +; +MSG_LOOK +Вид +; Look +; +MSG_H +Гор. +; H +; +MSG_V +Верт. +; V +; +MSG_SPACING +Расстояние +; Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +ниже +; below +; +MSG_ON_ACTIVE +поверх +; on active +; +MSG_CYCLE_GADGET_DESIGN +Вид кнопки-переключателя +; Cycle Gadget Design +; +MSG_CYCLE +Циркуляр +; Cycle +; +MSG_POPUP_MENU_CONTROL +Управление списком +; Popup Menu Control +; +MSG_POSITION +Положение: +; Position: +; +MSG_LEVEL +Порог: +; Level: +; +MSG_SPEED +Скорость: +; Speed: +; +MSG_POPUP_MENU_DESIGN +Вид выпадающего меню +; Popup Menu Design +; +MSG_FRAME +Рамка +; Frame +; +MSG_ADJUST_BACKGROUND +Изменить фон +; Adjust Background +; +MSG_BACKGROUND +Фон +; Background +; +MSG_RECESSED_ENTRIES +Выемки: +; Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +сверху +; above +; +MSG_CENTERED +в центре +; centered +; +MSG_STANDARD +стандартный +; standard +; +MSG_HILITE +подсвеченный +; hilite +; +MSG_3D +3D +; 3d +; +MSG_OUTLINE +обведенный +; outline +; +MSG_TITLE +Заголовок +; Title +; +MSG_COLOR +Цвет: +; Color: +; +MSG_HORIZONTAL +По горизонтали: +; Horizontal: +; +MSG_VERTICAL +Вертикальное: +; Vertical: +; +MSG_REGISTER +Закладка +; Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Обрезка заголовков по размеру +; Default size truncate titles +; +MSG_NORMAL +Обычные +; Normal +; +MSG_VIRTUAL +Виртуальные +; Virtual +; +MSG_FRAMED +Внутри +; Framed +; +MSG_PAGE +Вокруг +; Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +shifted +; shifted +; +MSG_ALWAYS +always +; always +; +MSG_LINEAR +linear +; linear +; +MSG_MIXED +mixed +; mixed +; +MSG_CONTROL +Управление +; Control +; +MSG_MULTI +Multi: +; Multi: +; +MSG_REFRESH +Refresh: +; Refresh: +; +MSG_SMOOTH +Сгладить: +; Smooth: +; +MSG_FONTS +Шрифты +; Fonts +; +MSG_NORMAL_COLON +Обычный: +; Normal: +; +MSG_FIXED +Моноширинный: +; Fixed: +; +MSG_LEADING +Leading +; Leading +; +MSG_DESIGN +Design +; Design +; +MSG_INPUT_LISTS +Списки\nввода: +; Input \nLists: +; +MSG_READONLY_LISTS +Неизменяемые\nсписки +; Readonly \nLists: +; +MSG_CURSOR +Курсор +; Cursor +; +MSG_ACTIVE +Активный: +; Active: +; +MSG_ACTIVE_SELECTED +Активный и\nвыбранный: +; Active &\nSelected: +; +MSG_SELECTED +Выбранный: +; Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +без тени +; always solid +; +MSG_GHOSTED_ON_BOX +тень на рамке +; ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +тень за рамкой +; ghosted outside box +; +MSG_ALWAYS_GHOSTED +утопленный +; always ghosted +; +MSG_SHOW_FRAMES +Рамками +; show frames +; +MSG_SHOW_OBJECTS +Объектами +; show objects +; +MSG_KL_PRESS +Ввод: +; Press: +; +MSG_KL_TOGGLE +Переключение: +; Toggle: +; +MSG_KL_UP +Вверх: +; Up: +; +MSG_KL_DOWN +Вниз: +; Down: +; +MSG_KL_PAGE_UP +Страницей вверх: +; Page up: +; +MSG_KL_PAGE_DOWN +Страницей вниз: +; Page down: +; +MSG_KL_TOP +В начало: +; Top: +; +MSG_KL_BOTTOM +В конец: +; Bottom: +; +MSG_KL_LEFT +Влево: +; Left: +; +MSG_KL_RIGHT +Вправо: +; Right: +; +MSG_KL_WORD_LEFT +Словом левее: +; Word left: +; +MSG_KL_WORD_RIGHT +Словом правее: +; Word right: +; +MSG_KL_LINE_START +Начало строки: +; Line start: +; +MSG_KL_LINE_END +Конец строки: +; Line end: +; +MSG_KL_NEXT_GADGET +След. элемент: +; Next gadget: +; +MSG_KL_PREV_GADGET +Пред. элемент: +; Prev. gadget: +; +MSG_KL_GADGET_OFF +От элемента: +; Gadget off: +; +MSG_KL_CLOSE_WINDOW +Закрыть окно: +; Close window: +; +MSG_KL_NEXT_WINDOW +След. окно: +; Next window: +; +MSG_KL_PREV_WINDOW +Пред. окно: +; Prev. window: +; +MSG_KL_HELP +Помощь: +; Help: +; +MSG_KL_POPUP +Подсказка: +; Popup: +; +MSG_DRAG_DROP +Drag & Drop +; Drag & Drop +MSG_LEFT_BUTTON +Левая кнопка: +; Left Button: +; +MSG_MIDDLE_BUTTON +Средняя кнопка: +; Middle Button: +; +MSG_AUTOSTART +Автостарт: +; Autostart: +; +MSG_PIXEL +%ld пикс. +; %ld pixel +; +MSG_BALANCING_GROUPS +Раздвижные списки +; Balancing Groups +; +MSG_EXAMPLE +Пример: +; Example: +; +MSG_TRY_WITH +Попробуй +; Try with +; +MSG_SHIFT +прижать +; shift +; +MSG_TOO +Shift! +; too! +; +MSG_KEYBOARD_CONTROL +Управление клавиатурой +; Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Цвет активного объекта +; Color of active object: +; +MSG_NEWLOOK +новый +; newlook +; +MSG_CUSTOM +по выбору +; custom +; +MSG_ARROWS +Стрелки +; Arrows +; +MSG_UP +вверх +; up +; +MSG_ARROW_UP +Стрелка вверх +; Arrow up +; +MSG_ARROW_DOWN +Стрелка вниз +; Arrow down +; +MSG_DOWN +вниз +; down +; +MSG_LEFT +влево +; left +; +MSG_ARROW_LEFT +Стрелка влево +; Arrow left +; +MSG_ARROW_RIGHT +Стрелка вправо +; Arrow right +; +MSG_RIGHT +вправо +; right +; +MSG_BAR +Полоска +; Bar +; +MSG_GADGET_TYPE +Тип элемента: +; Gadget Type: +; +MSG_SCROLLER +Бегунок +; Scroller +; +MSG_KNOB +Кнопка +; Knob +; +MSG_ARRANGEMENT +Положение +; Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Вид полоски +; Container Design +; +MSG_KNOB_DESIGN +Вид бегунка +; Knob Design +; +MSG_EXAMPLE_SLIDERS +Примеры бегунков +; Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Текстовые поля +; Text fields +; +MSG_EXAMPLE_TEXTFIELD +Пример поля +; Example Textfield +; +MSG_PROGRESS_INDICATOR +Индикатор прогресса +; Progress Indicator +; +MSG_DEVICE_IMAGES +Иконки устройств +; Device Images +; +MSG_DRAWER +Папка +; Drawer +; +MSG_HARDDISK +Жёсткий диск +; Harddisk +; +MSG_DISK +Дискета +; Disk +; +MSG_RAM +RAM +; RAM +; +MSG_VOLUME +Том +; Volume +; +MSG_NETWORK +Сеть +; Network +; +MSG_ASSIGN +Assign +; Assign +; +MSG_TAPE_IMAGES +Управление +; Tape Images +; +MSG_TAPE_PLAY +Вопроизведение +; Tape play +; +MSG_TAPE_PLAYBACK +Реверс +; Tape playback +; +MSG_TAPE_PAUSE +Пауза +; Tape pause +; +MSG_TAPE_STOP +Стоп +; Tape stop +; +MSG_TAPE_RECORD +Запись +; Tape record +; +MSG_TAPE_UP +На записью вверх +; Tape up +; +MSG_TAPE_DOWN +На запись вниз +; Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Рамка строчки +; String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Особые кнопки вызова +; Special Popup Buttons +; +MSG_POPUP +Вызов +; Popup +; +MSG_DEFAULT +Основная +; Default +; +MSG_FILE +Файл +; File +; +MSG_POPUP_FILE +Запрос файла +; Popup file +; +MSG_POPUP_DRAWER +Запрос папки +; Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Цвет неактивной строки +; Inactive String Colors +; +MSG_TEXT +Текст +; Text +; +MSG_ACTIVE_STRING_COLORS +Цвет активной строки +; Active String Colors +; +MSG_MARKED_STRING_COLORS +Цвет отмеченной строки +; Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Пример строчного элемента +; Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +сброс при выходе +; forget on exit +; +MSG_REMEMBER_ON_EXIT +запомнить при выходе +; remember on exit +; +MSG_SAVE_ON_EXIT +сохранить при выходе +; save on exit +; +MSG_SMART +аккуратное +; smart +; +MSG_SIMPLE +простое +; simple +; +MSG_WITHOUT_CLEAR +без очистки +; without clear +; +MSG_WITH_CLEAR +с очисткой +; with clear +; +MSG_POSITIONS +Положения: +; Positions: +; +MSG_REDRAW +Обновление: +; Redraw: +; +MSG_TINY +Малый: +; Tiny: +; +MSG_BIG +Большой: +; Big: +; +MSG_WINDOW +Окно +; Window +; +MSG_REQUESTER +Диалог запроса +; Requester +; +MSG_L +Л +; L +; +MSG_T +В +; T +; +MSG_R +П +; R +; +MSG_B +Н +; B +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - глобальные параметры +; Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - настройки : %s +; Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Проект +; Project +; +MSG_MEN_OPEN +Открыть ... +; Open ... +; +MSG_MEN_OPEN_SC +O +; O +; +MSG_MEN_APPEND +Добавить ... +; Append ... +; +MSG_MEN_SAVEAS +Сохранить как ... +; Save As ... +; +MSG_MEN_SAVEAS_SC +A +; A +; +MSG_MEN_ABOUT +О Zune ... +; About Zune ... +; +MSG_MEN_ABOUT_SC +? +; ? +; +MSG_MEN_QUIT +Выход +; Quit +; +MSG_MEN_QUIT_SC +Q +; Q +; +MSG_FRAME_CLIPBOARD +Палитра рамок +; Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Палитра графики +; Image Clipboard +; +MSG_GAD_TEST +_Тест +; _Test +; +MSG_GAD_SAVE +_Сохранить +; _Save +; +MSG_GAD_USE +_Применить +; _Use +; +MSG_GAD_CANCEL +_Отмена +; _Cancel +; +MSG_DSC_WINDOWS +Окна +; Windows +; +MSG_DSC_GROUPS +Группы +; Groups +; +MSG_DSC_BUTTONS +Кнопки +; Buttons +; +MSG_DSC_CYCLES +Переклюки +; Cycles +; +MSG_DSC_SLIDERS +Бегунки +; Sliders +; +MSG_DSC_SCROLLBARS +Прокрутка +; Scrollbars +; +MSG_DSC_LISTVIEWS +Списки +; Listviews +; +MSG_DSC_STRINGS +Строки +; Strings +; +MSG_DSC_NAVIGATION +Навигация +; Navigation +; +MSG_DSC_SPECIAL +Специальные +; Special +; +MSG_DSC_FRAMES +Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Регулировка пера +; Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Customframes +; diff --git a/workbench/prefs/Zune/catalogs/spanish.ct b/workbench/prefs/Zune/catalogs/spanish.ct new file mode 100644 index 00000000000..a81d2fcf6c1 --- /dev/null +++ b/workbench/prefs/Zune/catalogs/spanish.ct @@ -0,0 +1,834 @@ +## version $VER: Zune.catalog 0.2 (23.12.2019) +## language español +## codeset 0 +; +; Translated by ahg +; +; FIXME: check and complete +; +;================================================= +; buttonsp.c +;----------- +MSG_GENERAL +General +; +MSG_BACKGROUND_COLON +Fondo: +;Background: +; +MSG_BACKGROUND_PRESSED +Fondo cuando\n\ +es apretado: +;Background in\npressed state: +; +MSG_TEXT_BUTTONS +Texto del botón +;Text Buttons +; +MSG_FRAME_COLON +Marco: +;Frame: +; +MSG_FONT +Fuente: +;Font: +; +MSG_IMAGE_BUTTONS +Imagen del botón +;Image Buttons +; +MSG_ADJUST_FRAME +Ajustar al marco +;Adjust Frame +; +MSG_CHECKMARKS +Casillas de verific. +;Checkmarks +; +MSG_LOOK_COLON +Aspecto +;Look: +; +MSG_CHECKMARK +Casilla de verific. +Checkmark +; +MSG_RADIO_BUTTONS +Botones de opción +;Radio Buttons +; +MSG_RADIOBUTTON +Botón de opción +;Radiobutton +; +MSG_LOOK +Aspecto +;Look +; +MSG_H +H +; +MSG_V +V +; +MSG_SPACING +Espaciado +;Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW +Abajo +;below +; +MSG_ON_ACTIVE +Activo +;on active +; +MSG_CYCLE_GADGET_DESIGN +Aspecto del Gadget Ciclo +;Cycle Gadget Design +; +MSG_CYCLE +Ciclo +;Cycle +; +MSG_POPUP_MENU_CONTROL +Control de menú emergente +;Popup Menu Control +; +MSG_POSITION +Posición: +;Position: +; +MSG_LEVEL +Nivel: +;Level: +; +MSG_SPEED +Velocidad: +;Speed: +; +MSG_POPUP_MENU_DESIGN +Diseño del menú emergente +;Popup Menu Design +; +MSG_FRAME +Marco +;Frame +; +MSG_ADJUST_BACKGROUND +Ajustar el fondo +;Adjust Background +; +MSG_BACKGROUND +Fondo +;Background +; +MSG_RECESSED_ENTRIES +Encastrados: +;Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE +Arriba +;above +; +MSG_CENTERED +centrado +;centered +; +MSG_STANDARD +normal +;standard +; +MSG_HILITE +hilite +; +MSG_3D +3d +; +MSG_OUTLINE +contorno +;outline +; +MSG_TITLE +Título +;Title +; +MSG_COLOR +Color: +; +MSG_HORIZONTAL +Horizontal: +; +MSG_VERTICAL +Vertical: +; +MSG_REGISTER +Registro +;Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES +Tamaño predeterminado\npara truncar los títulos +;Default size truncate titles +; +MSG_NORMAL +Normal +; +MSG_VIRTUAL +Virtual +; +MSG_FRAMED +Enmarcado +;Framed +; +MSG_PAGE +Página +;Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED +corrido +;shifted +; +MSG_ALWAYS +siempre +;always +; +MSG_LINEAR +lineal +;linear +; +MSG_MIXED +mezclado +;mixed +; +MSG_CONTROL +Control +; +MSG_MULTI +Multi: +; +MSG_REFRESH +Refrescar: +;Refresh: +; +MSG_SMOOTH +Suavizar: +;Smooth: +; +MSG_FONTS +Fuentes +;Fonts +; +MSG_NORMAL_COLON +Normal: +; +MSG_FIXED +Fijo: +;Fixed: +; +MSG_LEADING +Al inicio +;Leading +; +MSG_DESIGN +Diseño +;Design +; +MSG_INPUT_LISTS +Listas de\nEntrada: +;Input \nLists: +; +MSG_READONLY_LISTS +Listas de\nsolo-lectura: +;Readonly \nLists: +; +MSG_CURSOR +Cursor +; +MSG_ACTIVE +Activo: +;Active: +; +MSG_ACTIVE_SELECTED +Activo &\nSeleccionado: +;Active &\nSelected: +; +MSG_SELECTED +Seleccionado: +;Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID +siempre lleno +;always solid +; +MSG_GHOSTED_ON_BOX +translúcido en la caja +;fantasmal en la caja +;ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX +translúcido fuera de la caja +;fantasmal afuera de la caja +;ghosted outside box +; +MSG_ALWAYS_GHOSTED +siempre translúcido +;siempre fantasmal +;always ghosted +; +MSG_SHOW_FRAMES +mostrar los marcos +;show frames +; +MSG_SHOW_OBJECTS +mostrar los objetos +;show objects +; +MSG_KL_PRESS +Apriete: +;Press: +; +MSG_KL_TOGGLE +Intercambiar: +;Toggle: +; +MSG_KL_UP +Arriba: +;Up: +; +MSG_KL_DOWN +Abajo: +;Down: +; +MSG_KL_PAGE_UP +Pág. ant.: +;Page up: +; +MSG_KL_PAGE_DOWN +Pág. sig.: +;Page down: +; +MSG_KL_TOP +Inicio +;Top: +; +MSG_KL_BOTTOM +Final: +;Bottom: +; +MSG_KL_LEFT +Izquierda: +;Left: +; +MSG_KL_RIGHT +Derecha: +;Right: +; +MSG_KL_WORD_LEFT +A la izq. de la palabra +;Word left: +; +MSG_KL_WORD_RIGHT +A la der. de la palabra +;Word right: +; +MSG_KL_LINE_START +Inicio del renglón: +;Line start: +; +MSG_KL_LINE_END +Final del renglón: +;Line end: +; +MSG_KL_NEXT_GADGET +El sig. gadget: +;Next gadget: +; +MSG_KL_PREV_GADGET +El ant. gadget: +;Prev. gadget: +; +MSG_KL_GADGET_OFF +Gadget desactivado +;Gadget off: +; +MSG_KL_CLOSE_WINDOW +Cerrar la ventana: +;Close window: +; +MSG_KL_NEXT_WINDOW +Sig. ventana: +;Next window: +; +MSG_KL_PREV_WINDOW +Ant. ventana: +;Prev. window: +; +MSG_KL_HELP +Ayuda: +;Help: +; +MSG_KL_POPUP +Emergente: +;Popup: +; +MSG_DRAG_DROP +Arrastrar y Soltar +;Drag & Drop +; +MSG_LEFT_BUTTON +Botón izq.: +;Left Button: +; +MSG_MIDDLE_BUTTON +Botón del medio: +;Middle Button: +; +MSG_AUTOSTART +Inicio automático: +;Autostart: +; +MSG_PIXEL +%ld pixel +; +MSG_BALANCING_GROUPS +Equilibrar los Grupos +;Balancing Groups +; +MSG_EXAMPLE +Ejemplo: +;Example: +; +MSG_TRY_WITH +Probar con +;Try with +; +MSG_SHIFT +desplazar +;shift +; +MSG_TOO +también! +;too! +; +MSG_KEYBOARD_CONTROL +Control del Teclado +;Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ +Color del objeto activo: +;Color of active object: +; +MSG_NEWLOOK +nuevo aspecto +;newlook +; +MSG_CUSTOM +;custom +; +MSG_ARROWS +Flechas +;Arrows +; +MSG_UP +arriba +;up +; +MSG_ARROW_UP +Flecha arriba +;Arrow up +; +MSG_ARROW_DOWN +Flecha abajo +;Arrow down +; +MSG_DOWN +abajo +;down +; +MSG_LEFT +izq. +;left +; +MSG_ARROW_LEFT +Flecha a la izq. +;Arrow left +; +MSG_ARROW_RIGHT +Flecha a la der. +;Arrow right +; +MSG_RIGHT +derecha +;right +; +MSG_BAR +Barra +;Bar +; +MSG_GADGET_TYPE +Tipo de Gadget: +;Gadget Type: +; +MSG_SCROLLER +Scroller +; +MSG_KNOB +Knob +; +MSG_ARRANGEMENT +Disposición +;Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN +Diseño del contenedor +;Container Design +; +MSG_KNOB_DESIGN +;Knob Design +; +MSG_EXAMPLE_SLIDERS +Deslizadores de ejemplo +;Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS +Campos de Texto +;Text fields +; +MSG_EXAMPLE_TEXTFIELD +Campo de Texto de ejemplo +;Example Textfield +; +MSG_PROGRESS_INDICATOR +Indicador de progreso +;Progress Indicator +; +MSG_DEVICE_IMAGES +Imágenes de dispositivos +;Device Images +; +MSG_DRAWER +Cajón +;Drawer +; +MSG_HARDDISK +Disco Duro +;Harddisk +; +MSG_DISK +Disco +;Disk +; +MSG_RAM +RAM +; +MSG_VOLUME +Volúmen +;Volume +; +MSG_NETWORK +Red +;Network +; +MSG_ASSIGN +Asignación +;Assign +; +MSG_TAPE_IMAGES +Imágenes de cintas +;Tape Images +; +MSG_TAPE_PLAY +Reproducir +;Tape play +; +MSG_TAPE_PLAYBACK +rebobinar +;Tape playback +; +MSG_TAPE_PAUSE +Pausar +;Tape pause +; +MSG_TAPE_STOP +Detener +;Tape stop +; +MSG_TAPE_RECORD +Grabar +;Tape record +; +MSG_TAPE_UP +Al comienzo +;Tape up +; +MSG_TAPE_DOWN +Al final +;Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME +Marco de la Cadena +;String Frame +; +MSG_SPECIAL_POPUP_BUTTONS +Botones Especiales Emergentes +;Special Popup Buttons +; +MSG_POPUP +Emergente +;Popup +; +MSG_DEFAULT +Predeterminado +;Default +; +MSG_FILE +Archivo +;File +; +MSG_POPUP_FILE +Archivo emergente +;Popup file +; +MSG_POPUP_DRAWER +Cajón emergente +;Popup drawer +; +MSG_INACTIVE_STRING_COLORS +Colores de Cadena inactiva +;Inactive String Colors +; +MSG_TEXT +Texto +;Text +; +MSG_ACTIVE_STRING_COLORS +Colores de Cadena activa +;Active String Colors +; +MSG_MARKED_STRING_COLORS +Colores de Cadena marcada +;Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET +Ejemplo del Gadget Cadena +;Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT +olvidar al salir +;forget on exit +; +MSG_REMEMBER_ON_EXIT +recordar al salir +;remember on exit +; +MSG_SAVE_ON_EXIT +guardar al salir +;save on exit +; +MSG_SMART +inteligente +;smart +; +MSG_SIMPLE +simple +; +MSG_WITHOUT_CLEAR +sin borrar +;without clear +; +MSG_WITH_CLEAR +borrar +;with clear +; +MSG_POSITIONS +Posiciones: +;Positions: +; +MSG_REDRAW +Dibujar de nuevo: +;Redraw: +; +MSG_TINY +Pequeño: +;Tiny: +; +MSG_BIG +Grande: +;Big: +; +MSG_WINDOW +Ventana +;Window +; +MSG_REQUESTER +Requester +; +MSG_L +L +; +MSG_T +T +; +MSG_R +R +; +MSG_B +B +; +MSG_BUTTONS +Botones +;Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 +Zune - Prefs Globales +;Zune - Global Prefs +; +MSG_WINTITLE2 +Zune - Prefs para: %s +;Zune - Prefs for : %s +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_OPEN +Abrir... +;Open ... +; +MSG_MEN_OPEN_SC +O +; +MSG_MEN_APPEND +Agregar... +;Append ... +; +MSG_MEN_SAVEAS +Guardar como... +;Save As ... +; +MSG_MEN_SAVEAS_SC +A +; +MSG_MEN_ABOUT +Acerca de Zune... +;About Zune ... +; +MSG_MEN_ABOUT_SC +? +; +MSG_MEN_QUIT +Salir +;Quit +; +MSG_MEN_QUIT_SC +Q +; +MSG_FRAME_CLIPBOARD +Clipboard del marco +;Frame Clipboard +; +MSG_IMAGE_CLIPBOARD +Clipboard de la imagen +;Image Clipboard +; +MSG_GAD_TEST +_Probar +;_Test +; +MSG_GAD_SAVE +_Guardar +;_Save +; +MSG_GAD_USE +_Usar +;_Use +; +MSG_GAD_CANCEL +_Cancelar +;_Cancel +; +MSG_DSC_WINDOWS +Ventanas +;Windows +; +MSG_DSC_GROUPS +Grupos +;Groups +; +MSG_DSC_BUTTONS +Botones +;Buttons +; +MSG_DSC_CYCLES +Ciclos +;Cycles +; +MSG_DSC_SLIDERS +Deslizadores +;Sliders +; +MSG_DSC_SCROLLBARS +Barras de desplazamiento +;Scrollbars +; +MSG_DSC_LISTVIEWS +Vistas de lista +;Listviews +; +MSG_DSC_STRINGS +Cadenas +;Strings +; +MSG_DSC_NAVIGATION +Navegación +;Navigation +; +MSG_DSC_SPECIAL +Especial +;Special +; +MSG_DSC_FRAMES +Marcos +;Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN +Ajustar Pincel +;Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES +Marcos personales +;Customframes +; diff --git a/workbench/prefs/Zune/catalogs/zune.cd b/workbench/prefs/Zune/catalogs/zune.cd new file mode 100644 index 00000000000..28c3a42a5fb --- /dev/null +++ b/workbench/prefs/Zune/catalogs/zune.cd @@ -0,0 +1,699 @@ +; +; buttonsp.c +;----------- +MSG_GENERAL (//) +General +; +MSG_BACKGROUND_COLON (//) +Background: +; +MSG_BACKGROUND_PRESSED (//) +Background in\npressed state: +; +MSG_TEXT_BUTTONS (//) +Text Buttons +; +MSG_FRAME_COLON (//) +Frame: +; +MSG_FONT (//) +Font: +; +MSG_IMAGE_BUTTONS (//) +Image Buttons +; +MSG_ADJUST_FRAME (//) +Adjust Frame +; +MSG_CHECKMARKS (//) +Checkmarks +; +MSG_LOOK_COLON (//) +Look: +; +MSG_CHECKMARK (//) +Checkmark +; +MSG_RADIO_BUTTONS (//) +Radio Buttons +; +MSG_RADIOBUTTON (//) +Radiobutton +; +MSG_LOOK (//) +Look +; +MSG_H (//) +H +; +MSG_V (//) +V +; +MSG_SPACING (//) +Spacing +; +;============================= +; cyclesp.c +;---------- +MSG_BELOW (//) +below +; +MSG_ON_ACTIVE (//) +on active +; +MSG_CYCLE_GADGET_DESIGN (//) +Cycle Gadget Design +; +MSG_CYCLE (//) +Cycle +; +MSG_POPUP_MENU_CONTROL (//) +Popup Menu Control +; +MSG_POSITION (//) +Position: +; +MSG_LEVEL (//) +Level: +; +MSG_SPEED (//) +Speed: +; +MSG_POPUP_MENU_DESIGN (//) +Popup Menu Design +; +MSG_FRAME (//) +Frame +; +MSG_ADJUST_BACKGROUND (//) +Adjust Background +; +MSG_BACKGROUND (//) +Background +; +MSG_RECESSED_ENTRIES (//) +Recessed Entries: +; +;============================= +; groupsp.c +;__________ +MSG_ABOVE (//) +above +; +MSG_CENTERED (//) +centered +; +MSG_STANDARD (//) +standard +; +MSG_HILITE (//) +hilite +; +MSG_3D (//) +3d +; +MSG_OUTLINE (//) +outline +; +MSG_TITLE (//) +Title +; +MSG_COLOR (//) +Color: +; +MSG_HORIZONTAL (//) +Horizontal: +; +MSG_VERTICAL (//) +Vertical: +; +MSG_REGISTER (//) +Register +; +MSG_DEFAULT_SIZE_TRUNCATE_TITLES (//) +Default size truncate titles +; +MSG_NORMAL (//) +Normal +; +MSG_VIRTUAL (//) +Virtual +; +MSG_FRAMED (//) +Framed +; +MSG_PAGE (//) +Page +; +;============================= +; listviewsp.c +;------------- +MSG_SHIFTED (//) +shifted +; +MSG_ALWAYS (//) +always +; +MSG_LINEAR (//) +linear +; +MSG_MIXED (//) +mixed +; +MSG_CONTROL (//) +Control +; +MSG_MULTI (//) +Multi: +; +MSG_REFRESH (//) +Refresh: +; +MSG_SMOOTH (//) +Smooth: +; +MSG_FONTS (//) +Fonts +; +MSG_NORMAL_COLON (//) +Normal: +; +MSG_FIXED (//) +Fixed: +; +MSG_LEADING (//) +Leading +; +MSG_DESIGN (//) +Design +; +MSG_INPUT_LISTS (//) +Input \nLists: +; +MSG_READONLY_LISTS (//) +Readonly \nLists: +; +MSG_CURSOR (//) +Cursor +; +MSG_ACTIVE (//) +Active: +; +MSG_ACTIVE_SELECTED (//) +Active &\nSelected: +; +MSG_SELECTED (//) +Selected: +; +;============================= +; navigationp.c +;______________ +MSG_ALWAYS_SOLID (//) +always solid +; +MSG_GHOSTED_ON_BOX (//) +ghosted on box +; +MSG_GHOSTED_OUTSIDE_BOX (//) +ghosted outside box +; +MSG_ALWAYS_GHOSTED (//) +always ghosted +; +MSG_SHOW_FRAMES (//) +show frames +; +MSG_SHOW_OBJECTS (//) +show objects +; +MSG_KL_PRESS (//) +Press: +; +MSG_KL_TOGGLE (//) +Toggle: +; +MSG_KL_UP (//) +Up: +; +MSG_KL_DOWN (//) +Down: +; +MSG_KL_PAGE_UP (//) +Page up: +; +MSG_KL_PAGE_DOWN (//) +Page down: +; +MSG_KL_TOP (//) +Top: +; +MSG_KL_BOTTOM (//) +Bottom: +; +MSG_KL_LEFT (//) +Left: +; +MSG_KL_RIGHT (//) +Right: +; +MSG_KL_WORD_LEFT (//) +Word left: +; +MSG_KL_WORD_RIGHT (//) +Word right: +; +MSG_KL_LINE_START (//) +Line start: +; +MSG_KL_LINE_END (//) +Line end: +; +MSG_KL_NEXT_GADGET (//) +Next gadget: +; +MSG_KL_PREV_GADGET (//) +Prev. gadget: +; +MSG_KL_GADGET_OFF (//) +Gadget off: +; +MSG_KL_CLOSE_WINDOW (//) +Close window: +; +MSG_KL_NEXT_WINDOW (//) +Next window: +; +MSG_KL_PREV_WINDOW (//) +Prev. window: +; +MSG_KL_HELP (//) +Help: +; +MSG_KL_POPUP (//) +Popup: +; +MSG_DRAG_DROP (//) +Drag & Drop +; +MSG_LEFT_BUTTON (//) +Left Button: +; +MSG_MIDDLE_BUTTON (//) +Middle Button: +; +MSG_AUTOSTART (//) +Autostart: +; +MSG_PIXEL (//) +%ld pixel +; +MSG_BALANCING_GROUPS (//) +Balancing Groups +; +MSG_EXAMPLE (//) +Example: +; +MSG_TRY_WITH (//) +Try with +; +MSG_SHIFT (//) +shift +; +MSG_TOO (//) +too! +; +MSG_KEYBOARD_CONTROL (//) +Keyboard Control +; +MSG_COLOR_ACTIVE_OBJ (//) +Color of active object: +; +MSG_NEWLOOK (//) +newlook +; +MSG_CUSTOM (//) +custom +; +MSG_ARROWS (//) +Arrows +; +MSG_UP (//) +up +; +MSG_ARROW_UP (//) +Arrow up +; +MSG_ARROW_DOWN (//) +Arrow down +; +MSG_DOWN (//) +down +; +MSG_LEFT (//) +left +; +MSG_ARROW_LEFT (//) +Arrow left +; +MSG_ARROW_RIGHT (//) +Arrow right +; +MSG_RIGHT (//) +right +; +MSG_BAR (//) +Bar +; +MSG_GADGET_TYPE (//) +Gadget Type: +; +MSG_SCROLLER (//) +Scroller +; +MSG_KNOB (//) +Knob +; +MSG_ARRANGEMENT (//) +Arrangement +; +;============================= +; slidersp.c +;----------- +MSG_CONTAINER_DESIGN (//) +Container Design +; +MSG_KNOB_DESIGN (//) +Knob Design +; +MSG_EXAMPLE_SLIDERS (//) +Example Sliders +; +;============================= +; specialp.c +;----------- +MSG_TEXT_FIELDS (//) +Text fields +; +MSG_EXAMPLE_TEXTFIELD (//) +Example Textfield +; +MSG_PROGRESS_INDICATOR (//) +Progress Indicator +; +MSG_DEVICE_IMAGES (//) +Device Images +; +MSG_DRAWER (//) +Drawer +; +MSG_HARDDISK (//) +Harddisk +; +MSG_DISK (//) +Disk +; +MSG_RAM (//) +RAM +; +MSG_VOLUME (//) +Volume +; +MSG_NETWORK (//) +Network +; +MSG_ASSIGN (//) +Assign +; +MSG_TAPE_IMAGES (//) +Tape Images +; +MSG_TAPE_PLAY (//) +Tape play +; +MSG_TAPE_PLAYBACK (//) +Tape playback +; +MSG_TAPE_PAUSE (//) +Tape pause +; +MSG_TAPE_STOP (//) +Tape stop +; +MSG_TAPE_RECORD (//) +Tape record +; +MSG_TAPE_UP (//) +Tape up +; +MSG_TAPE_DOWN (//) +Tape down +; +;============================= +; stringsp.c +;----------- +MSG_STRING_FRAME (//) +String Frame +; +MSG_SPECIAL_POPUP_BUTTONS (//) +Special Popup Buttons +; +MSG_POPUP (//) +Popup +; +MSG_DEFAULT (//) +Default +; +MSG_FILE (//) +File +; +MSG_POPUP_FILE (//) +Popup file +; +MSG_POPUP_DRAWER (//) +Popup drawer +; +MSG_INACTIVE_STRING_COLORS (//) +Inactive String Colors +; +MSG_TEXT (//) +Text +; +MSG_ACTIVE_STRING_COLORS (//) +Active String Colors +; +MSG_MARKED_STRING_COLORS (//) +Marked String Colors +; +MSG_EXAMPLE_STRING_GADGET (//) +Example String Gadget +; +;============================= +; windowp.c +;---------- +MSG_FORGET_ON_EXIT (//) +forget on exit +; +MSG_REMEMBER_ON_EXIT (//) +remember on exit +; +MSG_SAVE_ON_EXIT (//) +save on exit +; +MSG_SMART (//) +smart +; +MSG_SIMPLE (//) +simple +; +MSG_WITHOUT_CLEAR (//) +without clear +; +MSG_WITH_CLEAR (//) +with clear +; +MSG_POSITIONS (//) +Positions: +; +MSG_REDRAW (//) +Redraw: +; +MSG_TINY (//) +Tiny: +; +MSG_BIG (//) +Big: +; +MSG_WINDOW (//) +Window +; +MSG_REQUESTER (//) +Requester +; +MSG_L (//) +L +; +MSG_T (//) +T +; +MSG_R (//) +R +; +MSG_B (//) +B +; +MSG_BUTTONS (//) +Buttons +; +;============================= +; zune.c +;------- +MSG_WINTITLE1 (//) +Zune - Global Prefs +; +MSG_WINTITLE2 (//) +Zune - Prefs for : %s +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_OPEN (//) +Open ... +; +MSG_MEN_OPEN_SC (//) +O +; +MSG_MEN_APPEND (//) +Append ... +; +MSG_MEN_SAVEAS (//) +Save As ... +; +MSG_MEN_SAVEAS_SC (//) +A +; +MSG_MEN_ABOUT (//) +About Zune ... +; +MSG_MEN_ABOUT_SC (//) +? +; +MSG_MEN_QUIT (//) +Quit +; +MSG_MEN_QUIT_SC (//) +Q +; +MSG_FRAME_CLIPBOARD (//) +Frame Clipboard +; +MSG_IMAGE_CLIPBOARD (//) +Image Clipboard +; +MSG_GAD_TEST (//) +_Test +; +MSG_GAD_SAVE (//) +_Save +; +MSG_GAD_USE (//) +_Use +; +MSG_GAD_CANCEL (//) +_Cancel +; +MSG_DSC_SYSTEM (//) +System +; +MSG_DSC_WINDOWS (//) +Windows +; +MSG_DSC_GROUPS (//) +Groups +; +MSG_DSC_BUTTONS (//) +Buttons +; +MSG_DSC_CYCLES (//) +Cycles +; +MSG_DSC_SLIDERS (//) +Sliders +; +MSG_DSC_SCROLLBARS (//) +Scrollbars +; +MSG_DSC_LISTVIEWS (//) +Listviews +; +MSG_DSC_STRINGS (//) +Strings +; +MSG_DSC_NAVIGATION (//) +Navigation +; +MSG_DSC_SPECIAL (//) +Special +; +MSG_DSC_FRAMES (//) +Frames +; +;============================= +; zunestuff.c +;------------ +MSG_ADJUST_PEN (//) +Adjust Pen +; +;============================= +; framesp.c +;---------- +MSG_CUSTOMFRAMES (//) +Customframes +; +;============================= +; systemp.c +;---------- +MSG_PUBLIC_SCREEN (//) +Public Screen +; +MSG_NAME (//) +Name: +; +MSG_CALL_INSPECTOR (//) +Call Inspector +; +MSG_POP_TO_FRONT (//) +Pop to front: +; +MSG_ICONIFICATION (//) +Iconification +; +MSG_HOTKEY (//) +Hotkey: +; +MSG_SHOW (//) +Show: +; +MSG_ICON (//) +Icon +; +MSG_MENU (//) +Menu +; +MSG_ON_STARTUP (//) +On Startup: +; +MSG_INTERFACES (//) +Interfaces +; +MSG_AREXX (//) +ARexx: +; +MSG_BUBBLE_HELP (//) +Bubble Help +; +MSG_FIRST_BUBBLE (//) +First Bubble: +; +MSG_NEXT_BUBBLE (//) +Next Bubble: +; diff --git a/workbench/prefs/appearance/catalogs b/workbench/prefs/appearance/catalogs deleted file mode 160000 index c15102b9c46..00000000000 --- a/workbench/prefs/appearance/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c15102b9c467c690488df4d128b4ccc4f7d30c28 diff --git a/workbench/prefs/appearance/catalogs/.gitattributes b/workbench/prefs/appearance/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/appearance/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/appearance/catalogs/appearance.cd b/workbench/prefs/appearance/catalogs/appearance.cd new file mode 100644 index 00000000000..d0e7885d8ac --- /dev/null +++ b/workbench/prefs/appearance/catalogs/appearance.cd @@ -0,0 +1,46 @@ +; +MSG_WINTITLE (//) +Appearance Preferences +; +MSG_OK (//) +Ok +; +MSG_ENABLETHEMES (//) +Enable theming +; +MSG_PREVIEW (//) +Preview +; +MSG_NOPREVIEW (//) +-Preview Unavailable- +; +MSG_SELECTEDTHEME (//) +Theme: +; +MSG_ENABLEZUNEPREFS (//) +Override Zune configuration +; +MSG_ENABLEWANDPREFS (//) +Inherit Wanderer Configuration? +; +MSG_SEC_THEMING (//) +Theming +; +MSG_SEC_COMPOSITING (//) +Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION (//) +Enable screen composition +; +MSG_COMPOSITE_BELOW (//) +Composite below +; +MSG_COMPOSITE_LEFT (//) +Composite left +; +MSG_COMPOSITE_RIGHT (//) +Composite right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA (//) +Enable compositing with alpha +; diff --git a/workbench/prefs/appearance/catalogs/czech.ct b/workbench/prefs/appearance/catalogs/czech.ct new file mode 100644 index 00000000000..ec0b14c0f6b --- /dev/null +++ b/workbench/prefs/appearance/catalogs/czech.ct @@ -0,0 +1,65 @@ +## version $VER: Appearance.catalog 2.1 (12.6.2017) +## language czech +## codeset 5 +; +; +MSG_WINTITLE +Nastavení vzhledu (theme setting) +; Appearance Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ENABLETHEMES +Zapnout použití témat +; Enable Theme'ing? +; +MSG_PREVIEW +Náhled +; Preview +; +MSG_NOPREVIEW +-Náhled je nedostupný- +; -Preview Unavailable- +; +MSG_SELECTEDTHEME +Použít téma: +; Theme +; +MSG_ENABLEZUNEPREFS +Převzít Zune nastavení? +; Inherit Zune Configuration? +; +MSG_ENABLEWANDPREFS +Převzít Wanderer nastavení? +; Inherit Wanderer Configuration? +; +MSG_SEC_THEMING +Témata +; Theming +; +MSG_SEC_COMPOSITING +Kompozitní výstup +; Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION +Zapnout kompozitní obraz +; Enable Screen Composition +; +MSG_COMPOSITE_BELOW +Skládat dole +; Composite Below +; +MSG_COMPOSITE_LEFT +Skládat vlevo +; Composite Left +; +MSG_COMPOSITE_RIGHT +Skládat vpravo +; Composite Right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA +Zapnout kompozici s průhledností +; Enable Compositing with Alpha +; diff --git a/workbench/prefs/appearance/catalogs/french.ct b/workbench/prefs/appearance/catalogs/french.ct new file mode 100644 index 00000000000..733e6abc03d --- /dev/null +++ b/workbench/prefs/appearance/catalogs/french.ct @@ -0,0 +1,65 @@ +## version $VER: Appearance.catalog 2.1 (03.01.2018) +## language français +## codeset 0 +; +; +MSG_WINTITLE +Préférences d'apparence +; Appearance Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ENABLETHEMES +Activer les thèmes ? +; Enable theming? +; +MSG_PREVIEW +Prévisualisation +; Preview +; +MSG_NOPREVIEW +-Prévisualisation non disponible- +; -Preview Unavailable- +; +MSG_SELECTEDTHEME +Thème +; Theme +; +MSG_ENABLEZUNEPREFS +Hériter de la configuration de Zune ? +; Inherit Zune Configuration? +; +MSG_ENABLEWANDPREFS +Hériter de la configuration de Wanderer ? +; Inherit Wanderer Configuration? +; +MSG_SEC_THEMING +Décoration +; Theming +; +MSG_SEC_COMPOSITING +Composition +; Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION +Activer la composition de l'écran +; Enable Screen Composition +; +MSG_COMPOSITE_BELOW +Composition en dessous +; Composite Below +; +MSG_COMPOSITE_LEFT +Composition à gauche +; Composite Left +; +MSG_COMPOSITE_RIGHT +Composition à droite +; Composite Right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA +Activer la composition avec transparence +; Enable Compositing with Alpha +; diff --git a/workbench/prefs/appearance/catalogs/italian.ct b/workbench/prefs/appearance/catalogs/italian.ct new file mode 100644 index 00000000000..bba948ab556 --- /dev/null +++ b/workbench/prefs/appearance/catalogs/italian.ct @@ -0,0 +1,66 @@ +## version $VER: Appearance.catalog 2.1 (15.6.2017) +## language italiano +## codeset 0 +; +; +MSG_WINTITLE +Preferenze dell'aspetto +; Appearance Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ENABLETHEMES +Abilitare decorazioni? +; Enable theming? +; +MSG_PREVIEW +Anteprima +; Preview +; +MSG_NOPREVIEW +-Anteprima non disponibile- +; -Preview Unavailable- +; +MSG_SELECTEDTHEME +Decorazione +; Theme +; +MSG_ENABLEZUNEPREFS +Ereditare le impostazioni di Zune? +; Inherit Zune Configuration? +; +MSG_ENABLEWANDPREFS +Ereditare le impostazioni di Wanderer? +; Inherit Wanderer Configuration? +; +MSG_SEC_THEMING +Decorazioni +; Theming +; +MSG_SEC_COMPOSITING +Composizione +; Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION +Abilitare composizione schermo +; Enable Screen Composition +; +MSG_COMPOSITE_BELOW +Composizione sotto +; Composite Below +; +MSG_COMPOSITE_LEFT +Composizione a sinistra +; Composite Left +; +MSG_COMPOSITE_RIGHT +Composizione a destra +; Composite Right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA +Composizione con trasparenza +; Enable Compositing with Alpha +; +; diff --git a/workbench/prefs/appearance/catalogs/mmakefile.src b/workbench/prefs/appearance/catalogs/mmakefile.src new file mode 100644 index 00000000000..2384293e6c4 --- /dev/null +++ b/workbench/prefs/appearance/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2013-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech italian french polish norwegian + +%build_catalogs mmake=workbench-prefs-appearance-catalogs \ + catalogs=$(CATALOGS) \ + name=Appearance subdir=System/Prefs diff --git a/workbench/prefs/appearance/catalogs/norwegian.ct b/workbench/prefs/appearance/catalogs/norwegian.ct new file mode 100644 index 00000000000..b57e50ddc9d --- /dev/null +++ b/workbench/prefs/appearance/catalogs/norwegian.ct @@ -0,0 +1,66 @@ +## version $VER: Appearance.catalog 2.1 (15.6.2017) +## language norwegian +## codeset 0 +; +; +MSG_WINTITLE +Utseendeinnstillinger +; Appearance Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ENABLETHEMES +Aktiver dekorering? +; Enable theming? +; +MSG_PREVIEW +Forhndsvis +; Preview +; +MSG_NOPREVIEW +-Forhndsvisning ikke tilgjengelig- +; -Preview Unavailable- +; +MSG_SELECTEDTHEME +Dekorasjon +; Theme +; +MSG_ENABLEZUNEPREFS +Kopier konfigurasjon fra Zune? +; Inherit Zune Configuration? +; +MSG_ENABLEWANDPREFS +Kopier konfigurasjon fra Wanderer? +; Inherit Wanderer Configuration? +; +MSG_SEC_THEMING +Dekorering +; Theming +; +MSG_SEC_COMPOSITING +Sammensetting +; Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION +Aktiver skjermsammensetting +; Enable Screen Composition +; +MSG_COMPOSITE_BELOW +Sammensetting under +; Composite Below +; +MSG_COMPOSITE_LEFT +Sammensetting til venstre +; Composite Left +; +MSG_COMPOSITE_RIGHT +Sammensetting til hyre +; Composite Right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA +Aktiver sammensetting med alpha +; Enable Compositing with Alpha +; +; diff --git a/workbench/prefs/appearance/catalogs/polish.ct b/workbench/prefs/appearance/catalogs/polish.ct new file mode 100644 index 00000000000..4b99461eda4 --- /dev/null +++ b/workbench/prefs/appearance/catalogs/polish.ct @@ -0,0 +1,64 @@ +## version $VER: Appearance.catalog 2.1 (21.04.2019) +## language polski +## codeset 5 +; +MSG_WINTITLE +Ustawienia Motywów Graficznych +; Appearance Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ENABLETHEMES +Uaktywnij Motywy Graficzne +; Enable Theme'ing? +; +MSG_PREVIEW +Podgląd +; Preview +; +MSG_NOPREVIEW +-Podgląd Niedostępny- +; -Preview Unavailable- +; +MSG_SELECTEDTHEME +Motyw +; Theme +; +MSG_ENABLEZUNEPREFS +Przejąć Ustawienia Zune? +; Inherit Zune Configuration? +; +MSG_ENABLEWANDPREFS +Przejąć Ustawienia Wanderera? +; Inherit Wanderer Configuration? +; +MSG_SEC_THEMING +Motywy +; Theming +; +MSG_SEC_COMPOSITING +Kompozycja +; Compositing +; +MSG_ENABLE_SCREEN_COMPOSITION +Uaktywnij Komponowanie Ekranu +; Enable Screen Composition +; +MSG_COMPOSITE_BELOW +Nakładać Poniżej +; Composite Below +; +MSG_COMPOSITE_LEFT +Nakładać po Lewej +; Composite Left +; +MSG_COMPOSITE_RIGHT +Nakładać po Prawej +; Composite Right +; +MSG_ENABLE_COMPOSITE_WITH_ALPHA +Uaktywnij Kompozycję z Przezroczystością +; Enable Compositing with Alpha +; diff --git a/workbench/prefs/boingiconbar/catalogs b/workbench/prefs/boingiconbar/catalogs deleted file mode 160000 index e023cb42ee6..00000000000 --- a/workbench/prefs/boingiconbar/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e023cb42ee600b5f3b39cd0aa13d507e6aaea0c9 diff --git a/workbench/prefs/boingiconbar/catalogs/.gitattributes b/workbench/prefs/boingiconbar/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/boingiconbar/catalogs/boingiconbar.cd b/workbench/prefs/boingiconbar/catalogs/boingiconbar.cd new file mode 100644 index 00000000000..9aac3fd10d0 --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/boingiconbar.cd @@ -0,0 +1,34 @@ +; +MSG_APP (//) +BIBPrefs +; +MSG_DESCRIPTION (//) +BoingIconBar Preferences +; +MSG_TITLE (//) +BoingIconBar Preferences +; +MSG_DOCK (//) +\33cDock +; +MSG_ADD_DOCK (//) +Add +; +MSG_DEL_DOCK (//) +Delete +; +MSG_SAVE (//) +Save +; +MSG_PROGRAMS (//) +\33cPrograms +; +MSG_ADD_P (//) +Add program +; +MSG_DEL_P (//) +Del program +; +MSG_OK (//) +OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/czech.ct b/workbench/prefs/boingiconbar/catalogs/czech.ct new file mode 100644 index 00000000000..fa711290a8e --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/czech.ct @@ -0,0 +1,49 @@ +## version $VER: BoingIconBar.catalog 2.0 (13.6.2016) +## language czech +## codeset 5 +; +; +MSG_APP +BIBNastavení +; BIBPrefs +; +MSG_DESCRIPTION +BoingIconBar (nastavení) +; BoingIconBar Preferences +; +MSG_TITLE +BoingIconBar (nastavení) +; BoingIconBar Preferences +; +MSG_DOCK +\33cLišta +; \33cDock +; +MSG_ADD_DOCK +Přidat +; Add +; +MSG_DEL_DOCK +Odebrat +; Delete +; +MSG_SAVE +Uložit +; Save +; +MSG_PROGRAMS +\33cProgramy +; \33cPrograms +; +MSG_ADD_P +Přidat program +; Add program +; +MSG_DEL_P +Odebrat program +; Del program +; +MSG_OK +Ok +; OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/french.ct b/workbench/prefs/boingiconbar/catalogs/french.ct new file mode 100644 index 00000000000..75fdd19c3dd --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/french.ct @@ -0,0 +1,49 @@ +## version $VER: BIBPrefs.catalog 2.0 (30.03.2016) +## language français +## codeset 0 +; +; +MSG_APP +BIBPrefs +;BIBPrefs +; +MSG_DESCRIPTION +Préférences de BoingIconBar +;BoingIconBar Preferences +; +MSG_TITLE +Préférences BoingIconBar +;BoingIconBar Preferences +; +MSG_DOCK +\33cBarre d'outils +;\33cDock +; +MSG_ADD_DOCK +Ajouter +;Add +; +MSG_DEL_DOCK +Retirer +;Delete +; +MSG_SAVE +Sauver +;Save +; +MSG_PROGRAMS +\33cProgrammes +;\33cPrograms +; +MSG_ADD_P +Ajouter +;Add program +; +MSG_DEL_P +Retirer +;Del program +; +MSG_OK +OK +;OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/german.ct b/workbench/prefs/boingiconbar/catalogs/german.ct new file mode 100644 index 00000000000..4ff6428444b --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/german.ct @@ -0,0 +1,49 @@ +## version $VER: BIBPrefs.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_APP +BIBPrefs +; BIBPrefs +; +MSG_DESCRIPTION +BoingIconBar Voreinstellungen +; BoingIconBar Preferences +; +MSG_TITLE +BoingIconBar Voreinstellungen +; BoingIconBar Preferences +; +MSG_DOCK +\33cDock +; \33cDock +; +MSG_ADD_DOCK +Hinzufügen +; Add +; +MSG_DEL_DOCK +Entfernen +; Delete +; +MSG_SAVE +Speichern +; Save +; +MSG_PROGRAMS +Programme +; \33cPrograms +; +MSG_ADD_P +Programm hinzufügen +; Add program +; +MSG_DEL_P +Programm entfernen +; Del program +; +MSG_OK +Ok +; OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/italian.ct b/workbench/prefs/boingiconbar/catalogs/italian.ct new file mode 100644 index 00000000000..09670383af5 --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/italian.ct @@ -0,0 +1,49 @@ +## version $VER: BoingIconBar.catalog 2.1 (15.6.2017) +## language italiano +## codeset 0 +; +; +MSG_APP +BIBPrefs +; BIBPrefs +; +MSG_DESCRIPTION +Preferenze di BoingIconBar +; BoingIconBar Preferences +; +MSG_TITLE +Preferenze di BoingIconBar +; BoingIconBar Preferences +; +MSG_DOCK +\33cDock +; \33cDock +; +MSG_ADD_DOCK +Aggiungi +; Add +; +MSG_DEL_DOCK +Elimina +; Delete +; +MSG_SAVE +Salva +; Save +; +MSG_PROGRAMS +\33cProgrammi +; \33cPrograms +; +MSG_ADD_P +Aggiungi programma +; Add program +; +MSG_DEL_P +Rimuovi programma +; Del program +; +MSG_OK +Ok +; OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/mmakefile.src b/workbench/prefs/boingiconbar/catalogs/mmakefile.src new file mode 100644 index 00000000000..7e52c4805c1 --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2012-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech french german italian polish norwegian + +%build_catalogs mmake=workbench-prefs-iconbar-catalogs \ + catalogs=$(CATALOGS) \ + name=BoingIconBar subdir=System/Prefs diff --git a/workbench/prefs/boingiconbar/catalogs/norwegian.ct b/workbench/prefs/boingiconbar/catalogs/norwegian.ct new file mode 100644 index 00000000000..042d94facd4 --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/norwegian.ct @@ -0,0 +1,49 @@ +## version $VER: BIBPrefs.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_APP +BIBPrefs +; BIBPrefs +; +MSG_DESCRIPTION +BoingIconBar innstillinger +; BoingIconBar Preferences +; +MSG_TITLE +BoingIconBar innstillinger +; BoingIconBar Preferences +; +MSG_DOCK +\33cDock +; \33cDock +; +MSG_ADD_DOCK +Legg til +; Add +; +MSG_DEL_DOCK +Slett +; Delete +; +MSG_SAVE +Lagre +; Save +; +MSG_PROGRAMS +Programmer +; \33cPrograms +; +MSG_ADD_P +Legg til program +; Add program +; +MSG_DEL_P +Slett program +; Del program +; +MSG_OK +Ok +; OK +; diff --git a/workbench/prefs/boingiconbar/catalogs/polish.ct b/workbench/prefs/boingiconbar/catalogs/polish.ct new file mode 100644 index 00000000000..b58dcf23acf --- /dev/null +++ b/workbench/prefs/boingiconbar/catalogs/polish.ct @@ -0,0 +1,49 @@ +## version $VER: BoingIconBar.catalog 2.0 (07.09.2018) +## language polski +## codeset 5 +; +; +MSG_APP +Ustawienia BoingIconBar +; BIBPrefs +; +MSG_DESCRIPTION +Ustawienia paska narzędzi +; BoingIconBar Preferences +; +MSG_TITLE +Ustawienia paska narzędzi +; BoingIconBar Preferences +; +MSG_DOCK +\33cBelka aplikacji +; \33cDock +; +MSG_ADD_DOCK +Dodaj +; Add +; +MSG_DEL_DOCK +Usuń +; Delete +; +MSG_SAVE +Zapisz +; Save +; +MSG_PROGRAMS +\33cProgramy +; \33cPrograms +; +MSG_ADD_P +Dodaj program +; Add program +; +MSG_DEL_P +Usuń program +; Del program +; +MSG_OK +Ok +; OK +; diff --git a/workbench/prefs/boot/catalogs b/workbench/prefs/boot/catalogs deleted file mode 160000 index 58a47aefeab..00000000000 --- a/workbench/prefs/boot/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 58a47aefeab7bf2cc2f77cd539a7e828ce7e46d7 diff --git a/workbench/prefs/boot/catalogs/.gitattributes b/workbench/prefs/boot/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/boot/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/boot/catalogs/boot.cd b/workbench/prefs/boot/catalogs/boot.cd new file mode 100644 index 00000000000..c7310d8b41d --- /dev/null +++ b/workbench/prefs/boot/catalogs/boot.cd @@ -0,0 +1,168 @@ +MSG_NAME (//) +Boot Preferences +; +MSG_DESCRIPTION (//40) +Manage boot preferences +; +MSG_GFX (//) +Graphics +; +MSG_GFX_COMPOSITION (//) +Enable composition +; +MSG_GFX_TYPE (//) +Type: +; +MSG_GFX_TYPE_AUTO (//) +Automatic +; +MSG_GFX_TYPE_NATIVE (//) +Native +; +MSG_GFX_TYPE_VESA (//) +VESA +; +MSG_GFX_TYPE_VGA (//) +VGA +; +MSG_GFX_VESAMODE (//) +VESA Mode +; +MSG_GFX_WIDTH (//) +Width: +; +MSG_GFX_HEIGHT (//) +Height: +; +MSG_GFX_DEPTH (//) +Colour Depth: +; +MSG_GFX_DEPTH_TRUE (//) +True Colour +; +MSG_GFX_DEPTH_HIGH (//) +High Colour +; +MSG_GFX_DEPTH_LOW (//) +256 Colours +; +MSG_GFX_REFRESH (//) +Refresh Rate: +; +MSG_GFX_HERTZ (//) +Hz +; +MSG_GFX_DEFAULTREFRESH (//) +Use Default Refresh Rate +; +MSG_GFX_BESTRES (//) +Use Highest Available Resolution +; +MSG_ATA (//) +ATA +; +MSG_ATA_BUSES (//) +Enabled Buses: +; +MSG_ATA_BUS_PCI (//) +PCI +; +MSG_ATA_BUS_LEGACY (//) +Legacy +; +MSG_ATA_BUS_ALL (//) +All +; +MSG_ATA_BUS_NONE (//) +None +; +MSG_ATA_DMA (//) +Enable DMA Data Transfers +; +MSG_ATA_32BIT (//) +Enable 32-bit Data Transfers +; +MSG_ATA_POLL (//) +Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI (//) +Enable Multisector Data Transfers +; +MSG_ATA_AHCI (//) +Enable Native AHCI +; +MSG_DEBUG (//) +Debugging +; +MSG_DEBUG_OUTPUT (//) +Output: +; +MSG_DEBUG_OUTPUT_NONE (//) +None +; +MSG_DEBUG_OUTPUT_MEMORY (//) +Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL (//) +Serial Port +; +MSG_DEBUG_MUNGWALL (//) +Enable Mungwall +; +MSG_DEBUG_USB (//) +Debug USB +; +MSG_MISC (//) +Miscellaneous +; +MSG_USB_ENABLE (//) +Enable USB +; +MSG_ACPI_ENABLE (//) +Enable ACPI +; +MSG_FLOPPY_ENABLE (//) +Enable Floppy Disk Drive +; +MSG_DEVICE (//) +Boot Device +; +MSG_DEVICE_NAME (//) +DOS Device: +; +MSG_DEVICE_DELAY (//) +Boot Delay: +; +MSG_DEVICE_SECONDS (//) +seconds +; +MSG_DEVICE_DEFAULTDELAY (//) +Use Default Boot Delay +; +MSG_OPTIONS (//) +Options +; +MSG_MODULES (//) +Modules +; +MSG_ACTIVE (//) +Active +; +MSG_PATH (//) +Path +; +MSG_ADD (//) +Add +; +MSG_REMOVE (//) +Remove +; +MSG_OK (//) +OK +; +MSG_CANCEL (//) +Cancel +; +MSG_BAD_MODULE (//) +Bad module path "%s" +; diff --git a/workbench/prefs/boot/catalogs/czech.ct b/workbench/prefs/boot/catalogs/czech.ct new file mode 100644 index 00000000000..645f40c0b75 --- /dev/null +++ b/workbench/prefs/boot/catalogs/czech.ct @@ -0,0 +1,229 @@ +## version $VER: boot.catalog 1.0 (18.03.2016) +## language czech +## codeset 5 +; +MSG_NAME +Nastavení vlastností startu (Boot setting) +; Boot Preferences +; +MSG_DESCRIPTION +Nastavení vlastností startu +; Boot preferences +; +MSG_GFX +Grafický režim +; Graphics +; +MSG_GFX_COMPOSITION +Zapnout kompozitní mód +; Enable composition +; +MSG_GFX_TYPE +Typ: +; Type: +; +MSG_GFX_TYPE_AUTO +Automatický +; Automatic +; +MSG_GFX_TYPE_NATIVE +Nativní +; Native +; +MSG_GFX_TYPE_VESA +VESA +; VESA +; +MSG_GFX_TYPE_VGA +VGA +; VGA +; +MSG_GFX_VESAMODE +VESA mód +; VESA Mode +; +MSG_GFX_WIDTH +Šířka: +; Width: +; +MSG_GFX_HEIGHT +Výška: +; Height: +; +MSG_GFX_DEPTH +Barevná hloubka: +; Colour Depth: +; +MSG_GFX_DEPTH_TRUE +Milióny barev +; True Colour +; +MSG_GFX_DEPTH_HIGH +Tisíce barev +; High Colour +; +MSG_GFX_DEPTH_LOW +256 barev +; 256 Colours +; +MSG_GFX_REFRESH +Obnovovací frekvence: +; Refresh Rate: +; +MSG_GFX_HERTZ +Hz +; Hz +; +MSG_GFX_DEFAULTREFRESH +Použít obvyklou obnovovací frekvenci +; Use Default Refresh Rate +; +MSG_GFX_BESTRES +Použít nejvyšší dostupné rozlišení +; Use Highest Available Resolution +; +MSG_ATA +ATA +; ATA +; +MSG_ATA_BUSES +Zapnout sběrnici: +; Enabled Buses: +; +MSG_ATA_BUS_PCI +PCI +; PCI +; +MSG_ATA_BUS_LEGACY +Starší +; Legacy +; +MSG_ATA_BUS_ALL +Všechny +; All +; +MSG_ATA_BUS_NONE +Žádné +; None +; +MSG_ATA_DMA +Zapnout DMA přenos dat +; Enable DMA Data Transfers +; +MSG_ATA_32BIT +Zapnout 32-bitový přenos dat +; Enable 32-bit Data Transfers +; +MSG_ATA_POLL +Zjistit konec zaneprádnění +;Použít dotaz k detekci konce zaneprázdnění +; Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI +Zapnout multisektorový přenos dat +; Enable Multisector Data Transfers +; +MSG_ATA_AHCI +Zapnout nativní AHCI +; Enable Native AHCI +; +MSG_DEBUG +Ladící prostředky +; Debugging +; +MSG_DEBUG_OUTPUT +Výstup: +; Output: +; +MSG_DEBUG_OUTPUT_NONE +Žádný +; None +; +MSG_DEBUG_OUTPUT_MEMORY +Paměťový buffer +; Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL +Sériový port +; Serial Port +; +MSG_DEBUG_MUNGWALL +Zapnout Mungwall +; Enable Mungwall +; +MSG_DEBUG_USB +Debug USB +; Debug USB +; +MSG_MISC +Různé +; Miscellaneous +; +MSG_USB_ENABLE +Zapnout USB +; Enable USB +; +MSG_ACPI_ENABLE +Zapnout ACPI +; Enable ACPI +; +MSG_FLOPPY_ENABLE +Zapnout disketovou jednotku +; Enable Floppy Disk Drive +; +MSG_DEVICE +Boot zařízení +; Boot Device +; +MSG_DEVICE_NAME +DOS zařízení: +; DOS Device: +; +MSG_DEVICE_DELAY +Zpoždění pro Boot +; Boot Delay: +; +MSG_DEVICE_SECONDS +vteřiny +; seconds +; +MSG_DEVICE_DEFAULTDELAY +Použít obvyklý čas pro Boot +; Use Default Boot Delay +; +MSG_OPTIONS +Možnosti +;Options +; +MSG_MODULES +Moduly +;Modules +; +MSG_ACTIVE +Aktivní +;Active +; +MSG_PATH +Cesta +;Path +; +MSG_ADD +Přidat +;Add +; +MSG_REMOVE +Odebrat +;Remove +; +MSG_OK +OK +;OK +; +MSG_CANCEL +Zpět +;Cancel +; +MSG_BAD_MODULE +Chybná cesta k modulu "%s" +;Bad module path "%s" +; diff --git a/workbench/prefs/boot/catalogs/german.ct b/workbench/prefs/boot/catalogs/german.ct new file mode 100644 index 00000000000..a8ab71cee03 --- /dev/null +++ b/workbench/prefs/boot/catalogs/german.ct @@ -0,0 +1,228 @@ +## version $VER: boot.catalog 1.0 (24.08.2016) +## language deutsch +## codeset 0 +; +MSG_NAME +Boot-Einstellungen +; Boot Preferences +; +MSG_DESCRIPTION +Boot-Einstellungen verwalten +; Boot preferences +; +MSG_GFX +Grafik +; Graphics +; +MSG_GFX_COMPOSITION +Aktiviere Composition +; Enable composition +; +MSG_GFX_TYPE +Typ: +; Type: +; +MSG_GFX_TYPE_AUTO +Automatisch +; Automatic +; +MSG_GFX_TYPE_NATIVE +Nativ +; Native +; +MSG_GFX_TYPE_VESA +VESA +; VESA +; +MSG_GFX_TYPE_VGA +VGA +; VGA +; +MSG_GFX_VESAMODE +VESA-Modus +; VESA Mode +; +MSG_GFX_WIDTH +Breite: +; Width: +; +MSG_GFX_HEIGHT +Höhe: +; Height: +; +MSG_GFX_DEPTH +Farbtiefe: +; Colour Depth: +; +MSG_GFX_DEPTH_TRUE +True-Colour +; True Colour +; +MSG_GFX_DEPTH_HIGH +High-Colour +; High Colour +; +MSG_GFX_DEPTH_LOW +256 Farben +; 256 Colours +; +MSG_GFX_REFRESH +Bildwiederholrate: +; Refresh Rate: +; +MSG_GFX_HERTZ +Hz +; Hz +; +MSG_GFX_DEFAULTREFRESH +Verwende Standard-Bildwiederholrate +; Use Default Refresh Rate +; +MSG_GFX_BESTRES +Verwende höchste verfügbare Auflösung +; Use Highest Available Resolution +; +MSG_ATA +ATA +; ATA +; +MSG_ATA_BUSES +Aktivierte Busse: +; Enabled Buses: +; +MSG_ATA_BUS_PCI +PCI +; PCI +; +MSG_ATA_BUS_LEGACY +Legacy +; Legacy +; +MSG_ATA_BUS_ALL +Alle +; All +; +MSG_ATA_BUS_NONE +Kein +; None +; +MSG_ATA_DMA +Aktiviere DMA-Datenübertragungen +; Enable DMA Data Transfers +; +MSG_ATA_32BIT +Aktiviere 32-Bit-Datenübertragungen +; Enable 32-bit Data Transfers +; +MSG_ATA_POLL +Verwende Polling zum Erkennen des Endes des Besetztzustandes +; Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI +Aktiviere Multisektor-Datenübertragungen +; Enable Multisector Data Transfers +; +MSG_ATA_AHCI +Aktiviere natives AHCI +; Enable Native AHCI +; +MSG_DEBUG +Fehlerbeseitigung +; Debugging +; +MSG_DEBUG_OUTPUT +Ausgabe: +; Output: +; +MSG_DEBUG_OUTPUT_NONE +Keine +; None +; +MSG_DEBUG_OUTPUT_MEMORY +Speicherpufferung +; Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL +Serielle Schnittstelle +; Serial Port +; +MSG_DEBUG_MUNGWALL +Aktiviere Mungwall +; Enable Mungwall +; +MSG_DEBUG_USB +Debug USB +; Debug USB +; +MSG_MISC +Sonstiges +; Miscellaneous +; +MSG_USB_ENABLE +Aktiviere USB +; Enable USB +; +MSG_ACPI_ENABLE +Aktiviere ACPI +; Enable ACPI +; +MSG_FLOPPY_ENABLE +Aktiviere Diskettenlaufwerk +; Enable Floppy Disk Drive +; +MSG_DEVICE +Boot-Gerät +; Boot Device +; +MSG_DEVICE_NAME +DOS-Gerät: +; DOS Device: +; +MSG_DEVICE_DELAY +Boot-Verzögerung: +; Boot Delay: +; +MSG_DEVICE_SECONDS +Sekunden +; seconds +; +MSG_DEVICE_DEFAULTDELAY +Verwende Standard-Boot-Verzögerung +; Use Default Boot Delay +; +MSG_OPTIONS +Optionen +; Options +; +MSG_MODULES +Module +; Modules +; +MSG_ACTIVE +Aktiv +; Active +; +MSG_PATH +Pfad +; Path +; +MSG_ADD +Hinzufügen +; Add +; +MSG_REMOVE +Entfernen +; Remove +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_BAD_MODULE +Schlechter Modulpfad "%s" +; Bad module path "%s" +; diff --git a/workbench/prefs/boot/catalogs/italian.ct b/workbench/prefs/boot/catalogs/italian.ct new file mode 100644 index 00000000000..0d58b7ece0e --- /dev/null +++ b/workbench/prefs/boot/catalogs/italian.ct @@ -0,0 +1,228 @@ +## version $VER: Boot.catalog 1.1 (15.6.2017) +## language italiano +## codeset 0 +; +MSG_NAME +Preferenze di avvio +; Boot Preferences +; +MSG_DESCRIPTION +Preferenze di avvio +; Boot preferences +; +MSG_GFX +Grafica +; Graphics +; +MSG_GFX_COMPOSITION +Abilita composizione +; Enable composition +; +MSG_GFX_TYPE +Modalità: +; Type: +; +MSG_GFX_TYPE_AUTO +Automatica +; Automatic +; +MSG_GFX_TYPE_NATIVE +Nativa +; Native +; +MSG_GFX_TYPE_VESA +VESA +; VESA +; +MSG_GFX_TYPE_VGA +VGA +; VGA +; +MSG_GFX_VESAMODE +Modalità VESA +; VESA Mode +; +MSG_GFX_WIDTH +Larghezza: +; Width: +; +MSG_GFX_HEIGHT +Altezza: +; Height: +; +MSG_GFX_DEPTH +Profondità di colore: +; Colour Depth: +; +MSG_GFX_DEPTH_TRUE +Milioni di colori +; True Colour +; +MSG_GFX_DEPTH_HIGH +Migliaia di colori +; High Colour +; +MSG_GFX_DEPTH_LOW +256 colori +; 256 Colours +; +MSG_GFX_REFRESH +Velocità refresh: +; Refresh Rate: +; +MSG_GFX_HERTZ +Hz +; Hz +; +MSG_GFX_DEFAULTREFRESH +Usa valore predefinito +; Use Default Refresh Rate +; +MSG_GFX_BESTRES +Usa la massima risoluzione disponibile +; Use Highest Available Resolution +; +MSG_ATA +ATA +; ATA +; +MSG_ATA_BUSES +Bus abilitati: +; Enabled Buses: +; +MSG_ATA_BUS_PCI +PCI +; PCI +; +MSG_ATA_BUS_LEGACY +Legacy +; Legacy +; +MSG_ATA_BUS_ALL +Tutti +; All +; +MSG_ATA_BUS_NONE +Nessuno +; None +; +MSG_ATA_DMA +Abilita trasferimento dati DMA +; Enable DMA Data Transfers +; +MSG_ATA_32BIT +Abilita trasferimento a 32 bit +; Enable 32-bit Data Transfers +; +MSG_ATA_POLL +Usa polling per individuare cambio di stato +; Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI +Abilita trasferimento dati multisettore +; Enable Multisector Data Transfers +; +MSG_ATA_AHCI +Abilita modalità AHCI nativa +; Enable Native AHCI +; +MSG_DEBUG +Debug +; Debugging +; +MSG_DEBUG_OUTPUT +Destinazione: +; Output: +; +MSG_DEBUG_OUTPUT_NONE +Nessuna +; None +; +MSG_DEBUG_OUTPUT_MEMORY +Buffer memoria +; Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL +Porta seriale +; Serial Port +; +MSG_DEBUG_MUNGWALL +Abilita mungwall +; Enable Mungwall +; +MSG_DEBUG_USB +Debug USB +; Debug USB +; +MSG_MISC +Varie +; Miscellaneous +; +MSG_USB_ENABLE +Abilita USB +; Enable USB +; +MSG_ACPI_ENABLE +Abilita ACPI +; Enable ACPI +; +MSG_FLOPPY_ENABLE +Abilita drive per Floppy Disk +; Enable Floppy Disk Drive +; +MSG_DEVICE +Dispositivo d'avvio +; Boot Device +; +MSG_DEVICE_NAME +Dispositivo DOS: +; DOS Device: +; +MSG_DEVICE_DELAY +Ritardo avvio: +; Boot Delay: +; +MSG_DEVICE_SECONDS +secondi +; seconds +; +MSG_DEVICE_DEFAULTDELAY +Usa ritardo predefinito +; Use Default Boot Delay +; +MSG_OPTIONS +Opzioni +;Options +; +MSG_MODULES +Moduli +;Modules +; +MSG_ACTIVE +Attivo +;Active +; +MSG_PATH +Percorso +;Path +; +MSG_ADD +Aggiungi +;Add +; +MSG_REMOVE +Rimuovi +;Remove +; +MSG_OK +Ok +;OK +; +MSG_CANCEL +Annulla +;Cancel +; +MSG_BAD_MODULE +Modulo non valido "%s" +;Bad module path "%s" +; diff --git a/workbench/prefs/boot/catalogs/mmakefile.src b/workbench/prefs/boot/catalogs/mmakefile.src new file mode 100644 index 00000000000..ef3d84d98a0 --- /dev/null +++ b/workbench/prefs/boot/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2013-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= czech italian polish norwegian + +%build_catalogs mmake=workbench-prefs-boot-catalogs \ + catalogs=$(CATALOGS) \ + name=Boot subdir=System/Prefs diff --git a/workbench/prefs/boot/catalogs/norwegian.ct b/workbench/prefs/boot/catalogs/norwegian.ct new file mode 100644 index 00000000000..77fba4a22bb --- /dev/null +++ b/workbench/prefs/boot/catalogs/norwegian.ct @@ -0,0 +1,228 @@ +## version $VER: boot.catalog 1.0 (24.08.2016) +## language norwegian +## codeset 0 +; +MSG_NAME +Oppstartsinnstillinger +; Boot Preferences +; +MSG_DESCRIPTION +Oppstartsinnstillinger +; Boot preferences +; +MSG_GFX +Grafikk +; Graphics +; +MSG_GFX_COMPOSITION +Aktiver komposisjon +; Enable composition +; +MSG_GFX_TYPE +Type: +; Type: +; +MSG_GFX_TYPE_AUTO +Automatisk +; Automatic +; +MSG_GFX_TYPE_NATIVE +Lokal +; Native +; +MSG_GFX_TYPE_VESA +VESA +; VESA +; +MSG_GFX_TYPE_VGA +VGA +; VGA +; +MSG_GFX_VESAMODE +VESA-Modus +; VESA Mode +; +MSG_GFX_WIDTH +Bredde: +; Width: +; +MSG_GFX_HEIGHT +Hyde: +; Height: +; +MSG_GFX_DEPTH +Fargedybde: +; Colour Depth: +; +MSG_GFX_DEPTH_TRUE +True-Colour +; True Colour +; +MSG_GFX_DEPTH_HIGH +High-Colour +; High Colour +; +MSG_GFX_DEPTH_LOW +256 Farger +; 256 Colours +; +MSG_GFX_REFRESH +Oppdateringsfrekvens: +; Refresh Rate: +; +MSG_GFX_HERTZ +Hz +; Hz +; +MSG_GFX_DEFAULTREFRESH +Bruk standard oppdateringsfrekvens +; Use Default Refresh Rate +; +MSG_GFX_BESTRES +Bruk hyest mulig opplsning +; Use Highest Available Resolution +; +MSG_ATA +ATA +; ATA +; +MSG_ATA_BUSES +Aktiver buss: +; Enabled Buses: +; +MSG_ATA_BUS_PCI +PCI +; PCI +; +MSG_ATA_BUS_LEGACY +Legacy +; Legacy +; +MSG_ATA_BUS_ALL +Alle +; All +; +MSG_ATA_BUS_NONE +Ingen +; None +; +MSG_ATA_DMA +Aktiver DMA-dataoverfring +; Enable DMA Data Transfers +; +MSG_ATA_32BIT +Aktiver 32-Bit-dataoverfring +; Enable 32-bit Data Transfers +; +MSG_ATA_POLL +Bruk sprring for detektere slutt p Busy State +; Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI +Aktiver multisektor dataoverfring +; Enable Multisector Data Transfers +; +MSG_ATA_AHCI +Aktiver native AHCI +; Enable Native AHCI +; +MSG_DEBUG +Feilsking +; Debugging +; +MSG_DEBUG_OUTPUT +Utskrift: +; Output: +; +MSG_DEBUG_OUTPUT_NONE +Ingen +; None +; +MSG_DEBUG_OUTPUT_MEMORY +Minnebuffer +; Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL +Seriellport +; Serial Port +; +MSG_DEBUG_MUNGWALL +Aktiver Mungwall +; Enable Mungwall +; +MSG_DEBUG_USB +Feilsk USB +; Debug USB +; +MSG_MISC +Diverse +; Miscellaneous +; +MSG_USB_ENABLE +Aktiver USB +; Enable USB +; +MSG_ACPI_ENABLE +Aktiver ACPI +; Enable ACPI +; +MSG_FLOPPY_ENABLE +Aktiver diskettstasjon +; Enable Floppy Disk Drive +; +MSG_DEVICE +Oppstartsenhet +; Boot Device +; +MSG_DEVICE_NAME +DOS enhet: +; DOS Device: +; +MSG_DEVICE_DELAY +Oppstartsforsinkelse: +; Boot Delay: +; +MSG_DEVICE_SECONDS +Sekunder +; seconds +; +MSG_DEVICE_DEFAULTDELAY +Bruk standard oppstartsforsinkelse +; Use Default Boot Delay +; +MSG_OPTIONS +Valg +; Options +; +MSG_MODULES +Moduler +; Modules +; +MSG_ACTIVE +Aktiv +; Active +; +MSG_PATH +Sti +; Path +; +MSG_ADD +Legg til +; Add +; +MSG_REMOVE +Fjern +; Remove +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Avbryt +; Cancel +; +MSG_BAD_MODULE +Feil sti til modul "%s" +; Bad module path "%s" +; diff --git a/workbench/prefs/boot/catalogs/polish.ct b/workbench/prefs/boot/catalogs/polish.ct new file mode 100644 index 00000000000..c0c96cefda9 --- /dev/null +++ b/workbench/prefs/boot/catalogs/polish.ct @@ -0,0 +1,228 @@ +## version $VER: boot.catalog 2.1 (08.03.2019) +## language polski +## codeset 5 +; +MSG_NAME +Ustawienia startu +; Boot Preferences +; +MSG_DESCRIPTION +Ustawienia startu +; Boot preferences +; +MSG_GFX +Grafika +; Graphics +; +MSG_GFX_COMPOSITION +Uaktywnij kompozycję +; Enable composition +; +MSG_GFX_TYPE +Typ: +; Type: +; +MSG_GFX_TYPE_AUTO +Automatyczny +; Automatic +; +MSG_GFX_TYPE_NATIVE +Natywny +; Native +; +MSG_GFX_TYPE_VESA +VESA +; VESA +; +MSG_GFX_TYPE_VGA +VGA +; VGA +; +MSG_GFX_VESAMODE +VESA modus +; VESA Mode +; +MSG_GFX_WIDTH +Szerokość: +; Width: +; +MSG_GFX_HEIGHT +Wysokość: +; Height: +; +MSG_GFX_DEPTH +Głębia barw: +; Colour Depth: +; +MSG_GFX_DEPTH_TRUE +Miliony barw +; True Colour +; +MSG_GFX_DEPTH_HIGH +Tysiące barw +; High Colour +; +MSG_GFX_DEPTH_LOW +256 barw +; 256 Colours +; +MSG_GFX_REFRESH +Częstotliwość powtarzania obrazu: +; Refresh Rate: +; +MSG_GFX_HERTZ +Hz +; Hz +; +MSG_GFX_DEFAULTREFRESH +Użyj domyślnej częstotliwości +; Use Default Refresh Rate +; +MSG_GFX_BESTRES +Użyj najwyższej dostępnej rozdzielczosści +; Use Highest Available Resolution +; +MSG_ATA +ATA +; ATA +; +MSG_ATA_BUSES +Uaktywnij magistrale: +; Enabled Buses: +; +MSG_ATA_BUS_PCI +PCI +; PCI +; +MSG_ATA_BUS_LEGACY +Zasadnicze +; Legacy +; +MSG_ATA_BUS_ALL +Wszystkie +; All +; +MSG_ATA_BUS_NONE +Žadne +; None +; +MSG_ATA_DMA +Uaktywnij DMA +; Enable DMA Data Transfers +; +MSG_ATA_32BIT +Uaktywnij 32-bitowy przekaz danych +; Enable 32-bit Data Transfers +; +MSG_ATA_POLL +Użyj pollingu do wykrycia końca hibernacji +; Use Polling to Detect End of Busy State +; +MSG_ATA_MULTI +Uaktywnij wielosektorowy przekaz danych +; Enable Multisector Data Transfers +; +MSG_ATA_AHCI +Uaktywnij natywny AHCI +; Enable Native AHCI +; +MSG_DEBUG +Debugowanie +; Debugging +; +MSG_DEBUG_OUTPUT +Wyjście: +; Output: +; +MSG_DEBUG_OUTPUT_NONE +Žaden +; None +; +MSG_DEBUG_OUTPUT_MEMORY +Bufor pamięci +; Memory Buffer +; +MSG_DEBUG_OUTPUT_SERIAL +Port szeregowy +; Serial Port +; +MSG_DEBUG_MUNGWALL +Uaktywnij Mungwall +; Enable Mungwall +; +MSG_DEBUG_USB +Debug USB +; Debug USB +; +MSG_MISC +Różne +; Miscellaneous +; +MSG_USB_ENABLE +Zapnout USB +; Enable USB +; +MSG_ACPI_ENABLE +Uaktywnij ACPI +; Enable ACPI +; +MSG_FLOPPY_ENABLE +Uaktywnij napęd dyskietek +; Enable Floppy Disk Drive +; +MSG_DEVICE +Urządzenie startowe +; Boot Device +; +MSG_DEVICE_NAME +Urządzenie DOS: +; DOS Device: +; +MSG_DEVICE_DELAY +Opóznienie startu +; Boot Delay: +; +MSG_DEVICE_SECONDS +sekundy +; seconds +; +MSG_DEVICE_DEFAULTDELAY +Użyj domyślnego opóznienia startu +; Use Default Boot Delay +; +MSG_OPTIONS +Opcje +;Options +; +MSG_MODULES +Moduły +;Modules +; +MSG_ACTIVE +Aktywne +;Active +; +MSG_PATH +ścieżka +;Path +; +MSG_ADD +Dodaj +;Add +; +MSG_REMOVE +Usuń +;Remove +; +MSG_OK +OK +;OK +; +MSG_CANCEL +Poniechaj +;Cancel +; +MSG_BAD_MODULE +Zła ścieżka modułu "%s" +;Bad module path "%s" +; diff --git a/workbench/prefs/font/catalogs b/workbench/prefs/font/catalogs deleted file mode 160000 index 5c86ecb0d82..00000000000 --- a/workbench/prefs/font/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5c86ecb0d82ccc7210be19f79308c88e5e4eefab diff --git a/workbench/prefs/font/catalogs/.gitattributes b/workbench/prefs/font/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/font/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/font/catalogs/croatian.ct b/workbench/prefs/font/catalogs/croatian.ct new file mode 100644 index 00000000000..a1b34a743a3 --- /dev/null +++ b/workbench/prefs/font/catalogs/croatian.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language croatian +## codeset 5 +; +; +MSG_CANT_OPEN_STREAM +Ne mogu otvoriti IFF tok! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Ne mogu alocirati IFF handle! +; Can't allocate IFF handle! +; +MSG_NAME +Postavke Slova +; Font Preferences +; +MSG_OK +U redu +; Ok +; +MSG_ICONS +Ikone: +; Icons: +; +MSG_SYSTEM +Sustav: +; System: +; +MSG_SCREEN +Zaslon: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/czech.ct b/workbench/prefs/font/catalogs/czech.ct new file mode 100644 index 00000000000..686258b2b41 --- /dev/null +++ b/workbench/prefs/font/catalogs/czech.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language czech +## codeset 5 +; +; +MSG_CANT_OPEN_STREAM +Nelze otevřít data formátu IFF! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Nelze alokovat strukturu IFF! +; Can't allocate IFF handle! +; +MSG_NAME +Písma (editor Font) +; Font Preferences +; +MSG_OK +OK +; Ok +; +MSG_ICONS +Ikony: +; Icons: +; +MSG_SYSTEM +Systém: +; System: +; +MSG_SCREEN +Obrazovka: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/danish.ct b/workbench/prefs/font/catalogs/danish.ct new file mode 100644 index 00000000000..6070135898c --- /dev/null +++ b/workbench/prefs/font/catalogs/danish.ct @@ -0,0 +1,34 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language dansk +## codeset 0 +; +; initial translation by Kristian Poul Herkild +; +MSG_CANT_OPEN_STREAM +Kan ikke bne IFF-strm. +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Kan ikke tildele IFF-hndtag. +; Can't allocate IFF handle! +; +MSG_NAME +Skrifttypeindstillinger +; Font Preferences +; +MSG_OK +O.k. +; Ok +; +MSG_ICONS +Ikoner: +; Icons: +; +MSG_SYSTEM +System: +; System: +; +MSG_SCREEN +Skrm: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/finnish.ct b/workbench/prefs/font/catalogs/finnish.ct new file mode 100644 index 00000000000..0d22595fa97 --- /dev/null +++ b/workbench/prefs/font/catalogs/finnish.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language suomi +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +En voi avata IFF-virtaa! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +En voi varata IFF-kahvaa! +; Can't allocate IFF handle! +; +MSG_NAME +Kirjasinasetukset +; Font Preferences +; +MSG_OK +Selvä +; Ok +; +MSG_ICONS +Ikonit: +; Icons +; +MSG_SYSTEM +Järjestelmä: +; System: +; +MSG_SCREEN +Näyttö: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/font.cd b/workbench/prefs/font/catalogs/font.cd new file mode 100644 index 00000000000..9a7d6bc9835 --- /dev/null +++ b/workbench/prefs/font/catalogs/font.cd @@ -0,0 +1,22 @@ +; +MSG_CANT_OPEN_STREAM (//) +Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR (//) +Can't allocate IFF handle! +; +MSG_NAME (//) +Font Preferences +; +MSG_OK (//) +Ok +; +MSG_ICONS (//) +Icons: +; +MSG_SYSTEM (//) +System: +; +MSG_SCREEN (//) +Screen: +; diff --git a/workbench/prefs/font/catalogs/french.ct b/workbench/prefs/font/catalogs/french.ct new file mode 100644 index 00000000000..70b33f24ed1 --- /dev/null +++ b/workbench/prefs/font/catalogs/french.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language français +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +Impossible d'ouvrir de flux IFF ! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Impossible d'allouer un gestionnaire IFF ! +; Can't allocate IFF handle! +; +MSG_NAME +Préférences des fontes +; Font Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ICONS +Icônes : +; Icons: +; +MSG_SYSTEM +Système : +; System: +; +MSG_SCREEN +Écran : +; Screen: +; diff --git a/workbench/prefs/font/catalogs/german.ct b/workbench/prefs/font/catalogs/german.ct new file mode 100644 index 00000000000..f15a1a8db61 --- /dev/null +++ b/workbench/prefs/font/catalogs/german.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +Kann IFF Stream nicht öffnen! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Kann IFF Handle nicht allozieren! +; Can't allocate IFF handle! +; +MSG_NAME +Schriftarten-Einstellungen (Font) +; Font Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ICONS +Piktogramme: +; Icons: +; +MSG_SYSTEM +System: +; System: +; +MSG_SCREEN +Schirm: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/hungarian.ct b/workbench/prefs/font/catalogs/hungarian.ct new file mode 100644 index 00000000000..5ff07b444f1 --- /dev/null +++ b/workbench/prefs/font/catalogs/hungarian.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language magyar +## codeset 5 +; +; +MSG_CANT_OPEN_STREAM +Nem tudtam megnyitni az IFF áramot! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Nem tudtam lefoglalni az IFF kezelőt! +; Can't allocate IFF handle! +; +MSG_NAME +Betűtípus beállítások +; Font Preferences +; +MSG_OK +Rendben +; Ok +; +MSG_ICONS +Ikonok: +;Icons: +; +MSG_SYSTEM +Rendszer: +;System: +; +MSG_SCREEN +Képernyő: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/italian.ct b/workbench/prefs/font/catalogs/italian.ct new file mode 100644 index 00000000000..7b2c680870d --- /dev/null +++ b/workbench/prefs/font/catalogs/italian.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language italiano +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +Impossibile aprire il flusso IFF! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Impossibile allocare il gestore IFF! +; Can't allocate IFF handle! +; +MSG_NAME +Preferenze sui font +; Font Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ICONS +Icone: +; Icons: +; +MSG_SYSTEM +Sistema: +; System: +; +MSG_SCREEN +Schermo: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/mmakefile.src b/workbench/prefs/font/catalogs/mmakefile.src new file mode 100644 index 00000000000..d8a5e1e2f46 --- /dev/null +++ b/workbench/prefs/font/catalogs/mmakefile.src @@ -0,0 +1,7 @@ +# Copyright 2003-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +%build_catalogs mmake=workbench-prefs-font-catalogs \ + name=Font subdir=System/Prefs diff --git a/workbench/prefs/font/catalogs/norwegian.ct b/workbench/prefs/font/catalogs/norwegian.ct new file mode 100644 index 00000000000..664c523decc --- /dev/null +++ b/workbench/prefs/font/catalogs/norwegian.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (27.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +Kan ikke pne IFF-strm! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Kan ikke allokere IFF-pekere! +; Can't allocate IFF handle! +; +MSG_NAME +Skrifttypeinnstillinger +; Font Preferences +; +MSG_OK +OK +; Ok +; +MSG_ICONS +Ikoner: +; Icons: +; +MSG_SYSTEM +System: +; System: +; +MSG_SCREEN +Skjerm: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/polish.ct b/workbench/prefs/font/catalogs/polish.ct new file mode 100644 index 00000000000..2ed3ff3bf71 --- /dev/null +++ b/workbench/prefs/font/catalogs/polish.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.2 (07.09.2018) +## language polski +## codeset 5 +; +; +MSG_CANT_OPEN_STREAM +Nie można otworzyć danych w formacie IFF! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Nie można zaalokować struktury IFF! +; Can't allocate IFF handle! +; +MSG_NAME +Ustawienia czcionki +; Font Preferences +; +MSG_OK +OK +; Ok +; +MSG_ICONS +Ikony: +; Icons: +; +MSG_SYSTEM +System: +; System: +; +MSG_SCREEN +Ekran: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/portuguese.ct b/workbench/prefs/font/catalogs/portuguese.ct new file mode 100644 index 00000000000..b581582a67e --- /dev/null +++ b/workbench/prefs/font/catalogs/portuguese.ct @@ -0,0 +1,34 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha +; +MSG_CANT_OPEN_STREAM +No foi possvel ler ficheiro IFF! +;Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +No se puede asignar un handle IFF! +;Can't allocate IFF handle! +; +MSG_NAME +Preferncias das Fontes +;Font Preferences +; +MSG_OK +Aceitar +;Ok +; +MSG_ICONS +cones: +;Icons: +; +MSG_SYSTEM +Sistema: +;System: +; +MSG_SCREEN +cran: +;Screen: +; diff --git a/workbench/prefs/font/catalogs/russian.ct b/workbench/prefs/font/catalogs/russian.ct new file mode 100644 index 00000000000..0d85ff58ac7 --- /dev/null +++ b/workbench/prefs/font/catalogs/russian.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language russian +## codeset 2104 +; +; +MSG_CANT_OPEN_STREAM +Невозможно открытие потока IFF! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Can't allocate IFF handle! +; Can't allocate IFF handle! +; +MSG_NAME +Настройки шрифтов +; Font Preferences +; +MSG_OK +Ok +; Ok +; +MSG_ICONS +Иконки : +; Icons: +; +MSG_SYSTEM +Система: +; System: +; +MSG_SCREEN +Экран: +; Screen: +; diff --git a/workbench/prefs/font/catalogs/spanish.ct b/workbench/prefs/font/catalogs/spanish.ct new file mode 100644 index 00000000000..baa5bbbda3f --- /dev/null +++ b/workbench/prefs/font/catalogs/spanish.ct @@ -0,0 +1,34 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_CANT_OPEN_STREAM +¡No se puede abrir el flujo IFF! +;Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +¡No se puede asignar un handle IFF! +;Can't allocate IFF handle! +; +MSG_NAME +Preferencias de las Fuentes +;Font Preferences +; +MSG_OK +Aceptar +;Ok +; +MSG_ICONS +Íconos: +;Icons: +; +MSG_SYSTEM +Sistema: +;System: +; +MSG_SCREEN +Pantalla: +;Screen: +; diff --git a/workbench/prefs/font/catalogs/swedish.ct b/workbench/prefs/font/catalogs/swedish.ct new file mode 100644 index 00000000000..44eed89cab4 --- /dev/null +++ b/workbench/prefs/font/catalogs/swedish.ct @@ -0,0 +1,33 @@ +## version $VER: Font.catalog 3.1 (11.6.2017) +## language svenska +## codeset 0 +; +; +MSG_CANT_OPEN_STREAM +Kan inte öppna IFF-ström! +; Can't open IFF stream! +; +MSG_CANT_ALLOCATE_IFFPTR +Kan inte allokera IFF-pekare! +; Can't allocate IFF handle! +; +MSG_NAME +Typsnittsinställningar +; Font Preferences +; +MSG_OK +OK +; Ok +; +MSG_ICONS +Symboler: +; Icons +; +MSG_SYSTEM +System: +; System: +; +MSG_SCREEN +Skärm: +; Screen: +; diff --git a/workbench/prefs/icontrol/catalogs b/workbench/prefs/icontrol/catalogs deleted file mode 160000 index 6c827ac6dec..00000000000 --- a/workbench/prefs/icontrol/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6c827ac6dec3886fd1aa1319f3b693bb7c39034f diff --git a/workbench/prefs/icontrol/catalogs/.gitattributes b/workbench/prefs/icontrol/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/icontrol/catalogs/croatian.ct b/workbench/prefs/icontrol/catalogs/croatian.ct new file mode 100644 index 00000000000..f41b2b8d59b --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/croatian.ct @@ -0,0 +1,126 @@ +## version $VER: IControl.catalog 1.2 (22.12.09) +## language hrvatski +## codeset 5 +; +; TODO: update me and set version to 2 +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Ne mogu stvoriti objekt aplikacije! +; Can't create application object! +; +MSG_CANT_CREATE_CUSTOM_CLASS +Ne mogu stvoriti prilagođenu preferenceswindow klasu +; Can't create custom preferenceswindow class +; +MSG_WINTITLE +Icontrol Postavke +; IControl Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otvori... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spremi Kao... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +MSG_MEN_EDIT +Uredi +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Resetiraj na Predloženo +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Zadnje Spremljeno +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Povrati +; R\0Restore +; +MSG_MEN_SETTINGS +Podešavanja +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Napravi Ikone? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Učitaj IControl Postavke +; Load IControl Preferences +; +MSG_ASL_SAVE_TITLE +Spremi IControl Postavke +; Save IControl Preferences +; +MSG_OK +U redu +; Ok +; +MSG_MENUS_GROUP +Izbornici +; Menus +; +MSG_MENUS_TYPE +Tip +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Padajući +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Skočni +; Pop-Up +; +MSG_MENUS_LOOK +Izgled +; Look +; +MSG_MENUS_LOOK_CLASSIC +Klasični +; Classic +; +MSG_MENUS_LOOK_3D +Trodimenzionalni +; 3D +; +MSG_WINDOWS +Prozori +; Windows +; +MSG_OFFSCREEN_MOVE +Izvan granica zaslona +; Offscreen move: +; +MSG_SCREENS +Zasloni +; Screens +; +MSG_FRONTMOST_DEFAULT +Prvi kao DefaultPubScreen: +; Frontmost set as DefaultPubScreen: +; +MSG_OFFSCREEN_DESC +Dozvoli prozorima premještanje \n izvan vidljivog djela +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC + Postavi prvi public screen\n kao predloženi public screen +; Make the frontmost public screen\nthe default public screen +; diff --git a/workbench/prefs/icontrol/catalogs/czech.ct b/workbench/prefs/icontrol/catalogs/czech.ct new file mode 100644 index 00000000000..dfbf6b39f31 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/czech.ct @@ -0,0 +1,105 @@ +## version $VER: IControl.catalog 2.0 (29.9.2010) +## language czech +## codeset 5 +; +; +MSG_WINTITLE +Vzhled a chování rozhraní (editor IControl) +; IControl Preferences +; +MSG_OK +OK +; Ok +; +MSG_MENUS_GROUP +Menu +; Menus +; +MSG_MENUS_TYPE +Druh +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Globální +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Lokální +; Pop-Up +; +MSG_MENUS_LOOK +Vzhled +; Look +; +MSG_MENUS_LOOK_CLASSIC +Standardní +; Classic +; +MSG_MENUS_LOOK_3D +Prostorové +; 3D +; +MSG_WINDOWS +Okna +; Windows +; +MSG_OFFSCREEN_MOVE +Povolit přesun oken mimo plochu +; Offscreen move: +; +MSG_SCREENS +Obrazovky +; Screens +; +MSG_PUBLIC_SCREENS +Veřejné Obrazovky +; Public Screens +; +MSG_FRONTMOST_DEFAULT +Nastavit aktivní obrazovku jako výchozí +; Frontmost set as default public screen: +; +MSG_OFFSCREEN_DESC +Umožní vysunování oken mimo viditelnou\nplochu obrazovky +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Přiřadí právě aktivní obrazovce funkci\nvýchozí veřejné obrazovky +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Screen Dragging +; Screen Dragging +; +MSG_DRAG_BOUNDS +Limit dragging to Displays bounds... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Zakázat přesouvání obrazovky doleva +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Zakázat přesouvání obrazovky doprava +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Zakázat přesouvání obrazovky nahoru +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Zakázat přesouvání obrazovky dolů +; Bound drag in bottom direction +; +MSG_META_DRAG +Klávesová zkratka +; Drag keys +; +MSG_MENUS_STICKY +Nezavírat automaticky +; Sticky +; +MSG_MENUS_TITLEPOPUP +Standardní menu na liště +; Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/danish.ct b/workbench/prefs/icontrol/catalogs/danish.ct new file mode 100644 index 00000000000..de47b370f33 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/danish.ct @@ -0,0 +1,152 @@ +## version $VER: icontrol.catalog 1.0 (18.07.2010) +## language dansk +## codeset 0 +; +; TODO: update me and set version to 2 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_CANT_OPEN_LIB +Kan ikke bne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Kan ikke oprette programobjekt! +; Can't create application object! +; +MSG_CANT_CREATE_CUSTOM_CLASS +Kan ikke oprette tilpasset preferenceswindow klasse. +; Can't create custom preferenceswindow class +; +MSG_WINTITLE +Indstillinger for IControl +; IControl Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0bn... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Gem som... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Afslut +; Q\0Quit +; +MSG_MEN_EDIT +Redigr +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Nulstil til standardvrdier +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Sidst gemt +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Genskab +; R\0Restore +; +MSG_MEN_SETTINGS +Indstillinger +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Opret ikoner? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Indls indstillinger for IControl +; Load IControl Preferences +; +MSG_ASL_SAVE_TITLE +Gem indstillinger for IControl +; Save IControl Preferences +; +MSG_OK +O.k. +; Ok +; +MSG_MENUS_GROUP +Menuer +; Menus +; +MSG_MENUS_TYPE +Type +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Rullegardin +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Pop-op +; Pop-Up +; +MSG_MENUS_LOOK +Udseende +; Look +; +MSG_MENUS_LOOK_CLASSIC +Klassisk +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Vinduer +; Windows +; +MSG_OFFSCREEN_MOVE +Flytning uden for skrmomrde +; Offscreen move: +; +MSG_SCREENS +Skrme +; Screens +; +MSG_FRONTMOST_DEFAULT +Forreste skrm som offentlig skrm: +; Frontmost set as default public screen: +; +MSG_OFFSCREEN_DESC +Tillader vinduer at blive flyttet ud af det synlige omrde +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Gr den forreste offentlige skrm til standardskrm. +; Make the frontmost public screen\nthe default public screen +; +MSG_BACKWARDS_DRAG +Sl baglns trk fra +; Disable drag in top-left direction +; +MSG_BOUND_LEFT_DRAG +Bundet trk mod venstre +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Bundet trk mod hjre +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Bundet trk mod toppen +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Bundet trk mod bunden +; Bound drag in bottom direction +; +MSG_META_DRAG +Trktaster +; Drag keys +; diff --git a/workbench/prefs/icontrol/catalogs/finnish.ct b/workbench/prefs/icontrol/catalogs/finnish.ct new file mode 100644 index 00000000000..7b419934774 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/finnish.ct @@ -0,0 +1,99 @@ +## version $VER: icontrolprefs.catalog 1.0 (25.08.2003) +## codeset 0 +## language suomi +; +; TODO: update me and set version to 2 +; +MSG_CANT_OPEN_LIB +En voi avata %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +En voi luoda ohjelmaobjektia! +; Can't create application object! +; +MSG_WINTITLE +IControl Asetukset +; IControl Preferences +; +MSG_MEN_PROJECT +Projekti +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Avaa... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Tallenna nimellä... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Lopeta +; Q\0Quit +; +MSG_MEN_EDIT +Muokkaus +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Palauta oletukset +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Viikeksi tallennettu +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Palautus +; R\0Restore +; +MSG_MEN_SETTINGS +Asetukset +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Luo ikonit? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Lataa IControl asetukset +; Load IControl Preferences +; +MSG_ASL_SAVE_TITLE +Tallenna IControl asetukset +; Save IControl Preferences +; +MSG_OK +Selvä +; Ok +; +; +MSG_MENUS_GROUP +Valikot +; Menus +; +MSG_MENUS_TYPE +Tyyppi +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Alasveto +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Hyppy +; Pop-Up +; +MSG_MENUS_LOOK +Ulkonäkö +; Look +; +MSG_MENUS_LOOK_CLASSIC +Klassinen +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; diff --git a/workbench/prefs/icontrol/catalogs/french.ct b/workbench/prefs/icontrol/catalogs/french.ct new file mode 100644 index 00000000000..2cc48c11de8 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/french.ct @@ -0,0 +1,105 @@ +## version $VER: icontrolprefs.catalog 2.0 (8.9.2010) +## codeset 0 +## language français +; +; +MSG_WINTITLE +Préférences IControl +; IControl Preferences +; +MSG_OK +Ok +; Ok +; +MSG_MENUS_GROUP +Menus +; Menus +; +MSG_MENUS_TYPE +Type +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Attachés à la barre de menus +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Sous le pointeur de souris +; Pop-Up +; +MSG_MENUS_LOOK +Aspect +; Look +; +MSG_MENUS_LOOK_CLASSIC +Classique +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Fenêtres +; Windows +; +MSG_OFFSCREEN_MOVE +Libres de sortir de l'écran : +; Offscreen move: +; +MSG_SCREENS +Écrans +; Screens +; +MSG_PUBLIC_SCREENS +Écrans Public +; Public Screens +; +MSG_FRONTMOST_DEFAULT +L'écran à l'avant-plan est par défaut +; Set Frontmost as default +; +MSG_OFFSCREEN_DESC +Ne pas bloquer les fenêtres\ndans les limites de l'écran +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Les nouvelles fenêtres pourront\ns'ouvrir sur l'écran à l'avant-plan +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Screen Dragging +; Screen Dragging +; +MSG_DRAG_BOUNDS +Limit dragging to Displays bounds... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Ne pas découvrir à gauche +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Ne pas découvrir à droite +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Ne pas découvrir en haut +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Ne pas découvrir en bas +; Bound drag in bottom direction +; +MSG_META_DRAG +Combinaison de touches pour déplacer l'écran +; Drag keys +; +MSG_MENUS_STICKY +Menus collants +; Sticky +; +MSG_MENUS_TITLEPOPUP +Tirez sur le titre de l'écran +;Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/german.ct b/workbench/prefs/icontrol/catalogs/german.ct new file mode 100644 index 00000000000..dde9163f2ec --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/german.ct @@ -0,0 +1,105 @@ +## version $VER: icontrolprefs.catalog 2.1 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_WINTITLE +IControl-Einstellungen +; IControl Preferences +; +MSG_OK +Ok +; Ok +; +MSG_MENUS_GROUP +Menüs +; Menus +; +MSG_MENUS_TYPE +Art +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Pull-Down +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Pop-Up +; Pop-Up +; +MSG_MENUS_LOOK +Aussehen +; Look +; +MSG_MENUS_LOOK_CLASSIC +Klassisch +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Fenster +; Windows +; +MSG_OFFSCREEN_MOVE +Verschieben über den Bildschirmrand ermöglichen: +; Offscreen move: +; +MSG_SCREENS +Bildschirme +; Screens +; +MSG_PUBLIC_SCREENS +Öffentlicher Bildschirm +; Public Screens +; +MSG_FRONTMOST_DEFAULT +Vorderster als voreingesteller +; Set Frontmost as default +; +MSG_OFFSCREEN_DESC +Ermöglicht das Verschieben von Fenstern\naußerhalb des sichtbaren Bereichs +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Macht den vordersten öffentlichen Bildschirm\nzum voreingestellten öffentlichen Bildschirm +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Screen Dragging +; Screen Dragging +; +MSG_DRAG_BOUNDS +Limit dragging to Displays bounds... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Verschieben nach links verhindern +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Verschieben nach rechts verhindern +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Verschieben nach oben verhindern +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Verschieben nach unten verhindern +; Bound drag in bottom direction +; +MSG_META_DRAG +Tastenkombination zum Verschieben +; Drag keys +; +MSG_MENUS_STICKY +Klebend +; Sticky +; +MSG_MENUS_TITLEPOPUP +Pull-Down über Bildschirmtitel +; Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/icontrol.cd b/workbench/prefs/icontrol/catalogs/icontrol.cd new file mode 100644 index 00000000000..8671c468b71 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/icontrol.cd @@ -0,0 +1,76 @@ +; +MSG_WINTITLE (//) +IControl Preferences +; +MSG_OK (//) +Ok +; +MSG_MENUS_GROUP (//) +Menus +; +MSG_MENUS_TYPE (//) +Type +; +MSG_MENUS_TYPE_PULLDOWN (//) +Pull-Down +; +MSG_MENUS_TYPE_POPUP (//) +Pop-Up +; +MSG_MENUS_LOOK (//) +Look +; +MSG_MENUS_LOOK_CLASSIC (//) +Classic +; +MSG_MENUS_LOOK_3D (//) +3D +; +MSG_WINDOWS (//) +Windows +; +MSG_OFFSCREEN_MOVE (//) +Offscreen move: +; +MSG_SCREENS (//) +Screens +; +MSG_PUBLIC_SCREENS (//) +Public Screens +; +MSG_FRONTMOST_DEFAULT (//) +Set Frontmost as default +; +MSG_OFFSCREEN_DESC (//) +Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC (//) +Make the frontmost public screen\nthe default public screen +; +MSG_DRAG (//) +Screen Dragging +; +MSG_DRAG_BOUNDS (//) +Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG (//) +on the left +; +MSG_BOUND_RIGHT_DRAG (//) +on the right +; +MSG_BOUND_TOP_DRAG (//) +at the top +; +MSG_BOUND_BOTTOM_DRAG (//) +at the bottom +; +MSG_META_DRAG (//) +Drag control key(s) +; +MSG_MENUS_STICKY (//) +Sticky +; +MSG_MENUS_TITLEPOPUP (//) +Pull-Down on Screen Title +; \ No newline at end of file diff --git a/workbench/prefs/icontrol/catalogs/italian.ct b/workbench/prefs/icontrol/catalogs/italian.ct new file mode 100644 index 00000000000..c04fa8ff9e6 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/italian.ct @@ -0,0 +1,105 @@ +## version $VER: IControl.catalog 2.1 (15.6.2017) +## language italiano +## codeset 0 +; +; +MSG_WINTITLE +Preferenze IControl +; IControl Preferences +; +MSG_OK +Ok +; Ok +; +MSG_MENUS_GROUP +Menu +; Menus +; +MSG_MENUS_TYPE +Tipo +; Type +; +MSG_MENUS_TYPE_PULLDOWN +A tendina +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +A comparsa +; Pop-Up +; +MSG_MENUS_LOOK +Aspetto +; Look +; +MSG_MENUS_LOOK_CLASSIC +Classico +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Finestre +; Windows +; +MSG_OFFSCREEN_MOVE +Movimento libero: +; Offscreen move: +; +MSG_SCREENS +Schermi +; Screens +; +MSG_PUBLIC_SCREENS +Schermi Pubblico +; Public Screens +; +MSG_FRONTMOST_DEFAULT +Rendi schermo in primo di default +; Set Frontmost as default: +; +MSG_OFFSCREEN_DESC +Consenti di trascinare le finestre\noltre l'area visibile +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Trasforma lo schermo in primo piano\nnello schermo pubblico di default +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Screen Dragging +; Screen Dragging +; +MSG_DRAG_BOUNDS +Limit dragging to Displays bounds... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Blocca trascinamento a sinistra +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Blocca trascinamento a destra +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Blocca trascinamento in alto +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Blocca trascinamento in basso +; Bound drag in bottom direction +; +MSG_META_DRAG +Tasti trascinamento +; Drag keys +; +MSG_MENUS_STICKY +Sempre in primo piano +; Sticky +; +MSG_MENUS_TITLEPOPUP +Attiva su barra del titolo +; Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/mmakefile.src b/workbench/prefs/icontrol/catalogs/mmakefile.src new file mode 100644 index 00000000000..5551952bbb5 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech german italian french polish norwegian +# other catalogs need updating + +%build_catalogs mmake=workbench-prefs-icontrol-catalogs \ + catalogs=$(CATALOGS) \ + name=IControl subdir=System/Prefs diff --git a/workbench/prefs/icontrol/catalogs/norwegian.ct b/workbench/prefs/icontrol/catalogs/norwegian.ct new file mode 100644 index 00000000000..2b587d919a4 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/norwegian.ct @@ -0,0 +1,105 @@ +## version $VER: icontrolprefs.catalog 2.1 (15.12.2019) +## language norwegian +## codeset 0 +; +; +MSG_WINTITLE +IControl-innstillinger +; IControl Preferences +; +MSG_OK +Ok +; Ok +; +MSG_MENUS_GROUP +Menyer +; Menus +; +MSG_MENUS_TYPE +Type +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Nedtrekk +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Pop up +; Pop-Up +; +MSG_MENUS_LOOK +Utseende +; Look +; +MSG_MENUS_LOOK_CLASSIC +Klassisk +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Vindu +; Windows +; +MSG_OFFSCREEN_MOVE +Tillat flytte vinduer utenfor kanten p skjermen: +; Offscreen move: +; +MSG_SCREENS +Skjermer +; Screens +; +MSG_PUBLIC_SCREENS +Offentlige skjermer +; Public Screens +; +MSG_FRONTMOST_DEFAULT +Sett fremste vindu som standard +; Set Frontmost as default +; +MSG_OFFSCREEN_DESC +Tillat vinduer bli flyttet p utsiden\nav det synlige omrde +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Sett det fremste vinduet til vre\nstandard offentlig skjerm +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Skjermflytting +; Screen Dragging +; +MSG_DRAG_BOUNDS +Begrengs skjermflytting til skjermens grenser ... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Kun flytt til venstre +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Kun flytt til hyre +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Kun flytt oppover +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Kun flytt nedover +; Bound drag in bottom direction +; +MSG_META_DRAG +Hurtigtast for flytte +; Drag keys +; +MSG_MENUS_STICKY +Klebrig +; Sticky +; +MSG_MENUS_TITLEPOPUP +Nedtrekk p skjermtittel +; Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/polish.ct b/workbench/prefs/icontrol/catalogs/polish.ct new file mode 100644 index 00000000000..67e2fb9b641 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/polish.ct @@ -0,0 +1,106 @@ +## version $VER: icontrol.catalog 2.0 (11.09.2018) +## language polski +## codeset 5 +; +; +MSG_WINTITLE +Ustawienia IControl +; IControl Preferences +; +MSG_OK +OK +; Ok +; +MSG_MENUS_GROUP +Menu +; Menus +; +MSG_MENUS_TYPE +Typ +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Rozwijane +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Podręczne +; Pop-Up +; +MSG_MENUS_LOOK +Wygląd +; Look +; +MSG_MENUS_LOOK_CLASSIC +klasyczny +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Okna +; Windows +; +MSG_OFFSCREEN_MOVE +Przesuwanie poza ekran: +; Offscreen move: +; +MSG_SCREENS +Ekrany +; Screens +; +MSG_PUBLIC_SCREENS +Ekrany Publiczny +; Public Screens +; +MSG_FRONTMOST_DEFAULT +Aktywny ekran jako domyślny +; Set Frontmost set as default +; +MSG_OFFSCREEN_DESC +Pozwala przesuwać okna poza\n\ +widzialny obszar ekranu +; Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Aktywny ekran jako domyślny publiczny +; Make the frontmost public screen\nthe default public screen +; +MSG_DRAG +Screen Dragging +; Screen Dragging +; +MSG_DRAG_BOUNDS +Limit dragging to Displays bounds... +; Limit dragging to Displays bounds... +; +MSG_BOUND_LEFT_DRAG +Przeciąganie w lewo +; Bound drag in left direction +; +MSG_BOUND_RIGHT_DRAG +Przeciąganie w prawo +; Bound drag in right direction +; +MSG_BOUND_TOP_DRAG +Przeciąganie w górę +; Bound drag in top direction +; +MSG_BOUND_BOTTOM_DRAG +Przeciąganie w dół +; Bound drag in bottom direction +; +MSG_META_DRAG +Klawisze skrótu przeciągania +;Drag keys +; +MSG_MENUS_STICKY +Przypięte +; Sticky +; +MSG_MENUS_TITLEPOPUP +Rozwijane od belki tytułowej +; Pull-Down on Screen Title +; diff --git a/workbench/prefs/icontrol/catalogs/portuguese.ct b/workbench/prefs/icontrol/catalogs/portuguese.ct new file mode 100644 index 00000000000..3c943d7d0d4 --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/portuguese.ct @@ -0,0 +1,135 @@ +## version $VER: icontrolprefs.catalog 1.1 (30.09.2008) +## codeset 0 +## language portugus +; +; Traslated by Joo Ralha +; +MSG_CANT_OPEN_LIB +No foi possvel abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +No foi possvel criar a aplicao! +;Can't create application object! +; +MSG_CANT_CREATE_CUSTOM_CLASS +No foi possvel criar a classe prpria\n\ +de la ventana de preferencias +;Can't create custom preferenceswindow class +; +MSG_WINTITLE +Preferncias de IControl +;IControl Preferences +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Sair +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Modifica (italiano) +;Modifier (francs) +;Edit +; +MSG_MEN_EDIT_DEFAULT +F\0Valores defeito +;D\0Rirpistina valori iniziali (italiano) +;D\0Configuration par dfaut (francs) +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0ltimos valores guardados +;L\0A los ltimos grabados +;L\0Ultima versione salvata (italiano) +;L\0Dernire sauvegarde (francs) +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Ripristina (italiano) +;R\0Revenir l'initial (francs) +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraes +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Criar cones? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Carregar as Preferncias do IControl +;Load IControl Preferences +; +MSG_ASL_SAVE_TITLE +Guardar as Preferncias do IControl +;Save IControl Preferences +; +MSG_OK +Aceitar +;Ok +; +MSG_MENUS_GROUP +Menus +;Menus +; +MSG_MENUS_TYPE +Tipo +;Type +; +MSG_MENUS_TYPE_PULLDOWN +Descendente +;Pull-Down +; +MSG_MENUS_TYPE_POPUP +Emergente +;Pop-Up +; +MSG_MENUS_LOOK +Aspecto +;Look +; +MSG_MENUS_LOOK_CLASSIC +Clssico +;Classic +; +MSG_MENUS_LOOK_3D +3D +; +MSG_WINDOWS +Janelas +;Windows +; +MSG_OFFSCREEN_MOVE +Mover fora do cran: +;Offscreen move: +; +MSG_SCREENS +crans +;Screens +; +MSG_FRONTMOST_DEFAULT +cran em frente como pblico por defeito: +;Frontmost set as DefaultPubScreen: +; +MSG_OFFSCREEN_DESC +Deixar que as janelas saiam\nda rea visivl +;Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Definir cran em frente como\ncran pblico por defeito: +;Make the frontmost public screen\nthe default public screen +; diff --git a/workbench/prefs/icontrol/catalogs/russian.ct b/workbench/prefs/icontrol/catalogs/russian.ct new file mode 100644 index 00000000000..b312fc0b20a --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/russian.ct @@ -0,0 +1,143 @@ +## version $VER: icontrolprefs.catalog 1.1 (13.08.2006) +## codeset 2104 +## language russian +; +MSG_CANT_OPEN_LIB +Ошибка открытия %s V%ld !\n +; +; +MSG_CANT_CREATE_APP +Невозможно создание объекта приложения ! +; +; +MSG_CANT_CREATE_CUSTOM_CLASS +Ошибка создания класса preferenceswindow +;Can't create custom preferenceswindow class +; +MSG_WINTITLE +Настройки IControl +; +; +MSG_MEN_PROJECT +Проект +; +; +MSG_MEN_PROJECT_OPEN +O\0Открыть.. +; +; +MSG_MEN_PROJECT_SAVEAS +A\0Сохранить как... +; +; +MSG_MEN_PROJECT_QUIT +Q\0Выход +; +; +MSG_MEN_EDIT +Правка +; +; +MSG_MEN_EDIT_DEFAULT +D\0Сброс на умолчания +; +; +MSG_MEN_EDIT_LASTSAVED +L\0Последнее сохраненное +; +; +MSG_MEN_EDIT_RESTORE +R\0Восстановить +; +; +MSG_MEN_SETTINGS +Настройки +; +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Создавать иконки? +; +; +MSG_ASL_OPEN_TITLE +Загрузить настройки IControl +; +; +MSG_ASL_SAVE_TITLE +Сохранить настройки IControl +; +; +MSG_OK +Ok +; +; +MSG_MENUS_GROUP +Меню +; Menus +; +MSG_MENUS_TYPE +Тип +; Type +; +MSG_MENUS_TYPE_PULLDOWN +Выпадающие +; Pull-Down +; +MSG_MENUS_TYPE_POPUP +Всплывающие +; Pop-Up +; +MSG_MENUS_LOOK +Вид +; Look +; +MSG_MENUS_LOOK_CLASSIC +Классический +; Classic +; +MSG_MENUS_LOOK_3D +3D +; 3D +; +MSG_WINDOWS +Окна +; +MSG_OFFSCREEN_MOVE +Перемещение за экран: +; +MSG_SCREENS +Экраны +; +MSG_FRONTMOST_DEFAULT +Frontmost set as DefaultPubScreen: +;Frontmost set as DefaultPubScreen: +; +MSG_OFFSCREEN_DESC +Допускать перемещение окон\nза пределы видимой части +;Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Самый верхний общий экран\nстановится общим экраном по умолчанию +;Make the frontmost public screen\nthe default public screen +; +MSG_BACKWARDS_DRAG +Запретить протаскивание вверх и влево +;Disable drag in top-left direction +; +MSG_BOUND_LEFT_DRAG +Ограничить протаскивание влево +; +MSG_BOUND_RIGHT_DRAG +Ограничить протаскивание вправо +; +MSG_BOUND_TOP_DRAG +Ограничить протаскивание вверх +; +MSG_BOUND_BOTTOM_DRAG +Ограничить протаскивание вниз +; +MSG_META_DRAG +Клавиши перетаскивания +; +MSG_MENUS_STICKY +Залипание +; \ No newline at end of file diff --git a/workbench/prefs/icontrol/catalogs/spanish.ct b/workbench/prefs/icontrol/catalogs/spanish.ct new file mode 100644 index 00000000000..240dc73e28e --- /dev/null +++ b/workbench/prefs/icontrol/catalogs/spanish.ct @@ -0,0 +1,137 @@ +## version $VER: icontrolprefs.catalog 1.1 (30.09.2007) +## codeset 0 +## language español +; +; TODO: update me and set version to 2 +; +; Traslated by ahg +; +MSG_CANT_OPEN_LIB +¡No se puede abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +¡No se puede crear la aplicación! +;Can't create application object! +; +MSG_CANT_CREATE_CUSTOM_CLASS +No se puede crear la clase propia\n\ +de la ventana de preferencias +;Can't create custom preferenceswindow class +; +MSG_WINTITLE +Preferencias de IControl +;IControl Preferences +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Salir +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Modifica (italiano) +;Modifier (francés) +;Edit +; +MSG_MEN_EDIT_DEFAULT +F\0Valores de fábrica +;D\0Rirpistina valori iniziali (italiano) +;D\0Configuration par défaut (francés) +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Valores previos +;L\0A los últimos grabados +;L\0Ultima versione salvata (italiano) +;L\0Dernière sauvegarde (francés) +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Ripristina (italiano) +;R\0Revenir à l'initial (francés) +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraciones +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0¿Crear Íconos? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Cargar las Preferencias para IControl +;Load IControl Preferences +; +MSG_ASL_SAVE_TITLE +Guardar las Preferencias para IControl +;Save IControl Preferences +; +MSG_OK +Aceptar +;Ok +; +MSG_MENUS_GROUP +Menús +;Menus +; +MSG_MENUS_TYPE +Tipo +;Type +; +MSG_MENUS_TYPE_PULLDOWN +Descendente +;Pull-Down +; +MSG_MENUS_TYPE_POPUP +Emergente +;Pop-Up +; +MSG_MENUS_LOOK +Aspecto +;Look +; +MSG_MENUS_LOOK_CLASSIC +Clásico +;Classic +; +MSG_MENUS_LOOK_3D +3D +; +MSG_WINDOWS +Ventanas +;Windows +; +MSG_OFFSCREEN_MOVE +Mover afuera de la pantalla: +;Offscreen move: +; +MSG_SCREENS +Pantallas +;Screens +; +MSG_FRONTMOST_DEFAULT +La del frente es la pant. públ. predet.: +;Frontmost set as DefaultPubScreen: +; +MSG_OFFSCREEN_DESC +Dejar que las ventanas salgan\ndel área visible +;Allow windows to be moved out of\nthe visible area +; +MSG_FRONTMOST_DEFAULT_DESC +Que la pant. públ. del frente\nsea la pant. públ. predet. +;Make the frontmost public screen\nthe default public screen +; diff --git a/workbench/prefs/input/catalogs b/workbench/prefs/input/catalogs deleted file mode 160000 index 058d4c2e527..00000000000 --- a/workbench/prefs/input/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 058d4c2e5270155ad912ef5ff9b0a7d6fdde8117 diff --git a/workbench/prefs/input/catalogs/.gitattributes b/workbench/prefs/input/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/input/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/input/catalogs/croatian.ct b/workbench/prefs/input/catalogs/croatian.ct new file mode 100644 index 00000000000..1c3080426be --- /dev/null +++ b/workbench/prefs/input/catalogs/croatian.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.0 (13.6.2017) +## language hrvatski +## codeset 0 +; +; +MSG_NAME +Ulazne Periferije +; Input Preferences +; +MSG_OK +U redu +; Ok +; +MSG_GAD_TAB_MOUSE +Miš +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Tipkovnica +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Brzina +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Ubrzanje +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Dupli-Klik Zastoj +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Zastoj Ponavljanja Tipke +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Učestalost Ponavljanja Tipke +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Provjera +; Test +; +MSG_GAD_KEY_TYPE +Tip +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS + +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE + +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Sporo +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normalno +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Brzo +; Fast +; +MSG_GAD_KEY_DEF + +; Default +; +MSG_GAD_KEY_ALT + +; Alternate +; +MSG_GAD_KEY_SET + +; Set +; +MSG_GAD_KEY_SWITCH + +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE + +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY + +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/czech.ct b/workbench/prefs/input/catalogs/czech.ct new file mode 100644 index 00000000000..6ea038c7d0a --- /dev/null +++ b/workbench/prefs/input/catalogs/czech.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.1 (13.6.2017) +## language czech +## codeset 5 +; +; +MSG_NAME +Klávesnice a myš +; Input Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_TAB_MOUSE +Myš +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Klávesnice +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Rychlost myši +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Zapnout zrychlení +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Čas mezi dvojím kliknutím +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Čas před opakováním znaku +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Rychlost opakování znaku +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Zkusit +; Test +; +MSG_GAD_KEY_TYPE +Druh +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Tlačítka myši +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Pro levoruké +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Nízká +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Střední +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Vysoká +; Fast +; +MSG_GAD_KEY_DEF +Výchozí +; Default +; +MSG_GAD_KEY_ALT +Sekundární +; Alternate +; +MSG_GAD_KEY_SET +Nastavit +; Set +; +MSG_GAD_KEY_SWITCH +Přepínání klávesnic +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Povolit +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Klávesová zkratka +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/danish.ct b/workbench/prefs/input/catalogs/danish.ct new file mode 100644 index 00000000000..2986efbd495 --- /dev/null +++ b/workbench/prefs/input/catalogs/danish.ct @@ -0,0 +1,94 @@ +## version $VER: Input.catalog 3.0 (13.6.2017) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_NAME +Inputindstillinger +; Input Preferences +; +MSG_OK +O.k. +; Ok +; +MSG_GAD_TAB_MOUSE +Mus +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Tastatur +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Musehastighed +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Accelereret +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Dobbeltklikforsinkelse +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Tastegentagelsesforsinkelse +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Tastegentagelseshastighed +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Afprv +; Test +; +MSG_GAD_KEY_TYPE +Type +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS + +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE + +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Langsom +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normal +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Hurtig +; Fast +; +MSG_GAD_KEY_DEF + +; Default +; +MSG_GAD_KEY_ALT + +; Alternate +; +MSG_GAD_KEY_SET + +; Set +; +MSG_GAD_KEY_SWITCH + +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE + +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY + +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/french.ct b/workbench/prefs/input/catalogs/french.ct new file mode 100644 index 00000000000..73b8db67903 --- /dev/null +++ b/workbench/prefs/input/catalogs/french.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.1 (13.6.2017) +## language français +## codeset 0 +; +; +MSG_NAME +Préférences clavier et souris +; Input Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_TAB_MOUSE +Souris +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Clavier +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Vitesse de la souris +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Accélération +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Délai du double clic +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Délai de répétition du clavier +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Vitesse de répétition du clavier +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Test +; Test +; +MSG_GAD_KEY_TYPE +Modèle de clavier +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Assignation des boutons +;Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Souris pour gauchers +;Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Lente +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normale +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Rapide +; Fast +; +MSG_GAD_KEY_DEF +Défaut +;Default +; +MSG_GAD_KEY_ALT +Optionnel +;Alternate +; +MSG_GAD_KEY_SET +Choisir +;Set +; +MSG_GAD_KEY_SWITCH +Bascule disposition optionnelle +;Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Activée +;Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Raccourci +;Hotkey +; diff --git a/workbench/prefs/input/catalogs/german.ct b/workbench/prefs/input/catalogs/german.ct new file mode 100644 index 00000000000..e5bfc769b33 --- /dev/null +++ b/workbench/prefs/input/catalogs/german.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.1 (13.7.2017) +## language deutsch +## codeset 0 +; +; +MSG_NAME +Eingabe-Einstellungen +; Input Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_TAB_MOUSE +Maus +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Tastatur +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Mausgeschwindigkeit +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Mausbeschleunigung +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Pause Doppelklick +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Wiederhol-Verzögerung +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Wiederhol-Geschwindigkeit +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Test +; Test +; +MSG_GAD_KEY_TYPE +Tastaturbelegung +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Mausknöpfe +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Linkshändische Maus +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Langsam +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normal +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Schnell +; Fast +; +MSG_GAD_KEY_DEF +Voreinstellung +; Default +; +MSG_GAD_KEY_ALT +Alternative +; Alternate +; +MSG_GAD_KEY_SET +Einstellen +; Set +; +MSG_GAD_KEY_SWITCH +Anordnung umschalten +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Aktiv +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Hotkey +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/input.cd b/workbench/prefs/input/catalogs/input.cd new file mode 100644 index 00000000000..df8f55bd876 --- /dev/null +++ b/workbench/prefs/input/catalogs/input.cd @@ -0,0 +1,67 @@ +; +MSG_NAME (//) +Input Preferences +; +MSG_OK (//) +Ok +; +MSG_GAD_TAB_MOUSE (//) +Mouse +; +MSG_GAD_TAB_KEYBOARD (//) +Keyboard +; +MSG_GAD_MOUSE_SPEED (//) +Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED (//) +Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY (//) +Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY (//) +Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE (//) +Key Repeat Rate +; +MSG_GAD_KEY_TEST (//) +Test +; +MSG_GAD_KEY_TYPE (//) +Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS (//) +Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE (//) +Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW (//) +Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL (//) +Normal +; +MSG_GAD_MOUSE_SPEED_FAST (//) +Fast +; +MSG_GAD_KEY_DEF (//) +Default +; +MSG_GAD_KEY_ALT (//) +Alternate +; +MSG_GAD_KEY_SET (//) +Set +; +MSG_GAD_KEY_SWITCH (//) +Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE (//) +Enabled +; +MSG_GAD_KEY_SWITCH_KEY (//) +Hotkey +; diff --git a/workbench/prefs/input/catalogs/italian.ct b/workbench/prefs/input/catalogs/italian.ct new file mode 100644 index 00000000000..b08f0715fc4 --- /dev/null +++ b/workbench/prefs/input/catalogs/italian.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.1 (15.6.2017) +## language italiano +## codeset 0 +; +; +MSG_NAME +Impostazioni Input +; Input Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_TAB_MOUSE +Mouse +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Tastiera +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Velocità mouse +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Accelerazione +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Intervallo doppio click +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Ritardo ripetizione +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Velocità ripetizione +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Prova +; Test +; +MSG_GAD_KEY_TYPE +Scrivi +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Pulsanti del mouse +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Per mancini +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Lento +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normale +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Veloce +; Fast +; +MSG_GAD_KEY_DEF +Predefinita +; Default +; +MSG_GAD_KEY_ALT +Alternativa +; Alternate +; +MSG_GAD_KEY_SET +Imposta +; Set +; +MSG_GAD_KEY_SWITCH +Scambia layout +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Abilitato +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Hotkey +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/mmakefile.src b/workbench/prefs/input/catalogs/mmakefile.src new file mode 100644 index 00000000000..86cb88ca9d3 --- /dev/null +++ b/workbench/prefs/input/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright © 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech french german italian polish norwegian +# other catalogs need updating + +%build_catalogs mmake=workbench-prefs-input-catalogs \ + catalogs=$(CATALOGS) \ + name=Input subdir=System/Prefs diff --git a/workbench/prefs/input/catalogs/norwegian.ct b/workbench/prefs/input/catalogs/norwegian.ct new file mode 100644 index 00000000000..ddfd00dbf8e --- /dev/null +++ b/workbench/prefs/input/catalogs/norwegian.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.1 (13.7.2017) +## language norwegian +## codeset 0 +; +; +MSG_NAME +Inputinnstillinger +; Input Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_TAB_MOUSE +Mus +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Tastatur +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Pekerhastighet +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Akselerert +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Forsinkelse p dobbeltklikking +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Forsinkelse fr repitisjon +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Repetisjonshastigheten +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Test +; Test +; +MSG_GAD_KEY_TYPE +Tastaturtype +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Museknapper +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Venstrehndsmus +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Langsom +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normal +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Rask +; Fast +; +MSG_GAD_KEY_DEF +Standardinnstilling +; Default +; +MSG_GAD_KEY_ALT +Alternativ +; Alternate +; +MSG_GAD_KEY_SET +Sett +; Set +; +MSG_GAD_KEY_SWITCH +Oppsettsbytte +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Aktiv +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Hurtigtast +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/polish.ct b/workbench/prefs/input/catalogs/polish.ct new file mode 100644 index 00000000000..77e00765a96 --- /dev/null +++ b/workbench/prefs/input/catalogs/polish.ct @@ -0,0 +1,93 @@ +## version $VER: Input.catalog 3.2 (08.03.2019) +## language polski +## codeset 5 +; +; +MSG_NAME +Ustawienia wejść +; Input Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_TAB_MOUSE +Mysz +; Mouse +; +MSG_GAD_TAB_KEYBOARD +Klawiatura +; Keyboard +; +MSG_GAD_MOUSE_SPEED +Szybkość myszy +; Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Przyśpieszona +; Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Opóźnienie dwukrotnego kliknięcia +; Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Opóźnienie powtarzania klawiszy +; Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Częstotliwość powtarzania +; Key Repeat Rate +; +MSG_GAD_KEY_TEST +Testuj +; Test +; +MSG_GAD_KEY_TYPE +Typ +; Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS +Przyciski myszy +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE +Mysz leworęczna +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +powolna +; Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +zwykła +; Normal +; +MSG_GAD_MOUSE_SPEED_FAST +szybka +; Fast +; +MSG_GAD_KEY_DEF +Domyślne +; Default +; +MSG_GAD_KEY_ALT +Opcjonalne +; Alternate +; +MSG_GAD_KEY_SET +wybierz +; Set +; +MSG_GAD_KEY_SWITCH +Przełączanie układu +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE +Aktywny +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY +Klawisz skrótu +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/portuguese.ct b/workbench/prefs/input/catalogs/portuguese.ct new file mode 100644 index 00000000000..95b49caf702 --- /dev/null +++ b/workbench/prefs/input/catalogs/portuguese.ct @@ -0,0 +1,94 @@ +## version $VER: Input.catalog 3.0 (13.6.2017) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha +; +MSG_NAME +Preferncias para a Entrada de dados +;Input Preferences +; +MSG_OK +Aceitar +;Ok +; +MSG_GAD_TAB_MOUSE +Rato +;Mouse +; +MSG_GAD_TAB_KEYBOARD +Teclado +;Keyboard +; +MSG_GAD_MOUSE_SPEED +Velocidade do rato +;Velocidad del ratn +;Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Acelerado +;Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Atraso do duplo-click +;Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Atraso da repetio +;Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Velocidade de repetio +;Key Repeat Rate +; +MSG_GAD_KEY_TEST +Testar +;Test +; +MSG_GAD_KEY_TYPE +Escever +;Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS + +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE + +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Lento +;Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Rpido +;Fast +; +MSG_GAD_KEY_DEF + +; Default +; +MSG_GAD_KEY_ALT + +; Alternate +; +MSG_GAD_KEY_SET + +; Set +; +MSG_GAD_KEY_SWITCH + +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE + +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY + +; Hotkey +; diff --git a/workbench/prefs/input/catalogs/spanish.ct b/workbench/prefs/input/catalogs/spanish.ct new file mode 100644 index 00000000000..bd6e53f62aa --- /dev/null +++ b/workbench/prefs/input/catalogs/spanish.ct @@ -0,0 +1,96 @@ +## version $VER: Input.catalog 3.0 (13.6.2017) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_NAME +Preferencias para la Entrada de datos +;Input Preferences +; +MSG_OK +Aceptar +;Ok +; +MSG_GAD_TAB_MOUSE +Ratón +;Mouse +; +MSG_GAD_TAB_KEYBOARD +Teclado +;Keyboard +; +MSG_GAD_MOUSE_SPEED +Rapidez del ratón +;Velocidad del ratón +;Mouse Speed +; +MSG_GAD_MOUSE_ACCELERATED +Acelerado +;Accelerated +; +MSG_GAD_MOUSE_DOUBLE_CLICK_DELAY +Retardo del doble-click +;Double-Click Delay +; +MSG_GAD_KEY_REPEAT_DELAY +Retardo de la repetición +;Key Repeat Delay +; +MSG_GAD_KEY_REPEAT_RATE +Rapidez de la repetición +;Velocidad de la repetición +;Frecuencia de la repetición +;Key Repeat Rate +; +MSG_GAD_KEY_TEST +Probar +;Test +; +MSG_GAD_KEY_TYPE +Tipear +;Type +; +MSG_GAD_MOUSE_BUTTON_SETTINGS + +; Mouse buttons +; +MSG_GAD_LEFT_HANDED_MOUSE + +; Left-handed mouse +; +MSG_GAD_MOUSE_SPEED_SLOW +Lento +;Slow +; +MSG_GAD_MOUSE_SPEED_NORMAL +Normal +; +MSG_GAD_MOUSE_SPEED_FAST +Rápido +;Fast +; +MSG_GAD_KEY_DEF + +; Default +; +MSG_GAD_KEY_ALT + +; Alternate +; +MSG_GAD_KEY_SET + +; Set +; +MSG_GAD_KEY_SWITCH + +; Layout switching +; +MSG_GAD_KEY_SWITCH_ENABLE + +; Enabled +; +MSG_GAD_KEY_SWITCH_KEY + +; Hotkey +; diff --git a/workbench/prefs/input/main.c b/workbench/prefs/input/main.c index 1c5d4c4b512..769fbaa2cdd 100644 --- a/workbench/prefs/input/main.c +++ b/workbench/prefs/input/main.c @@ -32,6 +32,8 @@ int main(int argc, char **argv) { Object *application, *window; + bug("[INPUT] Start\n"); + Locale_Initialize(); if (ReadArguments(argc, argv)) @@ -56,18 +58,20 @@ int main(int argc, char **argv) Prefs_ScanDirectory("DEVS:Keymaps/" EXCLUDEPATTERN, &keymap_list, sizeof(struct KeymapEntry)); - application = ApplicationObject, - MUIA_Application_Title, __(MSG_NAME), + application = (Object *)ApplicationObject, + MUIA_Application_Author, (IPTR)"Jason McMullan ", + MUIA_Application_Copyright, (IPTR)"2012, AROS Team", + MUIA_Application_Title, __(MSG_NAME), MUIA_Application_Version, (IPTR) VERSION, MUIA_Application_Description, __(MSG_NAME), MUIA_Application_SingleTask, TRUE, MUIA_Application_Base, (IPTR) "INPUTPREF", SubWindow, (IPTR) (window = SystemPrefsWindowObject, - MUIA_Window_Screen, (IPTR)pScreen, - MUIA_Window_ID, MAKE_ID('I','W','I','N'), + MUIA_Window_Screen, (IPTR)pScreen, + MUIA_Window_ID, MAKE_ID('I','W','I','N'), WindowContents, (IPTR) IPEditorObject, TAG_DONE), - End), + End), End; if (application != NULL) @@ -77,6 +81,8 @@ int main(int argc, char **argv) SET(window, MUIA_Window_Open, FALSE); MUI_DisposeObject(application); + } else { + bug("[INPUT] Failed to open MUI application\n"); } if (pScreen) diff --git a/workbench/prefs/locale/catalogs b/workbench/prefs/locale/catalogs deleted file mode 160000 index 74b4e618346..00000000000 --- a/workbench/prefs/locale/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 74b4e618346865a14da608ff37d25868072e4f2a diff --git a/workbench/prefs/locale/catalogs/.gitattributes b/workbench/prefs/locale/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/locale/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/locale/catalogs/croatian.ct b/workbench/prefs/locale/catalogs/croatian.ct new file mode 100644 index 00000000000..4ef96875b27 --- /dev/null +++ b/workbench/prefs/locale/catalogs/croatian.ct @@ -0,0 +1,137 @@ +## version $VER: Locale.catalog 1.2 (26.12.2009) +## language hrvatski +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Ne mogu zaključati javni zaslon! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Ne mogu dobiti DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Ne mogu dobiti VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Ne mogu stvoriti gadgets! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Ne mogu stvoriti izbornike! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Ne mogu stvoriti prozor! +; Can't create window! +; +MSG_WINTITLE +Lokalne Postavke +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otvori... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spremi Kao... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +MSG_MEN_EDIT +Uredi +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Resetiraj na Predložene Postavke +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Zadnje Spremljeno +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Povrat +; R\0Restore +; +MSG_MEN_SETTINGS +Opcije +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Napravi Ikone? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Učitaj Lokalne Postavke +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Spremi Lokalne Postavke +; Save Locale Preferences +; +MSG_OK +U redu +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Dostupni Jezici +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Preferirani Jezici +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Odstrani Jezike +; Clear Languages +; +MSG_GAD_SAVE +Spremi +; Save +; +MSG_GAD_USE +Koristi +; Use +; +MSG_GAD_CANCEL +Odustani +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Jezik +; Language +; +MSG_GAD_TAB_REGION +Zemlja +; Region +; +MSG_GAD_TAB_TIMEZONE +Vremenska Zona +; Time Zone +; +MSG_TIMEZONE_1HOUR +Vremenska Zona: 1 Sat od UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Vremenska Zona: %ld Sati od UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Vremenska Zona: %ld Sati, %ld Minuta od UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; diff --git a/workbench/prefs/locale/catalogs/czech.ct b/workbench/prefs/locale/catalogs/czech.ct new file mode 100644 index 00000000000..1925329c6a2 --- /dev/null +++ b/workbench/prefs/locale/catalogs/czech.ct @@ -0,0 +1,149 @@ +## version $VER: Locale.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Nelze zamknout veřejnou obrazovku! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nelze načíst strukturu DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nelze načíst strukturu VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Nelze vytvořit tlačítka! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nelze vytvořit menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nelze vytvořit okno! +; Can't create window! +; +MSG_WINTITLE +Národní prostředí (editor Locale) +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otevřít... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Uložit jako... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +MSG_MEN_EDIT +Úpravy +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Obnovit výchozí +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Naposledy uložené +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_MEN_SETTINGS +Nastavení +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Vytvářet ikony? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Načtení nastavení +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Uložení nastavení +; Save Locale Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Přehled jazyků +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Vybrané jazyky +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Výchozí stav +; Clear Languages +; +MSG_GAD_SAVE +Uložit +; Save +; +MSG_GAD_USE +Použít +; Use +; +MSG_GAD_CANCEL +Zrušit +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Jazyky +; Language +; +MSG_GAD_TAB_REGION +Země +; Country +; +MSG_GAD_TAB_TIMEZONE +Časové pásmo +; Time Zone +; +MSG_TIMEZONE_1HOUR +Časové pásmo: 1 hod. od UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Časové pásmo: %ld hod. od UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Časové pásmo: %ld hod., %ld min. od UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Výchozí kódování +; Default character set +; +MSG_NOT_SPECIFIED +není určeno +; Not specified +; +MSG_GMT_CLOCK +Použít univerzální čas +; Hardware clock stores GMT +; diff --git a/workbench/prefs/locale/catalogs/danish.ct b/workbench/prefs/locale/catalogs/danish.ct new file mode 100644 index 00000000000..1f8d7bfab3d --- /dev/null +++ b/workbench/prefs/locale/catalogs/danish.ct @@ -0,0 +1,146 @@ +## version $VER: locale.catalog 1.0 (17.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_CANT_OPEN_LIB +Kan ikke bne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Kan ikke lse offentlig skrm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kan ikke indhente DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kan ikke indhente VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Kan ikke oprette gadgets! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kan ikke oprette menuer! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kan ikke oprette vinduer! +; Can't create window! +; +MSG_WINTITLE +Lande- og sprogindstillinger +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0bn... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Gem som... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Afslut +; Q\0Quit +; +MSG_MEN_EDIT +Redigr +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Nulstil til standardvrdier +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Sidst gemte +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Genskab +; R\0Restore +; +MSG_MEN_SETTINGS +Indstillinger +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Opret ikoner? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Indls lande- og sprogindstillinger +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Gem lande- og sprogindstillinger +; Save Locale Preferences +; +MSG_OK +O.k. +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Tilgngelige sprog +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Foretrukne sprog +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Tm foretrukne sprog +; Clear Languages +; +MSG_GAD_SAVE +Gem +; Save +; +MSG_GAD_USE +Brug +; Use +; +MSG_GAD_CANCEL +Afbryd +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Sprog +; Language +; +MSG_GAD_TAB_REGION +Land +; Country +; +MSG_GAD_TAB_TIMEZONE +Tidszone +; Time Zone +; +MSG_TIMEZONE_1HOUR +Tidszone: 1 time fra UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Tidszone: %ld timer fra UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Tidszone: %ld timer, %ld minutter fra UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Standardtegnst +; Default character set +; +MSG_NOT_SPECIFIED +Ikke angivet +; Not specified +; diff --git a/workbench/prefs/locale/catalogs/finnish.ct b/workbench/prefs/locale/catalogs/finnish.ct new file mode 100644 index 00000000000..fba46d9671b --- /dev/null +++ b/workbench/prefs/locale/catalogs/finnish.ct @@ -0,0 +1,137 @@ +## version $VER: Locale.catalog 1.0 (04.03.2000) +## language suomi +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Ei voitu avata %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Kan inte låsa allmän skärm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kan inte läsa DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kan inte läsa VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Kan inte skapa knappar! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Ei voitu luoda valikoita! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Ei voitu luoda ikkunaa! +; Can't create window! +; +MSG_WINTITLE +Maa asetukset +; Locale Preferences +; +MSG_MEN_PROJECT +Projekti +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Avaa... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Tallenna nimellä... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Lopeta +; Q\0Quit +; +MSG_MEN_EDIT +Muokkaa +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Palauta oletukset +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Viimeisin tallennus +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Palauta +; R\0Restore +; +MSG_MEN_SETTINGS +Asetukset +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Luo kuvakkeet? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Lataa maa asetukset +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Tallenna maa asetukset +; Save Locale Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Käytettävissä olevat kielet +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Suositeltavat kielet +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Rensa valda språk +; Clear Languages +; +MSG_GAD_SAVE +Tallenna +; Save +; +MSG_GAD_USE +Käytä +; Use +; +MSG_GAD_CANCEL +Peru +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Kieli +; Language +; +MSG_GAD_TAB_REGION +Maa +; Country +; +MSG_GAD_TAB_TIMEZONE +Aikavyöhyke +; Time Zone +; +MSG_TIMEZONE_1HOUR +Aikavyöhyke: Tunti UTC:sta +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Aikavyöhyke: %ld tuntia UTC:sta +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Aikavyöhyke: %ld tuntia, %ld minuuttia UTC:sta +; Time Zone: %ld Hours, %ld Minutes from UTC +; diff --git a/workbench/prefs/locale/catalogs/french.ct b/workbench/prefs/locale/catalogs/french.ct new file mode 100644 index 00000000000..d27269c5579 --- /dev/null +++ b/workbench/prefs/locale/catalogs/french.ct @@ -0,0 +1,149 @@ +## version $VER: Locale.catalog 2.0 (03.01.2018) +## language français +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld !\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Impossible de verrouiller l'écran public ! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Impossible d'ouvrir la structure DrawInfo ! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Impossible d'ouvrir la structure VisualInfo ! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Impossible de créer les Gadgets ! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Impossible de créer les Menus ! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Impossible d'ouvrir la fenêtre ! +; Can't create window! +; +MSG_WINTITLE +Préférences de langage +; Locale Preferences +; +MSG_MEN_PROJECT +Projet +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Ouvrir ... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Sauver sous ... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +; Q\0Quit +; +MSG_MEN_EDIT +Modifier +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Configuration par défaut +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Dernière sauvegarde +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Revenir à l'initial +; R\0Restore +; +MSG_MEN_SETTINGS +Préférences +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Créer des icônes ? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Charger les préférences +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Sauver les préférences +; Save Locale Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Langages disponibles +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Langages préférés +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Effacer les langues +; Clear Languages +; +MSG_GAD_SAVE +Sauver +; Save +; +MSG_GAD_USE +Utiliser +; Use +; +MSG_GAD_CANCEL +Annuler +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Langue +; Language +; +MSG_GAD_TAB_REGION +Région +; Country +; +MSG_GAD_TAB_TIMEZONE +Fuseau horaire +; Time Zone +; +MSG_TIMEZONE_1HOUR +Fuseau horaire : 1 Heure de UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Fuseau horaire : %ld Heures de UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Fuseau horaire : %ld Heures %ld Minutes de UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Jeu de caractères standard +; Default character set +; +MSG_NOT_SPECIFIED +Non spécifié +; Not specified +; +MSG_GMT_CLOCK +L'horloge matérielle enregistre UTC +; Hardware clock stores UTC +; diff --git a/workbench/prefs/locale/catalogs/german.ct b/workbench/prefs/locale/catalogs/german.ct new file mode 100644 index 00000000000..59d36089673 --- /dev/null +++ b/workbench/prefs/locale/catalogs/german.ct @@ -0,0 +1,149 @@ +## version $VER: Locale.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Kann public Screen nicht locken! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kann DrawInfo nicht ermitteln! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kann VisualInfo nicht ermitteln! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Kann Gadgets nicht erzeugen! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kann Menus nicht erzeugen! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kann Fenster nicht erzeugen! +; Can't create window! +; +MSG_WINTITLE +Landes-Einstellungen (Locale) +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Öffnen ... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Speichern als ... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; Q\0Quit +; +MSG_MEN_EDIT +Vorgaben +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Auf Vorgaben zurücksetzen +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Auf zuletzt gespeichertes +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Auf vorherigen Stand +; R\0Restore +; +MSG_MEN_SETTINGS +Einstellungen +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Piktogramme erzeugen? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Laden Locale-Vorgaben +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Speichern Locale-Vorgaben +; Save Locale Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Verfügbare Sprachen +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Bevorzugte Sprachen +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Sprachen löschen +; Clear Languages +; +MSG_GAD_SAVE +Speichern +; Save +; +MSG_GAD_USE +Benutzen +; Use +; +MSG_GAD_CANCEL +Abbrechen +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Sprache +; Language +; +MSG_GAD_TAB_REGION +Land +; Country +; +MSG_GAD_TAB_TIMEZONE +Zeitzone +; Time Zone +; +MSG_TIMEZONE_1HOUR +Zeitzone: 1 Stunde auf UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Zeitzone: %ld Stunden auf UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Zeitzone: %ld Stunden %ld Minuten auf UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Standard Zeichensatz +; Default character set +; +MSG_NOT_SPECIFIED +Nicht spezifiziert +; Not specified +; +MSG_GMT_CLOCK +Hardware-Uhr speichert UTC +; Hardware clock stores UTC +; diff --git a/workbench/prefs/locale/catalogs/italian.ct b/workbench/prefs/locale/catalogs/italian.ct new file mode 100644 index 00000000000..26e61ce47db --- /dev/null +++ b/workbench/prefs/locale/catalogs/italian.ct @@ -0,0 +1,112 @@ +## version $VER: Locale.catalog 2.0 (10.6.2017) +## codeset 0 +## language italiano +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld !\n +; +MSG_CANT_LOCK_SCR +Impossibile bloccare lo schermo! +; +MSG_CANT_GET_DRI +Impossibile aprire la struttura DrawInfo! +; +MSG_CANT_GET_VI +Impossibile aprire la struttura VisualInfo! +; +MSG_CANT_CREATE_GADGET +Impossibile creare i Gadget! +; +MSG_CANT_CREATE_MENUS +Impossibile creare i menu! +; +MSG_CANT_CREATE_WIN +Impossibile aprire una finestra! +; +MSG_WINTITLE +Preferenze internazionali (Locale) +; +MSG_MEN_PROJECT +Progetto +; +MSG_MEN_PROJECT_OPEN +O\0Apri... +; +MSG_MEN_PROJECT_SAVEAS +A\0Salva come... +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +; +MSG_MEN_EDIT +Modifica +; +MSG_MEN_EDIT_DEFAULT +D\0Configurazione predefinita +; +MSG_MEN_EDIT_LASTSAVED +L\0Ultima versione salvata +; +MSG_MEN_EDIT_RESTORE +R\0Ripristina +; +MSG_MEN_SETTINGS +Preferenze +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Crea le icone? +; +MSG_ASL_OPEN_TITLE +Modifica preferenze +; +MSG_ASL_SAVE_TITLE +Salva le preferenze +; +MSG_OK +Ok +; +MSG_GAD_AVAIL_LANGUAGES +Lingue disponibili +; +MSG_GAD_PREF_LANGUAGES +Lingue preferite +; +MSG_GAD_CLEAR_LANGUAGES +Rimuovi lingue +; +MSG_GAD_SAVE +Salva +; +MSG_GAD_USE +Usa +; +MSG_GAD_CANCEL +Annulla +; +MSG_GAD_TAB_LANGUAGE +Lingua +; +MSG_GAD_TAB_REGION +Stato +; +MSG_GAD_TAB_TIMEZONE +Fuso orario +; +MSG_TIMEZONE_1HOUR +Fuso orario: 1 Ora rispetto UTC +; +MSG_TIMEZONE_HOURS +Fuso orario: %ld Ore rispetto UTC +; +MSG_TIMEZONE_HOURSMINS +Fuso orario: %ld ore e %ld minuti rispetto UTC +; +MSG_CHARACTER_SET +Set di caratteri predefinito +; +MSG_NOT_SPECIFIED +Non specificato +; +MSG_GMT_CLOCK +Orologio hardware sincronizzato con UTC +; diff --git a/workbench/prefs/locale/catalogs/locale.cd b/workbench/prefs/locale/catalogs/locale.cd new file mode 100644 index 00000000000..2d18c8c3669 --- /dev/null +++ b/workbench/prefs/locale/catalogs/locale.cd @@ -0,0 +1,109 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR (//) +Can't lock public screen! +; +MSG_CANT_GET_DRI (//) +Can't get DrawInfo! +; +MSG_CANT_GET_VI (//) +Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET (//) +Can't create gadgets! +; +MSG_CANT_CREATE_MENUS (//) +Can't create menus! +; +MSG_CANT_CREATE_WIN (//) +Can't create window! +; +MSG_WINTITLE (//) +Locale Preferences +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_OPEN (//) +O\0Open... +; +MSG_MEN_PROJECT_SAVEAS (//) +A\0Save As... +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +MSG_MEN_EDIT (//) +Edit +; +MSG_MEN_EDIT_DEFAULT (//) +D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED (//) +L\0Last Saved +; +MSG_MEN_EDIT_RESTORE (//) +R\0Restore +; +MSG_MEN_SETTINGS (//) +Settings +; +MSG_MEN_SETTINGS_CREATEICONS (//) +I\0Create Icons? +; +MSG_ASL_OPEN_TITLE (//) +Load Locale Preferences +; +MSG_ASL_SAVE_TITLE (//) +Save Locale Preferences +; +MSG_OK (//) +Ok +; +MSG_GAD_AVAIL_LANGUAGES (//) +Available Languages +; +MSG_GAD_PREF_LANGUAGES (//) +Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES (//) +Clear Languages +; +MSG_GAD_SAVE (//) +Save +; +MSG_GAD_USE (//) +Use +; +MSG_GAD_CANCEL (//) +Cancel +; +MSG_GAD_TAB_LANGUAGE (//) +Language +; +MSG_GAD_TAB_REGION (//) +Region +; +MSG_GAD_TAB_TIMEZONE (//) +Time Zone +; +MSG_TIMEZONE_1HOUR (//) +Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS (//) +Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS (//) +Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET (//) +Default character set +; +MSG_NOT_SPECIFIED (//) +Not specified +; +MSG_GMT_CLOCK (//) +Hardware clock stores UTC +; \ No newline at end of file diff --git a/workbench/prefs/locale/catalogs/mmakefile.src b/workbench/prefs/locale/catalogs/mmakefile.src new file mode 100644 index 00000000000..13f007bae96 --- /dev/null +++ b/workbench/prefs/locale/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech german italian russian french polish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-locale-catalogs \ + catalogs=$(CATALOGS) \ + name=Locale subdir=System/Prefs diff --git a/workbench/prefs/locale/catalogs/norwegian.ct b/workbench/prefs/locale/catalogs/norwegian.ct new file mode 100644 index 00000000000..0f313b6a5c9 --- /dev/null +++ b/workbench/prefs/locale/catalogs/norwegian.ct @@ -0,0 +1,149 @@ +## version $VER: Locale.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Klarte ikke pne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Klarte ikke lukke skjerm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Klarte ikke pne DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Klarte ikke pne VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Klarte ikke opprette gadgets! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Klarte ikke opprette menyer! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Klarte ikke opprette vindu! +; Can't create window! +; +MSG_WINTITLE +Sprk- og regionsinnstillinger +; Locale Preferences +; +MSG_MEN_PROJECT +Prosjekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0pne ... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Lagre som ... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; Q\0Quit +; +MSG_MEN_EDIT +Rediger +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Tilbakestill til standardverdier +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Sist lagret +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\00Tilbakestill +; R\0Restore +; +MSG_MEN_SETTINGS +Innstillinger +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Opprette ikoner? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Last inn innstillinger +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Lagre innstillinger +; Save Locale Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Tilgjengelige sprk +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Foretrukne sprk +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Nullstill sprk +; Clear Languages +; +MSG_GAD_SAVE +Lagre +; Save +; +MSG_GAD_USE +Bruk +; Use +; +MSG_GAD_CANCEL +Avbryt +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Sprk +; Language +; +MSG_GAD_TAB_REGION +Land +; Country +; +MSG_GAD_TAB_TIMEZONE +Tidssone +; Time Zone +; +MSG_TIMEZONE_1HOUR +Tidssone: 1 time fra UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Tidssone: %ld timer fra UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Tidssone: %ld timer og %ld minutter fra UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Standard tegnsett +; Default character set +; +MSG_NOT_SPECIFIED +Ikke spesifisert +; Not specified +; +MSG_GMT_CLOCK +Maskinvareklokken lagrer UTC +; Hardware clock stores UTC +; diff --git a/workbench/prefs/locale/catalogs/polish.ct b/workbench/prefs/locale/catalogs/polish.ct new file mode 100644 index 00000000000..8a98f6becf0 --- /dev/null +++ b/workbench/prefs/locale/catalogs/polish.ct @@ -0,0 +1,148 @@ +## version $VER: locale.catalog 2.0 (07.09.2018) +## language polski +## codeset 5 +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Nie można uzyskać dostępu do ekranu! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nie można pobrać DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nie można pobrać VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Nie można utworzyć gadżetów! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nie można utworzyć menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nie można utworzyć okna! +; Can't create window! +; +MSG_WINTITLE +Ustawienia lokalizacji +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otwórz... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Zapisz jako... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_MEN_EDIT +Edycja +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Przywróć ustawienia domyślne +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Ostatnio zapisane +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Przywróć +; R\0Restore +; +MSG_MEN_SETTINGS +Ustawienia +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Twórz ikony +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Wczytaj ustawienia +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Zapisz ustawienia +; Save Locale Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Dostępne języki +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Preferowane języki +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Wyczyść języki +; Clear Languages +; +MSG_GAD_SAVE +Zapisz +; Save +; +MSG_GAD_USE +Użyj +; Use +; +MSG_GAD_CANCEL +Poniechaj +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Język +; Language +; +MSG_GAD_TAB_REGION +Kraj +; Region +; +MSG_GAD_TAB_TIMEZONE +Strefa czasowa +; Time Zone +; +MSG_TIMEZONE_1HOUR +Strefa czasowa: 1 godzina od UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Strefa czasowa: %ld godzin od UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Strefa czasowa: %ld godzin, %ld minut od UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; +MSG_CHARACTER_SET +Domyślny zestaw znaków +; Default character set +; +MSG_NOT_SPECIFIED +nieokreślony +; Not specified +; +MSG_GMT_CLOCK +Sprzętowy zegar zachowa UTC +; Hardware clock stores UTC +; \ No newline at end of file diff --git a/workbench/prefs/locale/catalogs/portuguese.ct b/workbench/prefs/locale/catalogs/portuguese.ct new file mode 100644 index 00000000000..0134de473c2 --- /dev/null +++ b/workbench/prefs/locale/catalogs/portuguese.ct @@ -0,0 +1,138 @@ +## version $VER: Locale.catalog 1.0 (30.09.2008) +## codeset 0 +## language portugus +; +; Translated by Joo ralha +; +MSG_CANT_OPEN_LIB +No foi possvel abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +No foi possvel bloquear cran pblico! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +No foi possvel obter DrawInfo! +; +MSG_CANT_GET_VI +No foi possvel obter VisualInfo! +; +MSG_CANT_CREATE_GADGET +No foi possvel criar os botes! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +No foi possvel criar os menus! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +No foi possvel criar a janela! +;Can't create window! +; +MSG_WINTITLE +Preferncias Internacionais (Locale) +;Locale Preferences +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Sair +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Valores por defeito +;E\0Restaurar valores +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0ltima gravao +;U\0ltimos guardados +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraes +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Criar cones? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Carregar as Preferncias para o Locale +;Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Guardar as Preferncias para o Locale +;Save Locale Preferences +; +MSG_OK +Aceitar +;Ok +; +MSG_GAD_AVAIL_LANGUAGES +Idiomas disponveis +;Available Languages +; +MSG_GAD_PREF_LANGUAGES +Idiomas preferidos +;Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Limpar idiomas +;Clear Languages +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Utilizar +;Use +; +MSG_GAD_CANCEL +Cancelar +;Cancel +; +MSG_GAD_TAB_LANGUAGE +Lngua +;Language +; +MSG_GAD_TAB_REGION +Pas +;Country +; +MSG_GAD_TAB_TIMEZONE +Fusos Horrios +;Time Zone +; +MSG_TIMEZONE_1HOUR +Fuso Horrio: Uma hora da UTC +;Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Fuso Horrio: %ld horas da UTC +;Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Fuso Horrio: %ld horas, %ld minutos da UTC +;Time Zone: %ld Hours, %ld Minutes from UTC +; diff --git a/workbench/prefs/locale/catalogs/russian.ct b/workbench/prefs/locale/catalogs/russian.ct new file mode 100644 index 00000000000..9ab5eb9c71e --- /dev/null +++ b/workbench/prefs/locale/catalogs/russian.ct @@ -0,0 +1,112 @@ +## version $VER: Locale.catalog 2.0 (30.03.2016) +## codeset 2104 +## language russian +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Не могу занять общий дисплей! +; +MSG_CANT_GET_DRI +Не могу получить DrawInfo! +; +MSG_CANT_GET_VI +не могу получить VisualInfo! +; +MSG_CANT_CREATE_GADGET +Не могу создать гр. элемент! +; +MSG_CANT_CREATE_MENUS +Ошибка создания меню! +; +MSG_CANT_CREATE_WIN +Не могу создать окно! +; +MSG_WINTITLE +Параметры локали(Locale) +; +MSG_MEN_PROJECT +Проект +; +MSG_MEN_PROJECT_OPEN +О\0Открыть... +; +MSG_MEN_PROJECT_SAVEAS +С\0Сохранить как... +; +MSG_MEN_PROJECT_QUIT +В\0Выход +; +MSG_MEN_EDIT +Правка +; +MSG_MEN_EDIT_DEFAULT +Н\0Сброс настроек +; +MSG_MEN_EDIT_LASTSAVED +П\0Последние сохраненные +; +MSG_MEN_EDIT_RESTORE +Т\0ВосстановиТь +; +MSG_MEN_SETTINGS +Настройки +; +MSG_MEN_SETTINGS_CREATEICONS +И\0Создать иконки? +; +MSG_ASL_OPEN_TITLE +Загрузить настройки локали +; +MSG_ASL_SAVE_TITLE +Сохранить настройки локали +; +MSG_OK +Ok +; +MSG_GAD_AVAIL_LANGUAGES +Доступные языки +; +MSG_GAD_PREF_LANGUAGES +Выбранные языки +; +MSG_GAD_CLEAR_LANGUAGES +Очистить список +; +MSG_GAD_SAVE +Сохранить +; +MSG_GAD_USE +Применить +; +MSG_GAD_CANCEL +Отменить +; +MSG_GAD_TAB_LANGUAGE +Язык +; +MSG_GAD_TAB_REGION +Страна +; +MSG_GAD_TAB_TIMEZONE +Временная зона +; +MSG_TIMEZONE_1HOUR +Временная зона: 1 час от UTC +; +MSG_TIMEZONE_HOURS +Временная зона: %ld часов от UTC +; +MSG_TIMEZONE_HOURSMINS +Временная зона: %ld часов %ld минут от UTC +; +MSG_CHARACTER_SET +Кодировка по умолчанию +; +MSG_NOT_SPECIFIED +Не определена +; +MSG_GMT_CLOCK +Аппаратные часы установлены на UTC +; diff --git a/workbench/prefs/locale/catalogs/spanish.ct b/workbench/prefs/locale/catalogs/spanish.ct new file mode 100644 index 00000000000..a3d54de3de1 --- /dev/null +++ b/workbench/prefs/locale/catalogs/spanish.ct @@ -0,0 +1,138 @@ +## version $VER: Locale.catalog 1.0 (30.09.2007) +## codeset 0 +## language español +; +; Translated by ahg +; +MSG_CANT_OPEN_LIB +No se pudo abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +No se pudo bloquer la pantalla pública! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Can't get DrawInfo! +; +MSG_CANT_GET_VI +Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +No se pudieron crear los gadgets! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +No se pudieron crear los menús! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +No se pudo crear la ventana! +;Can't create window! +; +MSG_WINTITLE +Preferencias para el Locale +;Locale Preferences +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Salir +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Valores de fábrica +;E\0Restaurar valores +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Valores previos +;U\0Últimos guardados +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraciones +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Crear Íconos? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Cargar las Preferencias para el Locale +;Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Guardar las Preferencias para el Locale +;Save Locale Preferences +; +MSG_OK +Aceptar +;Ok +; +MSG_GAD_AVAIL_LANGUAGES +Idiomas disponibles +;Available Languages +; +MSG_GAD_PREF_LANGUAGES +Idiomas preferidos +;Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Quitar Idiomas +;Clear Languages +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Usar +;Use +; +MSG_GAD_CANCEL +Cancelar +;Cancel +; +MSG_GAD_TAB_LANGUAGE +Idioma +;Language +; +MSG_GAD_TAB_REGION +País +;Country +; +MSG_GAD_TAB_TIMEZONE +Husos Horarios +;Time Zone +; +MSG_TIMEZONE_1HOUR +Huso Horario: 1 Hora menos que UTC +;Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Huso Horario: %ld horas menos que UTC +;Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Huso Horario: %ld horas, %ld minutos menos que UTC +;Time Zone: %ld Hours, %ld Minutes from UTC +; diff --git a/workbench/prefs/locale/catalogs/swedish.ct b/workbench/prefs/locale/catalogs/swedish.ct new file mode 100644 index 00000000000..44eb5e7f7c7 --- /dev/null +++ b/workbench/prefs/locale/catalogs/swedish.ct @@ -0,0 +1,137 @@ +## version $VER: Locale.catalog 1.0 (04.03.2000) +## language svenska +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Kan inte öppna %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Kan inte låsa allmän skärm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kan inte läsa DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kan inte läsa VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Kan inte skapa knappar! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kan inte skapa menyer! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kan inte skapa fönster! +; Can't create window! +; +MSG_WINTITLE +Lokalinställningar +; Locale Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Öppna... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spara som... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Avsluta +; Q\0Quit +; +MSG_MEN_EDIT +Redigera +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Förinställda värden +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Senast sparade +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Återställ +; R\0Restore +; +MSG_MEN_SETTINGS +Inställningar +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Skapa symboler? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Ladda lokalinställningar +; Load Locale Preferences +; +MSG_ASL_SAVE_TITLE +Spara lokalinställningar +; Save Locale Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_AVAIL_LANGUAGES +Tillgängliga språk +; Available Languages +; +MSG_GAD_PREF_LANGUAGES +Valda språk +; Preferred Languages +; +MSG_GAD_CLEAR_LANGUAGES +Rensa valda språk +; Clear Languages +; +MSG_GAD_SAVE +Spara +; Save +; +MSG_GAD_USE +Använd +; Use +; +MSG_GAD_CANCEL +Avbryt +; Cancel +; +MSG_GAD_TAB_LANGUAGE +Språk +; Language +; +MSG_GAD_TAB_REGION +Land +; Country +; +MSG_GAD_TAB_TIMEZONE +Tidszon +; Time Zone +; +MSG_TIMEZONE_1HOUR +Tidszon: 1 timme från UTC +; Time Zone: 1 Hour from UTC +; +MSG_TIMEZONE_HOURS +Tidszon: %ld timmar från UTC +; Time Zone: %ld Hours from UTC +; +MSG_TIMEZONE_HOURSMINS +Tidszon: %ld timmar, %ld minuter från UTC +; Time Zone: %ld Hours, %ld Minutes from UTC +; diff --git a/workbench/prefs/network/catalogs b/workbench/prefs/network/catalogs deleted file mode 160000 index b9e1814dc73..00000000000 --- a/workbench/prefs/network/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9e1814dc73055c7c1cd4c0930a3bd611d30f6ee diff --git a/workbench/prefs/network/catalogs/.gitattributes b/workbench/prefs/network/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/network/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/network/catalogs/croatian.ct b/workbench/prefs/network/catalogs/croatian.ct new file mode 100644 index 00000000000..c9bd4388232 --- /dev/null +++ b/workbench/prefs/network/catalogs/croatian.ct @@ -0,0 +1,100 @@ +## version $VER: networkprefs.catalog 1.0 (23.12.09) +## language hrvatski +## codeset 0 +; +MSG_NAME +Mrežne Postavke +; Network Preferences +; +MSG_DESCRIPTION +TCP/IP Mrežne postavke +; TCP/IP Network preferences +; +MSG_DEVICE +Uređaj +; Device +; +MSG_IP_MODE +IP Mod +; IP Mode +; +MSG_IP +IP +; IP +; +MSG_MASK +Mask +; Mask +; +MSG_GATE +Gate +; Gate +; +MSG_DNS1 +Primarni DNS +; Primary DNS +; +MSG_DNS2 +Sekundarni DNS +; Secondary DNS +; +MSG_HOST_NAME +Ime Domaćina +; Host Name +; +MSG_DOMAIN_NAME +Ime Domene +; Domain Name +; +MSG_IP_MODE_MANUAL +Manualno +; Manual +; +MSG_IP_MODE_DHCP +Pribavi adresu od DHCP +; Get address from DHCP +; +MSG_TAB_IP_CONFIGURATION +IP Konfiguracija +; IP Configuration +; +MSG_TAB_COMPUTER_NAME +Ime Računala +; Computer Name +; +MSG_AUTOSTART_STACK +Autostart +; Autostart +; +MSG_ERR_UNKNOWN_ERROR +Nepoznata greška +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Neuspješan restart network stack +; Failed to restart network stack +; +MSG_BUTTON_OK +U redu +; Ok +; +MSG_ERROR_TITLE +greška +; Error +; +MSG_ERR_NOT_SAVED_PREFS +Mrežne postavke nisu spremljene u %s +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Dodatne datoteke nisu kopirane u %s +; Additional files not copied to %s +; +MSG_INFO_TITLE +Obavijest +; Information +; +MSG_PREFS_SAVED_RESTART +Postavke su spremljene u %s.\nRestart je potreban. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; diff --git a/workbench/prefs/network/catalogs/czech.ct b/workbench/prefs/network/catalogs/czech.ct new file mode 100644 index 00000000000..c03dc012370 --- /dev/null +++ b/workbench/prefs/network/catalogs/czech.ct @@ -0,0 +1,259 @@ +## version $VER: network.catalog 4.0 (15.9.2016) +## language czech +## codeset 5 +; +MSG_NAME +Připojení k síti (editor Network) +; Network Preferences +; +MSG_DESCRIPTION +Nastavení připojení k síti +; Network preferences +; +MSG_IFNAME +Název +; Name +; +MSG_UP +Aktivní +; Active +; +MSG_DEVICE +Ovladač +; Device +; +MSG_UNIT +Jednotka +; Unit +; +MSG_IP_MODE +Přidělování adresy +; IP Mode +; +MSG_IP +Adresa +; Address +; +MSG_MASK +Maska +; Net Mask +; +MSG_GATE +Brána +; Gateway +; +MSG_DNS1 +Primární DNS +; Primary DNS +; +MSG_DNS2 +Sekundární DNS +; Secondary DNS +; +MSG_HOST_NAME +Název hostitele +; Host Name +; +MSG_HOST_NAMES +Název hostitele (přezdívka) +; Host Name and Aliases +; +MSG_DOMAIN_NAME +Název domény +; Domain/Workgroup +; +MSG_SERIAL_DEVICE +Sériové zařízení +; Serial Device +; +MSG_UNIT_NUMBER +Jednotka +; Unit +; +MSG_IP_MODE_MANUAL +Ručním zadáním +; Manual +; +MSG_IP_MODE_DHCP +Automaticky z DHCP +; Automatic +; +MSG_ENC_NONE +--- +; None +; +MSG_ENC_WEP +WEP +; WEP +; +MSG_ENC_WPA +WPA +; WPA +; +MSG_KEY_TEXT +Heslo +; Passphrase +; +MSG_KEY_HEX +Hexadecimální +; Hexadecimal +; +MSG_SSID +Název +; Network Name +; +MSG_ENCTYPE +Šifrování +; Encryption +; +MSG_KEYTYPE +Druh klíče +; Key Type +; +MSG_KEY +Klíč +; Key +; +MSG_HIDDEN +Skrytá +; Hidden +; +MSG_ADHOC +Ad-hoc +; Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +Konfigurace TCP/IP +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES +Položka hostitele +; Local Host Entries +; +MSG_TAB_WIRELESS +Bezdrátové připojení +; Wireless Networks +; +MSG_TAB_MOBILE +Mobilní připojení +; Mobile Broadband +; +MSG_TAB_SERVERS +Připojené složky +; Mounted Shares +; +MSG_AUTOSTART_STACK +Při startu připojit k síti +; Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR +Neznámá chyba +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Chyba při restartu síťových služeb. +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Chyba při restartu bezdrátového připojení. +; Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Chyba při restartu správce modemů. +; Failed to restart ModemManager +; +MSG_BUTTON_OK +OK +; Ok +; +MSG_BUTTON_ADD +Přidat +; Add +; +MSG_BUTTON_EDIT +Upravit +; Edit +; +MSG_BUTTON_REMOVE +Odebrat +; Remove +; +MSG_BUTTON_APPLY +Použít +; Apply +; +MSG_BUTTON_CLOSE +Zavřít +; Close +; +MSG_ERROR_TITLE +Chyba +; Error +; +MSG_WARNING_TITLE +Upozornění +; Warning +; +MSG_ERR_NOT_SAVED_PREFS +Nelze uložit konfigurační soubory.\n(cesta: %s). +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Nelze zkopírovat potřebné soubory.\n(cesta: %s). +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +DHCP funguje spolehlivě pouze s jedním rozhraním. +; DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Informace +; Information +; +MSG_PREFS_SAVED_RESTART +Konfigurační soubory byly úspěšně uloženy.\n(cesta: %s)\nProvedené změny vyžadují restart systému. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Rozhraní +; Interface +; +MSG_HOSTWINDOW_TITLE +Jméno hosta +; Host Name(s) +; +MSG_NETWINDOW_TITLE +Bezdrátová síť +; Wireless Network +; +MSG_SERVERWINDOW_TITLE +Připojená složka +; Mount Share +; +MSG_USERNAME +Jméno +; Username +; +MSG_PASSWORD +Heslo +; Password +; +MSG_WORKGROUP +Doména/Pracovní skupina +; Domain/Workgroup +; +MSG_SERVICE +Sdílené jméno +; Share Name +; +MSG_SERVICE_TYPES +Service Type +; Service Type +; +; ***NEW*** +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +; CIFS/SMB +; +; diff --git a/workbench/prefs/network/catalogs/danish.ct b/workbench/prefs/network/catalogs/danish.ct new file mode 100644 index 00000000000..574e7de0952 --- /dev/null +++ b/workbench/prefs/network/catalogs/danish.ct @@ -0,0 +1,138 @@ +## version $VER: network.catalog 2.0 (22.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_NAME +Netvrksindstillinger +; Network Preferences +; +MSG_DESCRIPTION +TCP/IP-netvrksindstillinger +; TCP/IP Network preferences +; +MSG_IFNAME +Navn +; Name +; +MSG_UP +Aktiv +; Active +; +MSG_DEVICE +Enhed +; Device +; +MSG_UNIT +Unit +; Unit +; +MSG_IP_MODE +IP-tilstand +; IP Mode +; +MSG_IP +Adresse +; Address +; +MSG_MASK +Netmaske +; Net Mask +; +MSG_GATE +Adgangspunkt +; Gateway +; +MSG_DNS1 +Primr DNS +; Primary DNS +; +MSG_DNS2 +Sekundr DNS +; Secondary DNS +; +MSG_HOST_NAME +Vrtsnavn +; Host Name +; +MSG_DOMAIN_NAME +Domnenavn +; Domain Name +; +MSG_IP_MODE_MANUAL +Manuelt +; Manual +; +MSG_IP_MODE_DHCP +Hent adresse fra DHCP +; Get address from DHCP +; +MSG_TAB_IP_CONFIGURATION +IPv4-opstning +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAME +Computernavn +; Computer Name +; +MSG_AUTOSTART_STACK +Start netvrk automatisk under systemopstart? +; Automatically start network during system boot? +; +MSG_ERR_UNKNOWN_ERROR +Ukendt fejl +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Genstart af netvrksstak mislykkedes +; Failed to restart network stack +; +MSG_BUTTON_OK +O.k. +; Ok +; +MSG_BUTTON_ADD +Tilfj +; Add +; +MSG_BUTTON_EDIT +Redigr +; Edit +; +MSG_BUTTON_REMOVE +Fjern +; Remove +; +MSG_BUTTON_APPLY +Anvend +; Apply +; +MSG_BUTTON_CLOSE +Luk +; Close +; +MSG_ERROR_TITLE +Fejl +; Error +; +MSG_ERR_NOT_SAVED_PREFS +Netvrksindstillinger blev ikke gemt i %s +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Yderligere filer blev ikke kopieret til %s +; Additional files not copied to %s +; +MSG_INFO_TITLE +Information +; Information +; +MSG_PREFS_SAVED_RESTART +Indstillingerne blev gemt i %s.\nGenstart AROS for at bruge de nye indstillinger. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Grnseflade +; Interface +; diff --git a/workbench/prefs/network/catalogs/french.ct b/workbench/prefs/network/catalogs/french.ct new file mode 100644 index 00000000000..4fe4528df60 --- /dev/null +++ b/workbench/prefs/network/catalogs/french.ct @@ -0,0 +1,230 @@ +## version $VER: networkprefs.catalog 4.2 (31.3.2019) +## language français +## codeset 0 +; +; +MSG_NAME +Préférences Réseau +; Network Preferences +; +MSG_DESCRIPTION +Préférences du réseau TCP/IP +; TCP/IP Network preferences +; +MSG_IFNAME +Nom +; +MSG_UP +Actif +; +MSG_DEVICE +Périphérique +; Device +; +MSG_UNIT +Unité +; +MSG_IP_MODE +Mode IP +; IP Mode +; +MSG_IP +Adresse IP +; IP +; +MSG_MASK +Masque +; Mask +; +MSG_GATE +Passerelle +; Gate +; +MSG_DNS1 +DNS primaire +; Primary DNS +; +MSG_DNS2 +DNS secondaire +; Secondary DNS +; +MSG_HOST_NAME +Nom d'hôte +; Host Name +; +MSG_HOST_NAMES +Noms des hôtes +; Host Names +; +MSG_DOMAIN_NAME +Nom de domaine +; Domain Name +; +MSG_SERIAL_DEVICE +Périphérique +; +MSG_UNIT_NUMBER +Unité +; +MSG_IP_MODE_MANUAL +Adresse saisie manuellement +; Manual +; +MSG_IP_MODE_DHCP +Adresse obtenue avec DHCP +; Get address from DHCP +; +MSG_ENC_NONE +Aucun +; +MSG_ENC_WEP +WEP +; +MSG_ENC_WPA +WPA +; +MSG_KEY_TEXT +Alphanumérique +; +MSG_KEY_HEX +Hexadécimale +; +MSG_SSID +Réseau +; +MSG_ENCTYPE +Protocole de sécurité +; +MSG_KEYTYPE +Type de clé +; +MSG_KEY +Clé +; +MSG_HIDDEN +Caché +; +MSG_ADHOC +Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +Configuration IPv4 +; IP Configuration +; +MSG_TAB_COMPUTER_NAMES +Noms des ordinateurs +; Computer Names +; +MSG_TAB_WIRELESS +Réseaux sans fil +; +MSG_TAB_MOBILE +Mobile +; +MSG_TAB_SERVERS +Serveurs de fichiers +; +MSG_AUTOSTART_STACK +Démarrage automatique +; Autostart +; +MSG_ERR_UNKNOWN_ERROR +Erreur inconnue +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +La pile réseau n'a pu redémarrer. +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Échec du redémarrage du réseau sans fil +;Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Échec du redémarrage de ModemManager +;Failed to restart ModemManager +; +MSG_BUTTON_OK +Ok +; Ok +; +MSG_BUTTON_ADD +Ajouter +; +MSG_BUTTON_EDIT +Modifier +; +MSG_BUTTON_REMOVE +Retirer +; +MSG_BUTTON_APPLY +Appliquer +; +MSG_BUTTON_CLOSE +Fermer +; +MSG_ERROR_TITLE +Erreur +; Error +; +MSG_WARNING_TITLE +Attention ! +;Warning +; +MSG_ERR_NOT_SAVED_PREFS +Les préférences réseau n'ont pas été sauvegardées sur %s. +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Les fichiers additionnels n'ont pas été copiés vers %s. +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +Le protocole DHCP n'est pas fiable quand plusieurs interfaces sont configurées +;DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Information +; Information +; +MSG_PREFS_SAVED_RESTART +Les préférences ont été sauvegardées vers %s. \nRedémarrer AROS pour que les modifications prennent effet. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Interface +; +MSG_HOSTWINDOW_TITLE +Hôte +; +MSG_NETWINDOW_TITLE +Réseau sans fil +;Wireless Network +; +MSG_SERVERWINDOW_TITLE +Serveur de fichiers +; +MSG_USERNAME +Nom d'utilisateur +;Username +; +MSG_PASSWORD +Mot de passe +;Password +; +MSG_WORKGROUP +Groupe de travail +;Workgroup +; +MSG_SERVICE +Nom de partage +;Share Name +; +MSG_SERVICE_TYPES +Type de service +;Service Type +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +;CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/german.ct b/workbench/prefs/network/catalogs/german.ct new file mode 100644 index 00000000000..2943aa9127d --- /dev/null +++ b/workbench/prefs/network/catalogs/german.ct @@ -0,0 +1,256 @@ +## version $VER: networkprefs.catalog 4.1 (30.03.2016) +## language deutsch +## codeset 0 +; +MSG_NAME +Netzwerk-Einstellungen (Network) +; Network Preferences +; +MSG_DESCRIPTION +Netzwerk-Voreinsteller (Network) +; Network preferences +; +MSG_IFNAME +Name +; Name +; +MSG_UP +Aktiv +; Active +; +MSG_DEVICE +Gerät +; Device +; +MSG_UNIT +Einheit +; Unit +; +MSG_IP_MODE +IP-Modus +; IP Mode +; +MSG_IP +Adresse +; Address +; +MSG_MASK +Netzmaske +; Net Mask +; +MSG_GATE +Gateway +; Gateway +; +MSG_DNS1 +Primärer DNS +; Primary DNS +; +MSG_DNS2 +Sekundärer DNS +; Secondary DNS +; +MSG_HOST_NAME +Hostname +; Host Name +; +MSG_HOST_NAMES +Hostnamen +; Host Name and Aliases +; +MSG_DOMAIN_NAME +Domänenname +; Domain/Workgroup +; +MSG_SERIAL_DEVICE +Serielles Gerät +; Serial Device +; +MSG_UNIT_NUMBER +Einheit +; Unit +; +MSG_IP_MODE_MANUAL +Manuell +; Manual +; +MSG_IP_MODE_DHCP +Hole Adresse von DHCP +; Automatic +; +MSG_ENC_NONE +Ohne +; None +; +MSG_ENC_WEP +WEP +; WEP +; +MSG_ENC_WPA +WPA +; WPA +; +MSG_KEY_TEXT +Passwort +; Passphrase +; +MSG_KEY_HEX +Hexadezimal +; Hexadecimal +; +MSG_SSID +Netzwerkname +; Network Name +; +MSG_ENCTYPE +Verschlüsselung +; Encryption +; +MSG_KEYTYPE +Schlüsseltyp +; Key Type +; +MSG_KEY +Schlüssel +; Key +; +MSG_HIDDEN +Verborgen +; Hidden +; +MSG_ADHOC +Ad hoc +; Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +IPv4-Konfiguration +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES +Computernamen +; Local Host Entries +; +MSG_TAB_WIRELESS +Drahtlosnetzwerks +; Wireless Networks +; +MSG_TAB_MOBILE +Mobiles Breitband-Netzwerk +; Mobile Broadband +; +MSG_TAB_SERVERS +Eingerichtete Shares +; Mounted Shares +; +MSG_AUTOSTART_STACK +Starte Netzwerk beim Booten des Systems +; Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR +Unbekannter Fehler +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Neustart des Netzwerks fehlgeschlagen +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Neustart des drahtloses Netzwerks fehlgeschlagen +; Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Neustart des Modemmanagers fehlgeschlagen +; Failed to restart ModemManager +; +MSG_BUTTON_OK +OK +; Ok +; +MSG_BUTTON_ADD +Hinzufügen +; Add +; +MSG_BUTTON_EDIT +Ändern +; Edit +; +MSG_BUTTON_REMOVE +Entfernen +; Remove +; +MSG_BUTTON_APPLY +Anwenden +; Apply +; +MSG_BUTTON_CLOSE +Schließen +; Close +; +MSG_ERROR_TITLE +Fehler +; Error +; +MSG_WARNING_TITLE +Warnung +; Warning +; +MSG_ERR_NOT_SAVED_PREFS +Netzwerk-Voreinstellungen konnten\nnicht in %s gespeichert werden +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Zusätzliche Dateien konnten nicht\nnach %s kopiert werden +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +DHCP arbeitet nicht zuverlässig, wenn mehrere Schnittstellen eingestellt wurden +; DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Information +; Information +; +MSG_PREFS_SAVED_RESTART +Voreinstellungen wurden in %s gespeichert.\nStarte AROS neu um sie anzuwenden. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Schnittstelle +; Interface +; +MSG_HOSTWINDOW_TITLE +Hostname(n) +; Host Name(s) +; +MSG_NETWINDOW_TITLE +Drahtloses Netzwerk +; Wireless Network +; +MSG_SERVERWINDOW_TITLE +Share einrichten +; Mount Share +; +MSG_USERNAME +Benutzername +; Username +; +MSG_PASSWORD +Passwort +; Password +; +MSG_WORKGROUP +Domäne/Arbeitsgruppe +; Domain/Workgroup +; +MSG_SERVICE +Share-Name +; Share Name +; +MSG_SERVICE_TYPES +Serviceart +; Service Type +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +; CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/italian.ct b/workbench/prefs/network/catalogs/italian.ct new file mode 100644 index 00000000000..b52e7b86ed5 --- /dev/null +++ b/workbench/prefs/network/catalogs/italian.ct @@ -0,0 +1,256 @@ +## version $VER: network.catalog 4.1 (15.6.2017) +## language italiano +## codeset 0 +; +MSG_NAME +Preferenze di Rete +; Network Preferences +; +MSG_DESCRIPTION +Preferenze di Rete +; Network preferences +; +MSG_IFNAME +Nome +; Name +; +MSG_UP +Attiva +; Active +; +MSG_DEVICE +Device +; Device +; +MSG_UNIT +Unità +; Unit +; +MSG_IP_MODE +Modalità IP +; IP Mode +; +MSG_IP +Indirizzo +; Address +; +MSG_MASK +Netmask +; Net Mask +; +MSG_GATE +Gateway +; Gateway +; +MSG_DNS1 +DNS principale +; Primary DNS +; +MSG_DNS2 +DNS secondario +; Secondary DNS +; +MSG_HOST_NAME +Hostname +; Host Name +; +MSG_HOST_NAMES +Hostname e alias +; Host Name and Aliases +; +MSG_DOMAIN_NAME +Dominio/Workgroup +; Domain/Workgroup +; +MSG_SERIAL_DEVICE +Dispositivo seriale +; Serial Device +; +MSG_UNIT_NUMBER +Unità +; Unit +; +MSG_IP_MODE_MANUAL +Manuale +; Manual +; +MSG_IP_MODE_DHCP +Automatico +; Automatic +; +MSG_ENC_NONE +Nessuno +; None +; +MSG_ENC_WEP +WEP +; WEP +; +MSG_ENC_WPA +WPA +; WPA +; +MSG_KEY_TEXT +Password +; Passphrase +; +MSG_KEY_HEX +Esadecimale +; Hexadecimal +; +MSG_SSID +Nome rete +; Network Name +; +MSG_ENCTYPE +Crittografia +; Encryption +; +MSG_KEYTYPE +Tipo chiave +; Key Type +; +MSG_KEY +Password +; Key +; +MSG_HIDDEN +Nascosta +; Hidden +; +MSG_ADHOC +Ad hoc +; Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +Configurazione IPv4 +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES +Nomi computer locali +; Local Host Entries +; +MSG_TAB_WIRELESS +Reti wireless +; Wireless Networks +; +MSG_TAB_MOBILE +Carrier di telefonia +; Mobile Broadband +; +MSG_TAB_SERVERS +Risorse di rete +; Mounted Shares +; +MSG_AUTOSTART_STACK +Attiva le reti all'avvio del sistema +; Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR +Errore sconosciuto +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Impossibile riavviare lo stack +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Improssibile riavviare la rete wireless +; Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Improssibile riavviare ModemManager +; Failed to restart ModemManager +; +MSG_BUTTON_OK +Ok +; Ok +; +MSG_BUTTON_ADD +Aggiungi +; Add +; +MSG_BUTTON_EDIT +Modifica +; Edit +; +MSG_BUTTON_REMOVE +Rimuovi +; Remove +; +MSG_BUTTON_APPLY +Applica +; Apply +; +MSG_BUTTON_CLOSE +Chiudi +; Close +; +MSG_ERROR_TITLE +Errore +; Error +; +MSG_WARNING_TITLE +Attenzione +; Warning +; +MSG_ERR_NOT_SAVED_PREFS +Preferenze di rete non salvate su %s +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +File aggiuntivi non copiati su %s +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +La modalità DHCP non funziona correttamente se più interfacce sono attive +; DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Informazioni +; Information +; +MSG_PREFS_SAVED_RESTART +Le preferenze sono state salvate su %s.\nRiavviare AROS perché abbiano effetto. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Interfaccia +; Interface +; +MSG_HOSTWINDOW_TITLE +Hostname +; Host Name(s) +; +MSG_NETWINDOW_TITLE +Rete wireless +; Wireless Network +; +MSG_SERVERWINDOW_TITLE +Monta drive di rete +; Mount Share +; +MSG_USERNAME +Nome utente +; Username +; +MSG_PASSWORD +Password +; Password +; +MSG_WORKGROUP +Dominio/Workgroup +; Domain/Workgroup +; +MSG_SERVICE +Nome risorsa +; Share Name +; +MSG_SERVICE_TYPES +Tipo di servizio +; Service Type +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +; CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/mmakefile.src b/workbench/prefs/network/catalogs/mmakefile.src new file mode 100644 index 00000000000..e844323b68e --- /dev/null +++ b/workbench/prefs/network/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2009-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech german italian french polish norwegian +# other catalogs need updating + +%build_catalogs mmake=workbench-prefs-network-catalogs \ + catalogs=$(CATALOGS) \ + name=Network subdir=System/Prefs diff --git a/workbench/prefs/network/catalogs/network.cd b/workbench/prefs/network/catalogs/network.cd new file mode 100644 index 00000000000..01ab7098825 --- /dev/null +++ b/workbench/prefs/network/catalogs/network.cd @@ -0,0 +1,189 @@ +MSG_NAME (//) +Network Preferences +; +MSG_DESCRIPTION (//) +Network preferences +; +MSG_IFNAME (//) +Name +; +MSG_UP (//) +Active +; +MSG_DEVICE (//) +Device +; +MSG_UNIT (//) +Unit +; +MSG_IP_MODE (//) +IP Mode +; +MSG_IP (//) +Address +; +MSG_MASK (//) +Net Mask +; +MSG_GATE (//) +Gateway +; +MSG_DNS1 (//) +Primary DNS +; +MSG_DNS2 (//) +Secondary DNS +; +MSG_HOST_NAME (//) +Host Name +; +MSG_HOST_NAMES (//) +Host Name and Aliases +; +MSG_DOMAIN_NAME (//) +Domain/Workgroup +; +MSG_SERIAL_DEVICE (//) +Serial Device +; +MSG_UNIT_NUMBER (//) +Unit +; +MSG_IP_MODE_MANUAL (//) +Manual +; +MSG_IP_MODE_DHCP (//) +Automatic +; +MSG_ENC_NONE (//) +None +; +MSG_ENC_WEP (//) +WEP +; +MSG_ENC_WPA (//) +WPA +; +MSG_KEY_TEXT (//) +Passphrase +; +MSG_KEY_HEX (//) +Hexadecimal +; +MSG_SSID (//) +Network Name +; +MSG_ENCTYPE (//) +Encryption +; +MSG_KEYTYPE (//) +Key Type +; +MSG_KEY (//) +Key +; +MSG_HIDDEN (//) +Hidden +; +MSG_ADHOC (//) +Ad-hoc +; +MSG_TAB_IP_CONFIGURATION (//) +IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES (//) +Local Host Entries +; +MSG_TAB_WIRELESS (//) +Wireless Networks +; +MSG_TAB_MOBILE (//) +Mobile Broadband +; +MSG_TAB_SERVERS (//) +Mounted Shares +; +MSG_AUTOSTART_STACK (//) +Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR (//) +Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK (//) +Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS (//) +Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE (//) +Failed to restart ModemManager +; +MSG_BUTTON_OK (//) +Ok +; +MSG_BUTTON_ADD (//) +Add +; +MSG_BUTTON_EDIT (//) +Edit +; +MSG_BUTTON_REMOVE (//) +Remove +; +MSG_BUTTON_APPLY (//) +Apply +; +MSG_BUTTON_CLOSE (//) +Close +; +MSG_ERROR_TITLE (//) +Error +; +MSG_WARNING_TITLE (//) +Warning +; +MSG_ERR_NOT_SAVED_PREFS (//) +Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES (//) +Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES (//) +DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE (//) +Information +; +MSG_PREFS_SAVED_RESTART (//) +Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE (//) +Interface +; +MSG_HOSTWINDOW_TITLE (//) +Host Name(s) +; +MSG_NETWINDOW_TITLE (//) +Wireless Network +; +MSG_SERVERWINDOW_TITLE (//) +Mount Share +; +MSG_USERNAME (//) +Username +; +MSG_PASSWORD (//) +Password +; +MSG_WORKGROUP (//) +Domain/Workgroup +; +MSG_SERVICE (//) +Share Name +; +MSG_SERVICE_TYPES (//) +Service Type +; +MSG_SERVICETYPE_CIFS (//) +CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/norwegian.ct b/workbench/prefs/network/catalogs/norwegian.ct new file mode 100644 index 00000000000..24ae4a27b4b --- /dev/null +++ b/workbench/prefs/network/catalogs/norwegian.ct @@ -0,0 +1,256 @@ +## version $VER: networkprefs.catalog 4.1 (30.03.2016) +## language deutsch +## codeset 0 +; +MSG_NAME +Nettverksinnstillinger +; Network Preferences +; +MSG_DESCRIPTION +Nettverksinnstillinger +; Network preferences +; +MSG_IFNAME +Navn +; Name +; +MSG_UP +Aktiv +; Active +; +MSG_DEVICE +Enhet +; Device +; +MSG_UNIT +Nummer +; Unit +; +MSG_IP_MODE +IP-Modus +; IP Mode +; +MSG_IP +Adresse +; Address +; +MSG_MASK +Nettverksmaske +; Net Mask +; +MSG_GATE +Gateway +; Gateway +; +MSG_DNS1 +Primrer DNS +; Primary DNS +; +MSG_DNS2 +Sekundrer DNS +; Secondary DNS +; +MSG_HOST_NAME +Tjenernavn +; Host Name +; +MSG_HOST_NAMES +Tjenernavn og alias +; Host Name and Aliases +; +MSG_DOMAIN_NAME +Domenenavn/Arbeidsgruppe +; Domain/Workgroup +; +MSG_SERIAL_DEVICE +Seriell enhet +; Serial Device +; +MSG_UNIT_NUMBER +Nummer +; Unit +; +MSG_IP_MODE_MANUAL +Manuell +; Manual +; +MSG_IP_MODE_DHCP +Hent ip adresse via DHCP +; Automatic +; +MSG_ENC_NONE +Ingen +; None +; +MSG_ENC_WEP +WEP +; WEP +; +MSG_ENC_WPA +WPA +; WPA +; +MSG_KEY_TEXT +Passord +; Passphrase +; +MSG_KEY_HEX +Heksadesimal +; Hexadecimal +; +MSG_SSID +Nettverksnavn +; Network Name +; +MSG_ENCTYPE +Kryptering +; Encryption +; +MSG_KEYTYPE +Nkkeltype +; Key Type +; +MSG_KEY +Nkkel +; Key +; +MSG_HIDDEN +Gjemt +; Hidden +; +MSG_ADHOC +Ad hoc +; Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +IPv4-Konfigurasjon +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES +Datamaskinnavn +; Local Host Entries +; +MSG_TAB_WIRELESS +Trdlst nettverk +; Wireless Networks +; +MSG_TAB_MOBILE +Mobilt bredbnd +; Mobile Broadband +; +MSG_TAB_SERVERS +Tilkoblede delte mapper +; Mounted Shares +; +MSG_AUTOSTART_STACK +Start nettverk under oppstart av systemet +; Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR +Ukjent feil +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Klarte ikke re-starte nettverksstacken +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Klarte ikke re-starte det trdlse nettverket +; Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Klarte ikke re-starte ModemManager +; Failed to restart ModemManager +; +MSG_BUTTON_OK +OK +; Ok +; +MSG_BUTTON_ADD +Legg til +; Add +; +MSG_BUTTON_EDIT +Endre +; Edit +; +MSG_BUTTON_REMOVE +Fjern +; Remove +; +MSG_BUTTON_APPLY +Aktiver +; Apply +; +MSG_BUTTON_CLOSE +Lukk +; Close +; +MSG_ERROR_TITLE +Feil +; Error +; +MSG_WARNING_TITLE +Advarsel +; Warning +; +MSG_ERR_NOT_SAVED_PREFS +Klarte ikke skrive nettverksinnstillingene til %s +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Flere filer ble ikke kopiert til %s +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +DHCP er ikke plitelig nr flere grensesnitt er konfigurert samtidig +; DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Informasjon +; Information +; +MSG_PREFS_SAVED_RESTART +Innstillingene har blitt lagret til %s.\nStart AROS p nytt for aktivere dem. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Grensesnitt +; Interface +; +MSG_HOSTWINDOW_TITLE +Tjenernavn(n) +; Host Name(s) +; +MSG_NETWINDOW_TITLE +Trdlst nettverk +; Wireless Network +; +MSG_SERVERWINDOW_TITLE +Koble opp delt mappe +; Mount Share +; +MSG_USERNAME +Brukernavn +; Username +; +MSG_PASSWORD +Passord +; Password +; +MSG_WORKGROUP +Domene/Arbeidsgruppe +; Domain/Workgroup +; +MSG_SERVICE +Delt navn +; Share Name +; +MSG_SERVICE_TYPES +Servicetype +; Service Type +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +; CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/polish.ct b/workbench/prefs/network/catalogs/polish.ct new file mode 100644 index 00000000000..7a296602a37 --- /dev/null +++ b/workbench/prefs/network/catalogs/polish.ct @@ -0,0 +1,256 @@ +## version $VER: network.catalog 4.1 (08.03.2019) +## language polski +## codeset 5 +; +MSG_NAME +Ustawienia sieciowe +; Network Preferences +; +MSG_DESCRIPTION +Ustawienia protokołu TCP/IP +; Network preferences +; +MSG_IFNAME +Nazwa +; Name +; +MSG_UP +Aktywne +; Active +; +MSG_DEVICE +Urządzenie +; Device +; +MSG_UNIT +Jednostka +; Unit +; +MSG_IP_MODE +Przydzielanie adresu +; IP Mode +; +MSG_IP +Adres +; Address +; +MSG_MASK +Maska sieci +; Net Mask +; +MSG_GATE +Brama +; Gateway +; +MSG_DNS1 +Główny DNS +; Primary DNS +; +MSG_DNS2 +Pomocniczy DNS +; Secondary DNS +; +MSG_HOST_NAME +Nazwa węzła +; Host Name +; +MSG_HOST_NAMES +Nazwy węzłów +; Host Name and Aliases +; +MSG_DOMAIN_NAME +Domena +; Domain Name +; +MSG_SERIAL_DEVICE +Urządzenie +; Serial Device +; +MSG_UNIT_NUMBER +Jednostka +; Unit +; +MSG_IP_MODE_MANUAL +ręczne +; Manual +; +MSG_IP_MODE_DHCP +automatyczne przez DHCP +; Automatic +; +MSG_ENC_NONE +Brak +; None +; +MSG_ENC_WEP +WEP +; WEP +; +MSG_ENC_WPA +WPA +; WPA +; +MSG_KEY_TEXT +Hasło +; Passphrase +; +MSG_KEY_HEX +Szesnastkowo +; Hexadecimal +; +MSG_SSID +Nazwa sieci +; Network Name +; +MSG_ENCTYPE +Szyfrowanie +; Encryption +; +MSG_KEYTYPE +Typ klucza +; Key Type +; +MSG_KEY +Klucz +; Key +; +MSG_HIDDEN +Ukryty +; Hidden +; +MSG_ADHOC +Ad-hoc +; Ad-hoc +; +MSG_TAB_IP_CONFIGURATION +Konfiguracja TCP/IP +; IPv4 Configuration +; +MSG_TAB_COMPUTER_NAMES +Nazwa komputera +; Computer Name +; +MSG_TAB_WIRELESS +Sieć bezprzewodowa +; Wireless +; +MSG_TAB_MOBILE +GSM +; Mobile Broadband +; +MSG_TAB_SERVERS +Założone udziały +; Mounted Shares +; +MSG_AUTOSTART_STACK +Włączaj sieć podczas wczytywania systemu. +; Start networking during system boot +; +MSG_ERR_UNKNOWN_ERROR +Nieznany błąd +; Unknown error +; +MSG_ERR_NOT_RESTARTED_STACK +Uruchomienie sieci nie powiodło się. +; Failed to restart network stack +; +MSG_ERR_NOT_RESTARTED_WIRELESS +Uruchomienie sieci bezprzewodowej nie powiodło się. +; Failed to restart wireless networking +; +MSG_ERR_NOT_RESTARTED_MOBILE +Uruchomienie modemu nie powiodło się. +; Failed to restart ModemManager +; +MSG_BUTTON_OK +OK +; Ok +; +MSG_BUTTON_ADD +Dodaj +; Add +; +MSG_BUTTON_EDIT +Edytuj +; Edit +; +MSG_BUTTON_REMOVE +Usuń +; Remove +; +MSG_BUTTON_APPLY +Zastosuj +; Apply +; +MSG_BUTTON_CLOSE +Zamknij +; Close +; +MSG_ERROR_TITLE +Błąd +; Error +; +MSG_WARNING_TITLE +Ostrzeżenie +; Warning +; +MSG_ERR_NOT_SAVED_PREFS +Zapisywanie ustawień w %s zakończone niepowodzeniem. +; Network preferences not saved to %s +; +MSG_ERR_NOT_COPIED_FILES +Kopiowanie dodatkowych plików do %s zakończone niepowodzeniem. +; Additional files not copied to %s +; +MSG_WARN_MULTIPLE_IFACES +DHCP nie działa niezawodnie, jeżeli zdefiniowano kilka interfejsów +; DHCP does not work reliably when multiple interfaces are configured +; +MSG_INFO_TITLE +Informacja +; Information +; +MSG_PREFS_SAVED_RESTART +Ustawienia zapisano w %s.\nAby ich użyć uruchom ponownie system. +; Preferences have been saved to %s.\nRestart AROS for them to take effect. +; +MSG_IFWINDOW_TITLE +Interfejs +; Interface +; +MSG_HOSTWINDOW_TITLE +Nazwy hostów +; Host Name(s) +; +MSG_NETWINDOW_TITLE +Sieć bezprzewodowa +; Wireless Network +; +MSG_SERVERWINDOW_TITLE +Załóż udział +; Mount Share +; +MSG_USERNAME +Użytkownik +; Username +; +MSG_PASSWORD +Hasło +; Password +; +MSG_WORKGROUP +Domena/Zespół +; Domain/Workgroup +; +MSG_SERVICE +Nazwa udziału +; Share Name +; +MSG_SERVICE_TYPES +Rodzaj serwisu +; Service Type +; +MSG_SERVICETYPE_CIFS +CIFS/SMB +; CIFS/SMB +; diff --git a/workbench/prefs/network/catalogs/russian.ct b/workbench/prefs/network/catalogs/russian.ct new file mode 100644 index 00000000000..64348a39bd1 --- /dev/null +++ b/workbench/prefs/network/catalogs/russian.ct @@ -0,0 +1,78 @@ +## version $VER: networkprefs.catalog 1.0 (25.06.2009) +## codeset 2104 +## language russian +; +; TODO: update me and set version to 2 +; +MSG_NAME +Настройки сети +;Network Preferences +MSG_DESCRIPTION +Настройки протокола TCP/IP +;TCP/IP Network preferences +MSG_DEVICE +Устройство +;Device +MSG_IP_MODE +Режим IP +;IP Mode +MSG_IP +IP +; +MSG_MASK +Маска +;Mask +MSG_GATE +Шлюз +;Gate +MSG_DNS1 +Первичный DNS +;Primary DNS +MSG_DNS2 +Вторичный DNS +;Secondary DNS +MSG_HOST_NAME +Имя узла +;Host Name +MSG_DOMAIN_NAME +Домен +;Domain Name +MSG_IP_MODE_MANUAL +Вручную +;Manual +MSG_IP_MODE_DHCP +Получить дрес автоматически +;Get address from DHCP +MSG_TAB_IP_CONFIGURATION +Настройка IP +;IP Configuration +MSG_TAB_COMPUTER_NAME +Имя компьютера +;Computer Name +MSG_AUTOSTART_STACK +Запускать при загрузке +;Autostart +MSG_ERR_UNKNOWN_ERROR +Неизвестная ошибка +;Unknown error +MSG_ERR_NOT_RESTARTED_STACK +Не удалось перезапустить сетевой стэк +;Failed to restart network stack +MSG_BUTTON_OK +Ok +; +MSG_ERROR_TITLE +Ошибка +;Error +MSG_ERR_NOT_SAVED_PREFS +Настройки сети НЕ БЫЛИ сохранены в %s +;Network preferences not saved to %s +MSG_ERR_NOT_COPIED_FILES +Дополнительные файлы НЕ СКОПИРОВАНЫ в %s +;Additional files not copied to %s +MSG_INFO_TITLE +Сведения +;Information +MSG_PREFS_SAVED_RESTART +Настройки сохранены в %s.\n. Нужен перезапуск AROS для принятия изменений. +;Preferences have been saved to %s.\nRestart AROS for them to take effect. diff --git a/workbench/prefs/palette/catalogs b/workbench/prefs/palette/catalogs deleted file mode 160000 index ee1afe9f4ba..00000000000 --- a/workbench/prefs/palette/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ee1afe9f4ba071976f7e277d7140ff0b2a4ac7c3 diff --git a/workbench/prefs/palette/catalogs/.gitattributes b/workbench/prefs/palette/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/palette/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/palette/catalogs/danish.ct b/workbench/prefs/palette/catalogs/danish.ct new file mode 100644 index 00000000000..a7db8270adc --- /dev/null +++ b/workbench/prefs/palette/catalogs/danish.ct @@ -0,0 +1,62 @@ +## version $VER: palette.catalog 1.0 (22.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_WINTITLE +Paletteindstillinger +; Palette Preferences +; +MSG_OK +O.k. +; Ok +; +MSG_PEN0 + +; Detail Pen +; +MSG_PEN1 + +; Block Pen +; +MSG_PEN2 + +; Text Pen +; +MSG_PEN3 + +; Shine Pen +; +MSG_PEN4 + +; Shadow Pen +; +MSG_PEN5 + +; Fill Pen +; +MSG_PEN6 + +; Fill Text Pen +; +MSG_PEN7 + +; Background Pen +; +MSG_PEN8 + +; Highlight Text Pen +; +MSG_PEN9 + +; Bar Detail Pen +; +MSG_PEN10 + +; Bar Block Pen +; +MSG_PEN11 + +; Bar Trim Pen +; diff --git a/workbench/prefs/palette/catalogs/french.ct b/workbench/prefs/palette/catalogs/french.ct new file mode 100644 index 00000000000..90632650838 --- /dev/null +++ b/workbench/prefs/palette/catalogs/french.ct @@ -0,0 +1,47 @@ +## version $VER: palette.catalog 2.0 (04.11.2011) +## language français +## codeset 0 +; +; +MSG_WINTITLE +Préférences de palette +; +MSG_OK +Ok +; +MSG_PEN0 +Pinceau 0 +; +MSG_PEN1 +Pinceau 1 +; +MSG_PEN2 +Pinceau 2 +; +MSG_PEN3 +Pinceau 3 +; +MSG_PEN4 +Pinceau 4 +; +MSG_PEN5 +Pinceau 5 +; +MSG_PEN6 +Pinceau 6 +; +MSG_PEN7 +Pinceau 7 +; +MSG_PEN8 +Pinceau 8 +; +MSG_PEN9 +Pinceau 9 +; +MSG_PEN10 +Pinceau 10 +; +MSG_PEN11 +Pinceau 11 +; diff --git a/workbench/prefs/palette/catalogs/german.ct b/workbench/prefs/palette/catalogs/german.ct new file mode 100644 index 00000000000..6cd2dec161e --- /dev/null +++ b/workbench/prefs/palette/catalogs/german.ct @@ -0,0 +1,68 @@ +## version $VER: palette.catalog 2.0 (05.01.2020) +## language deutsch +## codeset 0 +; +MSG_WINTITLE +Paletteneinstellungen +; Palette Preferences +; +MSG_OK +OK +; Ok +; +MSG_PEN0 +Detailstift +; Detail Pen +; +MSG_PEN1 +Blockstift +; Block Pen +; +MSG_PEN2 +Textstift +; Text Pen +; +MSG_PEN3 +Leuchtstift +; Shine Pen +; +MSG_PEN4 +Schattenstift +; Shadow Pen +; +MSG_PEN5 +Füllstift +; Fill Pen +; +MSG_PEN6 +Fülltextstift +; Fill Text Pen +; +MSG_PEN7 +Hintergrundstift +; Background Pen +; +MSG_PEN8 +Texthervorhebstift +; Highlight Text Pen +; +MSG_PEN9 +Barrendetailstift +; Bar Detail Pen +; +MSG_PEN10 +Barrenblockstift +; Bar Block Pen +; +MSG_PEN11 +Barrenabschneidstift +; Bar Trim Pen +; +MSG_4COLOR +4-Farb-Einstellungen +; 4 Color Settings +; +MSG_MULTICOLOR +Vielfarbeinstellungen +; Multicolor Settings +; diff --git a/workbench/prefs/palette/catalogs/mmakefile.src b/workbench/prefs/palette/catalogs/mmakefile.src new file mode 100644 index 00000000000..e289be95385 --- /dev/null +++ b/workbench/prefs/palette/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2010-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french polish norwegian german +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-palette-catalogs \ + catalogs=$(CATALOGS) \ + name=Palette subdir=System/Prefs diff --git a/workbench/prefs/palette/catalogs/norwegian.ct b/workbench/prefs/palette/catalogs/norwegian.ct new file mode 100644 index 00000000000..ff8e5003bdd --- /dev/null +++ b/workbench/prefs/palette/catalogs/norwegian.ct @@ -0,0 +1,60 @@ +## version $VER: palette.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_WINTITLE +Paletteinnstillinger +; Palette Preferences +MSG_OK +OK +; Ok +; +MSG_PEN0 +Detaljpenn +; Detail Pen +; +MSG_PEN1 +Blokkpenn +; Block Pen +; +MSG_PEN2 +Tekstpenn +; Text Pen +; +MSG_PEN3 +Glanspenn +; Shine Pen +; +MSG_PEN4 +Skyggepenn +; Shadow Pen +; +MSG_PEN5 +Fyll-penn +; Fill Pen +; +MSG_PEN6 +Tekstfyllpenn +; Fill Text Pen +; +MSG_PEN7 +Bagrunnspenn +; Background Pen +; +MSG_PEN8 +Fremhevet tekstpenn +; Highlight Text Pen +; +MSG_PEN9 +Menyfelt detaljpenn +; Bar Detail Pen +; +MSG_PEN10 +Menyfelt blokkpenn +; Bar Block Pen +; +MSG_PEN11 +Menyfelt trimmepenn +; Bar Trim Pen +; \ No newline at end of file diff --git a/workbench/prefs/palette/catalogs/palette.cd b/workbench/prefs/palette/catalogs/palette.cd new file mode 100644 index 00000000000..1756161ba16 --- /dev/null +++ b/workbench/prefs/palette/catalogs/palette.cd @@ -0,0 +1,48 @@ +MSG_WINTITLE (//) +Palette Preferences +; +MSG_OK (//) +Ok +; +MSG_PEN0 (//) +Detail Pen +; +MSG_PEN1 (//) +Block Pen +; +MSG_PEN2 (//) +Text Pen +; +MSG_PEN3 (//) +Shine Pen +; +MSG_PEN4 (//) +Shadow Pen +; +MSG_PEN5 (//) +Fill Pen +; +MSG_PEN6 (//) +Fill Text Pen +; +MSG_PEN7 (//) +Background Pen +; +MSG_PEN8 (//) +Highlight Text Pen +; +MSG_PEN9 (//) +Bar Detail Pen +; +MSG_PEN10 (//) +Bar Block Pen +; +MSG_PEN11 (//) +Bar Trim Pen +; +MSG_4COLOR (//) +4 Color Settings +; +MSG_MULTICOLOR (//) +Multicolor Settings +; diff --git a/workbench/prefs/palette/catalogs/polish.ct b/workbench/prefs/palette/catalogs/polish.ct new file mode 100644 index 00000000000..9d4707af1a6 --- /dev/null +++ b/workbench/prefs/palette/catalogs/polish.ct @@ -0,0 +1,68 @@ +## version $VER: palette.catalog 2.1 (03.01.2020) +## codeset 5 +## language polski +; +MSG_WINTITLE +Ustawienia palety +; Palette Preferences +; +MSG_OK +OK +; Ok +; +MSG_PEN0 +Pisak szczegółów +; Detail Pen +; +MSG_PEN1 +Pisak bloku +; Block Pen +; +MSG_PEN2 +Pisak tekstu +; Text Pen +; +MSG_PEN3 +Pisak rozjaśnienia +; Shine Pen +; +MSG_PEN4 +Pisak cienia +; Shadow Pen +; +MSG_PEN5 +Pisak wypełnienia +; Fill Pen +; +MSG_PEN6 +Pisak wypełnienia tekstu +; Fill Text Pen +; +MSG_PEN7 +Pisak tła +; Background Pen +; +MSG_PEN8 +Pisak podświetlenia tekstu +; Highlight Text Pen +; +MSG_PEN9 +Pisak szczegółów belki +; Bar Detail Pen +; +MSG_PEN10 +Pisak wypełnienia belki +; Bar Block Pen +; +MSG_PEN11 +Pisak krawędzi belki +; Bar Trim Pen +; +MSG_4COLOR +Ustawienia w 4 kolorach +; 4 Color Settings +; +MSG_MULTICOLOR +Ustawienia wielokolorowe +; Multicolor Settings +; diff --git a/workbench/prefs/pointer/catalogs b/workbench/prefs/pointer/catalogs deleted file mode 160000 index abdc5b401f5..00000000000 --- a/workbench/prefs/pointer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit abdc5b401f5e20de564236af7cd5a9d95ef62119 diff --git a/workbench/prefs/pointer/catalogs/.gitattributes b/workbench/prefs/pointer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/pointer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/pointer/catalogs/czech.ct b/workbench/prefs/pointer/catalogs/czech.ct new file mode 100644 index 00000000000..e0cb2b77f21 --- /dev/null +++ b/workbench/prefs/pointer/catalogs/czech.ct @@ -0,0 +1,40 @@ +## version $VER: pointer.catalog 2.1 (13.6.2017) +## language czech +## codeset 5 +; +MSG_WINTITLE +Nastavení ukazatele myši +; Pointer Preferences +; +MSG_OK +Ok +; OK +; +MSG_HOTSPOT +Vrchol +; Hotspot +; +MSG_ALPHA +Průhlednost +; Alpha +; +MSG_FILENAME +Soubor +; Filename +; +MSG_TYPE +Typ +; Type +; +MSG_TYPE_NORMAL +Standardní +; Normal +; +MSG_TYPE_BUSY +Zaneprázdněný +; Busy +; +MSG_SETVIEW +Nastavit / ukázat +; Set / View +; diff --git a/workbench/prefs/pointer/catalogs/danish.ct b/workbench/prefs/pointer/catalogs/danish.ct new file mode 100644 index 00000000000..3426a87e4cb --- /dev/null +++ b/workbench/prefs/pointer/catalogs/danish.ct @@ -0,0 +1,13 @@ +## version $VER: pointer.catalog 1.0 (22.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian poul Herkild +; +MSG_WINTITLE +Pointerindstillinger +; Pointer Preferences +; +MSG_OK +O.k. +; Ok diff --git a/workbench/prefs/pointer/catalogs/french.ct b/workbench/prefs/pointer/catalogs/french.ct new file mode 100644 index 00000000000..cdc78714df3 --- /dev/null +++ b/workbench/prefs/pointer/catalogs/french.ct @@ -0,0 +1,41 @@ +## version $VER: pointer.catalog 2.0 (30.03.2016) +## codeset 0 +## language français +; +; +MSG_WINTITLE +Préférences du pointeur +; Pointer Preferences +; +MSG_OK +OK +; Ok +; +MSG_HOTSPOT +Point actif +; Hotspot +; +MSG_ALPHA +Transparence +; Alpha +; +MSG_FILENAME +Nom de fichier +; Filename +; +MSG_TYPE +Type +; Type +; +MSG_TYPE_NORMAL +Normal +; Normal +; +MSG_TYPE_BUSY +Occupé +; Busy +; +MSG_SETVIEW +Choisir / Voir +; Set / View +; diff --git a/workbench/prefs/pointer/catalogs/german.ct b/workbench/prefs/pointer/catalogs/german.ct new file mode 100644 index 00000000000..6bf1cfd6033 --- /dev/null +++ b/workbench/prefs/pointer/catalogs/german.ct @@ -0,0 +1,40 @@ +## version $VER: pointer.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +MSG_WINTITLE +Mauszeiger-Einstellungen (Pointer) +; Pointer Preferences +; +MSG_OK +OK +; OK +; +MSG_HOTSPOT +Aktiver Punkt +; Hotspot +; +MSG_ALPHA +Transparenz +; Alpha +; +MSG_FILENAME +Dateiname +; Filename +; +MSG_TYPE +Typ +; Type +; +MSG_TYPE_NORMAL +Normal +; Normal +; +MSG_TYPE_BUSY +Beschäftigt +; Busy +; +MSG_SETVIEW +Setzen / Anzeigen +; Set / View +; diff --git a/workbench/prefs/pointer/catalogs/mmakefile.src b/workbench/prefs/pointer/catalogs/mmakefile.src new file mode 100644 index 00000000000..319d2051912 --- /dev/null +++ b/workbench/prefs/pointer/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2010-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech polish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-pointer-catalogs \ + catalogs=$(CATALOGS) \ + name=Pointer subdir=System/Prefs diff --git a/workbench/prefs/pointer/catalogs/norwegian.ct b/workbench/prefs/pointer/catalogs/norwegian.ct new file mode 100644 index 00000000000..f09e6c52bbb --- /dev/null +++ b/workbench/prefs/pointer/catalogs/norwegian.ct @@ -0,0 +1,40 @@ +## version $VER: pointer.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 0 +; +MSG_WINTITLE +Pekerinnstillinger +; Pointer Preferences +; +MSG_OK +OK +; OK +; +MSG_HOTSPOT +Aktivt punkt +; Hotspot +; +MSG_ALPHA +Alfa +; Alpha +; +MSG_FILENAME +Filnavn +; Filename +; +MSG_TYPE +Type +; Type +; +MSG_TYPE_NORMAL +Normal +; Normal +; +MSG_TYPE_BUSY +Opptatt +; Busy +; +MSG_SETVIEW +Sett / Vis +; Set / View +; \ No newline at end of file diff --git a/workbench/prefs/pointer/catalogs/pointer.cd b/workbench/prefs/pointer/catalogs/pointer.cd new file mode 100644 index 00000000000..42069a6e599 --- /dev/null +++ b/workbench/prefs/pointer/catalogs/pointer.cd @@ -0,0 +1,27 @@ +MSG_WINTITLE (//) +Pointer Preferences +; +MSG_OK (//) +OK +; +MSG_HOTSPOT (//) + Hotspot +; +MSG_ALPHA (//) +Alpha +; +MSG_FILENAME (//) +Filename +; +MSG_TYPE (//) +Type +; +MSG_TYPE_NORMAL (//) +Normal +; +MSG_TYPE_BUSY (//) +Busy +; +MSG_SETVIEW (//) +Set / View +; diff --git a/workbench/prefs/pointer/catalogs/polish.ct b/workbench/prefs/pointer/catalogs/polish.ct new file mode 100644 index 00000000000..17579d8d32e --- /dev/null +++ b/workbench/prefs/pointer/catalogs/polish.ct @@ -0,0 +1,40 @@ +## version $VER: pointer.catalog 2.0 (13.09.2018) +## language polski +## codeset 5 +; +MSG_WINTITLE +Ustawienia wskaŒnika +; Pointer Preferences +; +MSG_OK +OK +; Ok +; +MSG_HOTSPOT +Hot spot +; Hotspot +; +MSG_ALPHA +Przezroczystość +; Alpha +; +MSG_FILENAME +Nazwa pliku +; Filename +; +MSG_TYPE +Typ +; Type +; +MSG_TYPE_NORMAL +Zwykły +; Normal +; +MSG_TYPE_BUSY +Zajęty +; Busy +; +MSG_SETVIEW +Ustaw / Pokaż +; Set / View +; diff --git a/workbench/prefs/printer/catalogs b/workbench/prefs/printer/catalogs deleted file mode 160000 index 310e4e61159..00000000000 --- a/workbench/prefs/printer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 310e4e61159cb54c9e0309478b7e7b888f6acf8f diff --git a/workbench/prefs/printer/catalogs/.gitattributes b/workbench/prefs/printer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/printer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/printer/catalogs/czech.ct b/workbench/prefs/printer/catalogs/czech.ct new file mode 100644 index 00000000000..db4a6170afd --- /dev/null +++ b/workbench/prefs/printer/catalogs/czech.ct @@ -0,0 +1,218 @@ +## version $VER: Printer.catalog 2.1 (13.6.2017) +## language czech +## codeset 5 +; +; +MSG_WINTITLE +Nastavení možností tisku +; Printer Preferences +; +MSG_OK +Ok +; Ok +; +MSG_PRINTER_DRIVER +Vlastnosti zařízení +; Driver +; +MSG_PRINTER_SETTINGS +Vlastnosti tisku +; Settings +; +MSG_PRINTER_SELECT_DRIVER +Ovladač: +; Select Driver: +; +MSG_PRINTER_NAME +Název: +; Name: +; +MSG_PRINTER_UNIT +Zařízení: +; Printer Unit: +; +MSG_PRINTER_PS_UNIT +Jednotka: +; Unit: +; +MSG_PRINTER_CUSTOM_DEVICE +Vlastní zařízení: +; Custom device: +; +MSG_PRINTER_DEVICE_UNIT +Jednotka %d +; Unit %d +; +MSG_PRINTER_PARALLEL +Paralelní port +; Parallel +; +MSG_PRINTER_SERIAL +Sériový port +; Serial +; +MSG_PRINTER_TO_FILE +Tisk do souboru +; Print to file +; +MSG_PRINTER_USB +USB port +; USB Printer +; +MSG_TISK_PAPER_TYPE +Typ papíru: +; Paper Type: +; +MSG_TISK_PAPER_SIZE +Rozměr papíru: +; Paper Size: +; +MSG_TISK_QUALITY +Kvalita: +; Quality: +; +MSG_TISK_PITCH +Intenzita: +; Pitch: +; +MSG_TISK_SPACING +Odsazení: +; Spacing: +; +MSG_TISK_LEFT_MARGIN +Levý okraj: +; Left Margin: +; +MSG_TISK_RIGHT_MARGIN +Pravý okraj: +; Right Margin: +; +MSG_TISK_LINE_PER_PAGE +Řádků na stránce: +; Lines per Page: +; +MSG_TISK_DENSITY +Sytost: +; Density: +; +MSG_TISK_ASPECT +Portrét: +; Aspect: +; +MSG_TISK_SHADE +Barevnost: +; Shade: +; +MSG_TISK_IMAGE +Tisk: +; Image: +; +MSG_TISK_TRESHOLD +Práh: +; Threshold: +; +MSG_TISK_DITHERING +Rastrování: +; Dithering: +; +MSG_TISK_DIMENSION +Poměr stran: +; Dimensions: +; +MSG_TISK_PAPER_OFFSET +Odsazení ( +; Offset ( +; +MSG_TISK_CENTER_IMAGE +Vycentrovat tisk: +; Center Image: +; +MSG_TISK_ANTIALIAS +Vyhladit okraje: +; AntiAlias: +; +MSG_TISK_INTEGER_SCALING +Zvětšit na stránku: +; Integer Scaling: +; +MSG_TISK_FANFOLD +Tabelační (traktorový) +; Fanfold +; +MSG_TISK_SINGLE +Jednoduchý list +; Single +; +MSG_TISK_DRAFT +Náhledová (72 dpi) +; Draft (72 dpi) +; +MSG_TISK_LETTER +Dopisová (240 dpi) +; Letter (240 dpi) +; +MSG_TISK_PORTRAIT +Na výšku +; Portrait +; +MSG_TISK_LANDSCAPE +Na šířku +; Landscape +; +MSG_TISK_BW +Černobílá +; Black & White +; +MSG_TISK_GRAY +Stupně šedi +; Greyscape +; +MSG_TISK_COLOR +Barevná +; Color +; +MSG_TISK_GRAY2 +Stupně šedi 2 +; Greyscape 2 +; +MSG_TISK_POSITIVE +Pozitivní +; Positive +; +MSG_TISK_NEGATIVE +Negativní +; Negative +; +MSG_TISK_IGNORE +Žádný +; Ignore +; +MSG_TISK_BOUNDED +Omezený +; Bounded +; +MSG_TISK_ABSOLUTE +Absolutní +; Absolute +; +MSG_TISK_PIXEL +Pixel +; Pixel +; +MSG_TISK_MULTIPLY +Násobný +; Multiply +; +MSG_TISK_ORDERED +Standardní +; Ordered +; +MSG_TISK_HALFTONE +Polotónový +; Halftone +; +MSG_TISK_FLOYDSTEINBERG +Floyd-Steinberg +; Floyd-Steinberg +; +; diff --git a/workbench/prefs/printer/catalogs/french.ct b/workbench/prefs/printer/catalogs/french.ct new file mode 100644 index 00000000000..39520ac3e16 --- /dev/null +++ b/workbench/prefs/printer/catalogs/french.ct @@ -0,0 +1,218 @@ +## version $VER: Printer.catalog 2.0 (03.01.2018) +## language français +## codeset 0 +; +; +MSG_WINTITLE +Préférences d'impression +;Printer Preferences +; +MSG_OK +Ok +;Ok +; +MSG_PRINTER_DRIVER +Pilote +; Driver +; +MSG_PRINTER_SETTINGS +Paramètres +; Settings +; +MSG_PRINTER_SELECT_DRIVER +Sélectionnez le pilote: +; Select Driver: +; +MSG_PRINTER_NAME +Nom: +; Name: +; +MSG_PRINTER_UNIT +Imprimante: +; Printer Unit: +; +MSG_PRINTER_PS_UNIT +Unité: +; Unit: +; +MSG_PRINTER_CUSTOM_DEVICE +Matériel personnalisé: +; Custom device: +; +MSG_PRINTER_DEVICE_UNIT +Unité %d +; Unit %d +; +MSG_PRINTER_PARALLEL +Port parallèle +; Parallel +; +MSG_PRINTER_SERIAL +Port série +; Serial +; +MSG_PRINTER_TO_FILE +Imprimer vers un fichier +; Print to file +; +MSG_PRINTER_USB +Imprimante USB +; USB Printer +; +MSG_TISK_PAPER_TYPE +Type de papier: +; Paper Type: +; +MSG_TISK_PAPER_SIZE +Taille du papier: +; Paper Size: +; +MSG_TISK_QUALITY +Qualité: +; Quality: +; +MSG_TISK_PITCH +Point: +; Pitch: +; +MSG_TISK_SPACING +Espacement: +; Spacing: +; +MSG_TISK_LEFT_MARGIN +Marge de gauche: +; Left Margin: +; +MSG_TISK_RIGHT_MARGIN +Marge de droite: +; Right Margin: +; +MSG_TISK_LINE_PER_PAGE +Lignes par page: +; Lines per Page: +; +MSG_TISK_DENSITY +Densité: +; Density: +; +MSG_TISK_ASPECT +Aspect: +; Aspect: +; +MSG_TISK_SHADE +Ombrage: +; Shade: +; +MSG_TISK_IMAGE +Image: +; Image: +; +MSG_TISK_TRESHOLD +Seuil: +; Threshold: +; +MSG_TISK_DITHERING +Tramage: +; Dithering: +; +MSG_TISK_DIMENSION +Dimensions: +; Dimensions: +; +MSG_TISK_PAPER_OFFSET +Décalage ( +; Offset ( +; +MSG_TISK_CENTER_IMAGE +Centre l'image: +; Center Image: +; +MSG_TISK_ANTIALIAS +Anti crénelage: +; AntiAlias: +; +MSG_TISK_INTEGER_SCALING +Mise à l'échelle des entiers: +; Integer Scaling: +; +MSG_TISK_FANFOLD +Accordéon +; Fanfold +; +MSG_TISK_SINGLE +Simple +; Single +; +MSG_TISK_DRAFT +Brouillon (72 dpi) +; Draft (72 dpi) +; +MSG_TISK_LETTER +Lettre (240 dpi) +; Letter (240 dpi) +; +MSG_TISK_PORTRAIT +Portrait +; Portrait +; +MSG_TISK_LANDSCAPE +Paysage +; Landscape +; +MSG_TISK_BW +Noir & blanc +; Black & White +; +MSG_TISK_GRAY +Gris +; Greyscape +; +MSG_TISK_COLOR +Couleur +; Color +; +MSG_TISK_GRAY2 +Gris 2 +; Greyscape 2 +; +MSG_TISK_POSITIVE +Positive +; Positive +; +MSG_TISK_NEGATIVE +Négative +; Negative +; +MSG_TISK_IGNORE +Ignore +; Ignore +; +MSG_TISK_BOUNDED +Délimité +; Bounded +; +MSG_TISK_ABSOLUTE +Absolu +; Absolute +; +MSG_TISK_PIXEL +Pixel +; Pixel +; +MSG_TISK_MULTIPLY +Multiple +; Multiply +; +MSG_TISK_ORDERED +Ordonné +; Ordered +; +MSG_TISK_HALFTONE +Demi-teinte +; Halftone +; +MSG_TISK_FLOYDSTEINBERG +Floyd-Steinberg +; Floyd-Steinberg +; +; diff --git a/workbench/prefs/printer/catalogs/mmakefile.src b/workbench/prefs/printer/catalogs/mmakefile.src new file mode 100644 index 00000000000..994f139c293 --- /dev/null +++ b/workbench/prefs/printer/catalogs/mmakefile.src @@ -0,0 +1,12 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french polish norwegian + +# The need to update french catalog + +%build_catalogs mmake=workbench-prefs-printer-catalogs \ + catalogs=$(CATALOGS) \ + name=Printer subdir=System/Prefs diff --git a/workbench/prefs/printer/catalogs/norwegian.ct b/workbench/prefs/printer/catalogs/norwegian.ct new file mode 100644 index 00000000000..bdb6a0ac50c --- /dev/null +++ b/workbench/prefs/printer/catalogs/norwegian.ct @@ -0,0 +1,218 @@ +## version $VER: Printer.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_WINTITLE +Skriverinnstillinger +;Printer Preferences +; +MSG_OK +Ok +;Ok +; +MSG_PRINTER_DRIVER +Driver +; Driver +; +MSG_PRINTER_SETTINGS +Innstillinger +; Settings +; +MSG_PRINTER_SELECT_DRIVER +Velg driver: +; Select Driver: +; +MSG_PRINTER_NAME +Navn: +; Name: +; +MSG_PRINTER_UNIT +Skriverenhet: +; Printer Unit: +; +MSG_PRINTER_PS_UNIT +Enhet: +; Unit: +; +MSG_PRINTER_CUSTOM_DEVICE +Tilpasset enhet: +; Custom device: +; +MSG_PRINTER_DEVICE_UNIT +Enhet %d +; Unit %d +; +MSG_PRINTER_PARALLEL +Parallell +; Parallel +; +MSG_PRINTER_SERIAL +Seriell +; Serial +; +MSG_PRINTER_TO_FILE +Skriv til fil +; Print to file +; +MSG_PRINTER_USB +USB Skriver +; USB Printer +; +MSG_TISK_PAPER_TYPE +Papirtype: +; Paper Type: +; +MSG_TISK_PAPER_SIZE +Papirstrrelse: +; Paper Size: +; +MSG_TISK_QUALITY +Kvalitet: +; Quality: +; +MSG_TISK_PITCH +Punkt: +; Pitch: +; +MSG_TISK_SPACING +Avstand: +; Spacing: +; +MSG_TISK_LEFT_MARGIN +Venstremargin: +; Left Margin: +; +MSG_TISK_RIGHT_MARGIN +Hyremargin: +; Right Margin: +; +MSG_TISK_LINE_PER_PAGE +Linjer per side: +; Lines per Page: +; +MSG_TISK_DENSITY +Tetthet: +; Density: +; +MSG_TISK_ASPECT +Aspekt: +; Aspect: +; +MSG_TISK_SHADE +Skygge: +; Shade: +; +MSG_TISK_IMAGE +Bilde: +; Image: +; +MSG_TISK_TRESHOLD +Grenseverdi: +; Threshold: +; +MSG_TISK_DITHERING +Utjevning: +; Dithering: +; +MSG_TISK_DIMENSION +Dimensjoner: +; Dimensions: +; +MSG_TISK_PAPER_OFFSET +Forskyvning ( +; Offset ( +; +MSG_TISK_CENTER_IMAGE +Midtsill bilde: +; Center Image: +; +MSG_TISK_ANTIALIAS +Antialias: +; AntiAlias: +; +MSG_TISK_INTEGER_SCALING +Heltalls skalering: +; Integer Scaling: +; +MSG_TISK_FANFOLD +Liste +; Fanfold +; +MSG_TISK_SINGLE +Enkel +; Single +; +MSG_TISK_DRAFT +Draft (72 dpi) +; Draft (72 dpi) +; +MSG_TISK_LETTER +Letter (240 dpi) +; Letter (240 dpi) +; +MSG_TISK_PORTRAIT +Portrett +; Portrait +; +MSG_TISK_LANDSCAPE +Landskap +; Landscape +; +MSG_TISK_BW +Svart og hvit +; Black & White +; +MSG_TISK_GRAY +Grskala +; Greyscape +; +MSG_TISK_COLOR +Farge +; Color +; +MSG_TISK_GRAY2 +Grskala 2 +; Greyscape 2 +; +MSG_TISK_POSITIVE +Positiv +; Positive +; +MSG_TISK_NEGATIVE +Negativ +; Negative +; +MSG_TISK_IGNORE +Ignorer +; Ignore +; +MSG_TISK_BOUNDED +Avgrenset +; Bounded +; +MSG_TISK_ABSOLUTE +Absolutt +; Absolute +; +MSG_TISK_PIXEL +Pixel +; Pixel +; +MSG_TISK_MULTIPLY +Multipliser +; Multiply +; +MSG_TISK_ORDERED +Sortert +; Ordered +; +MSG_TISK_HALFTONE +Halvtone +; Halftone +; +MSG_TISK_FLOYDSTEINBERG +Floyd-Steinberg +; Floyd-Steinberg +; +; \ No newline at end of file diff --git a/workbench/prefs/printer/catalogs/polish.ct b/workbench/prefs/printer/catalogs/polish.ct new file mode 100644 index 00000000000..9f1b0b42292 --- /dev/null +++ b/workbench/prefs/printer/catalogs/polish.ct @@ -0,0 +1,218 @@ +## version $VER: pointer.catalog 2.0 (13.09.2018) +## language polski +## codeset 5 +; +; +MSG_WINTITLE +Ustawienia druku +; Printer Preferences +; +MSG_OK +Ok +; Ok +; +MSG_PRINTER_DRIVER +Sterownik +; Driver +; +MSG_PRINTER_SETTINGS +Ustawienia +; Settings +; +MSG_PRINTER_SELECT_DRIVER +Wybierz sterownik: +; Select Driver: +; +MSG_PRINTER_NAME +Nazwa: +; Name: +; +MSG_PRINTER_UNIT +Drukarka: +; Printer Unit: +; +MSG_PRINTER_PS_UNIT +Jednostka: +; Unit: +; +MSG_PRINTER_CUSTOM_DEVICE +Własne urządzenie: +; Custom device: +; +MSG_PRINTER_DEVICE_UNIT +Jednostka %d +; Unit %d +; +MSG_PRINTER_PARALLEL +Port równoległy +; Parallel +; +MSG_PRINTER_SERIAL +Port szeregowy +; Serial +; +MSG_PRINTER_TO_FILE +Drukuj do pliku +; Print to file +; +MSG_PRINTER_USB +Drukarka USB +; USB Printer +; +MSG_TISK_PAPER_TYPE +Rodzaj papíeru: +; Paper Type: +; +MSG_TISK_PAPER_SIZE +Rozměar papíeru: +; Paper Size: +; +MSG_TISK_QUALITY +Jakość: +; Quality: +; +MSG_TISK_PITCH +Intensywność: +; Pitch: +; +MSG_TISK_SPACING +Rozstaw: +; Spacing: +; +MSG_TISK_LEFT_MARGIN +Lewy margines: +; Left Margin: +; +MSG_TISK_RIGHT_MARGIN +Prawy margines: +; Right Margin: +; +MSG_TISK_LINE_PER_PAGE +Ilość wierszy na stronie: +; Lines per Page: +; +MSG_TISK_DENSITY +Zwartość: +; Density: +; +MSG_TISK_ASPECT +Aspekt: +; Aspect: +; +MSG_TISK_SHADE +Odcień: +; Shade: +; +MSG_TISK_IMAGE +Grafika: +; Image: +; +MSG_TISK_TRESHOLD +Próg: +; Threshold: +; +MSG_TISK_DITHERING +Dithering: +; Dithering: +; +MSG_TISK_DIMENSION +Rozmiar stron: +; Dimensions: +; +MSG_TISK_PAPER_OFFSET +Przesunięcie ( +; Offset ( +; +MSG_TISK_CENTER_IMAGE +Pośrodkowanie: +; Center Image: +; +MSG_TISK_ANTIALIAS +Wygładzanie: +; AntiAlias: +; +MSG_TISK_INTEGER_SCALING +Skalowanie: +; Integer Scaling: +; +MSG_TISK_FANFOLD +Składana +; Fanfold +; +MSG_TISK_SINGLE +Pojedyncza +; Single +; +MSG_TISK_DRAFT +Szkic (72 dpi) +; Draft (72 dpi) +; +MSG_TISK_LETTER +List (240 dpi) +; Letter (240 dpi) +; +MSG_TISK_PORTRAIT +Portret +; Portrait +; +MSG_TISK_LANDSCAPE +Pejzaż +; Landscape +; +MSG_TISK_BW +Czarno-biała +; Black & White +; +MSG_TISK_GRAY +Stopnie szarości +; Greyscape +; +MSG_TISK_COLOR +Barwy +; Color +; +MSG_TISK_GRAY2 +Stopnie szarości 2 +; Greyscape 2 +; +MSG_TISK_POSITIVE +Pozytyw +; Positive +; +MSG_TISK_NEGATIVE +Negatyw +; Negative +; +MSG_TISK_IGNORE +Ignoruj +; Ignore +; +MSG_TISK_BOUNDED +Ograniczona +; Bounded +; +MSG_TISK_ABSOLUTE +Absolutna +; Absolute +; +MSG_TISK_PIXEL +Pixel +; Pixel +; +MSG_TISK_MULTIPLY +Kumulacyjna +; Multiply +; +MSG_TISK_ORDERED +Uporzadkowana +; Ordered +; +MSG_TISK_HALFTONE +Półtonowa +; Halftone +; +MSG_TISK_FLOYDSTEINBERG +Floyd-Steinberg +; Floyd-Steinberg +; +; diff --git a/workbench/prefs/printer/catalogs/printer.cd b/workbench/prefs/printer/catalogs/printer.cd new file mode 100644 index 00000000000..d2dd7bf1822 --- /dev/null +++ b/workbench/prefs/printer/catalogs/printer.cd @@ -0,0 +1,161 @@ +; +MSG_WINTITLE (//) +Printer Preferences +; +MSG_OK (//) +Ok +; +MSG_PRINTER_DRIVER (//) +Driver +; +MSG_PRINTER_SETTINGS (//) +Settings +; +MSG_PRINTER_SELECT_DRIVER (//) +Select Driver: +; +MSG_PRINTER_NAME (//) +Name: +; +MSG_PRINTER_UNIT (//) +Printer Unit: +; +MSG_PRINTER_PS_UNIT (//) +Unit: +; +MSG_PRINTER_CUSTOM_DEVICE (//) +Custom device: +; +MSG_PRINTER_DEVICE_UNIT (//) +Unit %d +; +MSG_PRINTER_PARALLEL (//) +Parallel +; +MSG_PRINTER_SERIAL (//) +Serial +; +MSG_PRINTER_TO_FILE (//) +Print to file +; +MSG_PRINTER_USB (//) +USB Printer +; +MSG_TISK_PAPER_TYPE (//) +Paper Type: +; +MSG_TISK_PAPER_SIZE (//) +Paper Size: +; +MSG_TISK_QUALITY (//) +Quality: +; +MSG_TISK_PITCH (//) +Pitch: +; +MSG_TISK_SPACING (//) +Spacing: +; +MSG_TISK_LEFT_MARGIN (//) +Left Margin: +; +MSG_TISK_RIGHT_MARGIN (//) +Right Margin: +; +MSG_TISK_LINE_PER_PAGE (//) +Lines per Page: +; +MSG_TISK_DENSITY (//) +Density: +; +MSG_TISK_ASPECT (//) +Aspect: +; +MSG_TISK_SHADE (//) +Shade: +; +MSG_TISK_IMAGE (//) +Image: +; +MSG_TISK_TRESHOLD (//) +Threshold: +; +MSG_TISK_DITHERING (//) +Dithering: +; +MSG_TISK_DIMENSION (//) +Dimensions: +; +MSG_TISK_PAPER_OFFSET (//) +Offset ( +; +MSG_TISK_CENTER_IMAGE (//) +Center Image: +; +MSG_TISK_ANTIALIAS (//) +AntiAlias: +; +MSG_TISK_INTEGER_SCALING (//) +Integer Scaling: +; +MSG_TISK_FANFOLD (//) +Fanfold +; +MSG_TISK_SINGLE (//) +Single +; +MSG_TISK_DRAFT (//) +Draft (72 dpi) +; +MSG_TISK_LETTER (//) +Letter (240 dpi) +; +MSG_TISK_PORTRAIT (//) +Portrait +; +MSG_TISK_LANDSCAPE (//) +Landscape +; +MSG_TISK_BW (//) +Black & White +; +MSG_TISK_GRAY (//) +Greyscape +; +MSG_TISK_COLOR (//) +Color +; +MSG_TISK_GRAY2 (//) +Greyscape 2 +; +MSG_TISK_POSITIVE (//) +Positive +; +MSG_TISK_NEGATIVE (//) +Negative +; +MSG_TISK_IGNORE (//) +Ignore +; +MSG_TISK_BOUNDED (//) +Bounded +; +MSG_TISK_ABSOLUTE (//) +Absolute +; +MSG_TISK_PIXEL (//) +Pixel +; +MSG_TISK_MULTIPLY (//) +Multiply +; +MSG_TISK_ORDERED (//) +Ordered +; +MSG_TISK_HALFTONE (//) +Halftone +; +MSG_TISK_FLOYDSTEINBERG (//) +Floyd-Steinberg +; +; diff --git a/workbench/prefs/reqtools/catalogs b/workbench/prefs/reqtools/catalogs deleted file mode 160000 index 6f5651912e3..00000000000 --- a/workbench/prefs/reqtools/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6f5651912e3db2db6e80b8ef1e63ee1e6c869d93 diff --git a/workbench/prefs/reqtools/catalogs/.gitattributes b/workbench/prefs/reqtools/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/reqtools/catalogs/croatian.ct b/workbench/prefs/reqtools/catalogs/croatian.ct new file mode 100644 index 00000000000..fc83f6f8982 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/croatian.ct @@ -0,0 +1,144 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language hrvatski +## codeset 0 +; +MSG_WINDOW_TITLE +ReqTools Postavke +; ReqTools Preferences +; +MSG_GENERAL +Općenito +; General +; +MSG_FILEREQUESTER +Birač Datoteka +; File Requester +; +MSG_SIZE +Veličina (% of vidljive visine) +; Size (% of visible height): +; +MSG_OK +U redu +; Ok +; +MSG_POPSCREEN +Izbaci zaslon naprijed +; Pop screen to front +; +MSG_IMMEDIATESORT +Odmah posloži +; Immediate sort +; +MSG_DRAWERSFIRST +Prikaži mape prvo +; Display drawers first +; +MSG_DRAWERSMIXED +Pomješaj datoteke i mape +; Mix files and drawers +; +MSG_LED +LED disk aktivnosti +; Disk activity LED +; +MSG_DEFAULTFONT +Koristi slovo sustava +; Use system default font +; +MSG_FKEYS +Koristi funkcijske ključeve +; Use function keys +; +MSG_DOWHEEL +Kolo boja: +; Color wheel: +; +MSG_WHEEL_NONE +Isključen +; None +; +MSG_WHEEL_SIMPLE +Jednostavno +; Simple +; +MSG_WHEEL_FANCY +Ukrašeno +; Fancy +; +MSG_MMB_PARENT +MMB daje osnovno +; MMB gives parent +; +MSG_DEFAULTS +Predložak +; Defaults +; +MSG_REQUESTER +\33bBirač: +; \33bRequester: +; +MSG_FILEREQ +Datoteka +; File +; +MSG_FONTREQ +Slova +; Font +; +MSG_PALETTEREQ +Boja +; Palette +; +MSG_SCRMODEREQ +Rezolucije Zaslona +; Screen Mode +; +MSG_VOLUMEREQ +Podešavanje Glasnoče +; Volume +; +MSG_OTHERREQ +Drugi +; Other +; +MSG_POSITION +Pozicija: +; Position: +; +MSG_POINTER +Pokazivač miša +; Mouse pointer +; +MSG_CENTERWIN +Centriraj u prozoru +; Center in window +; +MSG_CENTERSCR +Centriraj u zaslonu +; Center on screen +; +MSG_TOPLEFTWIN +Gore lijevo od prozora +; Top left of window +; +MSG_TOPLEFTSCR +Gore lijevo od zaslona +; Top left of screen +; +MSG_OFFSET +\33bRazmak +; \33bOffset +; +MSG_NR_OF_ENTRIES +\33bBroj vidljivih ulaza +; \33bNumber of visible entries +; +MSG_MIN +Minimalno: +; Minimum: +; +MSG_MAX +Maksimalno: +; Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/czech.ct b/workbench/prefs/reqtools/catalogs/czech.ct new file mode 100644 index 00000000000..5147d91f091 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/czech.ct @@ -0,0 +1,144 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language czech +## codeset 5 +; +MSG_WINDOW_TITLE +Nastavení ReqTools +; ReqTools Preferences +; +MSG_GENERAL +Obecné +; General +; +MSG_FILEREQUESTER +Souborový dialog +; File Requester +; +MSG_SIZE +Velikost (v % viditelné výšky): +; Size (% of visible height): +; +MSG_OK +OK +; Ok +; +MSG_POPSCREEN +Obrazovka do popředí +; Pop screen to front +; +MSG_IMMEDIATESORT +Seřadit položky ihned +; Immediate sort +; +MSG_DRAWERSFIRST +Adresáře jako první +; Display drawers first +; +MSG_DRAWERSMIXED +Adresáře i soubory dohromady +; Mix files and drawers +; +MSG_LED +Indikovat činnost disku +; Disk activity LED +; +MSG_DEFAULTFONT +Použít systémové písmo +; Use system default font +; +MSG_FKEYS +Použít funkční klávesy +; Use function keys +; +MSG_DOWHEEL +Barevný kruh: +; Color wheel: +; +MSG_WHEEL_NONE +Vypnuto +; None +; +MSG_WHEEL_SIMPLE +Zjedn. +; Simple color wheel +; +MSG_WHEEL_FANCY +Plno +; Fancy color wheel +; +MSG_MMB_PARENT +Střední tlačítko = Vyšší +; MMB gives parent +; +MSG_DEFAULTS +Možnosti +; Defaults +; +MSG_REQUESTER +\33bvýběr: +; \33bRequester: +; +MSG_FILEREQ +souborů +; File Requester +; +MSG_FONTREQ +písem +; Font Requester +; +MSG_PALETTEREQ +barev +; Palette Requester +; +MSG_SCRMODEREQ +rozlišení +; Screen Mode Requester +; +MSG_VOLUMEREQ +zařízení +; Volume Requester +; +MSG_OTHERREQ +ostatní +; Other +; +MSG_POSITION +Umístění: +; Position: +; +MSG_POINTER +Pod šipkou myši +; Mouse pointer +; +MSG_CENTERWIN +Vystředěné v okně +; Center in window +; +MSG_CENTERSCR +Vystředěné na obrazovce +; Center on screen +; +MSG_TOPLEFTWIN +Horní levý roh okna +; Top left of window +; +MSG_TOPLEFTSCR +Horní levý roh obrazovky +; Top left of screen +; +MSG_OFFSET +\33bOdstup +; \33bOffset +; +MSG_NR_OF_ENTRIES +\33bPočet viditelných položek +; \33bNumber of visible entries +; +MSG_MIN +Minimum: +; Minimum: +; +MSG_MAX +Maximum: +; Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/danish.ct b/workbench/prefs/reqtools/catalogs/danish.ct new file mode 100644 index 00000000000..ed8c624fef6 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/danish.ct @@ -0,0 +1,98 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language dansk +## codeset 0 +; Authors: Jesper Juul +; +MSG_WINDOW_TITLE +ReqTools indstillinger +; +MSG_GENERAL +Diverse +; +MSG_FILEREQUESTER +Fil Vlgeren +; +MSG_SIZE +Strrelse (% af synlig hjde): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Flyt skrmen forrest +; +MSG_IMMEDIATESORT +Sorter med det samme +; +MSG_DRAWERSFIRST +Vis skuffer frst +; +MSG_DRAWERSMIXED +Bland filer og skuffer +; +MSG_LED +LED +; +MSG_DEFAULTFONT +Systemets grund tekst +; +MSG_FKEYS +Use function keys +; +MSG_DOWHEEL +Color wheel: +; +MSG_DEFAULTS +Grundvrdier +; +MSG_REQUESTER +\33bVlger: +; +MSG_FILEREQ +Fil +; +MSG_FONTREQ +Skrift +; +MSG_PALETTEREQ +Palette +; +MSG_SCRMODEREQ +Skrm-oplsnings +; +MSG_VOLUMEREQ +Volume +; +MSG_OTHERREQ +Andre +; +MSG_POSITION +Position: +; +MSG_POINTER +Under Musens pil +; +MSG_CENTERWIN +Centreret i Vindue +; +MSG_CENTERSCR +Centreret p Skrmen +; +MSG_TOPLEFTWIN +verst til venstre i Vinduet +; +MSG_TOPLEFTSCR +verst til venstre p Skrmen +; +MSG_OFFSET +\33bOffset +; +MSG_NR_OF_ENTRIES +\33bAntal synlige filer/skuffer +; +MSG_MIN +Minimum: +; +MSG_MAX +Maksimum: +; diff --git a/workbench/prefs/reqtools/catalogs/dutch.ct b/workbench/prefs/reqtools/catalogs/dutch.ct new file mode 100644 index 00000000000..a1c1edb3d5a --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/dutch.ct @@ -0,0 +1,94 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language nederlands +## codeset 0 +; +MSG_WINDOW_TITLE +ReqTools instellingen +; +MSG_GENERAL +Algemeen +; +MSG_FILEREQUESTER +Bestand requester +; +MSG_SIZE +Grootte (% van zichtbare grootte): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Haal scherm naar voren +; +MSG_IMMEDIATESORT +Sorteer onmiddellijk +; +MSG_DRAWERSFIRST +Toon laden eerst +; +MSG_DRAWERSMIXED +Meng laden en bestanden +; +MSG_LED +Diskactiviteit-LED +; +MSG_DEFAULTFONT +Gebruik systeem standaardfont +; +MSG_FKEYS +Gebruik functietoetsen +; +MSG_DEFAULTS +Instellingen +; +MSG_REQUESTER +\33bRequester: +; +MSG_FILEREQ +Bestand +; +MSG_FONTREQ +Font +; +MSG_PALETTEREQ +Palet +; +MSG_SCRMODEREQ +Schermmodus +; +MSG_VOLUMEREQ +Volume +; +MSG_OTHERREQ +Andere +; +MSG_POSITION +Positie: +; +MSG_POINTER +Muiswijzer +; +MSG_CENTERWIN +Centreer in venster +; +MSG_CENTERSCR +Centreer op scherm +; +MSG_TOPLEFTWIN +Links-boven in venster +; +MSG_TOPLEFTSCR +Links-boven op scherm +; +MSG_OFFSET +\33bPlaats +; +MSG_NR_OF_ENTRIES +\33bAantal zichtbare regels +; +MSG_MIN +Minimum: +; +MSG_MAX +Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/finnish.ct b/workbench/prefs/reqtools/catalogs/finnish.ct new file mode 100644 index 00000000000..86082ab36da --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/finnish.ct @@ -0,0 +1,113 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language suomi +## codeset 0 +; +MSG_WINDOW_TITLE +ReqToolsin asetukset +; +MSG_GENERAL +Yleistä +; +MSG_FILEREQUESTER +Tiedostonvalitsija +; +MSG_SIZE +Koko (% näkyvästä korkeudesta): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Tuo näyttö eteen +; +MSG_IMMEDIATESORT +Järjestä heti +; +MSG_DRAWERSFIRST +Näytä hakemistot ensin +; +MSG_DRAWERSMIXED +Sekoita tiedostot ja hakemistot +; +MSG_LED +Levyn toimintavalo +; +MSG_DEFAULTFONT +Käytä järjestelmän oletusfonttia +; +MSG_FKEYS +Käytä funktionäppäimiä +; +MSG_DOWHEEL +Väripyörä: +; +MSG_WHEEL_NONE +Ei mitään +;None +; +MSG_WHEEL_SIMPLE +Yksinkertainen +;Simple +; +MSG_WHEEL_FANCY +Hieno +;Fancy +; +MSG_MMB_PARENT +MMB gives parent +;MMB gives parent +; +MSG_DEFAULTS +Oletusarvot +; +MSG_REQUESTER +\33bValitsija: +; +MSG_FILEREQ +Tiedostoa +; +MSG_FONTREQ +Font +; +MSG_PALETTEREQ +Palet +; +MSG_SCRMODEREQ +Näyttötilan +; +MSG_VOLUMEREQ +Levyn +; +MSG_OTHERREQ +Muut +; +MSG_POSITION +Paikka: +; +MSG_POINTER +Hiiren osoitin +; +MSG_CENTERWIN +Keskitä ikkunaan +; +MSG_CENTERSCR +Keskitä näyttöön +; +MSG_TOPLEFTWIN +Ikkunan vasen ylänurkka +; +MSG_TOPLEFTSCR +Näytön vasen ylänurkka +; +MSG_OFFSET +\33bSiirto +; +MSG_NR_OF_ENTRIES +\33bNäkyvien rivien määrä +; +MSG_MIN +Minimi: +; +MSG_MAX +Maksimi: +; diff --git a/workbench/prefs/reqtools/catalogs/french.ct b/workbench/prefs/reqtools/catalogs/french.ct new file mode 100644 index 00000000000..2844e1518e1 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/french.ct @@ -0,0 +1,145 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language français +## codeset 0 +; Authors: Georges 'Melkor' Goncalves +; +MSG_WINDOW_TITLE +Préférences: ReqTools +; ReqTools Preferences +; +MSG_GENERAL +Généralités +; General +; +MSG_FILEREQUESTER +Requête de fichiers +; File Requester +; +MSG_SIZE +Taille (% de la hauteur visible): +; Size (% of visible height): +; +MSG_OK +Valider +; Ok +; +MSG_POPSCREEN +Passer l'écran en avant +; Pop screen to front +; +MSG_IMMEDIATESORT +Tri immédiat +; Immediate sort +; +MSG_DRAWERSFIRST +Montrer d'abord les tiroirs +; Display drawers first +; +MSG_DRAWERSMIXED +Mélanger fichiers et tiroirs +; Mix files and drawers +; +MSG_LED +LED d'activité disque +; Disk activity LED +; +MSG_DEFAULTFONT +Utiliser la police systême +; Use system default font +; +MSG_FKEYS +Utiliser touches de fonction +; Use function keys +; +MSG_DOWHEEL +Roue colorée: +; Color wheel: +; +MSG_WHEEL_NONE +Aucun +; None +; +MSG_WHEEL_SIMPLE +Simple +; Simple +; +MSG_WHEEL_FANCY +Complète +; Fancy +; +MSG_MMB_PARENT +MMB retourne le répertoire parent +; MMB gives parent +; +MSG_DEFAULTS +Défauts +; Defaults +; +MSG_REQUESTER +\33bRequête: +; \33bRequester: +; +MSG_FILEREQ +Fichier +; File +; +MSG_FONTREQ +Fonte +; Font +; +MSG_PALETTEREQ +Palette +; Palette +; +MSG_SCRMODEREQ +Mode écran +; Screen Mode +; +MSG_VOLUMEREQ +Volume +; Volume +; +MSG_OTHERREQ +Autres +; Other +; +MSG_POSITION +Position: +; Position: +; +MSG_POINTER +Pointeur de la souris +; Mouse pointer +; +MSG_CENTERWIN +Centre dans la fenêtre +; Center in window +; +MSG_CENTERSCR +Centre à l'écran +; Center on screen +; +MSG_TOPLEFTWIN +Coin gauche de la fenêtre +; Top left of window +; +MSG_TOPLEFTSCR +Coin gauche de l'écran +; Top left of screen +; +MSG_OFFSET +\33bDécalage +; \33bOffset +; +MSG_NR_OF_ENTRIES +\33bNombre d'entrées visibles +; \33bNumber of visible entries +; +MSG_MIN +Minimum: +; Minimum: +; +MSG_MAX +Maximum: +; Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/german.ct b/workbench/prefs/reqtools/catalogs/german.ct new file mode 100644 index 00000000000..723c1f48482 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/german.ct @@ -0,0 +1,110 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language deutsch +## codeset 0 +; Authors: Steffen Salzmann +; +MSG_WINDOW_TITLE +ReqTools-Einstellungen +; +MSG_GENERAL +Allgemeines +; +MSG_FILEREQUESTER +Datei-Auswahlfenster +; +MSG_SIZE +Größe (% der sichtbaren Höhe): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Bildschirm nach vorne +; +MSG_IMMEDIATESORT +Sofort sortieren +; +MSG_DRAWERSFIRST +Schubladen zuerst anzeigen +; +MSG_DRAWERSMIXED +Dateien und Schubl. mischen +; +MSG_LED +Diskzugriffs-LED +; +MSG_DEFAULTFONT +Standard-System-Zeichensatz +; +MSG_FKEYS +Funktionstasten benutzen +; +MSG_DOWHEEL +Farbrad benutzen: +; +MSG_WHEEL_NONE +Nichts +; +MSG_WHEEL_SIMPLE +Einfaches +; +MSG_WHEEL_FANCY +Aufwendiges +; +MSG_MMB_PARENT +Mittlere Maustaste für übergeordnete Schublade +; +MSG_DEFAULTS +Vorgaben +; +MSG_REQUESTER +\33bAuswahlfenster: +; +MSG_FILEREQ +Datei +; +MSG_FONTREQ +Zeichensatz +; +MSG_PALETTEREQ +Farb +; +MSG_SCRMODEREQ +Schirmmodus +; +MSG_VOLUMEREQ +Datenträger +; +MSG_OTHERREQ +Andere +; +MSG_POSITION +Position: +; +MSG_POINTER +Mauszeiger +; +MSG_CENTERWIN +Zentrieren im Fenster +; +MSG_CENTERSCR +Zentrieren auf Bildschirm +; +MSG_TOPLEFTWIN +Oben links vom Fenster +; +MSG_TOPLEFTSCR +Oben links auf Bildschirm +; +MSG_OFFSET +\33bAbstand +; +MSG_NR_OF_ENTRIES +\33bAnzahl sichtbarer Einträge +; +MSG_MIN +Minimum: +; +MSG_MAX +Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/hungarian.ct b/workbench/prefs/reqtools/catalogs/hungarian.ct new file mode 100644 index 00000000000..3bbf46f9bcc --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/hungarian.ct @@ -0,0 +1,140 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language magyar +## codeset 5 +; Authors: Kertai Gábor +; +MSG_WINDOW_TITLE +ReqTools beállítások +; ReqTools Preferences +; +MSG_GENERAL +Általános +; General +; +MSG_FILEREQUESTER +Állomány-requester +; File Requester +; +MSG_SIZE +Méret (látható magasság %%-a) +; Size (% of visible height): +; +MSG_OK +Rendben +; Ok +; +MSG_POPSCREEN +Képernyő előre +; Pop screen to front +; +MSG_IMMEDIATESORT +Folytonos rendezés +; Immediate sort +; +MSG_DRAWERSFIRST +Fiókok előre +; Display drawers first +; +MSG_DRAWERSMIXED +Fiók/állomány vegyesen +; Mix files and drawers +; +MSG_LED +Aktivitásjelző LED +; Disk activity LED +; +MSG_DEFAULTFONT +Rendszerfont +; Use system default font +; +MSG_FKEYS +Funkcióbillentyűk +; Use function keys +; +MSG_DOWHEEL +Color wheel: +; +MSG_WHEEL_NONE +None +; None +; +MSG_WHEEL_SIMPLE +Simple +; Simple +; +MSG_WHEEL_FANCY +Fancy +; Fancy +; +MSG_DEFAULTS +Alapértelmezések +; Defaults +; +MSG_REQUESTER +\33bRequester: +; \33bRequester: +; +MSG_FILEREQ +Állomány +; File +; +MSG_FONTREQ +Font +; Font +; +MSG_PALETTEREQ +Paletta +; Palette +; +MSG_SCRMODEREQ +Képernyőmód +; Screen Mode +; +MSG_VOLUMEREQ +Egység +; Volume +; +MSG_OTHERREQ +Egyéb +; Other +; +MSG_POSITION +Pozíció: +; Position: +; +MSG_POINTER +Egérmutató alá +; Mouse pointer +; +MSG_CENTERWIN +Ablakban középre +; Center in window +; +MSG_CENTERSCR +Képernyőn középre +; Center on screen +; +MSG_TOPLEFTWIN +Ablakban bal felülre +; Top left of window +; +MSG_TOPLEFTSCR +Képernyőn bal felülre +; Top left of screen +; +MSG_OFFSET +\33bTávolság +; \33bOffset +; +MSG_NR_OF_ENTRIES +\33bLátható bejegyzések száma +; \33bNumber of visible entries +; +MSG_MIN +Legalább: +; Minimum +; +MSG_MAX +Legfeljebb: +; Maximum +; diff --git a/workbench/prefs/reqtools/catalogs/italian.ct b/workbench/prefs/reqtools/catalogs/italian.ct new file mode 100644 index 00000000000..e71552a3ba9 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/italian.ct @@ -0,0 +1,95 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language italiano +## codeset 0 +; Authors: Michele Giorato +; +MSG_WINDOW_TITLE +Preferenze di ReqTools +; +MSG_GENERAL +Generale +; +MSG_FILEREQUESTER +Requester dei files +; +MSG_SIZE +Dimensione (% dell'altezza utile): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Porta schermo in 1° piano +; +MSG_IMMEDIATESORT +Riordina subito +; +MSG_DRAWERSFIRST +Mostra prima i cassetti +; +MSG_DRAWERSMIXED +Mischia files e cassetti +; +MSG_LED +LED attività disco +; +MSG_DEFAULTFONT +Caratteri di sistema +; +MSG_FKEYS +Usa tasti funzione +; +MSG_DEFAULTS +Formato standard +; +MSG_REQUESTER +\33bRequester: +; +MSG_FILEREQ +Files +; +MSG_FONTREQ +Caratteri +; +MSG_PALETTEREQ +Colori +; +MSG_SCRMODEREQ +Modo schermo +; +MSG_VOLUMEREQ +Volumi +; +MSG_OTHERREQ +Altri +; +MSG_POSITION +Posizione +; +MSG_POINTER +Puntatore del mouse +; +MSG_CENTERWIN +Al centro della finestra +; +MSG_CENTERSCR +Al centro dello schermo +; +MSG_TOPLEFTWIN +In alto a sinistra finestra +; +MSG_TOPLEFTSCR +In alto a sinistra schermo +; +MSG_OFFSET +\33bMargini +; +MSG_NR_OF_ENTRIES +\33bNumero di righe visibili +; +MSG_MIN +Minimo: +; +MSG_MAX +Massimo: +; diff --git a/workbench/prefs/reqtools/catalogs/mmakefile.src b/workbench/prefs/reqtools/catalogs/mmakefile.src new file mode 100644 index 00000000000..b62463e0016 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2017, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := croatian czech finnish french german norwegian polish russian serbian swedish +# other catalogs need update + +%build_catalogs mmake=workbench-prefs-reqtools-catalogs \ + catalogs=$(CATALOGS) \ + name=ReqTools subdir=System/Prefs diff --git a/workbench/prefs/reqtools/catalogs/norwegian.ct b/workbench/prefs/reqtools/catalogs/norwegian.ct new file mode 100644 index 00000000000..72da821d11a --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/norwegian.ct @@ -0,0 +1,114 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language norsk +## codeset 0 +; Authors: Kim Roar Utsi, Daniel Holmen +; +MSG_WINDOW_TITLE +ReqTools innstillinger +; +MSG_GENERAL +Generelt +; +MSG_FILEREQUESTER +Filforesprsel +; +MSG_SIZE +Strrelse (% av synlig hyde): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Flytt skjerm til front +; +MSG_IMMEDIATESORT +Sorter umiddelbart +; +MSG_DRAWERSFIRST +Vis skuffer frst +; +MSG_DRAWERSMIXED +Bland filer og skuffer +; +MSG_LED +LED +; +MSG_DEFAULTFONT +Standard systemskrift +; +MSG_FKEYS +Bruk funksjonstaster +; +MSG_DOWHEEL +Fargehjul: +; +MSG_WHEEL_NONE +Ingen +;None +; +MSG_WHEEL_SIMPLE +Enkelt +;Simple +; +MSG_WHEEL_FANCY +Fancy +;Fancy +; +MSG_MMB_PARENT +MMB niv opp +;MMB gives parent +; +MSG_DEFAULTS +Standardverdier +; +MSG_REQUESTER +\33bForesprsel: +; +MSG_FILEREQ +Fil +; +MSG_FONTREQ +Skrifttype +; +MSG_PALETTEREQ +Palett +; +MSG_SCRMODEREQ +Skjermmodus +; +MSG_VOLUMEREQ +Enhets +; +MSG_OTHERREQ +Andre +; +MSG_POSITION +Posisjon: +; +MSG_POINTER +Muspeker +; +MSG_CENTERWIN +Sentrr i vindu +; +MSG_CENTERSCR +Sentrr p skjerm +; +MSG_TOPLEFTWIN +verst til venstre i vindu +; +MSG_TOPLEFTSCR +verst til venstre p skjerm +; +MSG_OFFSET +\33bOffset +; +MSG_NR_OF_ENTRIES +\33bAntall synlige poster +; +MSG_MIN +Minimum: +; +MSG_MAX +Maksimum: +; diff --git a/workbench/prefs/reqtools/catalogs/polish.ct b/workbench/prefs/reqtools/catalogs/polish.ct new file mode 100644 index 00000000000..dacae02b545 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/polish.ct @@ -0,0 +1,144 @@ +## version $VER: ReqTools.catalog 3.2 (11.01.2020) +## language polski +## codeset 0 +; +MSG_WINDOW_TITLE +Ustawienia ReqTools +; ReqTools Preferences +; +MSG_GENERAL +Podstawowe +; General +; +MSG_FILEREQUESTER +Okno wyboru plików +; File Requester +; +MSG_SIZE +Wielkość (% wysokości ekranu): +; Size (% of visible height): +; +MSG_OK +Ok +; Ok +; +MSG_POPSCREEN +Umieść ekran na wierzchu +; Pop screen to front +; +MSG_IMMEDIATESORT +Sortuj natychmiast +; Immediate sort +; +MSG_DRAWERSFIRST +Wyświetl katalogi na początku +; Display drawers first +; +MSG_DRAWERSMIXED +Pliki i katalogi wymieszane +; Mix files and drawers +; +MSG_LED +Wskaźnik aktywności dysku +; Disk activity LED +; +MSG_DEFAULTFONT +Użyj czcionki systemowej +; Use system default font +; +MSG_FKEYS +Użyj klawiszy funkcyjnych +; Use function keys +; +MSG_DOWHEEL +Koło barw: +; Color wheel: +; +MSG_WHEEL_NONE +Żadne +; None +; +MSG_WHEEL_SIMPLE +Proste +; Simple +; +MSG_WHEEL_FANCY +Wyszukane +; Fancy +; +MSG_MMB_PARENT +Środkowy przycisk myszki = nadrzędny +; MMB gives parent +; +MSG_DEFAULTS +Ustawienia domyślne +; Defaults +; +MSG_REQUESTER +\33bOkna: +; \33bRequester: +; +MSG_FILEREQ +Plików +; File +; +MSG_FONTREQ +Czcionki +; Font +; +MSG_PALETTEREQ +Palety +; Palette +; +MSG_SCRMODEREQ +Trybów ekranu +; Screen Mode +; +MSG_VOLUMEREQ +Mediów +; Volume +; +MSG_OTHERREQ +Pozostałych +; Other +; +MSG_POSITION +Pozycja: +; Position: +; +MSG_POINTER +w/g wskaźnika myszki +; Mouse pointer +; +MSG_CENTERWIN +Środek okna +; Center in window +; +MSG_CENTERSCR +Środek ekranu +; Center on screen +; +MSG_TOPLEFTWIN +Lewy górny róg okna +; Top left of window +; +MSG_TOPLEFTSCR +Lewy górny róg ekranu +; Top left of screen +; +MSG_OFFSET +\33bPrzesunięcie +; \33bOffset +; +MSG_NR_OF_ENTRIES +\33bLiczba widocznych elementów +; \33bNumber of visible entries +; +MSG_MIN +Minimalna: +; Minimum: +; +MSG_MAX +Maksymalna: +; Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/portuguese.ct b/workbench/prefs/reqtools/catalogs/portuguese.ct new file mode 100644 index 00000000000..9551d494845 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/portuguese.ct @@ -0,0 +1,97 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language portugus +## codeset 0 +; +MSG_WINDOW_TITLE +Preferncias do ReqTools +; +MSG_GENERAL +Geral +; +MSG_FILEREQUESTER +File Requester +; +MSG_SIZE +Tamanho (% do tamanho visivel): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Por Ecran Para a Frente +; +MSG_IMMEDIATESORT +Ordenar Automaticamente +; +MSG_DRAWERSFIRST +Mostrar Gavetas Primeiro +; +MSG_DRAWERSMIXED +Misturar Ficheiros e Gavetas +; +MSG_LED +LED +; +MSG_DEFAULTFONT +Tipo de letra habitual do sistema +; +MSG_FKEYS +Use function keys +; +MSG_DOWHEEL +Color wheel: +; +MSG_DEFAULTS +Defaults +; +MSG_REQUESTER +\33bRequester: +; +MSG_FILEREQ +File +; +MSG_FONTREQ +Font +; +MSG_PALETTEREQ +Palette +; +MSG_SCRMODEREQ +Screen Mode +; +MSG_VOLUMEREQ +Volume +; +MSG_OTHERREQ +Other +; +MSG_POSITION +Posio: +; +MSG_POINTER +Pointer do Mouse +; +MSG_CENTERWIN +Centrar na Janela +; +MSG_CENTERSCR +Centrar no Ecran +; +MSG_TOPLEFTWIN +Topo Esquerdo da Janela +; +MSG_TOPLEFTSCR +Topo Esquerdo do Ecran +; +MSG_OFFSET +\33bOffset +; +MSG_NR_OF_ENTRIES +\33bNumero de Entradas Visiveis +; +MSG_MIN +Minimo: +; +MSG_MAX +Maximo: +; diff --git a/workbench/prefs/reqtools/catalogs/reqtools.cd b/workbench/prefs/reqtools/catalogs/reqtools.cd new file mode 100644 index 00000000000..ac4a3ab8ddd --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/reqtools.cd @@ -0,0 +1,111 @@ +;************************** +; +; ReqTools Preferences +; +;************************** +; +MSG_WINDOW_TITLE (1//) +ReqTools Preferences +; +MSG_GENERAL (//) +General +; +MSG_FILEREQUESTER (//) +File Requester +; +MSG_SIZE (//) +Size (% of visible height): +; +MSG_OK (//) +Ok +; +MSG_POPSCREEN (//) +Pop screen to front +; +MSG_IMMEDIATESORT (//) +Immediate sort +; +MSG_DRAWERSFIRST (//) +Display drawers first +; +MSG_DRAWERSMIXED (//) +Mix files and drawers +; +MSG_LED (//) +Disk activity LED +; +MSG_DEFAULTFONT (//) +Use system default font +; +MSG_FKEYS (//) +Use function keys +; +MSG_DOWHEEL (//) +Color wheel: +; +MSG_WHEEL_NONE (//) +None +; +MSG_WHEEL_SIMPLE (//) +Simple +; +MSG_WHEEL_FANCY (//) +Fancy +; +MSG_MMB_PARENT (//) +MMB gives parent +; +MSG_DEFAULTS (//) +Defaults +; +MSG_REQUESTER (//) +\33bRequester: +; +MSG_FILEREQ (//) +File +; +MSG_FONTREQ (//) +Font +; +MSG_PALETTEREQ (//) +Palette +; +MSG_SCRMODEREQ (//) +Screen Mode +; +MSG_VOLUMEREQ (//) +Volume +; +MSG_OTHERREQ (//) +Other +; +MSG_POSITION (//) +Position: +; +MSG_POINTER (//) +Mouse pointer +; +MSG_CENTERWIN (//) +Center in window +; +MSG_CENTERSCR (//) +Center on screen +; +MSG_TOPLEFTWIN (//) +Top left of window +; +MSG_TOPLEFTSCR (//) +Top left of screen +; +MSG_OFFSET (//) +\33bOffset +; +MSG_NR_OF_ENTRIES (//) +\33bNumber of visible entries +; +MSG_MIN (//) +Minimum: +; +MSG_MAX (//) +Maximum: +; diff --git a/workbench/prefs/reqtools/catalogs/russian.ct b/workbench/prefs/reqtools/catalogs/russian.ct new file mode 100644 index 00000000000..e43d0caced9 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/russian.ct @@ -0,0 +1,110 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language russian +## codeset 2104 +; Authors: Oleg Sergeev, Sergey Mineychev aka Keen +; +MSG_WINDOW_TITLE +Устaновки Reqtools +; +MSG_GENERAL +Общие +; +MSG_FILEREQUESTER +Диалог фaйлов +; +MSG_SIZE +Рaзмер (в % от видимой высоты) +; +MSG_OK +ОК +; +MSG_POPSCREEN +Экрaн вперёд +; +MSG_IMMEDIATESORT +Сортировaть сразу +; +MSG_DRAWERSFIRST +Кaтaлоги внaчaле +; +MSG_DRAWERSMIXED +Каталоги среди файлов +; +MSG_LED +Индикатор работы +; +MSG_DEFAULTFONT +Стaндaртный шрифт +; +MSG_FKEYS +F-клaвиши +; +MSG_DOWHEEL +Колесо гаммы: +; +MSG_WHEEL_NONE +Нет +; +MSG_WHEEL_SIMPLE +Простое +; +MSG_WHEEL_FANCY +Продвинутое +; +MSG_MMB_PARENT +Назад по средней кнопке +; +MSG_DEFAULTS +Устaновки: +; +MSG_REQUESTER +\33bДиалог: +; +MSG_FILEREQ +фaйлов +; +MSG_FONTREQ +шрифтов +; +MSG_PALETTEREQ +пaлитры +; +MSG_SCRMODEREQ +экрaнов +; +MSG_VOLUMEREQ +томов +; +MSG_OTHERREQ +Прочие +; +MSG_POSITION +Позиция: +; +MSG_POINTER +По мышке +; +MSG_CENTERWIN +В центре окна +; +MSG_CENTERSCR +В центре экрaна +; +MSG_TOPLEFTWIN +Верхний левый угол окнa +; +MSG_TOPLEFTSCR +Верхний левый угол экрaнa +; +MSG_OFFSET +\33bСмещение +; +MSG_NR_OF_ENTRIES +\33bЧисло видимых строк +; +MSG_MIN +Минимум: +; +MSG_MAX +Мaксимум: +; diff --git a/workbench/prefs/reqtools/catalogs/serbian.ct b/workbench/prefs/reqtools/catalogs/serbian.ct new file mode 100644 index 00000000000..028f850832a --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/serbian.ct @@ -0,0 +1,109 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language srpski +## codeset 0 +; +MSG_WINDOW_TITLE +ReqTools preference +; +MSG_GENERAL +Opte +; +MSG_FILEREQUESTER +Fajl upitnik +; +MSG_SIZE +Veliina (% vidljive visine): +; +MSG_OK +Ok +; +MSG_POPSCREEN +Izbaci skrin napred +; +MSG_IMMEDIATESORT +Trenutno sortiranje +; +MSG_DRAWERSFIRST +Direktorijumi prvo +; +MSG_DRAWERSMIXED +Pomeano +; +MSG_LED +LED pri isitavanju +; +MSG_DEFAULTFONT +Standardni font +; +MSG_FKEYS +Funkcijski tasteri +; +MSG_DOWHEEL +Color wheel: +; +MSG_WHEEL_NONE +Nema +; +MSG_WHEEL_SIMPLE +Prost +; +MSG_WHEEL_FANCY +Luksuzan +; +MSG_MMB_PARENT +SDM daje prethodni +; +MSG_DEFAULTS +Ugraeno +; +MSG_REQUESTER +\33bUpitnik: +; +MSG_FILEREQ +Fajl +; +MSG_FONTREQ +Font +; +MSG_PALETTEREQ +Boje +; +MSG_SCRMODEREQ +Skrinmod +; +MSG_VOLUMEREQ +Disk +; +MSG_OTHERREQ +Ostali +; +MSG_POSITION +Pozicija: +; +MSG_POINTER +Pointer +; +MSG_CENTERWIN +Na sredini prozora +; +MSG_CENTERSCR +Na sredini skrina +; +MSG_TOPLEFTWIN +Gore-levo u prozoru +; +MSG_TOPLEFTSCR +Gore-levo na skrinu +; +MSG_OFFSET +\33bPoloaj +; +MSG_NR_OF_ENTRIES +\33bBroj vidljivih linija +; +MSG_MIN +Minimum: +; +MSG_MAX +Maksimum: +; diff --git a/workbench/prefs/reqtools/catalogs/spanish.ct b/workbench/prefs/reqtools/catalogs/spanish.ct new file mode 100644 index 00000000000..60fce61a792 --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/spanish.ct @@ -0,0 +1,94 @@ +## version $VER: ReqTools.catalog 3.0 (30.6.2017) +## language español +## codeset 0 +; +MSG_WINDOW_TITLE +Preferencias de ~ReqTools~ +; +MSG_GENERAL +General +; +MSG_FILEREQUESTER +Requerimiento de ficheros +; +MSG_SIZE +Tamaño +; +MSG_OK +Ok +; +MSG_POPSCREEN +Llevar pantalla al frente +; +MSG_IMMEDIATESORT +Ordenación inmediata +; +MSG_DRAWERSFIRST +Mostrar primero cajones +; +MSG_DRAWERSMIXED +Mezclar ficheros/cajones +; +MSG_LED +LED +; +MSG_DEFAULTFONT +Texto sistema por defecto +; +MSG_FKEYS +Use function keys +; +MSG_DEFAULTS +Valores +; +MSG_REQUESTER +\33bRequerimiento: +; +MSG_FILEREQ +Ficheros +; +MSG_FONTREQ +Fuentes +; +MSG_PALETTEREQ +Paleta +; +MSG_SCRMODEREQ +Modo de pantalla +; +MSG_VOLUMEREQ +Volumen +; +MSG_OTHERREQ +Otros +; +MSG_POSITION +Posición: +; +MSG_POINTER +Puntero de ratón +; +MSG_CENTERWIN +Centrar en la ventana +; +MSG_CENTERSCR +Centrar en la pantalla +; +MSG_TOPLEFTWIN +Tope izquierdo de la ventana +; +MSG_TOPLEFTSCR +Tope izquierdo de la pantalla +; +MSG_OFFSET +\33bDesplaz. +; +MSG_NR_OF_ENTRIES +\33bNúmero de entradas visibles +; +MSG_MIN +Mínimo: +; +MSG_MAX +Máximo: +; diff --git a/workbench/prefs/reqtools/catalogs/swedish.ct b/workbench/prefs/reqtools/catalogs/swedish.ct new file mode 100644 index 00000000000..5b34b84e96d --- /dev/null +++ b/workbench/prefs/reqtools/catalogs/swedish.ct @@ -0,0 +1,110 @@ +## version $VER: ReqTools.catalog 3.1 (30.6.2017) +## language svenska +## codeset 0 +; +MSG_WINDOW_TITLE +ReqToolsinställningar +; +MSG_GENERAL +Diverse +; +MSG_FILEREQUESTER +Filväljare +; +MSG_SIZE +Storlek (% av synlig höjd): +; +MSG_OK +Ok +; +; +MSG_POPSCREEN +Flytta fram skärm +; +MSG_IMMEDIATESORT +Sortera omedelbart +; +MSG_DRAWERSFIRST +Visa lådor först +; +MSG_DRAWERSMIXED +Blanda filer och lådor +; +MSG_LED +LED +; +MSG_DEFAULTFONT +Systemteckensnitt +; +MSG_FKEYS +Använd f-tangenter +; +; Hrm. Inte så bra kanske.. ;) +MSG_DOWHEEL +Färghjul: +; +MSG_WHEEL_NONE +Ingen +; +MSG_WHEEL_SIMPLE +Enkelt +; +MSG_WHEEL_FANCY +Fint +; +MSG_MMB_PARENT +MMK ger moderlåda +; +MSG_DEFAULTS +Förinställt +; +MSG_REQUESTER +\33bDialog: +; +MSG_FILEREQ +Fil +; +MSG_FONTREQ +Teckensnitts +; +MSG_PALETTEREQ +Färginst +; +MSG_SCRMODEREQ +Skärmlägesinst +; +MSG_VOLUMEREQ +Volym +; +MSG_OTHERREQ +Andra +; +MSG_POSITION +Läge: +; +MSG_POINTER +Muspekare +; +MSG_CENTERWIN +Centrerad i fönstret +; +MSG_CENTERSCR +Centrerat på skärmen +; +MSG_TOPLEFTWIN +Övre vänster hörn i fönster +; +MSG_TOPLEFTSCR +Övre vänster hörn på skärm +; +MSG_OFFSET +\33bOffset +; +MSG_NR_OF_ENTRIES +\33bAntal synliga poster +; +MSG_MIN +Minimum: +; +MSG_MAX +Maximum: diff --git a/workbench/prefs/screenmode/catalogs b/workbench/prefs/screenmode/catalogs deleted file mode 160000 index 313110fe540..00000000000 --- a/workbench/prefs/screenmode/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 313110fe540d41aebf92646316ae6b3db9115e11 diff --git a/workbench/prefs/screenmode/catalogs/.gitattributes b/workbench/prefs/screenmode/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/screenmode/catalogs/croatian.ct b/workbench/prefs/screenmode/catalogs/croatian.ct new file mode 100644 index 00000000000..9dcf1d01901 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/croatian.ct @@ -0,0 +1,33 @@ +## version $VER: screenmode.catalog 1.1 (23.12.2009) +## language hrvatski +## codeset 0 +; +; +MSG_NAME +Postavke Zaslona +; ScreenMode Preferences +; +MSG_WIDTH +\33lŠirina +; \33lWidth: +; +MSG_DEFAULT +\33l_default +; \33l_default +; +MSG_HEIGHT +\33lVisina +; \33lHeight: +; +MSG_DEPTH +\33lDubina +; \33lDepth: +; +MSG_AUTOSCROLL +\33lAuto-pomicanje +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Mod Zaslona +; Display Mode +; diff --git a/workbench/prefs/screenmode/catalogs/czech.ct b/workbench/prefs/screenmode/catalogs/czech.ct new file mode 100644 index 00000000000..19ddcbacc3e --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/czech.ct @@ -0,0 +1,61 @@ +## version $VER: Screenmode.catalog 2.0 (27.3.2016) +## language czech +## codeset 5 +; +; +MSG_NAME +Zobrazení (editor Screenmode) +; ScreenMode Preferences +; +MSG_WIDTH +\33lŠířka: +; \33lWidth: +; +MSG_DEFAULT +\33l_Výchozí +; \33l_default +; +MSG_HEIGHT +\33lVýška: +; \33lHeight: +; +MSG_DEPTH +\33lHloubka: +; \33lDepth: +; +MSG_AUTOSCROLL +\33lRolování +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Seznam zobrazovacích módů +; Display Mode +; +MSG_MODE_ID +Identifikátor +; Mode ID +; +MSG_DESCRIPTION +Popis +; Description +; +MSG_MODE_ATTRIBUTES +Informace o módu +; Mode Attributes +; +MSG_VISIBLE_SIZE +Viditelná velikost: +; Visible Size: +; +MSG_MINIMUM_SIZE +Minimální velikost: +; Minimum Size: +; +MSG_MAXIMUM_SIZE +Maximální velikost: +; Maximum Size: +; +MSG_MAXIMUM_COLORS +Maximální počet barev: +; Maximum Colors: +; diff --git a/workbench/prefs/screenmode/catalogs/danish.ct b/workbench/prefs/screenmode/catalogs/danish.ct new file mode 100644 index 00000000000..d37b7a7efbd --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/danish.ct @@ -0,0 +1,42 @@ +## version $VER: screenmode.catalog 1.0 (22.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkilds +; +MSG_NAME +Skrmindstillinger +; ScreenMode Preferences +; +MSG_WIDTH +\33lBredde: +; \33lWidth: +; +MSG_DEFAULT +\33l_standard +; \33l_default +; +MSG_HEIGHT +\33lHjde: +; \33lHeight: +; +MSG_DEPTH +\33lDybde: +; \33lDepth: +; +MSG_AUTOSCROLL +\33lAutorulning +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Skrmtilstand +; Display Mode +; +MSG_MODE_ID +Tilstands-ID +; Mode ID +; +MSG_DESCRIPTION +Beskrivelse +; Description +; diff --git a/workbench/prefs/screenmode/catalogs/finnish.ct b/workbench/prefs/screenmode/catalogs/finnish.ct new file mode 100644 index 00000000000..e11276344d3 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/finnish.ct @@ -0,0 +1,23 @@ +## version $VER: ScreenMode.catalog 1.0 (27.01.2005) +## language suomi +## codeset 0 +; +; +MSG_NAME +Näyttötilan asetukset +; +MSG_WIDTH +\33lLeveys: +; +MSG_DEFAULT +\33l_oletus +; +MSG_HEIGHT +\33lKorkeus: +; +MSG_DEPTH +\33lSyvyys: +; +MSG_AUTOSCROLL +\33lAutomaattinen vieritys +; diff --git a/workbench/prefs/screenmode/catalogs/french.ct b/workbench/prefs/screenmode/catalogs/french.ct new file mode 100644 index 00000000000..701c734867e --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/french.ct @@ -0,0 +1,48 @@ +## version $VER: ScreenMode.catalog 2.0 (30.03.2016) +## language français +## codeset 0 +; +; +MSG_NAME +Préférences de l'écran +; ScreenMode Preferences +; +MSG_WIDTH +\33lLargeur : +; +MSG_DEFAULT +\33l_défaut +; +MSG_HEIGHT +\33lHauteur : +; +MSG_DEPTH +\33lProfondeur : +; +MSG_AUTOSCROLL +\33lDéfilement Auto. +; +MSG_DISPLAY_MODE +Mode d'affichage +; +MSG_MODE_ID +ID du mode +; +MSG_DESCRIPTION +Description +; +MSG_MODE_ATTRIBUTES +Attributs du mode +; +MSG_VISIBLE_SIZE +Taille visible : +; +MSG_MINIMUM_SIZE +Taille minimum : +; +MSG_MAXIMUM_SIZE +Taille maximum : +; +MSG_MAXIMUM_COLORS +Nombre max de Couleurs: +; \ No newline at end of file diff --git a/workbench/prefs/screenmode/catalogs/german.ct b/workbench/prefs/screenmode/catalogs/german.ct new file mode 100644 index 00000000000..3dda2674709 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/german.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenMode.catalog 2.1 (02.01.2020) +## language deutsch +## codeset 0 +; +; +MSG_NAME +Bildschirm-Einstellungen (ScreenMode) +; ScreenMode Preferences +; +MSG_WIDTH +\33lBreite : +; \33lWidth: +; +MSG_DEFAULT +\33l_Standard Vorgaben +; \33l_default +; +MSG_HEIGHT +\33lHöhe: +; \33lHeight: +; +MSG_DEPTH +\33lTiefe: +; \33lDepth: +; +MSG_AUTOSCROLL +\33lAutomatisches Rollen +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Anzeigemodus +; Display Mode +; +MSG_MODE_ID +Moduskennung +; Mode ID +; +MSG_DESCRIPTION +Beschreibung +; Description +; +MSG_MODE_ATTRIBUTES +Eigenschaften +; Mode Attributes +; +MSG_VISIBLE_SIZE +Sichtbare Größe +; Visible Size +; +MSG_MINIMUM_SIZE +Kleinste Größe +; Minimum Size +; +MSG_MAXIMUM_SIZE +Maximale Größe +; Maximum Size +; +MSG_MAXIMUM_COLORS +Höchste Farbanzahl +; Maximum Colors +; +MSG_FREQUENCY +Frequenz +; Frequency +; +MSG_INTERLACED +Zwischenzeilenabtastung\n +; Interlaced\n +; +MSG_WANTS_ECS +Erfordert ECS\n +; Requires ECS\n +; +MSG_DUALP +Dual Playfields +; Dual playfields\n +; +MSG_GENLOCK +Unterstützt Genlock\n +; Supports genlock\n +; +MSG_DRAGGABLE +Verschiebbar\n +; Draggable\n +; +MSG_PANELLED +Aufgeteilt für Scan-Konvertierung\n +; Panelled for scan conversion\n +; +MSG_BEAM_SYNC +Unterstützt Strahlsynchronisation\n +; Supports beam synchronization\n +; diff --git a/workbench/prefs/screenmode/catalogs/italian.ct b/workbench/prefs/screenmode/catalogs/italian.ct new file mode 100644 index 00000000000..9fc62ce5f73 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/italian.ct @@ -0,0 +1,22 @@ +## version $VER: ScreenMode.catalog 1.0 (02.02.2005) +## language italiano +## codeset 0 +; +MSG_NAME +Preferenze dello schermo +; +MSG_WIDTH +\33lLarghezza: +; +MSG_DEFAULT +\33l_Predefinito +; +MSG_HEIGHT +\33lAltezza: +; +MSG_DEPTH +\33lProfondità: +; +MSG_AUTOSCROLL +\33lScorrimento automatico +; diff --git a/workbench/prefs/screenmode/catalogs/mmakefile.src b/workbench/prefs/screenmode/catalogs/mmakefile.src new file mode 100644 index 00000000000..579b70f8bd9 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech polish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-screenmode-catalogs \ + catalogs=$(CATALOGS) \ + name=ScreenMode subdir=System/Prefs diff --git a/workbench/prefs/screenmode/catalogs/norwegian.ct b/workbench/prefs/screenmode/catalogs/norwegian.ct new file mode 100644 index 00000000000..f4d300f96c1 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/norwegian.ct @@ -0,0 +1,61 @@ +## version $VER: ScreenMode.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_NAME +Skjerminnstillinger (ScreenMode) +; ScreenMode Preferences +; +MSG_WIDTH +\33lBredde: +; \33lWidth: +; +MSG_DEFAULT +\33l_Standardverdi +; \33l_default +; +MSG_HEIGHT +\33lHyde: +; \33lHeight: +; +MSG_DEPTH +\33lFargedybde: +; \33lDepth: +; +MSG_AUTOSCROLL +\33lScroll automatisk +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Visnings modus +; Display Mode +; +MSG_MODE_ID +Modus ID +; Mode ID +; +MSG_DESCRIPTION +Beskrivelse +; Description +; +MSG_MODE_ATTRIBUTES +Attributter +; Mode Attributes +; +MSG_VISIBLE_SIZE +Synlig strrelse: +; Visible Size: +; +MSG_MINIMUM_SIZE +Minimum strrelse: +; Minimum Size: +; +MSG_MAXIMUM_SIZE +Maksimum strrelse: +; Maximum Size: +; +MSG_MAXIMUM_COLORS +Maksimum antall farger: +; Maximum Colors: +; \ No newline at end of file diff --git a/workbench/prefs/screenmode/catalogs/polish.ct b/workbench/prefs/screenmode/catalogs/polish.ct new file mode 100644 index 00000000000..43cdbfc88ec --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/polish.ct @@ -0,0 +1,92 @@ +## version $VER: screenmode.catalog 2.2 (11.01.2020) +## codeset 5 +## language polski +; +MSG_NAME +Ustawienia rozdzielczości ekranu +; ScreenMode Preferences +; +MSG_WIDTH +\33lSzerokość: +; \33lWidth: +; +MSG_DEFAULT +\33l_domyślna +; \33l_default +; +MSG_HEIGHT +\33lWysokość: +; \33lHeight: +; +MSG_DEPTH +\33lGłębia: +; \33lDepth: +; +MSG_AUTOSCROLL +\33lAuto przewijanie +; \33lAutoscroll +; +MSG_DISPLAY_MODE +Tryb wyświetlania +; Display Mode +; +MSG_MODE_ID +Identyfikator +; Mode ID +; +MSG_DESCRIPTION +Opis +; Description +; +MSG_MODE_ATTRIBUTES +Informacje o trybie +; Mode Attributes +; +MSG_VISIBLE_SIZE +Wielkość widoczna +; Visible Size +; +MSG_MINIMUM_SIZE +Wielkość minimalna +; Minimum Size +; +MSG_MAXIMUM_SIZE +Wielkość maksymalna +; Maximum Size +; +MSG_MAXIMUM_COLORS +Ilość barw +; Maximum Colors +; +MSG_FREQUENCY +Częstotliwość +; Frequency +; +MSG_INTERLACED +Z przeplotem\n +; Interlaced\n +; +MSG_WANTS_ECS +Wymaga ECS\n +; Requires ECS\n +; +MSG_DUALP +Dual Playfields +; Dual playfields\n +; +MSG_GENLOCK +Obsługuje genlock\n +; Supports genlock\n +; +MSG_DRAGGABLE +Przeciągalny\n +; Draggable\n +; +MSG_PANELLED +Dzielony dla konwersji skanów\n +; Panelled for scan conversion\n +; +MSG_BEAM_SYNC +Obsługuje synchronizację wiązki\n +; Supports beam synchronization\n +; diff --git a/workbench/prefs/screenmode/catalogs/portuguese.ct b/workbench/prefs/screenmode/catalogs/portuguese.ct new file mode 100644 index 00000000000..03f0a058156 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/portuguese.ct @@ -0,0 +1,30 @@ +## version $VER: screenmodeprefs.catalog 1.0 (29.09.2008) +## codeset 0 +## language portugus +; +; Translated by Joo Ralha +; +MSG_NAME +Preferncida do Modo de cran +;ScreenMode Preferences +; +MSG_WIDTH +\33lLargura: +;\33lWidth: +; +MSG_DEFAULT +\33l_defeito +;\33l_default +; +MSG_HEIGHT +\33lAltura: +;\33lHeight: +; +MSG_DEPTH +\33lN de Cores: +;\33lDepth: +; +MSG_AUTOSCROLL +\33lScroll automtico +;\33lAutoscroll +; diff --git a/workbench/prefs/screenmode/catalogs/russian.ct b/workbench/prefs/screenmode/catalogs/russian.ct new file mode 100644 index 00000000000..585fb51a453 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/russian.ct @@ -0,0 +1,31 @@ +## version $VER: ScreenMode.catalog 1.0 (13.05.2006) +## language russian +## codeset 2104 +; +MSG_NAME +Настройки видеорежима +; +MSG_WIDTH +\33lШирина: +; +MSG_DEFAULT +\33l_По умолчанию +; +MSG_HEIGHT +\33lВысота: +; +MSG_DEPTH +\33lГлубина: +; +MSG_AUTOSCROLL +\33lАвтопрокрутка +; +MSG_DISPLAY_MODE +Видеорежим +; +MSG_MODE_ID +ID режима +; +MSG_DESCRIPTION +Описание +; diff --git a/workbench/prefs/screenmode/catalogs/screenmode.cd b/workbench/prefs/screenmode/catalogs/screenmode.cd new file mode 100644 index 00000000000..ae16fb49e5c --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/screenmode.cd @@ -0,0 +1,67 @@ +; +MSG_NAME (//) +ScreenMode Preferences +; +MSG_WIDTH (//) +\33lWidth: +; +MSG_DEFAULT (//) +\33l_default +; +MSG_HEIGHT (//) +\33lHeight: +; +MSG_DEPTH (//) +\33lDepth: +; +MSG_AUTOSCROLL (//) +\33lAutoscroll +; +MSG_DISPLAY_MODE (//) +Display Mode +; +MSG_MODE_ID (//) +Mode ID +; +MSG_DESCRIPTION (//) +Description +; +MSG_MODE_ATTRIBUTES (//) +Mode Attributes +; +MSG_VISIBLE_SIZE (//) +Visible Size +; +MSG_MINIMUM_SIZE (//) +Minimum Size +; +MSG_MAXIMUM_SIZE (//) +Maximum Size +; +MSG_MAXIMUM_COLORS (//) +Maximum Colors +; +MSG_FREQUENCY (//) +Frequency +; +MSG_INTERLACED (//) +Interlaced\n +; +MSG_WANTS_ECS (//) +Requires ECS\n +; +MSG_DUALP (//) +Dual playfields\n +; +MSG_GENLOCK (//) +Supports genlock\n +; +MSG_DRAGGABLE (//) +Draggable\n +; +MSG_PANELLED (//) +Panelled for scan conversion\n +; +MSG_BEAM_SYNC (//) +Supports beam synchronization\n +; diff --git a/workbench/prefs/screenmode/catalogs/spanish.ct b/workbench/prefs/screenmode/catalogs/spanish.ct new file mode 100644 index 00000000000..456f69a4c54 --- /dev/null +++ b/workbench/prefs/screenmode/catalogs/spanish.ct @@ -0,0 +1,30 @@ +## version $VER: screenmodeprefs.catalog 1.0 (29.09.2007) +## codeset 0 +## language español +; +; Translated by ahg +; +MSG_NAME +Preferencias para el Modo de Pantalla +;ScreenMode Preferences +; +MSG_WIDTH +\33lAncho: +;\33lWidth: +; +MSG_DEFAULT +\33l_predeterminado +;\33l_default +; +MSG_HEIGHT +\33lAlto: +;\33lHeight: +; +MSG_DEPTH +\33lProfundidad: +;\33lDepth: +; +MSG_AUTOSCROLL +\33lDesplazamiento automático +;\33lAutoscroll +; diff --git a/workbench/prefs/serial/catalogs b/workbench/prefs/serial/catalogs deleted file mode 160000 index d882228f503..00000000000 --- a/workbench/prefs/serial/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d882228f5036ae9c90af1a00c57e2df030dfce52 diff --git a/workbench/prefs/serial/catalogs/.gitattributes b/workbench/prefs/serial/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/serial/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/serial/catalogs/croatian.ct b/workbench/prefs/serial/catalogs/croatian.ct new file mode 100644 index 00000000000..ca148608b9a --- /dev/null +++ b/workbench/prefs/serial/catalogs/croatian.ct @@ -0,0 +1,145 @@ +## version $VER: serial.catalog 1.0 (23.12.2009) +## language hrvatski +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Ne mogu zaključati javni zaslon! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Ne mogu dobiti DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Ne mogu dobiti VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Ne mogu stvoriti gadgets! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Ne mogu stvoriti izbornike! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Ne mogu stvoriti prozor! +; Can't create window! +; +MSG_WINTITLE +Postavke Serijskog Porta +; Serial Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otvori... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spremi Kao... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +MSG_MEN_EDIT +Uredi +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Resetiraj na Predložene Postavke +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Zadnje Spremljeno +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Povrat +; R\0Restore +; +MSG_MEN_SETTINGS +Opcije +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Napravi Ikone? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Učitaj Postavke Serijskog porta +; Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Spremi Postavke Serijskog porta +; Save Serial Preferences +; +MSG_OK +U redu +; Ok +; +MSG_GAD_SAVE +Spremi +; Save +; +MSG_GAD_USE +Koristi +; Use +; +MSG_GAD_CANCEL +Odustani +; Cancel +; +MSG_GAD_BAUDRATE +Baudrate +; Baudrate +; +MSG_GAD_PARITY +Parity +; Parity +; +MSG_GAD_STOPBITS +Stop Bits +; Stop Bits +; +MSG_GAD_DATABITS +Data Bits +; Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Ulazna Veličina Spremnika +; Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Izlazna Veličina Spremnika +; Output Buffer Size +; +MSG_PARITY_NONE +None +; None +; +MSG_PARITY_EVEN +Even +; Even +; +MSG_PARITY_ODD +Odd +; Odd +; +MSG_PARITY_MARK +Mark +; Mark +; +MSG_PARITY_SPACE +Space +; Space +; diff --git a/workbench/prefs/serial/catalogs/czech.ct b/workbench/prefs/serial/catalogs/czech.ct new file mode 100644 index 00000000000..5477712e3d3 --- /dev/null +++ b/workbench/prefs/serial/catalogs/czech.ct @@ -0,0 +1,145 @@ +## version $VER: serial.catalog 1.0 (23.11.2007) +## language czech +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld! +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Nelze zamknout veřejnou obrazovku! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nelze načíst strukturu DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nelze načíst strukturu VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Nelze vytvořit tlačítka! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nelze vytvořit menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nelze vytvořit okno! +; Can't create window! +; +MSG_WINTITLE +Sériový port (editor Serial) +; Serial Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otevřít... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Uložit jako... +; A\0Save as... +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +MSG_MEN_EDIT +Úpravy +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Obnovit výchozí +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Naposledy uložené +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_MEN_SETTINGS +Nastavení +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Vytvářet ikony? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Načtení nastavení +; Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Uložení nastavení +; Save Serial Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_SAVE +Uložit +; Save +; +MSG_GAD_USE +Použít +; Use +; +MSG_GAD_CANCEL +Zrušit +; Cancel +; +MSG_GAD_BAUDRATE +Rychlost: +; Baudrate +; +MSG_GAD_PARITY +Parita: +; Parity +; +MSG_GAD_STOPBITS +Počet tzv. stop bitů: +; Stop Bits +; +MSG_GAD_DATABITS +Počet datových bitů: +; Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Vstupní vyrovnávací paměť: +; Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Výstupní vyrovnávací paměť: +; Output Buffer Size +; +MSG_PARITY_NONE +--- +; None +; +MSG_PARITY_EVEN +Sudá +; Even +; +MSG_PARITY_ODD +Lichá +; Odd +; +MSG_PARITY_MARK +Značka +; Mark +; +MSG_PARITY_SPACE +Mezera +; Space +; diff --git a/workbench/prefs/serial/catalogs/french.ct b/workbench/prefs/serial/catalogs/french.ct new file mode 100644 index 00000000000..2d2f2d3f35f --- /dev/null +++ b/workbench/prefs/serial/catalogs/french.ct @@ -0,0 +1,145 @@ +## version $VER: serialprefs.catalog 1.1 (02.07.2009) +## language français +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld !\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Impossible de verrouiller l'écran public ! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Impossible d'obtenir la structure DrawInfo ! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Impossible d'obtenir la structure VisualInfo ! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Impossible de créer les gadgets ! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Impossible de créer les menus ! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Impossible de créer la fenêtre ! +; Can't create window! +; +MSG_WINTITLE +Préférences des ports séries +; Serial Preferences +; +MSG_MEN_PROJECT +Projet +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Ouvrir ... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Sauver sous ... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +; Q\0Quit +; +MSG_MEN_EDIT +Modifier +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Configuration par défaut +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Dernière sauvegarde +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Revenir à l'initial +; R\0Restore +; +MSG_MEN_SETTINGS +Préférences +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Créer des icônes ? +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Charger les préférences +; Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Sauver les préférences +; Save Serial Preferences +; +MSG_OK +Ok +; Ok +; +MSG_GAD_SAVE +Sauver +; Save +; +MSG_GAD_USE +Utiliser +; Use +; +MSG_GAD_CANCEL +Annuler +; Cancel +; +MSG_GAD_BAUDRATE +Vitesse +; Baudrate +; +MSG_GAD_PARITY +Parité +; Parity +; +MSG_GAD_STOPBITS +Bits d'arrêt +; Stop Bits +; +MSG_GAD_DATABITS +Bits de données +; Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Taille du tampon d'entrée +; Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Taille du tampon de sortie +; Output Buffer Size +; +MSG_PARITY_NONE +Sans +; None +; +MSG_PARITY_EVEN +Paire +; Even +; +MSG_PARITY_ODD +Impaire +; Odd +; +MSG_PARITY_MARK +Marquée +; Mark +; +MSG_PARITY_SPACE +Espacée +; Space +; diff --git a/workbench/prefs/serial/catalogs/german.ct b/workbench/prefs/serial/catalogs/german.ct new file mode 100644 index 00000000000..a06d961e916 --- /dev/null +++ b/workbench/prefs/serial/catalogs/german.ct @@ -0,0 +1,109 @@ +## version $VER: serialprefs.catalog 1.0 (23.02.2001) +## codeset 0 +## language deutsch +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen!\n +; +MSG_CANT_LOCK_SCR +Kann public Screen nicht locken! +; +MSG_CANT_GET_DRI +Kann DrawInfo nicht ermitteln! +; +MSG_CANT_GET_VI +Kann VisualInfo nicht ermitteln! +; +MSG_CANT_CREATE_GADGET +Kann Gadgets nicht erzeugen! +; +MSG_CANT_CREATE_MENUS +Kann Menus nicht erzeugen! +; +MSG_CANT_CREATE_WIN +Kann Fenster nicht erzeugen! +; +MSG_WINTITLE +Serielle-Schnittstelle-Einstellungen (Serial) +; +MSG_MEN_PROJECT +Projekt +; +MSG_MEN_PROJECT_OPEN +O\0Öffnen ... +; +MSG_MEN_PROJECT_SAVEAS +A\0Speichern als ... +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; +MSG_MEN_EDIT +Vorgaben +; +MSG_MEN_EDIT_DEFAULT +D\0Auf Vorgaben zurücksetzen +; +MSG_MEN_EDIT_LASTSAVED +L\0Auf zuletzt gespeichertes +; +MSG_MEN_EDIT_RESTORE +R\0Auf vorherigen Stand +; +MSG_MEN_SETTINGS +Einstellungen +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Piktogramme erzeugen? +; +MSG_ASL_OPEN_TITLE +Laden Seriell-Vorgaben +; +MSG_ASL_SAVE_TITLE +Speichern Seriell-Vorgaben +; +MSG_OK +Ok +; +MSG_GAD_SAVE +Speichern +; +MSG_GAD_USE +Benutzen +; +MSG_GAD_CANCEL +Abbrechen +; +MSG_GAD_BAUDRATE +Baudrate +; +MSG_GAD_PARITY +Parität +; +MSG_GAD_STOPBITS +Stopbits +; +MSG_GAD_DATABITS +Datenbits +; +MSG_GAD_INPUTBUFFERSIZE +Eingabepuffergröße +; +MSG_GAD_OUTPUTBUFFERSIZE +Ausgabepuffergröße +; +MSG_PARITY_NONE +Keine +; +MSG_PARITY_EVEN +Gerade +; +MSG_PARITY_ODD +Ungerade +; +MSG_PARITY_MARK +Mark +; +MSG_PARITY_SPACE +Space +; diff --git a/workbench/prefs/serial/catalogs/italian.ct b/workbench/prefs/serial/catalogs/italian.ct new file mode 100644 index 00000000000..fe1c8046609 --- /dev/null +++ b/workbench/prefs/serial/catalogs/italian.ct @@ -0,0 +1,111 @@ +## version $VER: serialprefs.catalog 1.0 (23.02.2001) +## codeset 0 +## language français +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld !\n +; +MSG_CANT_LOCK_SCR +Impossibile accedere allo schermo pubblico! +; +MSG_CANT_GET_DRI +Impossibile aprire la struttura DrawInfo! +; +MSG_CANT_GET_VI +Impossibile aprire la struttura VisualInfo! +; +MSG_CANT_CREATE_GADGET +Impossibile creare i gadget! +; +MSG_CANT_CREATE_MENUS +Impossibile creare i menu! +; +MSG_CANT_CREATE_WIN +Impossibile creare la finestra! +; +MSG_WINTITLE +Preferenze della porta Seriale +; +MSG_MEN_PROJECT +Progetto +; +MSG_MEN_PROJECT_OPEN +O\0Apri... +; +MSG_MEN_PROJECT_SAVEAS +A\0Salva come... +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +; +MSG_MEN_EDIT +Modifica +; +MSG_MEN_EDIT_DEFAULT +D\0Ripristina valori di default +; +MSG_MEN_EDIT_LASTSAVED +L\0Ultima versione salvata +; +MSG_MEN_EDIT_RESTORE +R\0Ripristina +; +MSG_MEN_SETTINGS +Preferenze +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Creare icone? +; +MSG_ASL_OPEN_TITLE +Modifica preferenze +; +MSG_ASL_SAVE_TITLE +Salva preferenze +; +MSG_OK +Ok +; +MSG_GAD_SAVE +Salva +; +MSG_GAD_USE +Usa +; +MSG_GAD_CANCEL +Annulla +; +; +MSG_GAD_BAUDRATE +Velocità +; +MSG_GAD_PARITY +Controllo parità +; +MSG_GAD_STOPBITS +Bit di stop +; +MSG_GAD_DATABITS +Bit dei dati +; +; +MSG_GAD_INPUTBUFFERSIZE +Dimensioni buffer d'ingresso +; +MSG_GAD_OUTPUTBUFFERSIZE +Dimensioni buffer d'uscita +; +MSG_PARITY_NONE +Nessuno +; +MSG_PARITY_EVEN +Pari +; +MSG_PARITY_ODD +Dispari +; +MSG_PARITY_MARK +Marcatore +; +MSG_PARITY_SPACE +Spazio +; diff --git a/workbench/prefs/serial/catalogs/mmakefile.src b/workbench/prefs/serial/catalogs/mmakefile.src new file mode 100644 index 00000000000..81e474ccdf3 --- /dev/null +++ b/workbench/prefs/serial/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech french german italian polish portuguese russian spanish swedish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-prefs-serial-catalogs \ + catalogs=$(CATALOGS) \ + name=Serial subdir=System/Prefs diff --git a/workbench/prefs/serial/catalogs/norwegian.ct b/workbench/prefs/serial/catalogs/norwegian.ct new file mode 100644 index 00000000000..e44f9960f6e --- /dev/null +++ b/workbench/prefs/serial/catalogs/norwegian.ct @@ -0,0 +1,109 @@ +## version $VER: serialprefs.catalog 1.0 (20.05.2019) +## codeset 0 +## language norwegian +; +MSG_CANT_OPEN_LIB +Klarte ikke pne %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Klarte ikke lse den offentlige skjermen! +; +MSG_CANT_GET_DRI +Klarte ikke lese DrawInfo! +; +MSG_CANT_GET_VI +Klarte ikke lese VisualInfo! +; +MSG_CANT_CREATE_GADGET +Klarte ikke opprette knapper! +; +MSG_CANT_CREATE_MENUS +Klarte ikke opprette menyer! +; +MSG_CANT_CREATE_WIN +Klarte ikke opprette vindu! +; +MSG_WINTITLE +Serieportsinnstillinger +; +MSG_MEN_PROJECT +Prosjekt +; +MSG_MEN_PROJECT_OPEN +O\0pne ... +; +MSG_MEN_PROJECT_SAVEAS +A\0Large som ... +; +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; +MSG_MEN_EDIT +Rediger +; +MSG_MEN_EDIT_DEFAULT +D\0Standardverdier +; +MSG_MEN_EDIT_LASTSAVED +L\0Sist lagret +; +MSG_MEN_EDIT_RESTORE +R\0Tilbakestill +; +MSG_MEN_SETTINGS +Innstillinger +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Opprette symboler? +; +MSG_ASL_OPEN_TITLE +Last inn serieportsinnstillinger +; +MSG_ASL_SAVE_TITLE +Lagre serieportsinnstillinger +; +MSG_OK +Ok +; +MSG_GAD_SAVE +Lagre +; +MSG_GAD_USE +Bruk +; +MSG_GAD_CANCEL +Avbryt +; +MSG_GAD_BAUDRATE +Baudrate +; +MSG_GAD_PARITY +Paritet +; +MSG_GAD_STOPBITS +Stopbits +; +MSG_GAD_DATABITS +Databits +; +MSG_GAD_INPUTBUFFERSIZE +Innbufferstrrelse +; +MSG_GAD_OUTPUTBUFFERSIZE +Utbufferstrrelse +; +MSG_PARITY_NONE +Ingen +; +MSG_PARITY_EVEN +Partal +; +MSG_PARITY_ODD +Oddetal +; +MSG_PARITY_MARK +Bit p +; +MSG_PARITY_SPACE +Bit av +; \ No newline at end of file diff --git a/workbench/prefs/serial/catalogs/polish.ct b/workbench/prefs/serial/catalogs/polish.ct new file mode 100644 index 00000000000..80f8187f24c --- /dev/null +++ b/workbench/prefs/serial/catalogs/polish.ct @@ -0,0 +1,144 @@ +## version $VER: serial.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +Nie można przydzielić ekranu publicznego! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nie można pobrać DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nie można pobrać VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +Nie można utworzyć gadżetów! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nie można utworzyć menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nie można utworzyć okna! +; Can't create window! +; +MSG_WINTITLE +Ustawienia portu szeregowego +; Serial Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otwórz... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Zapisz jako... +; A\0Save As... +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_MEN_EDIT +Edycja +; Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Przywróć domyślne ustawienia +; D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Ostatnio zapisane +; L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Odtwórz +; R\0Restore +; +MSG_MEN_SETTINGS +Ustawienia +; Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Twórz ikony +; I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Wczytaj ustawienia +; Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Zapisz ustawienia +; Save Serial Preferences +; +MSG_OK +OK +; Ok +; +MSG_GAD_SAVE +Zapisz +; Save +; +MSG_GAD_USE +Użyj +; Use +; +MSG_GAD_CANCEL +Poniechaj +; Cancel +; +MSG_GAD_BAUDRATE +Prędkość transmisji +; Baudrate +; +MSG_GAD_PARITY +Parzystość +; Parity +; +MSG_GAD_STOPBITS +Bity stopu +; Stop Bits +; +MSG_GAD_DATABITS +Bity danych +; Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Wielkość bufora wejścia +; Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Wielkość bufora wyjścia +; Output Buffer Size +; +MSG_PARITY_NONE +brak +; None +; +MSG_PARITY_EVEN +parzyste +; Even +; +MSG_PARITY_ODD +nieparzyste +; Odd +; +MSG_PARITY_MARK +znacznik +; Mark +; +MSG_PARITY_SPACE +odstęp +; Space +; diff --git a/workbench/prefs/serial/catalogs/portuguese.ct b/workbench/prefs/serial/catalogs/portuguese.ct new file mode 100644 index 00000000000..b038644b8d4 --- /dev/null +++ b/workbench/prefs/serial/catalogs/portuguese.ct @@ -0,0 +1,148 @@ +## version $VER: Serialpref.catalog 1.0 (02.10.2008) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha +; +MSG_CANT_OPEN_LIB +No foi possvel abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +No foi possvel bloquear cran pblico! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +No foi possvel obter DrawInfo! +; +MSG_CANT_GET_VI +No foi possvel obter VisualInfo! +; +MSG_CANT_CREATE_GADGET +No foi possvel criar os botes! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +No foi possvel criar os menus! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +No foi possvel criar a janela! +;Can't create window! +; +MSG_WINTITLE +Preferncias da Porta Srie +;Serial Preferences +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Sair +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Valores defeito +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Valores prvios +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraes +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Criar icones? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +carregar as Preferencias da porta srie +;Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Guardar as Preferencias da porta srie +;Save Serial Preferences +; +MSG_OK +Aceitar +;Ok +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Usar +;Use +; +MSG_GAD_CANCEL +Cancelar +;Cancel +; +MSG_GAD_BAUDRATE +Taxa de Baud +;Baudrate +; +MSG_GAD_PARITY +Paridade +;Parity +; +MSG_GAD_STOPBITS +Bits de paragem +;Stop Bits +; +MSG_GAD_DATABITS +Bits de dados +;Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Tamanho do buffer de entrada +;Dimensioni buffer d'ingresso +;Taille du tampon d'entre +;Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Tamanho do buffer de sada +;Dimensioni buffer d'uscita +;Taille du tampon de sorti +;Output Buffer Size +; +MSG_PARITY_NONE +Nenhum +;None +; +MSG_PARITY_EVEN +Par +;Even +; +MSG_PARITY_ODD +mpar +;Odd +; +MSG_PARITY_MARK +Marca +;Mark +; +MSG_PARITY_SPACE +Espao +;Space +; diff --git a/workbench/prefs/serial/catalogs/russian.ct b/workbench/prefs/serial/catalogs/russian.ct new file mode 100644 index 00000000000..26bd0666000 --- /dev/null +++ b/workbench/prefs/serial/catalogs/russian.ct @@ -0,0 +1,111 @@ +## version $VER: serialprefs.catalog 1.0 (12.08.2006) +## codeset 2104 +## language russian +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld !\n +; +MSG_CANT_LOCK_SCR +Не могу занять общий дисплей! +; +MSG_CANT_GET_DRI +Не могу получить DrawInfo! +; +MSG_CANT_GET_VI +Не могу получить VisualInfo! +; +MSG_CANT_CREATE_GADGET +Не могу создать гр. элемент! +; +MSG_CANT_CREATE_MENUS +Ошибка создания меню! +; +MSG_CANT_CREATE_WIN +Не могу создать окно! +; +MSG_WINTITLE +Настройки последовательного порта +; +MSG_MEN_PROJECT +Проект +; +MSG_MEN_PROJECT_OPEN +О\0Открыть... +; +MSG_MEN_PROJECT_SAVEAS +С\0SСохранить как... +; +MSG_MEN_PROJECT_QUIT +В\0Выход +; +MSG_MEN_EDIT +Правка +; +MSG_MEN_EDIT_DEFAULT +Н\0Сброс настроек +; +MSG_MEN_EDIT_LASTSAVED +П\0Последние сохраненные +; +MSG_MEN_EDIT_RESTORE +Т\0ВоссТановить +; +MSG_MEN_SETTINGS +Настройки +; +MSG_MEN_SETTINGS_CREATEICONS +И\0Создать Иконки? +; +MSG_ASL_OPEN_TITLE +Загрузить настойки +; +MSG_ASL_SAVE_TITLE +Сохранить настройки +; +MSG_OK +Ok +; +MSG_GAD_SAVE +Сохранить +; +MSG_GAD_USE +Применить +; +MSG_GAD_CANCEL +Отменить +; +; +MSG_GAD_BAUDRATE +Скорость порта +; +MSG_GAD_PARITY +Контроль четности +; +MSG_GAD_STOPBITS +Стоп-биты +; +MSG_GAD_DATABITS +Биты данных +; +; +MSG_GAD_INPUTBUFFERSIZE +Размер приемного буфера +; +MSG_GAD_OUTPUTBUFFERSIZE +Размер буфера передачи +; +MSG_PARITY_NONE +Нет +; +MSG_PARITY_EVEN +Чёт(Even) +; +MSG_PARITY_ODD +Нечет(Odd) +; +MSG_PARITY_MARK +Метка +; +MSG_PARITY_SPACE +Пробел +; diff --git a/workbench/prefs/serial/catalogs/serial.cd b/workbench/prefs/serial/catalogs/serial.cd new file mode 100644 index 00000000000..80e9b88979f --- /dev/null +++ b/workbench/prefs/serial/catalogs/serial.cd @@ -0,0 +1,106 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR (//) +Can't lock public screen! +; +MSG_CANT_GET_DRI (//) +Can't get DrawInfo! +; +MSG_CANT_GET_VI (//) +Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET (//) +Can't create gadgets! +; +MSG_CANT_CREATE_MENUS (//) +Can't create menus! +; +MSG_CANT_CREATE_WIN (//) +Can't create window! +; +MSG_WINTITLE (//) +Serial Preferences +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_OPEN (//) +O\0Open... +; +MSG_MEN_PROJECT_SAVEAS (//) +A\0Save As... +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +MSG_MEN_EDIT (//) +Edit +; +MSG_MEN_EDIT_DEFAULT (//) +D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED (//) +L\0Last Saved +; +MSG_MEN_EDIT_RESTORE (//) +R\0Restore +; +MSG_MEN_SETTINGS (//) +Settings +; +MSG_MEN_SETTINGS_CREATEICONS (//) +I\0Create Icons? +; +MSG_ASL_OPEN_TITLE (//) +Load Serial Preferences +; +MSG_ASL_SAVE_TITLE (//) +Save Serial Preferences +; +MSG_OK (//) +Ok +; +MSG_GAD_SAVE (//) +Save +; +MSG_GAD_USE (//) +Use +; +MSG_GAD_CANCEL (//) +Cancel +; +MSG_GAD_BAUDRATE (//) +Baudrate +; +MSG_GAD_PARITY (//) +Parity +; +MSG_GAD_STOPBITS (//) +Stop Bits +; +MSG_GAD_DATABITS (//) +Data Bits +; +MSG_GAD_INPUTBUFFERSIZE (//) +Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE (//) +Output Buffer Size +; +MSG_PARITY_NONE (//) +None +; +MSG_PARITY_EVEN (//) +Even +; +MSG_PARITY_ODD (//) +Odd +; +MSG_PARITY_MARK (//) +Mark +; +MSG_PARITY_SPACE (//) +Space +; diff --git a/workbench/prefs/serial/catalogs/spanish.ct b/workbench/prefs/serial/catalogs/spanish.ct new file mode 100644 index 00000000000..ab5b761c4a5 --- /dev/null +++ b/workbench/prefs/serial/catalogs/spanish.ct @@ -0,0 +1,148 @@ +## version $VER: Serialpref.catalog 1.0 (02.10.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_CANT_OPEN_LIB +¡Imposible abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_LOCK_SCR +¡Imposible abrir la pantalla pública! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Can't get DrawInfo! +; +MSG_CANT_GET_VI +Can't get VisualInfo! +; +MSG_CANT_CREATE_GADGET +¡No se pueden crear los gadgets! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +¡No se pueden crear los menús! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +¡No se puede crear la ventana! +;Can't create window! +; +MSG_WINTITLE +Preferencias para el Puerto Serie +;Serial Preferences +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save As... +; +MSG_MEN_PROJECT_QUIT +S\0Salir +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_DEFAULT +D\0Valores de fábrica +;D\0Reset to Defaults +; +MSG_MEN_EDIT_LASTSAVED +L\0Valores previos +;L\0Last Saved +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_MEN_SETTINGS +Configuraciones +;Settings +; +MSG_MEN_SETTINGS_CREATEICONS +I\0¿Crear íconos? +;I\0Create Icons? +; +MSG_ASL_OPEN_TITLE +Cargar las Preferencias para el puerto serie +;Load Serial Preferences +; +MSG_ASL_SAVE_TITLE +Guardar las Preferencias para el puerto serie +;Save Serial Preferences +; +MSG_OK +Aceptar +;Ok +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Usar +;Use +; +MSG_GAD_CANCEL +Cancel +;Cancel +; +MSG_GAD_BAUDRATE +Baudios +;Baudrate +; +MSG_GAD_PARITY +Paridad +;Parity +; +MSG_GAD_STOPBITS +Bits de parada +;Stop Bits +; +MSG_GAD_DATABITS +Bits de datos +;Data Bits +; +MSG_GAD_INPUTBUFFERSIZE +Tamaño del búfer de entrada +;Dimensioni buffer d'ingresso +;Taille du tampon d'entrée +;Input Buffer Size +; +MSG_GAD_OUTPUTBUFFERSIZE +Tamaño del búfer de salida +;Dimensioni buffer d'uscita +;Taille du tampon de sorti +;Output Buffer Size +; +MSG_PARITY_NONE +Ninguna +;None +; +MSG_PARITY_EVEN +Par +;Even +; +MSG_PARITY_ODD +Impar +;Odd +; +MSG_PARITY_MARK +Marca +;Mark +; +MSG_PARITY_SPACE +Espacio +;Space +; diff --git a/workbench/prefs/serial/catalogs/swedish.ct b/workbench/prefs/serial/catalogs/swedish.ct new file mode 100644 index 00000000000..d089c7b36f8 --- /dev/null +++ b/workbench/prefs/serial/catalogs/swedish.ct @@ -0,0 +1,109 @@ +## version $VER: serialprefs.catalog 1.0 (22.09.2001) +## codeset 0 +## language svenska +; +MSG_CANT_OPEN_LIB +Kan inte öppna %s v%ld!\n +; +MSG_CANT_LOCK_SCR +Kan inte låsa publik skärm! +; +MSG_CANT_GET_DRI +Kan inte läsa DrawInfo! +; +MSG_CANT_GET_VI +Kan inte läsa VisualInfo! +; +MSG_CANT_CREATE_GADGET +Kan inte skapa knappar! +; +MSG_CANT_CREATE_MENUS +Kan inte skapa menyer! +; +MSG_CANT_CREATE_WIN +Kan inte skapa fönster! +; +MSG_WINTITLE +Serieportsinställningar +; +MSG_MEN_PROJECT +Projekt +; +MSG_MEN_PROJECT_OPEN +O\0Öppna... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spara som... +; +MSG_MEN_PROJECT_QUIT +Q\0Avsluta +; +MSG_MEN_EDIT +Redigera +; +MSG_MEN_EDIT_DEFAULT +F\0Förinställda värden +; +MSG_MEN_EDIT_LASTSAVED +E\0Senast sparade +; +MSG_MEN_EDIT_RESTORE +Å\0Återställ +; +MSG_MEN_SETTINGS +Inställningar +; +MSG_MEN_SETTINGS_CREATEICONS +I\0Skapa symboler? +; +MSG_ASL_OPEN_TITLE +Ladda serieportsinställningar +; +MSG_ASL_SAVE_TITLE +Spara serieportsinställningar +; +MSG_OK +Ok +; +MSG_GAD_SAVE +Spara +; +MSG_GAD_USE +Använd +; +MSG_GAD_CANCEL +Avbryt +; +MSG_GAD_BAUDRATE +Hastighet (baud) +; +MSG_GAD_PARITY +Paritet +; +MSG_GAD_STOPBITS +Stoppbitar +; +MSG_GAD_DATABITS +Databitar +; +MSG_GAD_INPUTBUFFERSIZE +Inbuffertstorlek +; +MSG_GAD_OUTPUTBUFFERSIZE +Utbuffertstorlek +; +MSG_PARITY_NONE +Ingen +; +MSG_PARITY_EVEN +Jämn +; +MSG_PARITY_ODD +Udda +; +MSG_PARITY_MARK +Bit på +; +MSG_PARITY_SPACE +Bit av +; diff --git a/workbench/prefs/time/catalogs b/workbench/prefs/time/catalogs deleted file mode 160000 index 9dcc08ae03f..00000000000 --- a/workbench/prefs/time/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9dcc08ae03f7356e83d81c97b32240d83b46222b diff --git a/workbench/prefs/time/catalogs/.gitattributes b/workbench/prefs/time/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/time/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/time/catalogs/croatian.ct b/workbench/prefs/time/catalogs/croatian.ct new file mode 100644 index 00000000000..5d5cead8dee --- /dev/null +++ b/workbench/prefs/time/catalogs/croatian.ct @@ -0,0 +1,49 @@ +## version $VER: time.catalog 1.0 (23.12.2009) +## language hrvatski +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Ne mogu stvoriti objekt aplikacije! +; Can't create application object! +; +MSG_WINTITLE +Postavke Vremena +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +MSG_MEN_EDIT +Uredi +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Povrat +; R\0Restore +; +MSG_OK +U redu +; Ok +; +MSG_GAD_SAVE +Spremi +; Save +; +MSG_GAD_USE +Koristi +; Use +; +MSG_GAD_CANCEL +Odustani +; Cancel +; diff --git a/workbench/prefs/time/catalogs/czech.ct b/workbench/prefs/time/catalogs/czech.ct new file mode 100644 index 00000000000..c9721136d14 --- /dev/null +++ b/workbench/prefs/time/catalogs/czech.ct @@ -0,0 +1,49 @@ +## version $VER: time.catalog 1.0 (21.11.2007) +## language czech +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Nelze vytvořit objekt application! +; Can't create application object! +; +MSG_WINTITLE +Datum a čas (editor Time) +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +MSG_MEN_EDIT +Úpravy +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Obnovit předchozí +; R\0Restore +; +MSG_OK +OK +; Ok +; +MSG_GAD_SAVE +Uložit +; Save +; +MSG_GAD_USE +Použít +; Use +; +MSG_GAD_CANCEL +Zrušit +; Cancel +; diff --git a/workbench/prefs/time/catalogs/danish.ct b/workbench/prefs/time/catalogs/danish.ct new file mode 100644 index 00000000000..1b94fa946a8 --- /dev/null +++ b/workbench/prefs/time/catalogs/danish.ct @@ -0,0 +1,50 @@ +## version $VER: time.catalog 1.0 (16.07.2010) +## language dansk +## codeset 0 +; +; Initial translation by Kristian Poul Herkild +; +MSG_CANT_OPEN_LIB +Kan ikke bne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Kan ikke oprette programobjekt! +; Can't create application object! +; +MSG_WINTITLE +Tidsindstillinger +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Afslut +; Q\0Quit +; +MSG_MEN_EDIT +Redigr +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Genskab +; R\0Restore +; +MSG_OK +O.k. +; Ok +; +MSG_GAD_SAVE +Gem +; Save +; +MSG_GAD_USE +Brug +; Use +; +MSG_GAD_CANCEL +Afbryd +; Cancel +; diff --git a/workbench/prefs/time/catalogs/finnish.ct b/workbench/prefs/time/catalogs/finnish.ct new file mode 100644 index 00000000000..e6d01b3df73 --- /dev/null +++ b/workbench/prefs/time/catalogs/finnish.ct @@ -0,0 +1,48 @@ +## version $VER: timeprefs.catalog 1.0 (02.02.2005) +## codeset 0 +## language suomi +; +MSG_CANT_OPEN_LIB +En voi avata %s v%ld\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +En voi luoda ohjelmaobjektia! +; Can't create application object! +; +MSG_WINTITLE +Aika-asetukset +; Time Preferences +; +MSG_MEN_PROJECT +Projekti +; Project +; +MSG_MEN_PROJECT_QUIT +K\0Lopeta +; Q\0Quit +; +MSG_MEN_EDIT +Muokkaus +; Edit +; +MSG_MEN_EDIT_RESTORE +V\0Palauta +; R\0Restore +; +MSG_OK +Selvä +; Ok +; +MSG_GAD_SAVE +Tallenna +; Save +; +MSG_GAD_USE +Käytä +; Use +; +MSG_GAD_CANCEL +Peru +; Cancel +; diff --git a/workbench/prefs/time/catalogs/french.ct b/workbench/prefs/time/catalogs/french.ct new file mode 100644 index 00000000000..64ce0114b63 --- /dev/null +++ b/workbench/prefs/time/catalogs/french.ct @@ -0,0 +1,49 @@ +## version $VER: timeprefs.catalog 1.0 (02.07.2009) +## codeset 0 +## language français +; +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld !\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Impossible de créer l'application ! +;Can't create application object! +; +MSG_WINTITLE +Préférences de l'horloge +;Time Preferences +; +MSG_MEN_PROJECT +Projet +;Project +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +;Q\0Quit +; +MSG_MEN_EDIT +Modifier +;Edit +; +MSG_MEN_EDIT_RESTORE +R\0Revenir à l'initial +;R\0Restore +; +MSG_OK +Ok +;Ok +; +MSG_GAD_SAVE +_Sauver +;Save +; +MSG_GAD_USE +_Utiliser +;Use +; +MSG_GAD_CANCEL +A_nnuler +;Cancel +; diff --git a/workbench/prefs/time/catalogs/german.ct b/workbench/prefs/time/catalogs/german.ct new file mode 100644 index 00000000000..371ee167c79 --- /dev/null +++ b/workbench/prefs/time/catalogs/german.ct @@ -0,0 +1,48 @@ +## version $VER: timeprefs.catalog 1.0 (18.11.2002) +## codeset 0 +## language deutsch +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Kann Applikations-Objekt nicht erzeugen! +; Can't create application object! +; +MSG_WINTITLE +Datums- und Zeit-Einstellungen (Time) +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; Q\0Quit +; +MSG_MEN_EDIT +Vorgaben +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Auf vorherigen Stand +; R\0Restore +; +MSG_OK +Ok +; Ok +; +MSG_GAD_SAVE +Speichern +; Save +; +MSG_GAD_USE +Benutzen +; Use +; +MSG_GAD_CANCEL +Abbrechen +; Cancel +; diff --git a/workbench/prefs/time/catalogs/hungarian.ct b/workbench/prefs/time/catalogs/hungarian.ct new file mode 100644 index 00000000000..4a449be8964 --- /dev/null +++ b/workbench/prefs/time/catalogs/hungarian.ct @@ -0,0 +1,48 @@ +## version $VER: timeprefs.catalog 1.0 (02.02.2005) +## codeset 5 +## language magyar +; +MSG_CANT_OPEN_LIB +Nem tudtam megnyitni: %s v%ld\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Nem tudtam lĂŠtrehozni az alkalmazĂĄst! +; Can't create application object! +; +MSG_WINTITLE +IdĂľ beĂĄllĂ­tĂĄsok +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +K\0KilĂŠp +; Q\0Quit +; +MSG_MEN_EDIT +SzerkesztĂŠs +; Edit +; +MSG_MEN_EDIT_RESTORE +V\0VisszaĂĄllĂ­t +; R\0Restore +; +MSG_OK +Rendben +; Ok +; +MSG_GAD_SAVE +Ment +; Save +; +MSG_GAD_USE +HasznĂĄl +; Use +; +MSG_GAD_CANCEL +MĂŠgsem +; Cancel +; diff --git a/workbench/prefs/time/catalogs/italian.ct b/workbench/prefs/time/catalogs/italian.ct new file mode 100644 index 00000000000..94b0808c792 --- /dev/null +++ b/workbench/prefs/time/catalogs/italian.ct @@ -0,0 +1,49 @@ +## version $VER: timeprefs.catalog 1.0 (19.02.2004) +## codeset 0 +## language italiano +; +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld !\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Impossibile aprire l'applicazione! +;Can't create application object! +; +MSG_WINTITLE +Data e Ora +;Time Preferences +; +MSG_MEN_PROJECT +Progetto +;Project +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +;Q\0Quit +; +MSG_MEN_EDIT +Modifica +;Edit +; +MSG_MEN_EDIT_RESTORE +R\0Ripristina +;R\0Restore +; +MSG_OK +Ok +;Ok +; +MSG_GAD_SAVE +Salva +;Save +; +MSG_GAD_USE +Usa +;Use +; +MSG_GAD_CANCEL +Annulla +;Cancel +; diff --git a/workbench/prefs/time/catalogs/mmakefile.src b/workbench/prefs/time/catalogs/mmakefile.src new file mode 100644 index 00000000000..5d6b954db7a --- /dev/null +++ b/workbench/prefs/time/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish finnish french german hungarian italian polish portuguese russian spanish norwegian + +%build_catalogs mmake=workbench-prefs-time-catalogs \ + catalogs=$(CATALOGS) \ + name=Time subdir=System/Prefs diff --git a/workbench/prefs/time/catalogs/norwegian.ct b/workbench/prefs/time/catalogs/norwegian.ct new file mode 100644 index 00000000000..6a37aaf5b36 --- /dev/null +++ b/workbench/prefs/time/catalogs/norwegian.ct @@ -0,0 +1,48 @@ +## version $VER: timeprefs.catalog 1.0 (20.05.2019) +## codeset 0 +## language norwegian +; +MSG_CANT_OPEN_LIB +Klarte ikke pne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Klarte ikke opprette applikasjonsobjektet! +; Can't create application object! +; +MSG_WINTITLE +Dato- og tidsinnstillinger (Time) +; Time Preferences +; +MSG_MEN_PROJECT +Prosjekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; Q\0Quit +; +MSG_MEN_EDIT +Rediger +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Gjennopprett +; R\0Restore +; +MSG_OK +Ok +; Ok +; +MSG_GAD_SAVE +Lagre +; Save +; +MSG_GAD_USE +Bruk +; Use +; +MSG_GAD_CANCEL +Avbryt +; Cancel +; \ No newline at end of file diff --git a/workbench/prefs/time/catalogs/polish.ct b/workbench/prefs/time/catalogs/polish.ct new file mode 100644 index 00000000000..c15db5e898e --- /dev/null +++ b/workbench/prefs/time/catalogs/polish.ct @@ -0,0 +1,48 @@ +## version $VER: time.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Nie można uworzyć obiektu aplikacji! +; Can't create application object! +; +MSG_WINTITLE +Ustawienia czasu +; Time Preferences +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_MEN_EDIT +Edycja +; Edit +; +MSG_MEN_EDIT_RESTORE +R\0Przywróć +; R\0Restore +; +MSG_OK +OK +; Ok +; +MSG_GAD_SAVE +Zapisz +; Save +; +MSG_GAD_USE +Użyj +; Use +; +MSG_GAD_CANCEL +Poniechaj +; Cancel +; diff --git a/workbench/prefs/time/catalogs/portuguese.ct b/workbench/prefs/time/catalogs/portuguese.ct new file mode 100644 index 00000000000..4736b3abce8 --- /dev/null +++ b/workbench/prefs/time/catalogs/portuguese.ct @@ -0,0 +1,50 @@ +## version $VER: timeprefs.catalog 1.0 (29.09.2008) +## codeset 0 +## language portugus +; +; Translated by Joo Ralha +; +MSG_CANT_OPEN_LIB +No foi possvel abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +No foi possvel criar a aplicao! +;Can't create application object! +; +MSG_WINTITLE +Preferncias de Hora e Data +;Time Preferences +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_QUIT +S\0Sair +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_OK +Aceitar +;Ok +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Utilizar +;Use +; +MSG_GAD_CANCEL +Cancelar +;Cancel +; diff --git a/workbench/prefs/time/catalogs/russian.ct b/workbench/prefs/time/catalogs/russian.ct new file mode 100644 index 00000000000..d87c5c7e6d7 --- /dev/null +++ b/workbench/prefs/time/catalogs/russian.ct @@ -0,0 +1,49 @@ +## version $VER: timeprefs.catalog 1.0 (12.08.2006) +## codeset 2104 +## language russian +; +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld !\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +Немогу создать объект приложения! +;Can't create application object! +; +MSG_WINTITLE +Настройка часов +;Time Preferences +; +MSG_MEN_PROJECT +Проект +;Project +; +MSG_MEN_PROJECT_QUIT +В\0Выход +;Q\0Quit +; +MSG_MEN_EDIT +Правка +;Edit +; +MSG_MEN_EDIT_RESTORE +В\0Восстановить +;R\0Restore +; +MSG_OK +Ok +;Ok +; +MSG_GAD_SAVE +Сохранить +;Save +; +MSG_GAD_USE +Применить +;Use +; +MSG_GAD_CANCEL +Отменить +;Cancel +; diff --git a/workbench/prefs/time/catalogs/spanish.ct b/workbench/prefs/time/catalogs/spanish.ct new file mode 100644 index 00000000000..72020599dfb --- /dev/null +++ b/workbench/prefs/time/catalogs/spanish.ct @@ -0,0 +1,50 @@ +## version $VER: timeprefs.catalog 1.0 (29.09.2007) +## codeset 0 +## language español +; +; Translated by ahg +; +MSG_CANT_OPEN_LIB +¡Imposible abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP +¡No se puede crear la aplicación! +;Can't create application object! +; +MSG_WINTITLE +Preferencias para la Hora y la Fecha +;Time Preferences +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_QUIT +S\0Salir +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_RESTORE +R\0Restaurar +;R\0Restore +; +MSG_OK +Aceptar +;Ok +; +MSG_GAD_SAVE +Guardar +;Save +; +MSG_GAD_USE +Usar +;Use +; +MSG_GAD_CANCEL +Cancelar +;Cancel +; diff --git a/workbench/prefs/time/catalogs/time.cd b/workbench/prefs/time/catalogs/time.cd new file mode 100644 index 00000000000..1f105d1d137 --- /dev/null +++ b/workbench/prefs/time/catalogs/time.cd @@ -0,0 +1,34 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld!\n +; +MSG_CANT_CREATE_APP (//) +Can't create application object! +; +MSG_WINTITLE (//) +Time Preferences +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +MSG_MEN_EDIT (//) +Edit +; +MSG_MEN_EDIT_RESTORE (//) +R\0Restore +; +MSG_OK (//) +Ok +; +MSG_GAD_SAVE (//) +Save +; +MSG_GAD_USE (//) +Use +; +MSG_GAD_CANCEL (//) +Cancel +; diff --git a/workbench/prefs/trackdisk/catalogs b/workbench/prefs/trackdisk/catalogs deleted file mode 160000 index 1974aca9467..00000000000 --- a/workbench/prefs/trackdisk/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1974aca94679fd6eb815ec465f52866dad96ad78 diff --git a/workbench/prefs/trackdisk/catalogs/.gitattributes b/workbench/prefs/trackdisk/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/trackdisk/catalogs/croatian.ct b/workbench/prefs/trackdisk/catalogs/croatian.ct new file mode 100644 index 00000000000..80817026593 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/croatian.ct @@ -0,0 +1,45 @@ +## version $VER: Trackdisk.catalog 1.2 (26.12.2009) +## language hrvatski +## codeset 0 +; +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Trackdisk Postavke +; Trackdisk prefs +; +MSG_SAVE +Spremi +; Save +; +MSG_USE +Koristi +; Use +; +MSG_CANCEL +Odustani +; Cancel +; +MSG_DESCRIPTION +trackdisk.device editor postavki +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +trackdisk.device postavke +; trackdisk.device preferences +; +MSG_DRIVE +Uređaj %u +; Drive %u +; +MSG_NOCLICK +Bez klikanja: +; No click: +; +MSG_RETRIES +Retries: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/czech.ct b/workbench/prefs/trackdisk/catalogs/czech.ct new file mode 100644 index 00000000000..b4601490f2b --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/czech.ct @@ -0,0 +1,45 @@ +## version $VER: Trackdisk.catalog 1.2 (30.11.2007) +## language czech +## codeset 0 +; +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Nastavení disket +; Trackdisk prefs +; +MSG_SAVE +Uložit +; Save +; +MSG_USE +Použít +; Use +; +MSG_CANCEL +Zrušit +; Cancel +; +MSG_DESCRIPTION +Editor nastavení disket +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Nastavení disket +; trackdisk.device preferences +; +MSG_DRIVE +Zařízení %u +; Drive %u +; +MSG_NOCLICK +Potichu: +; No click: +; +MSG_RETRIES +Opakování: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/danish.ct b/workbench/prefs/trackdisk/catalogs/danish.ct new file mode 100644 index 00000000000..a75666679a2 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/danish.ct @@ -0,0 +1,46 @@ +## version $VER: Trackdisk.catalog 1.0 (17.07.2010) +## language dansk +## codeset 0 +; +; Initial translation to Danish by Kristian Poul Herkild +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Trackdisk-indstillinger +; Trackdisk prefs +; +MSG_SAVE +Gem +; Save +; +MSG_USE +Brug +; Use +; +MSG_CANCEL +Afbryd +; Cancel +; +MSG_DESCRIPTION +Indstillingsredigering for trackdisk.device +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Indstillinger for trackdisk.device +; trackdisk.device preferences +; +MSG_DRIVE +Drev %u +; Drive %u +; +MSG_NOCLICK +Ingen klik: +; No click: +; +MSG_RETRIES +Antal forsg: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/french.ct b/workbench/prefs/trackdisk/catalogs/french.ct new file mode 100644 index 00000000000..f1d61d1af1c --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/french.ct @@ -0,0 +1,35 @@ +## version $VER: Trackdisk.catalog 1.0 (20.05.2007) +## language français +## codeset 0 +; +; +MSG_NAME +Disquettes +; +MSG_TITLE +Préférences Disquettes +; +MSG_SAVE +_Sauver +; +MSG_USE +_Utiliser +; +MSG_CANCEL +A_nnuler +; +MSG_DESCRIPTION +Éditeur des préférences des disquettes +; +MSG_WINDOW_TITLE +Préférences Disquettes +; +MSG_DRIVE +Lecteur %u +; +MSG_NOCLICK +Anti-clic : +; +MSG_RETRIES +Tentatives : +; \ No newline at end of file diff --git a/workbench/prefs/trackdisk/catalogs/german.ct b/workbench/prefs/trackdisk/catalogs/german.ct new file mode 100644 index 00000000000..93a42c26549 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/german.ct @@ -0,0 +1,45 @@ +## version $VER: Trackdisk.catalog 1.0 (12.01.2011) +## language deutsch +## codeset 0 +; +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Trackdisk-Device-Einstellungen +; Trackdisk prefs +; +MSG_SAVE +Speichern +; Save +; +MSG_USE +Benutzen +; Use +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_DESCRIPTION +trackdisk.device Einstellungen editieren +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Trackdisk-Device-Einstellungen +; trackdisk.device preferences +; +MSG_DRIVE +Laufwerk %u +; Drive %u +; +MSG_NOCLICK +Kein Klicken: +; No click: +; +MSG_RETRIES +Wiederholungen: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/italian.ct b/workbench/prefs/trackdisk/catalogs/italian.ct new file mode 100644 index 00000000000..df4b7012516 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/italian.ct @@ -0,0 +1,45 @@ +## version $VER: Trackdisk.catalog 1.0 (20.05.2007) +## language italiano +## codeset 0 +; +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Impostazioni floppy +; Trackdisk prefs +; +MSG_SAVE +Salva +; Save +; +MSG_USE +Usa +; Use +; +MSG_CANCEL +Cancella +; Cancel +; +MSG_DESCRIPTION +Preferenze trackdisk.device +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Preferenze trackdisk.device +; trackdisk.device preferences +; +MSG_DRIVE +Drive %u +; Drive %u +; +MSG_NOCLICK +No click: +; No click: +; +MSG_RETRIES +Prove: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/mmakefile.src b/workbench/prefs/trackdisk/catalogs/mmakefile.src new file mode 100644 index 00000000000..1454951d620 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish french german italian polish portuguese russian spanish norwegian + +%build_catalogs mmake=workbench-prefs-trackdisk-catalogs \ + catalogs=$(CATALOGS) \ + name=Trackdisk subdir=System/Prefs diff --git a/workbench/prefs/trackdisk/catalogs/norwegian.ct b/workbench/prefs/trackdisk/catalogs/norwegian.ct new file mode 100644 index 00000000000..0793e707651 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/norwegian.ct @@ -0,0 +1,45 @@ +## version $VER: Trackdisk.catalog 1.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Trackdisk-device innstillinger +; Trackdisk prefs +; +MSG_SAVE +Lagre +; Save +; +MSG_USE +Bruk +; Use +; +MSG_CANCEL +Avbryt +; Cancel +; +MSG_DESCRIPTION +trackdisk.device innstillingseditor +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Trackdisk-device innstillinger +; trackdisk.device preferences +; +MSG_DRIVE +Enhet %u. +; Drive %u +; +MSG_NOCLICK +Klikk avsltt: +; No click: +; +MSG_RETRIES +Forsk: +; Retries: +; \ No newline at end of file diff --git a/workbench/prefs/trackdisk/catalogs/polish.ct b/workbench/prefs/trackdisk/catalogs/polish.ct new file mode 100644 index 00000000000..ad35718ef8b --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/polish.ct @@ -0,0 +1,44 @@ +## version $VER: trackdisk.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_NAME +Trackdisk +; Trackdisk +; +MSG_TITLE +Ustawienia stacji dysków +; Trackdisk prefs +; +MSG_SAVE +Zapisz +; Save +; +MSG_USE +Użyj +; Use +; +MSG_CANCEL +Poniechaj +; Cancel +; +MSG_DESCRIPTION +Edytor preferencji trackdisk.device +; trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Preferencje stacji dysków +; trackdisk.device preferences +; +MSG_DRIVE +Napęd %u +; Drive %u +; +MSG_NOCLICK +Bez klikania: +; No click: +; +MSG_RETRIES +Ponowień: +; Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/portuguese.ct b/workbench/prefs/trackdisk/catalogs/portuguese.ct new file mode 100644 index 00000000000..568047886b7 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/portuguese.ct @@ -0,0 +1,47 @@ +## version $VER: Trackdisk.catalog 1.0 (23.09.2008) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha +; +MSG_NAME +Disquete +;Trackdisk +; +MSG_TITLE +Preferencias de Disquete 3/5" +;Trackdisk prefs +; +MSG_SAVE +Guardar +;Save +; +MSG_USE +Utilizar +;Use +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_DESCRIPTION +Editor das preferencias para uso de drive de disquetes 3/5" +;trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Preferencias do trackdisk.device +;trackdisk.device preferences +; +MSG_DRIVE +Unidade %u +;Drive %u +; +MSG_NOCLICK +Sem click: +;Anti-click: +;No click: +; +MSG_RETRIES +Tentativas: +;Retries: +; diff --git a/workbench/prefs/trackdisk/catalogs/russian.ct b/workbench/prefs/trackdisk/catalogs/russian.ct new file mode 100644 index 00000000000..94dc5fa4d75 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/russian.ct @@ -0,0 +1,35 @@ +## version $VER: Trackdisk.catalog 1.0 (30.07.2007) +## language russian +## codeset 2104 +; +; +MSG_NAME +Trackdisk +; +MSG_TITLE +Свойства Trackdisk +; +MSG_SAVE +Сохранить +; +MSG_USE +Применить +; +MSG_CANCEL +Отменить +; +MSG_DESCRIPTION +Редактор свойств trackdisk.device +; +MSG_WINDOW_TITLE +Свойства trackdisk.device +; +MSG_DRIVE +Накопитель %u +; +MSG_NOCLICK +Тихий: +; +MSG_RETRIES +Повторы: +; diff --git a/workbench/prefs/trackdisk/catalogs/spanish.ct b/workbench/prefs/trackdisk/catalogs/spanish.ct new file mode 100644 index 00000000000..bbad4641f42 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/spanish.ct @@ -0,0 +1,48 @@ +## version $VER: Trackdisk.catalog 1.0 (23.09.2007) +## language español +## codeset 0 +; +; Translated by ahg (trackdisk same that in french - disquette?) +; +MSG_NAME +;Disquete +;Trackdisk +; +MSG_TITLE +Preferencias para el Disquete +;Preferencias para el Trackdisk +;Trackdisk prefs +; +MSG_SAVE +Guardar +;Save +; +MSG_USE +Usar +;Use +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_DESCRIPTION +Editor de las preferencias de trackdisk.device +;trackdisk.device preferences editor +; +MSG_WINDOW_TITLE +Preferencias para trackdisk.device +;trackdisk.device preferences +; +MSG_DRIVE +Unidad %u +;Drive %u +; +MSG_NOCLICK +Sin apretar: +;Anti-click: +;No click: +; +MSG_RETRIES +Intentos: +;Retries: +; \ No newline at end of file diff --git a/workbench/prefs/trackdisk/catalogs/trackdisk.cd b/workbench/prefs/trackdisk/catalogs/trackdisk.cd new file mode 100644 index 00000000000..7054ae9ac07 --- /dev/null +++ b/workbench/prefs/trackdisk/catalogs/trackdisk.cd @@ -0,0 +1,31 @@ +; +MSG_NAME (//) +Trackdisk +; +MSG_TITLE (//) +Trackdisk prefs +; +MSG_SAVE (//) +Save +; +MSG_USE (//) +Use +; +MSG_CANCEL (//) +Cancel +; +MSG_DESCRIPTION (//) +trackdisk.device preferences editor +; +MSG_WINDOW_TITLE (//) +trackdisk.device preferences +; +MSG_DRIVE (//) +Drive %u +; +MSG_NOCLICK (//) +No click: +; +MSG_RETRIES (//) +Retries: +; \ No newline at end of file diff --git a/workbench/prefs/wanderer/catalogs b/workbench/prefs/wanderer/catalogs deleted file mode 160000 index f79343c9098..00000000000 --- a/workbench/prefs/wanderer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f79343c90987f1783c7d00fb459e353726d8a481 diff --git a/workbench/prefs/wanderer/catalogs/.gitattributes b/workbench/prefs/wanderer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/prefs/wanderer/catalogs/croatian.ct b/workbench/prefs/wanderer/catalogs/croatian.ct new file mode 100644 index 00000000000..d049818d455 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/croatian.ct @@ -0,0 +1,267 @@ +## version $VER: Wanderer.catalog 1.3 (23.12.2009) +## language hrvatski +## codeset 0 +; +; +MSG_NAME +Postavke Desktopa +; Wanderer Prefs +; +MSG_DESCRIPTION +Postavke Desktopa +; Wanderer preferences +; +MSG_BACKGROUNDS +Podloge +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Desktop +; Workbench +; +MSG_BACKGROUND_DRAWERS +Prozori +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Izaberi Podlogu Desktopa +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Izaberi Podlogu Prozora +; Select Drawer Background +; +MSG_GENERAL +Općenito +; General +; +MSG_APPEARANCE +Izgled +; Appearance +; +MSG_TOOLBAR +Alatna Traka +; Toolbar +; +MSG_CLASSIC +Klasično +; Classic +; +MSG_ENHANCED +Napredno +; Enhanced +; +MSG_NAVIGATION +Navigacija +; Navigation +; +MSG_METHOD +Metoda +; Method +; +MSG_OBJECTS +Objekti +; Objects +; +MSG_PREVIEW +Predpregled +; Preview +; +MSG_TOOLBAR_ENABLED +Alatna Traka Omogučena +; Toolbar Enabled +; +MSG_ICONSPREFS +Izgled i Ponašanje Ikona +; Icons look and feel +; +MSG_ICONLISTMODE +Ikone lista +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Posloži ikone obično +; List icons plainly +; +MSG_ICONLISTMODE_GRID +Posloži ikone sa mrežom +; List icons by grid +; +MSG_ICONTEXTMODE +Prikaz Slova +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Vanjski Obris +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Obično +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Sjena +; Drop shadow +; +MSG_ICONTEXTLENGTH +Maksimalna dužina teksta +; Max icon textlength +; +MSG_DOUBLEBUFFERED +dupli spremnik +; double buffering +; +MSG_MISC +razno +; misc +; +MSG_BUBBLESCREENTITLE +%pc = slobodno Chip Ram\n\ +%pf = slobodno Fast Ram\n\ +%pt = ukupno slobodno Ram\n\ +%PC = Chip Ram\n\ +%PF = Fast Ram\n\ +%PT = Total Ram\n\ +%os = AROS verzija\n\ +%wb = Wanderer verzija\n\ +%ov = AROS verzija\n\ +%wv = workbench.library verzija +; %pc = Chip Ram free\n\ +; %pf = Fast Ram free\n\ +; %pt = Total Ram free\n\ +; %PC = Chip Ram\n\ +; %PF = Fast Ram\n\ +; %PT = Total Ram\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Tapete : +; Tile mode : +; +MSG_XOFFSET +X Razmak : +; X Offset : +; +MSG_YOFFSET +Y Razmak : +; Y Offset : +; +MSG_ICONLABELFONT +Slovo Ikona... +; Icon Label Font... +; +MSG_ICONINFOFONT +Slovo Ikon Info-a... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Horizontalni razmak između ikona +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Vertikalni razmak između ikona +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Razmak između ikone i teksta +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Horizontalni razmak između okvira i teksta +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Vertikalni razmak između okvira i teksta +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Širina Okvira +; Label Frame Width +; +MSG_FRAMEHEIGHT +Visina Okvira +; Label Frame Height +; +MSG_TILED +Tapetirano +; Tiled +; +MSG_SCALED +Skalirano +; Scaled +; +MSG_FLOATING +Plutajuće +; Floating +; +MSG_FIXED +Fiksirano +; Fixed +; +MSG_LABELLINELENGTH +Maksimalna dužina linije... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Koristi više redaka +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Prikaži samo za Fokusirane Ikone +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Broj linija za prikaz... +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Opcije Tapetiranog Moda... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Opcije Skaliranog Moda... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Napredne Opcije... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Opcije Podloge... +; Background Options... +; +MSG_DRAWMODE +Način Iscrtavanja +; Draw mode : +; +MSG_USERFILEONWB +Korisnikove Mape i Datoteke na Desktopu +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Internet Pretraživač na Desktopu +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Opcije Pregleda +; View Settings +; +MSG_WANDERERSCREENTITLE +Naslovni tekst na Desktopu +; Wanderer ScreenTitle +; +MSG_ADVANCED +Napredno +; Advanced +; +MSG_USE +Koristi +; &Use +; +MSG_CANCEL +Odustani +; &Cancel +; diff --git a/workbench/prefs/wanderer/catalogs/czech.ct b/workbench/prefs/wanderer/catalogs/czech.ct new file mode 100644 index 00000000000..d5ca042ac1c --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/czech.ct @@ -0,0 +1,319 @@ +## version $VER: Wanderer.catalog 3.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_NAME +Správce souborů (editor Wanderer) +; Wanderer Prefs +; +MSG_DESCRIPTION +Nastavení systému Wanderer +; Wanderer preferences +; +MSG_BACKGROUNDS +Pozadí +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Plocha +; Workbench +; +MSG_BACKGROUND_DRAWERS +Adresáře +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Výběr pozadí plochy +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Výběr pozadí adresářů +; Select Drawer Background +; +MSG_GENERAL +Obecné +; General +; +MSG_APPEARANCE +Vzhled +; Appearance +; +MSG_TOOLBAR +Lišta +; Toolbar +; +MSG_CLASSIC +Klasická +; Classic +; +MSG_ENHANCED +Vylepšená +; Enhanced +; +MSG_NAVIGATION +Ovládání +; Navigation +; +MSG_METHOD +Metoda +; Method +; +MSG_OBJECTS +Objekty +; Objects +; +MSG_PREVIEW +Náhled +; Preview +; +MSG_TOOLBAR_ENABLED +Zapnout horní lištu +; Toolbar Enabled +; +MSG_ICONSPREFS +Vzhled a chování ikon +; Icons look and feel +; +MSG_ICONLISTMODE +Režim zobrazení +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Umístit ikony volně +; List icons plainly +; +MSG_ICONLISTMODE_GRID +Umístit ikony do mřížky +; List icons by grid +; +MSG_ICONTEXTMODE +Text s popisem ikon +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Obrysový +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Standardní +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Stínovaný +; Drop shadow +; +MSG_ICONTEXTLENGTH +Max. délka textu +; Max icon textlength +; +MSG_DOUBLEBUFFERED +Zrychlené +; double buffering +; +MSG_MISC +Ostatní +; misc +; +MSG_BUBBLESCREENTITLE +%pc = grafická paměť, aktuálně\n\ +%pf = ostatní paměť, aktuálně\n\ +%pt = veškerá paměť, aktuálně\n\ +%PC = grafická paměť, celkem\n\ +%PF = ostatní paměť, celkem\n\ +%PT = veškerá paměť, celkem\n\ +%os = AROS, verze\n\ +%wb = Wanderer, verze\n\ +%ov = AROS, interní verze\n\ +%wv = workbench.library, interní verze +; %pc = Chip Ram free\n\ +; %pf = Fast Ram free\n\ +; %pt = Total Ram free\n\ +; %PC = Chip Ram\n\ +; %PF = Fast Ram\n\ +; %PT = Total Ram\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Způsob umístění: +; Tile mode : +; +MSG_XOFFSET +Odstup vodorovně: +; X Offset : +; +MSG_YOFFSET +Odstup svisle: +; Y Offset : +; +MSG_ICONLABELFONT +Písmo pro popis... +; Icon Label Font... +; +MSG_ICONINFOFONT +Písmo pro informace... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Odstup mezi ikonami, vodorovně: +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Odstup mezi ikonami, svisle: +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Odstup mezi ikonou a popisem +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Odstup mezi okrajem rámečku a textem, vodorovně +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Odstup mezi okrajem rámečku a textem, svisle +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Šířka rámečku pro popis +; Label Frame Width +; +MSG_FRAMEHEIGHT +Výška rámečku pro popis +; Label Frame Height +; +MSG_TILED +Umístit vedle sebe +; Tiled +; +MSG_SCALED +Přizpůsobit velikost +; Scaled +; +MSG_FLOATING +Plovoucí +; Floating +; +MSG_FIXED +Pevný +; Fixed +; +MSG_LABELLINELENGTH +Max. délka popisu... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Použít víceřádkový popis +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Zobrazit pouze vybrané +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Počet zobrazených řádků... +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Možnosti... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Možnosti... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Přehled vlastností... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Pozadí na ploše... +; Background Options... +; +MSG_DRAWMODE +Způsob vykreslení: +; Draw mode : +; +MSG_USERFILEONWB +Povolit skutečná data na pracovní ploše +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Umožnit procházení sítě z pracovní plochy +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Možnosti zobrazení +; View Settings +; +MSG_WANDERERSCREENTITLE +Titulek obrazovky +; Wanderer ScreenTitle +; +MSG_ADVANCED +Vlastnosti +; Advanced +; +MSG_USE +_Použít +; _Use +; +MSG_CANCEL +_Zrušit +; C_ancel +; +MSG_LABELSPREFS +Vzhled popisu +; Labels look and feel +; +MSG_ADVANCEDBACKGROUND +Pozadí +; Background +; +MSG_ADVANCEDICONS +Ikony +; Icons +; +MSG_ADVANCEDLABELS +Popisy +; Labels +; +MSG_ICONSORTMODE_BYNAME +Dle názvu +; By name +; +MSG_ICONSORTMODE_BYDATE +Dle data +; By date +; +MSG_ICONSORTMODE_BYSIZE +Dle velikosti +; By size +; +MSG_DEFAULT_ICONSORTMODE +Výchozí řazení +; Default sort order +; +MSG_ICON_AUTOSORT_ENABLED +Automatické řazení +; Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT +Při přesouvání použít průhlednost +; Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE +Výchozí pohled +; Default view mode +; +MSG_ICONVIEWMODE_ALL +Všechny soubory +; All files +; +MSG_ICONVIEWMODE_ICONS +Pouze s ikonami +; Icons only +; diff --git a/workbench/prefs/wanderer/catalogs/finnish.ct b/workbench/prefs/wanderer/catalogs/finnish.ct new file mode 100644 index 00000000000..699ec1bb476 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/finnish.ct @@ -0,0 +1,29 @@ +## version $VER: wanderer.catalog 1.0 (14.02.2004) +## language suomi +## codeset 0 +; +; +MSG_NAME +Wanderer asetukset +; Wanderer Preferences +; +MSG_BACKGROUNDS +Taustat +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Työpöytä +; Workbench +; +MSG_BACKGROUND_DRAWERS +Hakemistot +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Valitse työpöydän tausta +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Valitse hakemistojen tausta +; Select Drawer Background +; diff --git a/workbench/prefs/wanderer/catalogs/french.ct b/workbench/prefs/wanderer/catalogs/french.ct new file mode 100644 index 00000000000..c713a0d9abb --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/french.ct @@ -0,0 +1,319 @@ +## version $VER: wanderer.catalog 3.0 (30.03.2016) +## language français +## codeset 0 +; +; +MSG_NAME +Préférences de Wanderer +; Wanderer Prefs +; +MSG_DESCRIPTION +Préférences du Wanderer +; Wanderer preferences +; +MSG_BACKGROUNDS +Fonds +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Répertoires +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Choisir un fond pour le Workbench +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Choisr un fond pour les répertoires +; Select Drawer Background +; +MSG_GENERAL +Général +; General +; +MSG_APPEARANCE +Apparence +; Appearance +; +MSG_TOOLBAR +Barre d'outils +; Toolbar +; +MSG_CLASSIC +Classique +; Classic +; +MSG_ENHANCED +Améliorée +; Enhanced +; +MSG_NAVIGATION +Navigation +; Navigation +; +MSG_METHOD +Méthode +; Method +; +MSG_OBJECTS +Objets +; Objects +; +MSG_PREVIEW +Prévisualisation +; Preview +; +MSG_TOOLBAR_ENABLED +Barre d'outils +; Toolbar Enabled +; +MSG_ICONSPREFS +Icônes +; Icons look and feel +; +MSG_ICONLISTMODE +Liste d'Icônes +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Liste complète +; List icons plainly +; +MSG_ICONLISTMODE_GRID +Grille +; List icons by grid +; +MSG_ICONTEXTMODE +Mode de texte +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Détourage +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Plein +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Ombre +; Drop shadow +; +MSG_ICONTEXTLENGTH +Longueur maximale des textes d'icônes +; Max icon textlength +; +MSG_DOUBLEBUFFERED +Mémoire écran double +; double buffering +; +MSG_MISC +Divers +; misc +; +MSG_BUBBLESCREENTITLE +%pc = Mémoire graphique libre\n\ +%pf = Autre mémoire libre\n\ +%pt = Mémoire libre totale\n\ +%PC = Mémoire graphique\n\ +%PF = Autre mémoire\n\ +%PT = Mémoire totale\n\ +%os = Version d'AROS\n\ +%wb = Version de Wanderer\n\ +%ov = Version exacte d'AROS\n\ +%wv = Version exacte de workbench.library +; %pc = Chip Ram free\n\ +; %pf = Fast Ram free\n\ +; %pt = Total Ram free\n\ +; %PC = Chip Ram\n\ +; %PF = Fast Ram\n\ +; %PT = Total Ram\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Grille d'icône +; Tile mode : +; +MSG_XOFFSET +Décalage X : +; X Offset : +; +MSG_YOFFSET +Décalage Y : +; Y Offset : +; +MSG_ICONLABELFONT +Police des icones... +; Icon Label Font... +; +MSG_ICONINFOFONT +Police d'information des icones... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Espacement horizontal entre les icones +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Espacement vertical entre les icones +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Espace entre l'image de l'icone et le titre +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Espacement horizontal entre le cadre du titre et le titre +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Espacement vertical entre le cadre du titre et le titre +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Largeur du cadre du titre +; Label Frame Width +; +MSG_FRAMEHEIGHT +Hauteur du cadre du titre +; Label Frame Height +; +MSG_TILED +Mosaique +; Tiled +; +MSG_SCALED +A l'échelle +; Scaled +; +MSG_FLOATING +Flottant +; Floating +; +MSG_FIXED +Fixe +; Fixed +; +MSG_LABELLINELENGTH +Longueur maximale d'une ligne... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Utiliser les titres multilignes +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Ne montrer que l'icone active +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Nombre de lignes à afficher... +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Options de grille... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Options de mise à l'échelle... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Options avancées... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Options de fond... +; Background Options... +; +MSG_DRAWMODE +Mode de dessin +; Draw mode : +; +MSG_USERFILEONWB +Fichier utilisateur sur le Workbench +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Navigateur de réseau sur le Workbench +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Réglages des vues +; View Settings +; +MSG_WANDERERSCREENTITLE +Titre de l'écran Wanderer +; Wanderer ScreenTitle +; +MSG_ADVANCED +Réglages avancés +; Advanced +; +MSG_USE +_Utiliser +; _Use +; +MSG_CANCEL +A_nnuler +; C_ancel +; +MSG_LABELSPREFS +Etiquettes +; Labels look and feel +; +MSG_ADVANCEDBACKGROUND +Fond +; Background +; +MSG_ADVANCEDICONS +Icônes +; Icons +; +MSG_ADVANCEDLABELS +Etiquettes +; Labels +; +MSG_ICONSORTMODE_BYNAME +Par nom +; By name +; +MSG_ICONSORTMODE_BYDATE +Par date +; By date +; +MSG_ICONSORTMODE_BYSIZE +Par taille +; By size +; +MSG_DEFAULT_ICONSORTMODE +Ordre de tri par défaut +; Default sort order +; +MSG_ICON_AUTOSORT_ENABLED +Tri automatique activé +; Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT +Utiliser la transparence lors du d&d +; Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE +Vue par défaut +; Default view mode +; +MSG_ICONVIEWMODE_ALL +Tous les fichiers +; All files +; +MSG_ICONVIEWMODE_ICONS +Icônes seulement +; Icons only +; diff --git a/workbench/prefs/wanderer/catalogs/german.ct b/workbench/prefs/wanderer/catalogs/german.ct new file mode 100644 index 00000000000..749dffb49b0 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/german.ct @@ -0,0 +1,319 @@ +## version $VER: wanderer.catalog 3.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_NAME +Wanderer-Einstellungen +; Wanderer Prefs +; +MSG_DESCRIPTION +Wanderer-Voreinsteller +; Wanderer preferences +; +MSG_BACKGROUNDS +Hintergründe +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Verzeichnisse +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Wähle Workbench Hintergrund +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Wähle Verzeichnis Hintergrund +; Select Drawer Background +; +MSG_GENERAL +Allgemein +; General +; +MSG_APPEARANCE +Aussehen +; Appearance +; +MSG_TOOLBAR +Toolbar +; Toolbar +; +MSG_CLASSIC +Klassisch +; Classic +; +MSG_ENHANCED +Erweitert +; Enhanced +; +MSG_NAVIGATION +Navigation +; Navigation +; +MSG_METHOD +Methode +; Method +; +MSG_OBJECTS +Objekte +; Objects +; +MSG_PREVIEW +Vorschau +; Preview +; +MSG_TOOLBAR_ENABLED +Toolbar aktiviert +; Toolbar Enabled +; +MSG_ICONSPREFS +Anzeige der Icons +; Icons look and feel +; +MSG_ICONLISTMODE +Icon Anzeige-Art +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Icons ungeordnet anzeigen +; List icons plainly +; +MSG_ICONLISTMODE_GRID +Icons am Raster ausrichten +; List icons by grid +; +MSG_ICONTEXTMODE +Darstellung der Icon Texte +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Kontur +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Einfach +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Schatten +; Drop shadow +; +MSG_ICONTEXTLENGTH +Max. Icon Textlänge +; Max icon textlength +; +MSG_DOUBLEBUFFERED +Gepufferte Anzeige +; double buffering +; +MSG_MISC +Sonstiges +; misc +; +MSG_BUBBLESCREENTITLE +%pc = Verfügbares Chip Ram\n\ +%pf = Verfügbares Fast Ram\n\ +%pt = Gesamter verfügbarer RAM\n\ +%PC = Chip Ram\n\ +%PF = Fast Ram\n\ +%PT = Gesamter RAM\n\ +%os = AROS Version\n\ +%wb = Wanderer Version\n\ +%ov = Genaue AROS Version\n\ +%wv = Genaue Version der workbench.library +; %pc = Chip Ram free\n\ +; %pf = Fast Ram free\n\ +; %pt = Total Ram free\n\ +; %PC = Chip Ram\n\ +; %PF = Fast Ram\n\ +; %PT = Total Ram\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Kachelmodus : +; Tile mode : +; +MSG_XOFFSET +X Abstand : +; X Offset : +; +MSG_YOFFSET +Y Abstand : +; Y Offset : +; +MSG_ICONLABELFONT +Icon Text Zeichensatz ... +; Icon Label Font... +; +MSG_ICONINFOFONT +Icon Info Zeichensatz ... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Horizontaler Abstand zwischen Icons +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Vertikaler Abstand zwischen Icons +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Abstand zwischen Icon Grafik und Text +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Horizontaler Abstand zwischen Textrahmen und Text +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Vertikaler Abstand zwischen Textrahmen und Text +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Textrahmen Breite +; Label Frame Width +; +MSG_FRAMEHEIGHT +Textrahmen Höhe +; Label Frame Height +; +MSG_TILED +Gekachelt +; Tiled +; +MSG_SCALED +Skaliert +; Scaled +; +MSG_FLOATING +Fortlaufend +; Floating +; +MSG_FIXED +Fixiert +; Fixed +; +MSG_LABELLINELENGTH +Max. Textzeilen Länge... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Mehzeiligen Icontext verwenden +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Nur für fokusierte Icons anzeigen +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Anzahl der Zeilen... +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Kachelungseinstellungen... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Skalierungseinstellungen... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Erweiterte Einstellungen... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Hintergrund Einstellungen... +; Background Options... +; +MSG_DRAWMODE +Zeichenmodus : +; Draw mode : +; +MSG_USERFILEONWB +Dateiverzeichnis auf Workbench anzeigen +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Netzwerk Browser auf Workbench anzeigen +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Anzeige Einstellungen +; View Settings +; +MSG_WANDERERSCREENTITLE +Wanderer Titelzeile +; Wanderer ScreenTitle +; +MSG_ADVANCED +Erweitert +; Advanced +; +MSG_USE +_Benutzen +; _Use +; +MSG_CANCEL +_Abbrechen +; C_ancel +; +MSG_LABELSPREFS +Verhalten der Beschriftungen +; Labels look and feel +; +MSG_ADVANCEDBACKGROUND +Hintergrund +; Background +; +MSG_ADVANCEDICONS +Piktogramme +; Icons +; +MSG_ADVANCEDLABELS +Beschriftungen +; Labels +; +MSG_ICONSORTMODE_BYNAME +Nach Name +; By name +; +MSG_ICONSORTMODE_BYDATE +Nach Datum +; By date +; +MSG_ICONSORTMODE_BYSIZE +Nach Größe +; By size +; +MSG_DEFAULT_ICONSORTMODE +Voreingestellte Sortierreihenfolge +; Default sort order +; +MSG_ICON_AUTOSORT_ENABLED +Automatische Sortierung eingestellt +; Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT +Verwende Transparenz beim Verschieben von Piktogrammen +; Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE +Voreingestellter Anzeigemodus +; Default view mode +; +MSG_ICONVIEWMODE_ALL +Alle Dateien +; All files +; +MSG_ICONVIEWMODE_ICONS +Nur Piktogramme +; Icons only +; diff --git a/workbench/prefs/wanderer/catalogs/hungarian.ct b/workbench/prefs/wanderer/catalogs/hungarian.ct new file mode 100644 index 00000000000..b35849b2eac --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/hungarian.ct @@ -0,0 +1,32 @@ +## version $VER: wanderer.catalog 1.0 (25.01.2005) +## language magyar +## codeset 5 +; +; Translated by Miklós Németh +; +; TODO: update me and set version to 2 +; +MSG_NAME +Wanderer beállítások +; Wanderer Preferences +; +MSG_BACKGROUNDS +Hátterek +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Fiókok +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Válaszd ki a Workbench hátterét +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Válaszd ki a fiók hátterét +; Select Drawer Background +; diff --git a/workbench/prefs/wanderer/catalogs/italian.ct b/workbench/prefs/wanderer/catalogs/italian.ct new file mode 100644 index 00000000000..8c1b25a6aae --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/italian.ct @@ -0,0 +1,108 @@ +## version $VER: wanderer.catalog 1.0 (14.02.2004) +## language italiano +## codeset 0 +; +; TODO: update me and set version to 2 +; +MSG_NAME +Preferenze di Wanderer +; +MSG_DESCRIPTION +Impostazioni di Wanderer +;Wanderer preferences +; +MSG_BACKGROUNDS +Sfondi +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Cassetti +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Scegli uno sfondo per il Workbench +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Scegli uno sfondo per i cassetti +; Select Drawer Background +; +MSG_GENERAL +Generali +;General +; +MSG_APPEARANCE +Aspetto +;Appearance +; +MSG_TOOLBAR +Barra degli strumenti +;Toolbar +; +MSG_CLASSIC +Classica +;Classic +; +MSG_ENHANCED +Moderna +;Enhanced +; +MSG_NAVIGATION +Navigazione +;Navigation +; +MSG_METHOD +Metodo +;Method +; +MSG_OBJECTS +Oggetti +; +MSG_PREVIEW +Anteprima +; +MSG_TOOLBAR_ENABLED +Barra strumenti attiva +; +MSG_ICONSPREFS +Aspetto e comportamento delle icone +; +MSG_ICONLISTMODE +Modalità di elencazione +; +MSG_ICONLISTMODE_PLAIN +Elenco icone normale +; +MSG_ICONLISTMODE_GRID +Elenco icone a griglia +; +MSG_ICONTEXTMODE +Modalità testo +; +MSG_ICONTEXTMODE_OUTLINE +Bordo esterno +; +MSG_ICONTEXTMODE_PLAIN +Normale +; +MSG_ICONTEXTLENGTH +Lunghezza massima del testo +; +MSG_DOUBLEBUFFERED +doppio buffering +; +MSG_MISC +miscellanea +; +MSG_BUBBLESCREENTITLE +%pc = Chip Ram\n\ +%pf = Fast Ram\n\ +%os = Versione di AROS\n\ +%wb = Versione di Wanderer\n\ +%ov = Versione esatta di AROS\n\ +%wv = Versione di workbench.library +; diff --git a/workbench/prefs/wanderer/catalogs/mmakefile.src b/workbench/prefs/wanderer/catalogs/mmakefile.src new file mode 100644 index 00000000000..eda7778b6ae --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french german polish norwegian +# other catalogs need update to version 3 + +%build_catalogs mmake=workbench-prefs-wanderer-catalogs \ + catalogs=$(CATALOGS) \ + name=Wanderer subdir=System/Prefs diff --git a/workbench/prefs/wanderer/catalogs/norwegian.ct b/workbench/prefs/wanderer/catalogs/norwegian.ct new file mode 100644 index 00000000000..5c9d73efd0f --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/norwegian.ct @@ -0,0 +1,319 @@ +## version $VER: wanderer.catalog 3.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_NAME +Wanderer innstillinger +; Wanderer Prefs +; +MSG_DESCRIPTION +Wanderer innstillinger +; Wanderer preferences +; +MSG_BACKGROUNDS +Bakgrunner +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Skuffer +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Velg Workbench bakgrunn +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Velg skuffebakgrunn +; Select Drawer Background +; +MSG_GENERAL +Generelt +; General +; +MSG_APPEARANCE +Utseende +; Appearance +; +MSG_TOOLBAR +Verktylinje +; Toolbar +; +MSG_CLASSIC +Klassisk +; Classic +; +MSG_ENHANCED +Utvidet +; Enhanced +; +MSG_NAVIGATION +Navigering +; Navigation +; +MSG_METHOD +Metode +; Method +; +MSG_OBJECTS +Objekter +; Objects +; +MSG_PREVIEW +Forhndsvis +; Preview +; +MSG_TOOLBAR_ENABLED +Verktylinje aktivert +; Toolbar Enabled +; +MSG_ICONSPREFS +Utseende p ikoner +; Icons look and feel +; +MSG_ICONLISTMODE +Listemodus for ikoner +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +List ikoner enkelt +; List icons plainly +; +MSG_ICONLISTMODE_GRID +List ikoner med rutenett +; List icons by grid +; +MSG_ICONTEXTMODE +Tekstvisning p ikoner +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Kontur +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Enkel +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Skygge +; Drop shadow +; +MSG_ICONTEXTLENGTH +Maks. tekstlengde p ikoner +; Max icon textlength +; +MSG_DOUBLEBUFFERED +Dobbelbuffering +; double buffering +; +MSG_MISC +Diverse +; misc +; +MSG_BUBBLESCREENTITLE +%pc = Ledig Chip RAM\n\ +%pf = Ledig Fast RAM\n\ +%pt = Totalt ledig RAM\n\ +%PC = Chip RAM\n\ +%PF = Fast RAM\n\ +%PT = Totalt RAM\n\ +%os = AROS versjon\n\ +%wb = Wanderer versjon\n\ +%ov = Eksakt AROS versjon\n\ +%wv = Eksakt workbench.library versjon +; %pc = Chip RAM free\n\ +; %pf = Fast RAM free\n\ +; %pt = Total RAM free\n\ +; %PC = Chip RAM\n\ +; %PF = Fast RAM\n\ +; %PT = Total RAM\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Tittelmodus: +; Tile mode : +; +MSG_XOFFSET +X-forskyvning: +; X Offset : +; +MSG_YOFFSET +Y-forskyvning: +; Y Offset : +; +MSG_ICONLABELFONT +Skrifttype p ikon etikett ... +; Icon Label Font... +; +MSG_ICONINFOFONT +Skrifttype p ikon info ... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Horisontal avstand mellom ikoner +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Vertikal avstand mellom ikoner +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Avstand mellom ikon og tekst +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Horisontal avstand mellom etikettramme og tekst +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Vertikal avstand mellom etikettramme og tekst +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Etikett rammebredde +; Label Frame Width +; +MSG_FRAMEHEIGHT +Etikett rammehyde +; Label Frame Height +; +MSG_TILED +Flislagt +; Tiled +; +MSG_SCALED +Skalert +; Scaled +; +MSG_FLOATING +Flytende +; Floating +; +MSG_FIXED +Fiksert +; Fixed +; +MSG_LABELLINELENGTH +Maks. linjelengde p etikett... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Benytt etiketter over fler linjer +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Vis kun fokuserte ikoner +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Antall linjer som vises.. +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Valg for flismods... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Valg for skaleringsmodus... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Avanserte valg... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Valg for bakgrunn... +; Background Options... +; +MSG_DRAWMODE +Opptegningsmodus: +; Draw mode : +; +MSG_USERFILEONWB +Katalog med brukerfiler p Workbench +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Netverksutforsker p Workbench +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Utseendeinnstillinger +; View Settings +; +MSG_WANDERERSCREENTITLE +Wanderer skjermtittel +; Wanderer ScreenTitle +; +MSG_ADVANCED +Avansert +; Advanced +; +MSG_USE +_Bruk +; _Use +; +MSG_CANCEL +_Avbryt +; C_ancel +; +MSG_LABELSPREFS +Utseende og oppfrsel p etiketter +; Labels look and feel +; +MSG_ADVANCEDBACKGROUND +Bakgrunn +; Background +; +MSG_ADVANCEDICONS +Ikoner +; Icons +; +MSG_ADVANCEDLABELS +Etiketter +; Labels +; +MSG_ICONSORTMODE_BYNAME +Etter navn +; By name +; +MSG_ICONSORTMODE_BYDATE +Etter dato +; By date +; +MSG_ICONSORTMODE_BYSIZE +Etter strrelse +; By size +; +MSG_DEFAULT_ICONSORTMODE +Standard sortering +; Default sort order +; +MSG_ICON_AUTOSORT_ENABLED +Skru p automatisk sortering +; Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT +Benytt transparens under forflytting av ikoner +; Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE +Standard visningsmodus +; Default view mode +; +MSG_ICONVIEWMODE_ALL +Alle filer +; All files +; +MSG_ICONVIEWMODE_ICONS +Kun ikoner +; Icons only +; \ No newline at end of file diff --git a/workbench/prefs/wanderer/catalogs/polish.ct b/workbench/prefs/wanderer/catalogs/polish.ct new file mode 100644 index 00000000000..d424bbf2737 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/polish.ct @@ -0,0 +1,318 @@ +## version $VER: Wanderer.catalog 3.0 (10.09.2018) +## language polski +## codeset 5 +; +MSG_NAME +Ustawienia pulpitu (Wanderer) +; Wanderer Prefs +; +MSG_DESCRIPTION +Ustawienia Wanderera +; Wanderer preferences +; +MSG_BACKGROUNDS +Tła +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Pulpit +; Workbench +; +MSG_BACKGROUND_DRAWERS +Katalogi +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Wybierz tło pulpitu +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Wybierz tło katalogów +; Select Drawer Background +; +MSG_GENERAL +Ogólne +; General +; +MSG_APPEARANCE +Wygląd +; Appearance +; +MSG_TOOLBAR +Pasek narzędzi +; Toolbar +; +MSG_CLASSIC +Klasyczna +; Classic +; +MSG_ENHANCED +Rozszerzona +; Enhanced +; +MSG_NAVIGATION +Nawigacja +; Navigation +; +MSG_METHOD +Metoda +; Method +; +MSG_OBJECTS +Obiekty +; Objects +; +MSG_PREVIEW +Podgląd +; Preview +; +MSG_TOOLBAR_ENABLED +Włącz pasek narzędzi +; Toolbar Enabled +; +MSG_ICONSPREFS +Wygląd ikon +; Icons look and feel +; +MSG_ICONLISTMODE +Tryb wyświetlania ikon +; Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Płynne +; List icons plainly +; +MSG_ICONLISTMODE_GRID +Uszeregowane +; List icons by grid +; +MSG_ICONTEXTMODE +Tryb pisma etykiet +; Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Kontur +; Outline +; +MSG_ICONTEXTMODE_PLAIN +Zwykły +; Plain +; +MSG_ICONTEXTMODE_SHADOW +Cień +; Drop shadow +; +MSG_ICONTEXTLENGTH +Maksymalna długość tekstu +; Max icon textlength +; +MSG_DOUBLEBUFFERED +podwójne buforowanie +; double buffering +; +MSG_MISC +rożne +; misc +; +MSG_BUBBLESCREENTITLE +%pc = wolna pamięć graficzna\n\ +%pf = wolna pamięć pozostała\n\ +%pt = wolna pamięć całkowita\n\ +%PC = pamięć graficzna\n\ +%PF = pamięć pozostała\n\ +%PT = pamięć całkowita\n\ +%os = wersja AROS-a\n\ +%wb = wersja Wanderera\n\ +%ov = dokładna wersja AROS-a\n\ +%wv = dokładna wersja workbench.library +; %pc = Chip Ram free\n\ +; %pf = Fast Ram free\n\ +; %pt = Total Ram free\n\ +; %PC = Chip Ram\n\ +; %PF = Fast Ram\n\ +; %PT = Total Ram\n\ +; %os = AROS version\n\ +; %wb = Wanderer version\n\ +; %ov = Exact AROS version\n\ +; %wv = Exact workbench.library version +; +MSG_TILEMODE +Tryb powielania: +; Tile mode : +; +MSG_XOFFSET +Odstępy poziome: +; X Offset : +; +MSG_YOFFSET +Odstępy pionowe: +; Y Offset : +; +MSG_ICONLABELFONT +Czcionka etykiet ikon... +; Icon Label Font... +; +MSG_ICONINFOFONT +Czcionka informacji ikon... +; Icon Info Font... +; +MSG_HORIZSPACINGICON +Poziomy odstęp pomiędzy ikonami +; Horizontal spacing between icons +; +MSG_VERTSPACINGICON +Pionowy odstęp pomiędzy ikonami +; Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL +Odstęp ikon od etykiet +; Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT +Poziomy margines etykiety +; Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT +Pionowy margines etykiety +; Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH +Szerokość ramki etykiety +; Label Frame Width +; +MSG_FRAMEHEIGHT +Wysokość ramki etykiety +; Label Frame Height +; +MSG_TILED +Powielanie +; Tiled +; +MSG_SCALED +Skalowanie +; Scaled +; +MSG_FLOATING +Płynne +; Floating +; +MSG_FIXED +Uszeregowane +; Fixed +; +MSG_LABELLINELENGTH +Maks. długość wiersza etykiety... +; Max. Label line length... +; +MSG_USEMULTILINELABELS +Użyj wielu wierszy +; Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON +Tylko dla zaznaczonych ikon +; Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES +Ilość widocznych wierszy... +; No. of lines to display... +; +MSG_TILEMODEOPTIONS +Opcje trybu kafelkowego... +; Tile Mode Options... +; +MSG_SCALEMODEOPTIONS +Opcje trybu skalowania... +; Scale Mode Options... +; +MSG_ADVANCEDOPTIONS +Opcje zaawansowane... +; Advanced Options... +; +MSG_BACKGROUNDOPTIONS +Opcje tła... +; Background Options... +; +MSG_DRAWMODE +Tryb rysowania: +; Draw mode : +; +MSG_USERFILEONWB +Katalog użytkownika na pulpicie +; User Files Folder on Workbench +; +MSG_NETWORKONWB +Przeglądarka na pulpicie +; Network Browser on Workbench +; +MSG_VIEWSETTINGS +Pokaż ustawienia +; View Settings +; +MSG_WANDERERSCREENTITLE +Tytuł ekranu Wanderera +; Wanderer ScreenTitle +; +MSG_ADVANCED +Zaawansowane +; Advanced +; +MSG_USE +_Użyj +; _Use +; +MSG_CANCEL +Ponie_chaj +; C_ancel +; +MSG_LABELSPREFS +Wygląd etykiet +; Labels look and feel +; +MSG_ADVANCEDBACKGROUND +Tło +; Background +; +MSG_ADVANCEDICONS +Ikony +; Icons +; +MSG_ADVANCEDLABELS +Etykiety +; Labels +; +MSG_ICONSORTMODE_BYNAME +Alfabetycznie +; By name +; +MSG_ICONSORTMODE_BYDATE +Według daty +; By date +; +MSG_ICONSORTMODE_BYSIZE +Według wielkości +; By size +; +MSG_DEFAULT_ICONSORTMODE +Porządek domyślny +; Default sort order +; +MSG_ICON_AUTOSORT_ENABLED +Sortowanie automayczne +; Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT +Użyj przezroczystości przeciągając ikony +; Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE +Tryb domyślny +; Default view mode +; +MSG_ICONVIEWMODE_ALL +Wszystkie pliki +; All files +; +MSG_ICONVIEWMODE_ICONS +Tylko ikony +; Icons only +; diff --git a/workbench/prefs/wanderer/catalogs/portuguese.ct b/workbench/prefs/wanderer/catalogs/portuguese.ct new file mode 100644 index 00000000000..20635f418fb --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/portuguese.ct @@ -0,0 +1,132 @@ +## version $VER: wanderer.catalog 1.0 (23.09.2008) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha +; +; TODO: update me and set version to 2 +; +MSG_NAME +Preferncias do Wanderer +;Wanderer Prefs +; +MSG_DESCRIPTION +Preferncias do Wanderer +;Wanderer preferences +; +MSG_BACKGROUNDS +Fundos +;Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; +MSG_BACKGROUND_DRAWERS +Directrios +;Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Selecione o fundo para o Workbench +;Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Selecione o fundo para os directrios +;Select Drawer Background +; +MSG_GENERAL +Geral +;General +; +MSG_APPEARANCE +Aparncia +;Appearance +; +MSG_TOOLBAR +Barra de Ferramentas +;Toolbar +; +MSG_CLASSIC +Clssico +;Classic +; +MSG_ENHANCED +Melhorado +;Enhanced +; +MSG_NAVIGATION +Navegao +;Navigation +; +MSG_METHOD +Mtodo +;Method +; +MSG_OBJECTS +Objectos +;Objects +; +MSG_PREVIEW +Vista prvia +;Preview +; +MSG_TOOLBAR_ENABLED +Barra activada +;Toolbar Enabled +; +MSG_ICONSPREFS +apresentao dos cones +;Icons look and feel +; +MSG_ICONLISTMODE +Tipos de listas +;Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Vertical +;Normal +;List icons plainly +; +MSG_ICONLISTMODE_GRID +Rectangular +;En cuadrcula +;List icons by grid +; +MSG_ICONTEXTMODE +Desenho do texto +;Modo del texto +;Modo de dibujar el texto +;Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Com bordo +;Outline +; +MSG_ICONTEXTMODE_PLAIN +Normal +;Plain +; +MSG_ICONTEXTLENGTH +Largura mximo +;Longitud mxima del texto +;Max icon textlength +; +MSG_DOUBLEBUFFERED +com buffer duplo +;double buffering +; +MSG_MISC +miscelnea +;misc +; +MSG_BUBBLESCREENTITLE +%pc = Memria Chip livre\n\ +%pf = Memria Fast livre\n\ +%pt = Total de memria livbre\n\ +%PC = Memria Chip\n\ +%PF = Memria Fast\n\ +%PT = Memria Total\n\ +%os = Verso do AROS\n\ +%wb = Verso do Wanderer\n\ +%ov = Verso exacta do AROS\n\ +%wv = Verso exacta da workbench.library +; \ No newline at end of file diff --git a/workbench/prefs/wanderer/catalogs/russian.ct b/workbench/prefs/wanderer/catalogs/russian.ct new file mode 100644 index 00000000000..e30dc234ec3 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/russian.ct @@ -0,0 +1,101 @@ +## version $VER: wanderer.catalog 1.2 (25.06.2009) +## language russian +## codeset 2104 +; +; TODO: update me and set version to 2 +; +MSG_NAME +Настройки Wanderer +; Wanderer Preferences +; +MSG_BACKGROUNDS +Фон +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; Workbench +; +MSG_BACKGROUND_DRAWERS +Папки +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Выберите фон Workbench +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Выберите фон папки +; Select Drawer Background +; +MSG_GENERAL +Общие +; +MSG_APPEARANCE +Вид +; +MSG_TOOLBAR +Инструментарий +; +MSG_CLASSIC +Обычный +; +MSG_ENHANCED +Расширенный +; +MSG_NAVIGATION +Навигация +; +MSG_METHOD +Метод +; +MSG_OBJECTS +Объекты +; +MSG_PREVIEW +Просмотр +; +MSG_TOOLBAR_ENABLED +Включить Инструментарий +; +MSG_ICONSPREFS +Вид иконок +; +MSG_ICONLISTMODE +Расстановка иконок +; +MSG_ICONLISTMODE_PLAIN +Расставить в ряд +; +MSG_ICONLISTMODE_GRID +Расставить по сетке +; +MSG_ICONTEXTMODE +Вид текста иконок +; +MSG_ICONTEXTMODE_OUTLINE +С обводкой +; +MSG_ICONTEXTMODE_PLAIN +Простой +; +MSG_ICONTEXTLENGTH +Макс. длина текста иконок +; +MSG_DOUBLEBUFFERED +Двойная буферизация +; +MSG_MISC +Прочее +; +MSG_BUBBLESCREENTITLE +%pc = Chip Ram free\n\ +%pf = Fast Ram free\n\ +%pt = Памяти свободно\n\ +%PC = Chip Ram\n\ +%PF = Fast Ram\n\ +%PT = Всего памяти\n\ +%os = Версия AROS\n\ +%wb = Версия Wanderer\n\ +%ov = Точная версия AROS\n\ +%wv = Точная версия workbench.library diff --git a/workbench/prefs/wanderer/catalogs/spanish.ct b/workbench/prefs/wanderer/catalogs/spanish.ct new file mode 100644 index 00000000000..4465a7141b3 --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/spanish.ct @@ -0,0 +1,131 @@ +## version $VER: wanderer.catalog 1.0 (23.09.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +; TODO: update me and set version to 2 +; +MSG_NAME +Preferencias del Wanderer +;Wanderer Prefs +; +MSG_DESCRIPTION +Preferencias del Wanderer +;Wanderer preferences +; +MSG_BACKGROUNDS +Fondos +;Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Workbench +; +MSG_BACKGROUND_DRAWERS +Cajones +;Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Elija el Fondo para el Workbench +;Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Elija el Fondo para el Cajón +;Select Drawer Background +; +MSG_GENERAL +General +; +MSG_APPEARANCE +Apariencia +;Appearance +; +MSG_TOOLBAR +Barra de Herramientas +;Toolbar +; +MSG_CLASSIC +Clásico +;Classic +; +MSG_ENHANCED +Mejorado +;Enhanced +; +MSG_NAVIGATION +Navegación +;Navigation +; +MSG_METHOD +Método +;Method +; +MSG_OBJECTS +Objetos +;Objects +; +MSG_PREVIEW +Vista previa +;Preview +; +MSG_TOOLBAR_ENABLED +Barra habilitada +;Toolbar Enabled +; +MSG_ICONSPREFS +Aspecto y sensación de los íconos +;Icons look and feel +; +MSG_ICONLISTMODE +Tipos de listas +;Icon listmode +; +MSG_ICONLISTMODE_PLAIN +Vertical +;Normal +;List icons plainly +; +MSG_ICONLISTMODE_GRID +Rectangular +;En cuadrícula +;List icons by grid +; +MSG_ICONTEXTMODE +Dibujo del texto +;Modo del texto +;Modo de dibujar el texto +;Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE +Con borde +;Outline +; +MSG_ICONTEXTMODE_PLAIN +Normal +;Plain +; +MSG_ICONTEXTLENGTH +Largo máximo +;Longitud máxima del texto +;Max icon textlength +; +MSG_DOUBLEBUFFERED +con doble búfer +;double buffering +; +MSG_MISC +misceláneo +;misc +; +MSG_BUBBLESCREENTITLE +%pc = Ram de Chip libre\n\ +%pf = Ram Fast libre\n\ +%pt = Total de Ram libre\n\ +%PC = Ram de Chip\n\ +%PF = Ram Fast\n\ +%PT = Ram Total\n\ +%os = Versión de AROS\n\ +%wb = Versión del Wanderer\n\ +%ov = Versión exacta de AROS\n\ +%wv = Versión exacta de workbench.library +; \ No newline at end of file diff --git a/workbench/prefs/wanderer/catalogs/swedish.ct b/workbench/prefs/wanderer/catalogs/swedish.ct new file mode 100644 index 00000000000..cc9ee8135cb --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/swedish.ct @@ -0,0 +1,29 @@ +## version $VER: wanderer.catalog 1.0 (14.02.2004) +## language svenska +## codeset 0 +; +; +MSG_NAME +Wandererinställningar +; Wanderer Preferences +; +MSG_BACKGROUNDS +Bakgrunder +; Backgrounds +; +MSG_BACKGROUND_WORKBENCH +Arbetsbänk +; Workbench +; +MSG_BACKGROUND_DRAWERS +Lådor +; Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND +Välj arbetsbänkens bakgrund +; Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND +Välj lådornas bakgrund +; Select Drawer Background +; diff --git a/workbench/prefs/wanderer/catalogs/wanderer.cd b/workbench/prefs/wanderer/catalogs/wanderer.cd new file mode 100644 index 00000000000..26bf3bb957d --- /dev/null +++ b/workbench/prefs/wanderer/catalogs/wanderer.cd @@ -0,0 +1,232 @@ +; +MSG_NAME (//) +Wanderer Prefs +; +MSG_DESCRIPTION (//) +Wanderer preferences +; +MSG_BACKGROUNDS (//) +Backgrounds +; +MSG_BACKGROUND_WORKBENCH (//) +Workbench +; +MSG_BACKGROUND_DRAWERS (//) +Drawers +; +MSG_SELECT_WORKBENCH_BACKGROUND (//) +Select Workbench Background +; +MSG_SELECT_DRAWER_BACKGROUND (//) +Select Drawer Background +; +MSG_GENERAL (//) +General +; +MSG_APPEARANCE (//) +Appearance +; +MSG_TOOLBAR (//) +Toolbar +; +MSG_CLASSIC (//) +Classic +; +MSG_ENHANCED (//) +Enhanced +; +MSG_NAVIGATION (//) +Navigation +; +MSG_METHOD (//) +Method +; +MSG_OBJECTS (//) +Objects +; +MSG_PREVIEW (//) +Preview +; +MSG_TOOLBAR_ENABLED (//) +Toolbar Enabled +; +MSG_ICONSPREFS (//) +Icons look and feel +; +MSG_ICONLISTMODE (//) +Icon listmode +; +MSG_ICONLISTMODE_PLAIN (//) +List icons plainly +; +MSG_ICONLISTMODE_GRID (//) +List icons by grid +; +MSG_ICONTEXTMODE (//) +Icons text drawmode +; +MSG_ICONTEXTMODE_OUTLINE (//) +Outline +; +MSG_ICONTEXTMODE_PLAIN (//) +Plain +; +MSG_ICONTEXTMODE_SHADOW (//) +Drop shadow +; +MSG_ICONTEXTLENGTH (//) +Max icon textlength +; +MSG_DOUBLEBUFFERED (//) +double buffering +; +MSG_MISC (//) +misc +; +MSG_BUBBLESCREENTITLE (//) +%pc = Chip Ram free\n\ +%pf = Fast Ram free\n\ +%pt = Total Ram free\n\ +%PC = Chip Ram\n\ +%PF = Fast Ram\n\ +%PT = Total Ram\n\ +%os = AROS version\n\ +%wb = Wanderer version\n\ +%ov = Exact AROS version\n\ +%wv = Exact workbench.library version +; +MSG_TILEMODE (//) +Tile mode : +; +MSG_XOFFSET (//) +X Offset : +; +MSG_YOFFSET (//) +Y Offset : +; +MSG_ICONLABELFONT (//) +Icon Label Font... +; +MSG_ICONINFOFONT (//) +Icon Info Font... +; +MSG_HORIZSPACINGICON (//) +Horizontal spacing between icons +; +MSG_VERTSPACINGICON (//) +Vertical spacing between icons +; +MSG_PADDINGICONIMAGELABEL (//) +Padding between Icon Image and Label +; +MSG_HORIZPADDINGLABELTEXT (//) +Horizontal Padding between Label Frame and Text +; +MSG_VERTPADDINGLABELTEXT (//) +Vertical Padding between Label Frame and Text +; +MSG_FRAMEWIDTH (//) +Label Frame Width +; +MSG_FRAMEHEIGHT (//) +Label Frame Height +; +MSG_TILED (//) +Tiled +; +MSG_SCALED (//) +Scaled +; +MSG_FLOATING (//) +Floating +; +MSG_FIXED (//) +Fixed +; +MSG_LABELLINELENGTH (//) +Max. Label line length... +; +MSG_USEMULTILINELABELS (//) +Use MultiLine Labels +; +MSG_SHOWFOCUSEDICON (//) +Only show for Focus(ed) Icon +; +MSG_NDISPLAYLINES (//) +No. of lines to display... +; +MSG_TILEMODEOPTIONS (//) +Tile Mode Options... +; +MSG_SCALEMODEOPTIONS (//) +Scale Mode Options... +; +MSG_ADVANCEDOPTIONS (//) +Advanced Options... +; +MSG_BACKGROUNDOPTIONS (//) +Background Options... +; +MSG_DRAWMODE (//) +Draw mode : +; +MSG_USERFILEONWB (//) +User Files Folder on Workbench +; +MSG_NETWORKONWB (//) +Network Browser on Workbench +; +MSG_VIEWSETTINGS (//) +View Settings +; +MSG_WANDERERSCREENTITLE (//) +Wanderer ScreenTitle +; +MSG_ADVANCED (//) +Advanced +; +MSG_USE (//) +_Use +; +MSG_CANCEL (//) +C_ancel +; +MSG_LABELSPREFS (//) +Labels look and feel +; +MSG_ADVANCEDBACKGROUND (//) +Background +; +MSG_ADVANCEDICONS (//) +Icons +; +MSG_ADVANCEDLABELS (//) +Labels +; +MSG_ICONSORTMODE_BYNAME (//) +By name +; +MSG_ICONSORTMODE_BYDATE (//) +By date +; +MSG_ICONSORTMODE_BYSIZE (//) +By size +; +MSG_DEFAULT_ICONSORTMODE (//) +Default sort order +; +MSG_ICON_AUTOSORT_ENABLED (//) +Autosorting enabled +; +MSG_ICON_DRAG_TRANSPARENT (//) +Use transparency when draging icons +; +MSG_DEFAULT_ICONVIEWMODE (//) +Default view mode +; +MSG_ICONVIEWMODE_ALL (//) +All files +; +MSG_ICONVIEWMODE_ICONS (//) +Icons only +; diff --git a/workbench/system/AboutAROS/catalogs b/workbench/system/AboutAROS/catalogs deleted file mode 160000 index d4a9a54e7c4..00000000000 --- a/workbench/system/AboutAROS/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d4a9a54e7c4b05d2249e7cb0f1896b2f8e8bb451 diff --git a/workbench/system/AboutAROS/catalogs/.gitattributes b/workbench/system/AboutAROS/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/AboutAROS/catalogs/aboutaros.cd b/workbench/system/AboutAROS/catalogs/aboutaros.cd new file mode 100644 index 00000000000..b3c17e26c61 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/aboutaros.cd @@ -0,0 +1,109 @@ +; +MSG_TITLE (//) +About AROS +; +MSG_PERSONAL_BUILD (//) +Personal %s Build +; +MSG_NIGHTLY_BUILD (//) +Nightly %s Build +; +MSG_SNAPSHOT (//) +Snapshot +; +MSG_MILESTONE (//) +Milestone +; +MSG_RELEASE (//) +Release +; +MSG_COPYRIGHT (//) +Copyright \xa9 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 (//) +Released under the terms of the +; +MSG_LICENSE_2 (//) +AROS Public License +; +MSG_LICENSE_3 (//) +, version 1.1. +; +MSG_MORE_INFORMATION (//) +Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS (//) +Authors +; +MSG_PAGE_SPONSORS (//) +Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS (//) +Acknowledgements +; +MSG_SECTION_COORDINATION (//) +Coordination +; +MSG_SECTION_EVANGELISM (//) +Evangelism +; +MSG_SECTION_HIDD (//) +HIDD subsystem +; +MSG_SECTION_INTUITION (//) +Intuition +; +MSG_SECTION_GRAPHICS (//) +Graphics +; +MSG_SECTION_SHELL_COMMANDS (//) +Shell Commands +; +MSG_SECTION_WORKBENCH (//) +Workbench +; +MSG_SECTION_TOOLS (//) +Tools +; +MSG_SECTION_PREFERENCES (//) +Preferences +; +MSG_SECTION_BGUI (//) +BGUI +; +MSG_SECTION_ZUNE (//) +Zune +; +MSG_SECTION_KERNEL (//) +Kernel +; +MSG_SECTION_DOS (//) +DOS +; +MSG_SECTION_NETWORK (//) +Networking Components +; +MSG_SECTION_LIBC_POSIX (//) +C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION (//) +Documentation +; +MSG_SECTION_TRANSLATION (//) +Translation +; +MSG_SECTION_ARTISTRY (//) +Artistry +; +MSG_SECTION_WEBSITE (//) +Website +; +MSG_SECTION_DATATYPES (//) +Datatypes +; +MSG_SECTION_TESTING (//) +Testing +; +MSG_BUILD_CPU (//) +This version of AROS has been built for %s processors. +; \ No newline at end of file diff --git a/workbench/system/AboutAROS/catalogs/croatian.ct b/workbench/system/AboutAROS/catalogs/croatian.ct new file mode 100644 index 00000000000..253c9373e4b --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/croatian.ct @@ -0,0 +1,140 @@ +## version $VER: About.catalog 1.6 (03.01.2010) +## language hrvatski +## codeset 5 +; +; +MSG_TITLE +O AROS projektu +; About AROS +; +MSG_PERSONAL_BUILD + +; Osobni %s Build +; +MSG_NIGHTLY_BUILD + +; Noćni %s Build +; +MSG_SNAPSHOT +Snapshot +; Snapshot +; +MSG_MILESTONE +Milestone +; Milestone +; +MSG_RELEASE +Izdanje +; Release +; +MSG_COPYRIGHT +Autorsko Pravo Œ 1995-2020, The AROS Development Team. Sva prava zadržana. +; Copyright Š 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Izdano pod licencom +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +verzija 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Posjetite http://www.aros.org za više informacija. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autori +; Authors +; +MSG_PAGE_SPONSORS +Sponzori +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Poznanstva +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordinacija +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelizam +; Evangelism +; +MSG_SECTION_HIDD +HIDD subsystem +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafika +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Komandna Linija (komande) +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Alati +; Tools +; +MSG_SECTION_PREFERENCES +Postavke +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Mrežne Komponente +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C link library i POSIX layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentacija +; Documentation +; +MSG_SECTION_TRANSLATION +Prijevod +; Translation +; +MSG_SECTION_ARTISTRY +Grafički djelovi +; Artistry +; +MSG_SECTION_WEBSITE +Web Stranica +; Website +; +MSG_SECTION_DATATYPES +Datatypes +; Datatypes diff --git a/workbench/system/AboutAROS/catalogs/czech.ct b/workbench/system/AboutAROS/catalogs/czech.ct new file mode 100644 index 00000000000..418e468750b --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/czech.ct @@ -0,0 +1,146 @@ +## version $VER: About.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +O systému AROS +; About AROS +; +MSG_PERSONAL_BUILD +Osobní sestavení (%s) +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Noční sestavení (%s) +; Nightly %s Build +; +MSG_SNAPSHOT +Sestavení +; Snapshot +; +MSG_MILESTONE +Milník +; Milestone +; +MSG_RELEASE +Vydání +; Release +; +MSG_COPYRIGHT +Copyright (C) 1995-2020, The AROS Development Team. All rights reserved. +; Copyright Š 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Vydáno na základě licence +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 + verze 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Další informace najdete na stránkách http://www.aros.org/cs/ . +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autoři +; Authors +; +MSG_PAGE_SPONSORS +Sponzoři +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Poděkování +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordinace +; Coordination +; +MSG_SECTION_EVANGELISM +Propagace +; Evangelism +; +MSG_SECTION_HIDD +Systém HIDD +; HIDD subsystem +; +MSG_SECTION_INTUITION +Systém Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafický systém +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Příkazy pro shell +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Pomocné programy +; Tools +; +MSG_SECTION_PREFERENCES +Editory nastavení +; Preferences +; +MSG_SECTION_BGUI +Rozhraní BGUI +; BGUI +; +MSG_SECTION_ZUNE +Rozhraní Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Síťová část +; Networking Components +; +MSG_SECTION_LIBC_POSIX +Knihovna libc a vrstva POSIX +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentace +; Documentation +; +MSG_SECTION_TRANSLATION +Překlad +; Translation +; +MSG_SECTION_ARTISTRY +Design +; Artistry +; +MSG_SECTION_WEBSITE +Webové stránky +; Website +; +MSG_SECTION_DATATYPES +Datové typy +; Datatypes +; +MSG_SECTION_TESTING +Testování +; Testing +; +; diff --git a/workbench/system/AboutAROS/catalogs/danish.ct b/workbench/system/AboutAROS/catalogs/danish.ct new file mode 100644 index 00000000000..892694f06b0 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/danish.ct @@ -0,0 +1,140 @@ +## version $VER: About.catalog 1.0 (24.6.2010) +## language dansk +## codeset 0 +; +; +MSG_TITLE +Om AROS +; About AROS +; +MSG_PERSONAL_BUILD +Personal %s Build +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Nightly %s Build +; Nightly %s Build +; +MSG_SNAPSHOT +Øjebliksbillede +; Snapshot +; +MSG_MILESTONE +Milepæl +; Milestone +; +MSG_RELEASE +Udgivelse +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Alle rettigheder forbeholdes. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Udgivet under vilkårene i +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, version 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Besøg http://www.aros.org for flere oplysninger. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Ophavsmænd +; Authors +; +MSG_PAGE_SPONSORS +Sponsorer +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Anerkendelser +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordinering +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelisme +; Evangelism +; +MSG_SECTION_HIDD +HIDD subsystem +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafik +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Skalkommandoer +; Shell Commands +; +MSG_SECTION_WORKBENCH +;** Workbench +; Workbench +; +MSG_SECTION_TOOLS +Værktøj +; Tools +; +MSG_SECTION_PREFERENCES +Indstillinger +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kerne +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Netværk +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C link library and POSIX layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentation +; Documentation +; +MSG_SECTION_TRANSLATION +Oversættelse +; Translation +; +MSG_SECTION_ARTISTRY +Udsmykning +; Artistry +; +MSG_SECTION_WEBSITE +Hjemmeside +; Website +; +MSG_SECTION_DATATYPES +Datatyper +; Datatypes \ No newline at end of file diff --git a/workbench/system/AboutAROS/catalogs/dutch.ct b/workbench/system/AboutAROS/catalogs/dutch.ct new file mode 100644 index 00000000000..b325791e0e7 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/dutch.ct @@ -0,0 +1,142 @@ +## version $VER: About.catalog 1.0 (26.4.2007) +## language nederlands +## codeset 0 +; +; +MSG_TITLE +Over AROS +; About AROS +; +MSG_PERSONAL_BUILD +Persoonlijke %s Build +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Nightly %s Build +; Nightly %s Build +; +MSG_SNAPSHOT +Snapshot +; Snapshot +; +MSG_MILESTONE +Milestone +; Milestone +; +MSG_RELEASE +Release +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, Het AROS Ontwikkelaars Team. Alle rechten voorbehouden. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Uitgegeven onder de termen van de +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Publieke Licentie +; AROS Public License +; +MSG_LICENSE_3 +, versie 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Bezoek http://www.aros.org/nl/ voor meer informatie. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Auteurs +; Authors +; +MSG_PAGE_SPONSORS +Sponsors +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Dankbetuigingen +; Acknowledgements +; +MSG_SECTION_COORDINATION +Coordinatie +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelisme +; Evangelism +; +MSG_SECTION_HIDD +HIDD subsystem +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafisch +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Shell Commando's +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Tools +; Tools +; +MSG_SECTION_PREFERENCES +Preferences +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Networking Components +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C link library en POSIX layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Documentatie +; Documentation +; +MSG_SECTION_TRANSLATION +Vertaling +; Translation +; +MSG_SECTION_ARTISTRY +Ontwerpen +; Artistry +; +MSG_SECTION_WEBSITE +Website +; Website +; +MSG_SECTION_DATATYPES + +; Datatypes +; +; ***NEW*** \ No newline at end of file diff --git a/workbench/system/AboutAROS/catalogs/finnish.ct b/workbench/system/AboutAROS/catalogs/finnish.ct new file mode 100644 index 00000000000..7e3c7588858 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/finnish.ct @@ -0,0 +1,105 @@ +## version $VER: About.catalog 1.0 (12.8.2003) +## language suomi +## codeset 0 +; +MSG_TITLE +Tietoa AROS:ista +; About AROS +; +MSG_PERSONAL_BUILD +Henkilökohtainen %s käännös +; +MSG_NIGHTLY_BUILD +Öinen %s käännös +; +MSG_SNAPSHOT +Snapshot +; +MSG_MILESTONE +Virstanpylväs +; +MSG_RELEASE +Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Julkaistu seuraavan lisenssin alaisena: +; +MSG_LICENSE_2 +AROS Public License +; +MSG_LICENSE_3 +, version 1.1. +; +MSG_MORE_INFORMATION +Vieraile sivustolla http://www.aros.org/fi/ lisätietoja varten. +; +MSG_PAGE_AUTHORS +Tekijät +; +MSG_PAGE_SPONSORS +Tukijat +; +MSG_PAGE_ACKNOWLEDGEMENTS +Tunnustuksia +; +MSG_SECTION_COORDINATION +Koordinaatio +; +MSG_SECTION_EVANGELISM +Evangelismi +; +MSG_SECTION_HIDD +HIDD alijärjestelmä +; +MSG_SECTION_INTUITION +Intuition +; +MSG_SECTION_GRAPHICS +Grafiikka +; +MSG_SECTION_SHELL_COMMANDS +Shell-komennot +; +MSG_SECTION_WORKBENCH +Workbench +; +MSG_SECTION_TOOLS +Työkalut +; +MSG_SECTION_PREFERENCES +Preferences +; +MSG_SECTION_BGUI +BGUI +; +MSG_SECTION_ZUNE +Zune +; +MSG_SECTION_KERNEL +Ydin +; +MSG_SECTION_DOS +DOS +; +MSG_SECTION_NETWORK +Networking Components +;Networking Components +; +MSG_SECTION_LIBC_POSIX +C-linkkikirjasto ja POSIX rajapinta +; +MSG_SECTION_DOCUMENTATION +Dokumentaatio +; +MSG_SECTION_TRANSLATION +Käännökset +; +MSG_SECTION_ARTISTRY +Taide +; +MSG_SECTION_WEBSITE +Web-sivusto +; diff --git a/workbench/system/AboutAROS/catalogs/french.ct b/workbench/system/AboutAROS/catalogs/french.ct new file mode 100644 index 00000000000..6dc1d83a139 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/french.ct @@ -0,0 +1,145 @@ +## version $VER: About.catalog 2.0 (30.3.2016) +## language français +## codeset 0 +; +; +MSG_TITLE +À propos d'AROS +; About AROS +; +MSG_PERSONAL_BUILD +Moutûre %s personelle +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Moutûre %s quotidienne +; Nightly %s Build +; +MSG_SNAPSHOT +Instantané +; Snapshot +; +MSG_MILESTONE +Étape +; Milestone +; +MSG_RELEASE +Édition +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Tous droits réservés. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Publié sous les termes de la +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, version 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Visitez http://www.aros.org/fr/ pour plus d'information. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Auteurs +; Authors +; +MSG_PAGE_SPONSORS +Sponsors +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Remerciements +; Acknowledgements +; +MSG_SECTION_COORDINATION +Coordination +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelisme +; Evangelism +; +MSG_SECTION_HIDD +Modèle HIDD +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Graphics +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Commandes Shell +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Outils +; Tools +; +MSG_SECTION_PREFERENCES +Préférences +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Noyau +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Composants Réseau +; Networking Components +; +MSG_SECTION_LIBC_POSIX +Bibliothèque C et couche POSIX +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Documentation +; Documentation +; +MSG_SECTION_TRANSLATION +Traduction +; Translation +; +MSG_SECTION_ARTISTRY +Graphismes +; Artistry +; +MSG_SECTION_WEBSITE +Site Web +; Website +; +MSG_SECTION_DATATYPES +Modules de types de données +; Datatypes +; +MSG_SECTION_TESTING +Tests +;Testing +; diff --git a/workbench/system/AboutAROS/catalogs/german.ct b/workbench/system/AboutAROS/catalogs/german.ct new file mode 100644 index 00000000000..8571c87c21a --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/german.ct @@ -0,0 +1,149 @@ +## version $VER: About.catalog 2.1 (18.01.2020) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +Über AROS +; About AROS +; +MSG_PERSONAL_BUILD +Personal %s Build +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Nightly %s Build +; Nightly %s Build +; +MSG_SNAPSHOT +Schnappschuss +; Snapshot +; +MSG_MILESTONE +Meilenstein +; Milestone +; +MSG_RELEASE +Ausgabe +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Alle Rechte vorbehalten. +; Copyright \xa9 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Veröffentlicht gemäß den Richtlinien der +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, Version 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Besuchen Sie http://www.aros.org/de/ für mehr Informationen. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autoren +; Authors +; +MSG_PAGE_SPONSORS +Sponsoren +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Danksagungen +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordination +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelismus +; Evangelism +; +MSG_SECTION_HIDD +HIDD-Subsystem +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Graphics +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Shell-Kommandos +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Tools +; Tools +; +MSG_SECTION_PREFERENCES +Voreinstellungen +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Netzwerk-Komponenten +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C Link Library und POSIX-Layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentation +; Documentation +; +MSG_SECTION_TRANSLATION +Übersetzung +; Translation +; +MSG_SECTION_ARTISTRY +Künstlerische Gestaltung +; Artistry +; +MSG_SECTION_WEBSITE +Webseite +; Website +; +MSG_SECTION_DATATYPES +Datatypes +; Datatypes +; +MSG_SECTION_TESTING +Testen +; Testing +; +MSG_BUILD_CPU +Diese Version von AROS wurde für %s-Prozessoren gebaut. +; This version of AROS has been built for %s processors. +; diff --git a/workbench/system/AboutAROS/catalogs/italian.ct b/workbench/system/AboutAROS/catalogs/italian.ct new file mode 100644 index 00000000000..7b111bb4e60 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/italian.ct @@ -0,0 +1,142 @@ +## version $VER: About.catalog 1.0 (12.8.2003) +## language italiano +## codeset 0 +; +; +MSG_TITLE +Informazioni su AROS +; About AROS +; +MSG_PERSONAL_BUILD +Build %s Personale +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Build %s Notturna +; Nightly %s Build +; +MSG_SNAPSHOT +Snapshot +; Snapshot +; +MSG_MILESTONE +Milestone +; Milestone +; +MSG_RELEASE +Edizione +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Tutti i diritti riservati. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Rilasciato secondo i termini della +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, versione 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Visitare il sito http://www.aros.org/it/ per maggiori informazioni. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autori +; Authors +; +MSG_PAGE_SPONSORS +Sponsor +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Ringraziamenti +; Acknowledgements +; +MSG_SECTION_COORDINATION +Coordinazione +; Coordination +; +MSG_SECTION_EVANGELISM +Diffusione +; Evangelism +; +MSG_SECTION_HIDD +Sottosistema HIDD +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafica +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Comandi +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Strumenti +; Tools +; +MSG_SECTION_PREFERENCES +Preferenze +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Networking Components +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C link library e layer POSIX +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Documentazione +; Documentation +; +MSG_SECTION_TRANSLATION +Traduzione +; Translation +; +MSG_SECTION_ARTISTRY +Contributi grafici +; Artistry +; +MSG_SECTION_WEBSITE +Sito Internet +; Website +; +MSG_SECTION_DATATYPES + +; Datatypes +; +; ***NEW*** diff --git a/workbench/system/AboutAROS/catalogs/mmakefile.src b/workbench/system/AboutAROS/catalogs/mmakefile.src new file mode 100644 index 00000000000..c530bd88326 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french german norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-aboutaros-catalogs \ + catalogs=$(CATALOGS) \ + name=About subdir=System/System diff --git a/workbench/system/AboutAROS/catalogs/norwegian.ct b/workbench/system/AboutAROS/catalogs/norwegian.ct new file mode 100644 index 00000000000..b5b9e0aad03 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/norwegian.ct @@ -0,0 +1,145 @@ +## version $VER: About.catalog 2.0 (08.07.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Om AROS +; About AROS +; +MSG_PERSONAL_BUILD +Personlig %s bygg +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Daglig %s bygg +; Nightly %s Build +; +MSG_SNAPSHOT +Snapshot +; Snapshot +; +MSG_MILESTONE +Milepæl +; Milestone +; +MSG_RELEASE +Utgave +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2019, The AROS Development Team. All rights reserved. +; Copyright \xa9 1995-2019, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Utgitt under følgende lisensbetingelser +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, Version 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Besøk http://www.aros.org/de/ for mer informasjon. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Forfattere +; Authors +; +MSG_PAGE_SPONSORS +Sponsorer +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Erkjennelser +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordinator +; Coordination +; +MSG_SECTION_EVANGELISM +Evangelister +; Evangelism +; +MSG_SECTION_HIDD +HIDD-Subsystem +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafikk +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Shellkommandoer +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Verktøy +; Tools +; +MSG_SECTION_PREFERENCES +Innstillinger +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kjerne +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Nettverkskomponenter +; Networking Components +; +MSG_SECTION_LIBC_POSIX +C Link bibliotek og POSIX lag +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentasjon +; Documentation +; +MSG_SECTION_TRANSLATION +Oversettelse +; Translation +; +MSG_SECTION_ARTISTRY +Kunstnerisk +; Artistry +; +MSG_SECTION_WEBSITE +Webside +; Website +; +MSG_SECTION_DATATYPES +Datatyper +; Datatypes +; +MSG_SECTION_TESTING +Testing +; Testing +; \ No newline at end of file diff --git a/workbench/system/AboutAROS/catalogs/polish.ct b/workbench/system/AboutAROS/catalogs/polish.ct new file mode 100644 index 00000000000..9be19206288 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/polish.ct @@ -0,0 +1,140 @@ +## version $VER: About.catalog 1.1 (29.04.2010) +## language polski +## codeset 5 +; +MSG_TITLE +O systemie AROS +; About AROS +; +MSG_PERSONAL_BUILD +Kompilacja osobista %s +; Personal %s Build +; +MSG_NIGHTLY_BUILD +Kompilacja nocna %s +; Nightly %s Build +; +MSG_SNAPSHOT +Snaphot +; Snapshot +; +MSG_MILESTONE +Kamień milowy +; Milestone +; +MSG_RELEASE +Wydanie +; Release +; +MSG_COPYRIGHT +Copyright (c) 1995-2020, The AROS Development Team. Wszystkie prawa zastrzeżone. +; Copyright Š 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Wydany zgodnie z postanowieniami +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, wersja 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Więcej informacji znajdziesz na stronie http://www.aros.org/pl/ . +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autorzy +; Authors +; +MSG_PAGE_SPONSORS +Sponsorzy +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Podziękowania +; Acknowledgements +; +MSG_SECTION_COORDINATION +Koordynacja +; Coordination +; +MSG_SECTION_EVANGELISM +Wsparcie duchowe +; Evangelism +; +MSG_SECTION_HIDD +Podsystem HIDD +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Grafika +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Polecenia shella +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Narzędzia +; Tools +; +MSG_SECTION_PREFERENCES +Preferencje +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Kernel +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Elementy sieciowe +; Networking Components +; +MSG_SECTION_LIBC_POSIX +Biblioteka C Link i POSIX Layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Dokumentacja +; Documentation +; +MSG_SECTION_TRANSLATION +Tłumaczenia +; Translation +; +MSG_SECTION_ARTISTRY +Oprawa graficzna +; Artistry +; +MSG_SECTION_WEBSITE +Strona internetowa +; Website +; +MSG_SECTION_DATATYPES +Datatype'y +; Datatypes +; diff --git a/workbench/system/AboutAROS/catalogs/portuguese.ct b/workbench/system/AboutAROS/catalogs/portuguese.ct new file mode 100644 index 00000000000..85685781502 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/portuguese.ct @@ -0,0 +1,65 @@ +## version $VER: About.catalog 1.0 (18.8.2008) +## language português +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +MSG_TITLE +Relativo ao AROS +; About AROS +; +MSG_PERSONAL_BUILD +** Build pessoal %s +; Personal Build +; +MSG_NIGHTLY_BUILD +** Nightly %s Build +; Nightly Build +; +MSG_SNAPSHOT +** Snapshot +; Snapshot +; +;MSG_MILESTONE +;** Milestone +; Milestone +; +;MSG_RELEASE +;** Release +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Todos direitos reservados. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Disponibilizado sob os termos da +; Released under the terms of the +; +MSG_LICENSE_2 +Licença Pública AROS +; AROS Public License +; +MSG_LICENSE_3 +, versão 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Por favor, visite http://www.aros.org/pt/ para mais informacão. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autores +; Authors +; +MSG_PAGE_SPONSORS +Patrocinadores +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Reconhecimentos +; Acknowledgements +; +MSG_SECTION_TOOLS +Ferramentas +; Tools \ No newline at end of file diff --git a/workbench/system/AboutAROS/catalogs/russian.ct b/workbench/system/AboutAROS/catalogs/russian.ct new file mode 100644 index 00000000000..dd68f8d9d8d --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/russian.ct @@ -0,0 +1,142 @@ +## version $VER: About.catalog 1.3 (24.02.2009) +## language russian +## codeset 0 +; +; +MSG_TITLE +Сведения о AROS +; About AROS +; +MSG_PERSONAL_BUILD +Личная %s сборка +; Personal Build +; FIXME: shall I translate this? +; +MSG_NIGHTLY_BUILD +"Ночная" %s сборка +; Nightly Build +; FIXME: shall I translate this? +; +MSG_SNAPSHOT +Снимок +; Snapshot +; +MSG_MILESTONE +Веха +; Milestone +; +MSG_RELEASE +Релиз +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Все права защищены. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Выпущено на условиях +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, Версия 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Дополнительные сведения ищите на http://www.aros.org/ru/ . +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Авторы +; Authors +; +MSG_PAGE_SPONSORS +Спонсоры +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Благодарности +; Acknowledgements +; +MSG_SECTION_COORDINATION +Координаторы +; Coordination +; +MSG_SECTION_EVANGELISM +"Духовенство" +; Evangelism +; +MSG_SECTION_HIDD +Подсистема HIDD +; HIDD subsystem +; +MSG_SECTION_INTUITION +Intuition +; Intuition +; +MSG_SECTION_GRAPHICS +Графика +; Graphics +; +MSG_SECTION_SHELL_COMMANDS +Команды оболочки +; Shell Commands +; +MSG_SECTION_WORKBENCH +Workbench +; Workbench +; +MSG_SECTION_TOOLS +Инструменты +; Tools +; +MSG_SECTION_PREFERENCES +Настройки +; Preferences +; +MSG_SECTION_BGUI +BGUI +; BGUI +; +MSG_SECTION_ZUNE +Zune +; Zune +; +MSG_SECTION_KERNEL +Ядро +; Kernel +; +MSG_SECTION_DOS +DOS +; DOS +; +MSG_SECTION_NETWORK +Сетевые компоненты +;Networking Components +; +MSG_SECTION_LIBC_POSIX +Библиотеки C и POSIX Layer +; C link library and POSIX layer +; +MSG_SECTION_DOCUMENTATION +Документация +; Documentation +; +MSG_SECTION_TRANSLATION +Перевод и локализация +; Translation +; +MSG_SECTION_ARTISTRY +Художественное оформление +; Artistry +; +MSG_SECTION_WEBSITE +Веб-сайт +; Website +; +MSG_SECTION_DATATYPES +Datatypes +;Datatypes diff --git a/workbench/system/AboutAROS/catalogs/spanish.ct b/workbench/system/AboutAROS/catalogs/spanish.ct new file mode 100644 index 00000000000..78b9f7a4037 --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/spanish.ct @@ -0,0 +1,63 @@ +## version $VER: About.catalog 1.0 (18.8.2003) +## language español +## codeset 0 +; +MSG_TITLE +Sobre AROS +; About AROS +; +;MSG_PERSONAL_BUILD +;** Personal %s Build +; Personal Build +; +;MSG_NIGHTLY_BUILD +;** Nightly %s Build +; Nightly Build +; +;MSG_SNAPSHOT +;** Snapshot +; Snapshot +; +;MSG_MILESTONE +;** Milestone +; Milestone +; +;MSG_RELEASE +;** Release +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Todos derechos reservados. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Lanzado por los términos de la +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, versión 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Por favor, visite http://www.aros.org/es/ para mas información. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Autores +; Authors +; +MSG_PAGE_SPONSORS +Patrocinadores +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Reconocimientos +; Acknowledgements +; +MSG_SECTION_TOOLS +Tools +; Tools diff --git a/workbench/system/AboutAROS/catalogs/swedish.ct b/workbench/system/AboutAROS/catalogs/swedish.ct new file mode 100644 index 00000000000..1d1e2f7fd9b --- /dev/null +++ b/workbench/system/AboutAROS/catalogs/swedish.ct @@ -0,0 +1,63 @@ +## version $VER: About.catalog 1.0 (25.7.2003) +## language svenska +## codeset 0 +; +MSG_TITLE +Om AROS +; About AROS +; +;MSG_PERSONAL_BUILD +;** Personal %s Build +; Personal Build +; +;MSG_NIGHTLY_BUILD +;** Nightly %s Build +; Nightly Build +; +;MSG_SNAPSHOT +;** Snapshot +; Snapshot +; +;MSG_MILESTONE +;** Milestone +; Milestone +; +;MSG_RELEASE +;** Release +; Release +; +MSG_COPYRIGHT +Copyright © 1995-2020, The AROS Development Team. Alla rättigheter förbehållna. +; Copyright © 1995-2020, The AROS Development Team. All rights reserved. +; +MSG_LICENSE_1 +Publicerat enligt villkoren i +; Released under the terms of the +; +MSG_LICENSE_2 +AROS Public License +; AROS Public License +; +MSG_LICENSE_3 +, version 1.1. +; , version 1.1. +; +MSG_MORE_INFORMATION +Besök http://www.aros.org/sv/ för mer information. +; Please visit http://www.aros.org for more information. +; +MSG_PAGE_AUTHORS +Upphovsmän +; Authors +; +MSG_PAGE_SPONSORS +Sponsorer +; Sponsors +; +MSG_PAGE_ACKNOWLEDGEMENTS +Erkännanden +; Acknowledgements +; +MSG_SECTION_TOOLS +Verktyg +; Tools diff --git a/workbench/system/BHFormat/catalogs b/workbench/system/BHFormat/catalogs deleted file mode 160000 index e22bde09179..00000000000 --- a/workbench/system/BHFormat/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e22bde09179e41d3bea5c38289e2759956737c19 diff --git a/workbench/system/BHFormat/catalogs/.gitattributes b/workbench/system/BHFormat/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/BHFormat/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/BHFormat/catalogs/Format.cd b/workbench/system/BHFormat/catalogs/Format.cd new file mode 100644 index 00000000000..ac7ded4ec68 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/Format.cd @@ -0,0 +1,214 @@ +MSG_OK (//) +OK +; +MSG_CANCEL (//) +Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK (//) +Insert disk to be formatted in device %s\n\ +Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING (//) +\rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING (//) +\rVerifying +; +MSG_INITIALIZING (//) +Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE (//) +Select Device To Format +; +MSG_GUI_FORMATTING (//) +Formatting Disk... +; +MSG_GUI_INITIALIZING (//) +Initializing Disk... +; +MSG_IN_DEVICE (//) +in device %s +; +MSG_FORMAT_REQUEST_TITLE (//) +Format Request +; +MSG_FORMAT_REQUEST_GADGETS (//) +Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT (//) +OK to format volume\n\ +%s?\n\n\ +WARNING!\n\n\ +All data will be lost!\n\ +(%s) +; +MSG_UNITS (/6/6) +KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED (//) +%lu%lc capacity, %lu%% used +; +MSG_CAPACITY (//) +%lu%lc +; +MSG_ERROR_WANDERER (//) +Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE (//) +Format - %s +; +MSG_DEVICE (//) +Device '%s' +; +MSG_VOLUME (//) +Volume '%b' +; +MSG_APPLICATION_TITLE (//) +Format +; +MSG_DESCRIPTION (//) +Disk Formatting Utility +; +MSG_COPYRIGHT (//) +Copyright \xa9 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR (//) +Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION (//) +Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME (//) +New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME (//) +Empty +; +MSG_LABEL_PUT_TRASHCAN (//) +Put Trashcan: +; +MSG_LABEL_FFS (//) +Fast File System: +; +MSG_LABEL_INTL (//) +International Mode: +; +MSG_LABEL_CACHE (//) +Directory Cache: +; +MSG_BTN_FORMAT (//) +Format +; +MSG_BTN_QFORMAT (//) +Quick Format +; +MSG_BTN_CANCEL (//) +Cancel +; +MSG_BTN_STOP (//) +Stop +; +MSG_ERROR_NO_APPLICATION (//) +Can't create application\n +; +MSG_ERROR_NO_WINDOW (//) +Can't open window\n +; +MSG_REQ_ERROR_TITLE (//) +Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING (//) +Warning +; +MSG_ERRORS_ERROR (//) +Error +; +MSG_ERRORS_FAILURE (//) +Failure +; +MSG_FORMAT (//) +Format +; +MSG_ERROR_INVALID_DOSTYPE (//) +Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 (//) +This device is larger than 4 gigabytes in size. The\ + Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 (//) +This device extends beyond the first 4 gigabytes of the\ + disk it is on. In order to use it, you must install\ + version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 (//) +This device is larger than 2 gigabytes in size. In order to\ + use it, you must install version 40 or later of the Amiga\ + file-system. +; +MSG_ERROR_TOO_LARGE_4 (//) +This device is set to use buffers in memory that may not be\ + \"public\". This can cause your computer to crash if you use a\ + virtual memory system. You should add 1 to the BufMemType\ + setting for this device to avoid this. +; +MSG_ERROR_DEVICE (//) +Device open returned error %ld +; +MSG_ERROR_IDE (//) +This device appears to be on an IDE drive\ + using an old Commodore IDE driver. This driver may\ + attempt to perform long data transfers that some IDE\ + drives do not carry out correctly. To avoid the risk\ + of data loss, you should change this device's\ + MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY (//) +Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT (//) +This device extends beyond the first 4 gigabytes of the disk.\ + In order to use this device, you must either use a driver\ + that supports the NSD 64-bit commands or install and run the\ + NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN (//) +Device %s returned error %ld +; +MSG_ERROR_FLUSH (//) +flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE (//) +invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY (//) +Verify error +; +MSG_COMMAND_FORMAT64 (//) +format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT (//) +format (TD_FORMAT) +; +MSG_COMMAND_READ64 (//) +read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ (//) +read (CMD_READ) +; +MSG_ERROR_TRASHCAN (//) +Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON (//) +Couldn't create disk icon on volume\n%s +; diff --git a/workbench/system/BHFormat/catalogs/croatian.ct b/workbench/system/BHFormat/catalogs/croatian.ct new file mode 100644 index 00000000000..b1fd2c5471b --- /dev/null +++ b/workbench/system/BHFormat/catalogs/croatian.ct @@ -0,0 +1,300 @@ +## version $VER: Format.catalog 1.0 (03.01.2010) +## language hrvatski +## codeset 0 +; +MSG_OK +U redu +; OK +; +MSG_CANCEL +Odustani +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Ubacite disk koji će biti formatiran u uređaj %s\n\ +Za početak formatiranja pritisnuti ENTER ili CTRL-C za prekid: +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormatiranje cilindra %lu, %lu preostalo +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rProvjeravanje +; \rVerifying +; +MSG_INITIALIZING +Pokrečem disk...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE +Izaberite uređaj koji želite formatirati +; Select Device To Format +; +MSG_GUI_FORMATTING +Formatiram Disk... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Pokrečem disk...\n +; Initializing Disk... +; +MSG_IN_DEVICE +u uređaju %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Format +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Formatiraj|Odustani +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +FORMATIRAJ\n\ +%s?\n\n\ +UPOZORENJE!\n\n\ +Svi će podatci biti izgubljeni!\n\ +(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +%lu%lc kapacitet, %lu%% iskorišteno +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +%lu%lc kapacitet +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Mora bit pokrenito iz Desktopa\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Format - %s +; Format - %s +; +MSG_DEVICE +Uređaj '%s' +; Device '%s' +; +MSG_VOLUME +Volumen '%b' +; Volume '%b' +; +MSG_APPLICATION_TITLE +Formatiranje +; Format +; +MSG_DESCRIPTION +Alat za Formatiranje Diskova +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright Œ 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright Š 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Trenutne Informacije: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Ime Novog Volumena: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Prazno +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Stavi Kantu za Smeće: +; Put Trashcan: +; +MSG_LABEL_FFS +Brzi datotečni sustav: +; Fast File System: +; +MSG_LABEL_INTL +Internacionalni Mod: +; International Mode: +; +MSG_LABEL_CACHE +Direktorijski Međuspremnik: +; Directory Cache: +; +MSG_BTN_FORMAT +Formatiraj +; Format +; +MSG_BTN_QFORMAT +Brzo Formatiraj +; Quick Format +; +MSG_BTN_CANCEL +Odustani +; Cancel +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_ERROR_NO_APPLICATION +Ne mogu stvoriti aplikaciju\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Ne mogu otvoriti prozor\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Pogreška +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Upozorenje +; Warning +; +MSG_ERRORS_ERROR +Pogreška +; Error +; +MSG_ERRORS_FAILURE +Neuspjeh +; Failure +; +MSG_FORMAT +Formatiraj +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Pogrešna DosType specifikacija +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Uređaj sadržava više od 4 gigabajta\ + Amiga datotečni sustav ne podržava uređaj ove veličine. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Uređaj se širi iznad prva 4 gigabajta diska\ + na kojem se nalazi. Ukoliko ga želite koristiti\ + instalirajte verziju 43 Amiga datotečnog sustava. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Uređaj se širi iznad prva 2 gigabajta diska\ + na kojem se nalazi. Ukoliko ga želite koristiti\ + instalirajte verziju 40 Amiga datotečnog sustava. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Uređaj je postavljen da koristi međuspremnik u memoriji\ + koji ne može bit \"public\". Ovo može izazvati pad sustava\ + ako koristite sustav sa virtualnom memorijom. Dodajte 1 u BufMemType\ + opciju da bi ste izbjegli navede pogreške. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Uređaj vrača pogrešku %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +Uređaj je IDE pogon koji koristi\ + stari Commodore IDE drajver. Drajver će pokušati\ + izvesti duge prijenose podataka koje neki IDE\ + pogoni neće moći izvesti ispravno. Podesite\ + MaxTransfer opciju na 0x10000 da bi ste\ + izbjegli navede pogreške. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Device query (NSCMD_DEVICEQUERY) vrača pogrešku %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Uređaj se širi iznad prva 4 gigabajta diska\ + na kojem se nalazi. Ukoliko ga želite koristiti\ + instalirajte drajver sa podrškom za NSD 64-bit komande\ + ili instalirajte i pokrenite NSDPatch alat. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Uređaj vrača pogrešku %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +Pražnjenje (CMD_UPATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +Poništiti (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Pogreška pri provjeri +; Verify error +; +MSG_COMMAND_FORMAT64 +Formatiraj (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +Formatiraj (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +Pročitaj (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +Pročitaj (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Ne mogu stvoriti Kantu za Smeće na volumenu\n%s +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Ne mogu stvoriti ikonu diska na volumenu\n%s +; Couldn't create disk icon on volume\n%s +; diff --git a/workbench/system/BHFormat/catalogs/czech.ct b/workbench/system/BHFormat/catalogs/czech.ct new file mode 100644 index 00000000000..c591223f104 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/czech.ct @@ -0,0 +1,297 @@ +## version $VER: Format.catalog 2.0 (29.09.2016) +## language czech +## codeset 5 +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Zrušit +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Vložte disk k formátování do zařízení %s\n\ +Klávesou ENTER spustíte formátování (pomocí\n\ +CTRL-C formátování přerušíte): +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormátování cylindru %lu, zbývá %lu +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rVerifikace +; \rVerifying +; +MSG_INITIALIZING +Inicializace disku...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE +Vyberte zařízení, které chcete zformátovat. +; Select Device To Format +; +MSG_GUI_FORMATTING +Formátování disku... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Inicializace disku... +; Initializing Disk... +; +MSG_IN_DEVICE +do zařízení %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Formátování - žádost +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Zformátovat|Zrušit +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +Opravdu chcete zformátovat\n\ +médium %s?\n\n\ +Všechna data budou ztracena!\n(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +velikost - %lu %lcB, zaplněno - %lu %% +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +velikost - %lu %lc +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Tento program musí být spuštěn kliknutím na ikonu.\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Formátování - %s +; Format - %s +; +MSG_DEVICE +zařízení - %s +; Device '%s' +; +MSG_VOLUME +název - %b +; Volume '%b' +; +MSG_APPLICATION_TITLE +Format +; Format +; +MSG_DESCRIPTION +Formátování disků +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright (C) 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright \xa9 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Přehled informací: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Nový název: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +prázdný +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Vložit koš: +; Put Trashcan: +; +MSG_LABEL_FFS +Fast File System: +; Fast File System: +; +MSG_LABEL_INTL +Řazení dle lokalizace: +; International Mode: +; +MSG_LABEL_CACHE +Zrychlené načítání: +; Directory Cache: +; +MSG_BTN_FORMAT +Formátovat +; Format +; +MSG_BTN_QFORMAT +Formátovat zrychl. +; Quick Format +; +MSG_BTN_CANCEL +Zrušit +; Cancel +; +MSG_BTN_STOP +Přerušit +; Stop +; +MSG_ERROR_NO_APPLICATION +Nelze vytvořit objekt application.\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Nelze otevřít okno.\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Chyba +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +- upozornění +; Warning +; +MSG_ERRORS_ERROR +- chyba +; Error +; +MSG_ERRORS_FAILURE +- závažná chyba +; Failure +; +MSG_FORMAT +Formátování +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Neplatný DosType +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Velikost vybraného zařízení přesahuje 4 GB. Standardní \ +souborový systém nelze pro takový disk použít. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Vybrané zařízení je větší nebo obsahuje oddíly za hranicí \ +4 GB. Pro tento případ musíte nainstalovat souborový systém \ +v43 nebo novější. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Velikost vybraného zařízení přesahuje 2 GB. Pro tento \ +případ musíte nainstalovat souborový systém v40 nebo novější. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Vybrané zařízení může využívat i paměť, která není označena \ +příznakem \"public\". Tato vlastnost může působit problémy \ +v případě nasazení virtuální paměti. Do souboru s definicí \ +zařízení proto zadejte parametr BufMemType = 1. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Chyba při otevírání zařízení: %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +Vybrané zařízení je pravděpodobně připojeno na původní \ +zastaralé rozhraní IDE firmy Commodore, které ve spojení \ +s určitými disky způsobuje chyby při čtení větších \ +objemů dat. Doporučujeme proto změnit parametr MaxTransfer \ +na hodnotu 0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Chyba při zjišťování informací o zařízení: %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Vybrané zařízení je větší nebo obsahuje oddíly za hranicí \ +4 GB. Pro tento případ musíte nainstalovat ovladač, který \ +podporuje příkazy dle specifikace NSD, nebo program \ +NSDPatch. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Chyba zařízení %s: %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +flush (CMD_UPDATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +invalidate (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Chyba při verifikaci +; Verify error +; +MSG_COMMAND_FORMAT64 +format (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +format (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +read (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +read (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Na médiu %s\nnelze vytvořit koš. +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Na médium %s\nnelze zapsat ikonu disku. +; Couldn't create disk icon on volume\n%s +; diff --git a/workbench/system/BHFormat/catalogs/danish.ct b/workbench/system/BHFormat/catalogs/danish.ct new file mode 100644 index 00000000000..df0d8950d9e --- /dev/null +++ b/workbench/system/BHFormat/catalogs/danish.ct @@ -0,0 +1,305 @@ +## version $VER: Format.catalog 1.0 (16.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_OK +O.k. +; OK +; +MSG_CANCEL +Afbryd +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Indsæt disken, der skal formateres i enhed %s\n\ +Tryk ENTER for at begynde formatering eller CTRL-C for at afbryde: +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormaterer cylinder %lu, %lu tilbage +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rBekræfter +; \rVerifying +; +MSG_INITIALIZING +Klargør disk...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE +Vælg enhed til formatering +; Select Device To Format +; +MSG_GUI_FORMATTING +Formaterer disk... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Klargør disk... +; Initializing Disk... +; +MSG_IN_DEVICE +i enhed %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Formateringsanmodning +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Formatér|Afbryd +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +O.k. at formatere volume\n\ +%s?\n\n\ +ADVARSEL!\n\n\ +Alle data vil gå tabt!\n\ +(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +%lu%lc kapacitet, %lu%% brugt +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +%lu%lc kapacitet +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Kan kun startes fra Wanderer med et valgt ikon\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Format - %s +; Format - %s +; +MSG_DEVICE +Enhed '%s' +; Device '%s' +; +MSG_VOLUME +Volume '%b' +; Volume '%b' +; +MSG_APPLICATION_TITLE +Diskformatering +; Format +; +MSG_DESCRIPTION +Værktøj til at formatere diske +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Nuværende oplysninger: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Nyt volumenavn: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Tom +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Placér skraldespand: +; Put Trashcan: +; +MSG_LABEL_FFS +Fast File System: +; Fast File System: +; +MSG_LABEL_INTL +International tilstand: +; International Mode: +; +MSG_LABEL_CACHE +Katalogmellemlager: +; Directory Cache: +; +MSG_BTN_FORMAT +Formatér +; Format +; +MSG_BTN_QFORMAT +Hurtigformatér +; Quick Format +; +MSG_BTN_CANCEL +Afbryd +; Cancel +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_ERROR_NO_APPLICATION +Kan ikke oprette applikation\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Kan ikke åbne vindue\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Fejl +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Advarsel +; Warning +; +MSG_ERRORS_ERROR +Fejl +; Error +; +MSG_ERRORS_FAILURE +FEJL +; Failure +; Med store bogstaver for at skelne mellem Error og Fejl +; +MSG_FORMAT +Format +; Format +; denne skal kigges på igen +; +MSG_ERROR_INVALID_DOSTYPE +Ugyldig DosType-angivelse +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Denne enhed har en størrelse over 4 gigabyte. Amiga-\ + filsystemet kan ikke håndtere så stor en enhed. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Denne enhed går udover de første 4 gigabyte af disken\ + den er på. For at bruge den, må du først installere\ + version 43 eller nyere af Amiga-filsystemet. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Denne enhed er større end 2 gigabyte i størrelse. For at bruge\ + den, må du installere version 40 eller senere af Amiga-\ + filsystemet. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Denne enhed er sat til at bruge buffere i hukommelse, som\ + muligvis ikke er \"public\". Dette kan få din computer til\ + at gå ned, hvis du bruger virtuel hukommelse. Du bør derfor\ + tilføje 1 til BufMemType-indstillingen for denne enhed. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Åbn enhed svarede med fejlen %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +Denne enhed ser ud til at være på et IDE-drev\ + som bruger en ældre Commodore IDE-driver. Denne kan\ + forsøge at udføre long data-overførsler som nogle\ + IDE-drev ikke kan udføre korrekt. For at undgå denne\ + risiko for datatab, bør du ændre denne enheds\ + MaxTransfer-indstilling til 0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Enhedsforespørgsel (NSCMD_DEVICEQUERY) svarede med fejlen %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Denne enhed strækker sig udover de første 4 gigabyte af denne disk.\ + For at bruge denne enhed, må du enten bruge en driver, der\ + understøtter NSD's 64-bitkommandoer, eller installere og køre\ + NSDPatch-programmet. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Enhed %s svarede med fejl %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +tøm (CMD_UPATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +invalidér (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Bekræftelsesfejl +; Verify error +; +MSG_COMMAND_FORMAT64 +formatér (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +formatér (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +læs (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +læs (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Kunne ikke oprette skraldespand på volume\n%s +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Kunne ikke oprette diskikon på volume\n%s +; Couldn't create disk icon on volume\n%s +; \ No newline at end of file diff --git a/workbench/system/BHFormat/catalogs/french.ct b/workbench/system/BHFormat/catalogs/french.ct new file mode 100644 index 00000000000..6a9024590c7 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/french.ct @@ -0,0 +1,281 @@ +## version $VER: format.catalog 2.1 (31.3.2019) +## language français +## codeset 0 +; +MSG_OK +Ok +; OK +; +MSG_CANCEL +Annuler +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Insérer le disque à formater dans le périphérique %s\n\ Appuyer sur Retour pour démarrer le formatage ou CTRL+C pour arrêter : +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormatage du cylindre %lu, %lu restants +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rVérification +; \rVerifying +; +MSG_INITIALIZING +Initialisation du disque...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE +Choisissez un périphérique\nà formater +; Select Device To Format +; +; ***NEW*** +; +MSG_GUI_FORMATTING +Formatage du disque... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Initialisation du disque... +; Initializing Disk... +; +MSG_IN_DEVICE +dans le périphérique %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Requête de formatage +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Formater|Annuler +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +Voulez vous vraiment formater le volume %s?\n\nAttention !\n\nToutes les données seront perdues !\n\(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +Capacité de %lu%lc, %lu%% utilisé +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +Capacité de %lu%lc +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Doit être exécuté depuis Wanderer avec une icône sélectionnée. +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Formater - %s +; Format - %s +; +MSG_DEVICE +Périphérique %s +; Device '%s' +; +MSG_VOLUME +Volume '%b' +; Volume '%b' +; +MSG_APPLICATION_TITLE +Format +; Format +; +MSG_DESCRIPTION +Outil de formatage de disque +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright \xa9 1999 Ben Hutchings, 2008 Pavel Fedin, 2008-2019 l'équipe de développement d'AROS +; Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, l'équipe de développement d'AROS +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Information actuelle : +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Nouveau nom de volume : +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Vide +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Mettre une corbeille : +; Put Trashcan: +; +MSG_LABEL_FFS +Fast File System : +; Fast File System: +; +MSG_LABEL_INTL +Mode international : +; International Mode: +; +MSG_LABEL_CACHE +Cache de répertoire : +; Directory Cache: +; +MSG_BTN_FORMAT +Formater +; Format +; +MSG_BTN_QFORMAT +Formater rapidement +; Quick Format +; +MSG_BTN_CANCEL +Annuler +; Cancel +; +MSG_BTN_STOP +Arrêter +; Stop +; +MSG_ERROR_NO_APPLICATION +Impossible de créer l'application\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Impossible d'ouvrir la fenêtre\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Erreur +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Alerte +; Warning +; +MSG_ERRORS_ERROR +Erreur +; Error +; +MSG_ERRORS_FAILURE +Échec +; Failure +; +MSG_FORMAT +Format +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Spécification du type Dos invalide +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Ce périphérique est d'une taille supérieure à 4 Go. Le système de fichier ne peut manipuler un périphérique aussi large. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Ce périphérique s'étend au delà des 4 premiers Go du disque. Vous devez installer la version 43 ou supérieure du système de gestion de fichier Amiga. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Ce périphérique est d'une taille supérieure à 2 Go. Vous devez installer la version 40 ou supérieure du système de gestion de fichier Amiga. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Ce périphérique est configuré pour utiliser de la mémoire qui ne sera peut être pas « publique ». Ceci peut causer une chute du système si vous utilisez un gestionnaire de mémoire virtuel. Vous devriez ajouter 1 au réglage BufMemType pour éviter ce comportement. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +L'ouverture du périphérique a retourné l'erreur %ld. +; Device open returned error %ld +; +MSG_ERROR_IDE +Ce périphérique apparait être un disque IDE utilisant un vieux pilote IDE Commodore. Ce pilote peut tenter de réaliser des transferts longs de données que certains disques IDE ne supportent pas. Pour éviter ce risque, vous devriez régler le maxtransfert à 0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +La requête sur périphérique (NSCMD_DEVICEQUERY) a retourné l'erreur %ld. +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Ce périphérique s'étend au delà des 4 premiers Go du disque. Pour utiliser ce périphérique, vous devez soit utiliser un pilote qui supporte les commandes NSD 64 bits, soit installer et exécuter la commande NSDPatch. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Le périphérique %s a retourné l'erreur %ld. +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +Flush (CMD_UPDATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +Invalidate (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Erreur de vérification +; Verify error +; +MSG_COMMAND_FORMAT64 +format (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +format (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +read (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +read (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Impossible de créer la corbeille\nsur le volume %s. +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Impossible de créer l'icône du disque\nsur le volume %s. +; Couldn't create disk icon on volume\n%s +; diff --git a/workbench/system/BHFormat/catalogs/mmakefile.src b/workbench/system/BHFormat/catalogs/mmakefile.src new file mode 100644 index 00000000000..9e0e35b9735 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-format-catalogs \ + catalogs=$(CATALOGS) \ + name=Format subdir=System/System diff --git a/workbench/system/BHFormat/catalogs/norwegian.ct b/workbench/system/BHFormat/catalogs/norwegian.ct new file mode 100644 index 00000000000..66a81d62872 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/norwegian.ct @@ -0,0 +1,303 @@ +## version $VER: Format.catalog 1.0 (21.07.2019) +## language norwegian +## codeset 0 +; +; +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Avbryt +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Sett inn disken som skal formateres i enhet %s\n\ +Tryk ENTER for å begynne formateringen eller CTRL-C for å avbryte: +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormaterer cylinder %lu, %lu igjen +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rBekrefter +; \rVerifying +; +MSG_INITIALIZING +Klargjør disk...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_SELECTDEVICE +Velg enhet for formatering +; Select Device To Format +; +MSG_GUI_FORMATTING +Formaterer disk... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Klargjør disk... +; Initializing Disk... +; +MSG_IN_DEVICE +i enhet %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Formateringsanmodning +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Formater|Avbryt +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +OK å formatere volume %s?\n\n\ +ADVARSEL!\n\n\ +Alle data vil gå tapt!\n\ +(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +%lu%lc kapasitet, %lu%% brukt +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +%lu%lc kapasitet +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Kan kun startes fra Wanderer med et valgt ikon\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Format - %s +; Format - %s +; +MSG_DEVICE +Enhet '%s' +; Device '%s' +; +MSG_VOLUME +Volum '%b' +; Volume '%b' +; +MSG_APPLICATION_TITLE +Diskformatering +; Format +; +MSG_DESCRIPTION +Verktøy for å formatere disker +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Nåværende opplysninger: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Nytt volumnavn: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Tom +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Plaser søppelkasse: +; Put Trashcan: +; +MSG_LABEL_FFS +Fast File System: +; Fast File System: +; +MSG_LABEL_INTL +Internasjonal modus: +; International Mode: +; +MSG_LABEL_CACHE +Katalogmellomlager: +; Directory Cache: +; +MSG_BTN_FORMAT +Formater +; Format +; +MSG_BTN_QFORMAT +Hurtigformater +; Quick Format +; +MSG_BTN_CANCEL +Avbryt +; Cancel +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_ERROR_NO_APPLICATION +Kan ikke opprette applikasjonen\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Kan ikke åpne vinduet\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Feil +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Advarsel +; Warning +; +MSG_ERRORS_ERROR +Feil +; Error +; +MSG_ERRORS_FAILURE +FEIL +; Failure +; Med store bokstaver for å skille mellom Error og Feil +; +MSG_FORMAT +Format +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Ugyldig DosType-angivelse +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Denne enheten har en størrelse på over 4 gigabyte. Amiga-\ + filsystemet kan ikke håndtere så store enheter. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Denne enheten går utover de første 4 gigabyte av disken\ + den er på. For å bruke den, må du først installere\ + version 43 eller nyere av Amiga-filsystemet. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Denne enheten er større end 2 gigabyte i størrelse. For å bruke\ + den, må du installere version 40 eller nyere av Amiga-\ + filsystemet. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Denne enheten er satt til å bruke buffere i hukommelsen, som\ + muligens ikke er \"public\". Dette kan få din datamaskin til\ + å gå ned hvis du bruker virtuel hukommelse. Du bør derfor\ + legge til 1 til BufMemType-innstillingen for denne enheten. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Åpne enhet svarte med feil %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +Denne enheten ser ut til å være på et IDE-drev\ + som bruker en eldre Commodore IDE-driver. Denne kan\ + forsøke å gjøre long data-overførsler som noen\ + IDE-drev ikke kan utføre korrekt. For å unngå denne\ + risikoen for datatap, bør du endre denne enhets\ + MaxTransfer-innstilling til 0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Enhetsforespørsel (NSCMD_DEVICEQUERY) svarte med feil %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Denne enheten strekker seg utover de første 4 gigabyte av disken.\ + For å bruke enheten, må du enten bruke en driver som\ + understøtter NSD's 64-bitkommandoer eller installere og kjøre\ + NSDPatch-programmet. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Enheten %s svarte med feil %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +tøm (CMD_UPATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +ugyldigjør (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Bekreftelsesfeil +; Verify error +; +MSG_COMMAND_FORMAT64 +formater (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +formater (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +les (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +les (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Kunne ikke opprette søppelkasse på volum\n%s +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Kunne ikke opprette diskikon på volum\n%s +; Couldn't create disk icon on volume\n%s +; \ No newline at end of file diff --git a/workbench/system/BHFormat/catalogs/polish.ct b/workbench/system/BHFormat/catalogs/polish.ct new file mode 100644 index 00000000000..aa0d524ddde --- /dev/null +++ b/workbench/system/BHFormat/catalogs/polish.ct @@ -0,0 +1,286 @@ +## version $VER:format.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Poniechaj +; Cancel +; +MSG_INSERT_DISK +Włóż dysk do sformatowania w urządzenie %s.\nNaciśnij ENTER aby rozpocząć formatowanie\nlub CTRL-C aby przerwać: \0 +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormatowanie cylindra %lu, %lu do końca \0 +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rWeryfikacja \0 +; \rVerifying +; +MSG_INITIALIZING +Inicjalizowanie dysku...\n +; Initializing disk...\n +; +MSG_SELECTDEVICE +Wybierz urządzenie do sformatowania +; Select Device To Format +; +MSG_GUI_FORMATTING +Formatowanie dysku... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Inicjalizowanie dysku... +; Initializing Disk... +; +MSG_IN_DEVICE +w urządzieniu %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Formatowanie +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Sformatuj|Poniechaj +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +Czy na pewno sformatować wolumen\n\ +%s?\n\n\ +OSTRZEŻENIE!\n\n\ +Wszystkie dane zostaną utracone!\n\ +(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +kMGTPE +; KMGTPE +; +MSG_CAPACITY_USED +pojemność %lu%lc, wykorzystane %lu%% +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +pojemność %lu%lc +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Program musi zostać uruchomiony z poziomu Wanderera z zaznaczoną ikonką\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Formatowanie - %s +; Format - %s +; +MSG_DEVICE +Urządzenie \"%s\" +; Device '%s' +; +MSG_VOLUME +Wolumen \"%b\" +; Volume '%b' +; +MSG_APPLICATION_TITLE +Formatowanie +; Format +; +MSG_DESCRIPTION +Narzędzie do formatowania dysków +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright (c) 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright Š 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Informacje: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Nowa nazwa wolumenu: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Pusty +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Umieść śmietnik: +; Put Trashcan: +; +MSG_LABEL_FFS +FFS: +; Fast File System: +; +MSG_LABEL_INTL +Tryb międzynarodowy: +; International Mode: +; +MSG_LABEL_CACHE +DC: +; Directory Cache: +; +MSG_BTN_FORMAT +Sformatuj +; Format +; +MSG_BTN_QFORMAT +Sformatuj szybko +; Quick Format +; +MSG_BTN_CANCEL +Poniechaj +; Cancel +; +MSG_BTN_STOP +Zatrzymaj +; Stop +; +MSG_ERROR_NO_APPLICATION +Nie można utworzyć aplikacji\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Nie można otworzyć okna\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Błąd +; Error +; +MSG_ERRORS_WARNING +Ostrzeżenie +; Warning +; +MSG_ERRORS_ERROR +Błąd +; Error +; +MSG_ERRORS_FAILURE +Niepowodzenie +; Failure +; +MSG_FORMAT +Format +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Niewłaściwe określenie DosType'u +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +Ta partycja jest większa niż 4 GB. \ +Amigowy system plików nie może obsługiwać tak dużych partycji. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +Ta partycja znajduje się poza pierwszymi 4 GB dysku. Aby jej używać \ +musisz zainstalować co najmniej wersję 43 amigowego systemu plików. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +Ta partycja jest większa niż 2 GB. \ +Aby jej używać musisz zainstalować co najmniej wersję 40 amigowego systemu plików. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +Ta partycja jest ustawiona do używania buforów pamięci, które mogą \ +być niepubliczne. To może powodować nie3stabilność pracy komputera \ +podczas używania systemu pamięci wirtualnej. By temu zapobiec powinieneś dodać 1 do \ +ustawienia BufMemType dla tej partycji. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Próba otwarcia urządzenia zwróciła błąd %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +Ta partycja znajduje się na dysku IDE podłączonym \ +do starego kontrolera IDE firmy Commodore. Kontroler ten \ +może próbować przesyłać duże pakiety danych, które są niepoprawnie \ +obsługiwane przez niektóre dyski. Aby zapobiec ryzyku utraty danych \ +powinieneś ustawić parametr \"Maksymalny transfer\" dla tej partycji na \ +0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Próba odpytania urządzenia (NSCMD_DEVICEQUERY) zwróciła błąd %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +Ta partycja wykracza poza pierwsze 4GB dysku. \ +Aby z niej korzystać musisz używać sterownika obsługującego \ +polecenia 64-bitowe NSD lub zainstalować program NSDPatch. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +%s zwróciło błąd %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +Błąd podczas oczyszczania urządzenia, polecenie CMD_UPDATE +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +Urządzenie nieuaktualnione, polecenie CMD_CLEAR +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Błąd weryfikacji +; Verify error +; +MSG_COMMAND_FORMAT64 +Błąd formatowania, polecenie NSCMD_TD_FORMAT64 +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +Błąd formatowania, polecenie TD_FORMAT +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +Błąd odczytu, polecenie NSCMD_TD_READ64 +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +Błąd odczytu, polecenie READ +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Nie można utworzyć ikonki śmietnika na wolumenie\n%s +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Nie można utworzyć ikonki dysku na wolumenie\n%s +; Couldn't create disk icon on volume\n%s +; diff --git a/workbench/system/BHFormat/catalogs/portuguese.ct b/workbench/system/BHFormat/catalogs/portuguese.ct new file mode 100644 index 00000000000..ed963788486 --- /dev/null +++ b/workbench/system/BHFormat/catalogs/portuguese.ct @@ -0,0 +1,296 @@ +## version $VER: Format.catalog 1.0 (18.8.2008) +## language português +## codeset 0 +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Cancelar +; Cancel +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Inserir disco para ser formatado no dispositivo %s\n\ +Prima RETURN para iniciar formatação ou CTRL-C para abortar: +; Insert disk to be formatted in device %s\n\ +; Press RETURN to begin formatting or CTRL-C to abort: +; +MSG_FORMATTING +\rFormatando cilindro %lu, %lu a faltar +; \rFormatting cylinder %lu, %lu to go +; +MSG_VERIFYING +\rVerificando +; \rVerifying +; +MSG_INITIALIZING +Inicializando o disco...\n +; Initializing disk...\n +; +; =========================================================== +; gui.c +; +MSG_GUI_FORMATTING +Formatando Disco... +; Formatting Disk... +; +MSG_GUI_INITIALIZING +Inicializando Disco... +; Initializing Disk... +; +MSG_IN_DEVICE +no dispositivo %s +; in device %s +; +MSG_FORMAT_REQUEST_TITLE +Format Request +; Format Request +; +MSG_FORMAT_REQUEST_GADGETS +Formatar|Cancelar +; Format|Cancel +; +MSG_FORMAT_REQUEST_TEXT +Formatar outro volume\n\ +%s?\n\n\ +AVISO!\n\n\ +Toda a informação contida será apagada!\n\ +(%s) +; OK to format volume\n\ +; %s?\n\n\ +; WARNING!\n\n\ +; All data will be lost!\n\ +; (%s) +; +MSG_UNITS +KMGTPE +; KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +%lu%lc capacidade, %lu%% usado +; %lu%lc capacity, %lu%% used +; +MSG_CAPACITY +%lu%lc capacidade +; %lu%lc capacity +; +MSG_ERROR_WANDERER +Deve ser iniciado a partir do Wanderer com o icone selecionado\n +; Must be started from Wanderer with a selected icon\n +; +MSG_WINDOW_TITLE +Formatar - %s +; Format - %s +; +MSG_DEVICE +Dispostivo '%s' +; Device '%s' +; +MSG_VOLUME +Volume '%b' +; Volume '%b' +; +MSG_APPLICATION_TITLE +Formatar +; Format +; +MSG_DESCRIPTION +Utilitário de formatação de disco +; Disk Formatting Utility +; +MSG_COPYRIGHT +Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Informação currente: +; Current Information: +; +MSG_LABEL_NEW_VOLUME_NAME +Novo nome para o Volume: +; New Volume Name: +; +MSG_DEFAULT_VOLUME_NAME +Vazio +; Empty +; +MSG_LABEL_PUT_TRASHCAN +Colocar Trashcan: +; Put Trashcan: +; +MSG_LABEL_FFS +Fast File System: +; Fast File System: +; +MSG_LABEL_INTL +International Mode: +; International Mode: +; +MSG_LABEL_CACHE +Directory Cache: +; Directory Cache: +; +MSG_BTN_FORMAT +Formatar +; Format +; +MSG_BTN_QFORMAT +Formatar rápido +; Quick Format +; +MSG_BTN_CANCEL +Cancelar +; Cancel +; +MSG_BTN_STOP +Parar +; Stop +; +MSG_ERROR_NO_APPLICATION +Não pode criar a aplicação\n +; Can't create application\n +; +MSG_ERROR_NO_WINDOW +Não pode abrir a janela\n +; Can't open window\n +; +MSG_REQ_ERROR_TITLE +Erro +; Error +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Aviso +; Warning +; +MSG_ERRORS_ERROR +Erro +; Error +; +MSG_ERRORS_FAILURE +Falha +; Failure +; +MSG_FORMAT +Formatar +; Format +; +MSG_ERROR_INVALID_DOSTYPE +Invalid DosType specification +; Invalid DosType specification +; +MSG_ERROR_TOO_LARGE_1 +O tamanho do dispositivo é maior que 4 GigaBytes. O\ +Amiga file-system pode não funcionar num dispositivo tão grande. +; This device is larger than 4 gigabytes in size. The\ +; Amiga file-system cannot handle a device this large. +; +MSG_ERROR_TOO_LARGE_2 +This device extends beyond the first 4 gigabytes of the\ + disk it is on. In order to use it, you must install\ + version 43 or later of the Amiga file-system. +; This device extends beyond the first 4 gigabytes of the\ +; disk it is on. In order to use it, you must install\ +; version 43 or later of the Amiga file-system. +; +MSG_ERROR_TOO_LARGE_3 +This device is larger than 2 gigabytes in size. In order to\ + use it, you must install version 40 or later of the Amiga\ + file-system. +; This device is larger than 2 gigabytes in size. In order to\ +; use it, you must install version 40 or later of the Amiga\ +; file-system. +; +MSG_ERROR_TOO_LARGE_4 +This device is set to use buffers in memory that may not be\ + \"public\". This can cause your computer to crash if you use a\ + virtual memory system. You should add 1 to the BufMemType\ + setting for this device to avoid this. +; This device is set to use buffers in memory that may not be\ +; \"public\". This can cause your computer to crash if you use a\ +; virtual memory system. You should add 1 to the BufMemType\ +; setting for this device to avoid this. +; +MSG_ERROR_DEVICE +Abertura do dispositivo retornou erro %ld +; Device open returned error %ld +; +MSG_ERROR_IDE +This device appears to be on an IDE drive\ + using an old Commodore IDE driver. This driver may\ + attempt to perform long data transfers that some IDE\ + drives do not carry out correctly. To avoid the risk\ + of data loss, you should change this device's\ + MaxTransfer setting to 0x10000. +; This device appears to be on an IDE drive\ +; using an old Commodore IDE driver. This driver may\ +; attempt to perform long data transfers that some IDE\ +; drives do not carry out correctly. To avoid the risk\ +; of data loss, you should change this device's\ +; MaxTransfer setting to 0x10000. +; +MSG_ERROR_DEVICE_QUERY +Device query (NSCMD_DEVICEQUERY) returned error %ld +; Device query (NSCMD_DEVICEQUERY) returned error %ld +; +MSG_ERROR_64BIT +This device extends beyond the first 4 gigabytes of the disk.\ + In order to use this device, you must either use a driver\ + that supports the NSD 64-bit commands or install and run the\ + NSDPatch program. +; This device extends beyond the first 4 gigabytes of the disk.\ +; In order to use this device, you must either use a driver\ +; that supports the NSD 64-bit commands or install and run the\ +; NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Dispositivo %s retornou erro %ld +; Device %s returned error %ld +; +MSG_ERROR_FLUSH +flush (CMD_UPATE) +; flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +invalidate (CMD_CLEAR) +; invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Erro de verificação +; Verify error +; +MSG_COMMAND_FORMAT64 +format (NSCMD_TD_FORMAT64) +; format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +format (TD_FORMAT) +; format (TD_FORMAT) +; +MSG_COMMAND_READ64 +read (NSCMD_TD_READ64) +; read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +read (CMD_READ) +; read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Não conseguiu criar a trashcan no volume\n%s +; Couldn't create trashcan on volume\n%s +; +MSG_ERROR_ICON +Não conseguiu criar Icone do disco no volume\n%s +; Couldn't create disk icon on volume\n%s +; \ No newline at end of file diff --git a/workbench/system/BHFormat/catalogs/russian.ct b/workbench/system/BHFormat/catalogs/russian.ct new file mode 100644 index 00000000000..d3685a47b2e --- /dev/null +++ b/workbench/system/BHFormat/catalogs/russian.ct @@ -0,0 +1,215 @@ +## version $VER: Format.catalog 1.0 (24.11.2008) +## language russian +## codeset 0 +; +MSG_OK +OK +; +MSG_CANCEL +Отмена +; +; =========================================================== +; cli.c +; +MSG_INSERT_DISK +Вставьте диск для форматирования в привод %s\n\ +Нажмите RETURN чтобы начать форматирование или CTRL-C для его отмены: +; +MSG_FORMATTING +\rФорматируется цилиндр %lu, %lu осталось +; +MSG_VERIFYING +\rПроверка +; +MSG_INITIALIZING +Инициализация диска...\n +; +; =========================================================== +; gui.c +; +MSG_GUI_FORMATTING +Форматирование диска... +; +MSG_GUI_INITIALIZING +Инициализация диска... +; +MSG_IN_DEVICE +на устройстве %s +; +MSG_FORMAT_REQUEST_TITLE +Форматирование +; +MSG_FORMAT_REQUEST_GADGETS +Форматирование|Отмена +; +MSG_FORMAT_REQUEST_TEXT +Форматировать том\n\ +%s?\n\n\ +ВНИМАНИЕ!\n\n\ +Все данные будут утеряны!\n\ +(%s) +; +MSG_UNITS +KMGTPE +; Kilo, Mega ... +; +MSG_CAPACITY_USED +%lu%lc всего, %lu%% занято +; +MSG_CAPACITY +%lu%lc всего +; +MSG_ERROR_WANDERER +Нужно запускать из меню Wanderer, выбрав иконку диска\n +; +MSG_WINDOW_TITLE +Форматирование - %s +; +MSG_DEVICE +Устройство '%s' +; +MSG_VOLUME +Том '%b' +; +MSG_APPLICATION_TITLE +Форматирование +; +MSG_DESCRIPTION +Утилита форматирования дисков +; +MSG_COPYRIGHT +Copyright © 1999 Ben Hutchings, 2008 Pavel Fedin, 2008 The AROS Development Team +; +MSG_AUTHOR +Ben Hutchings, Pavel Fedin, The AROS Development Team +; +MSG_LABEL_CURRENT_INFORMATION +Текущие данные: +; +MSG_LABEL_NEW_VOLUME_NAME +Новая метка тома: +; +MSG_DEFAULT_VOLUME_NAME +Нет метки +; +MSG_LABEL_PUT_TRASHCAN +Включить Корзину: +; +MSG_LABEL_FFS +Fast File System: +; +MSG_LABEL_INTL +International Mode: +; +MSG_LABEL_CACHE +Directory Cache: +; +MSG_BTN_FORMAT +Обычное +; +MSG_BTN_QFORMAT +Быстрое +; +MSG_BTN_CANCEL +Отмена +; +MSG_BTN_STOP +Stop +; +MSG_ERROR_NO_APPLICATION +Ошибка создания приложения\n +; +MSG_ERROR_NO_WINDOW +Ошибка открытия окна\n +; +MSG_REQ_ERROR_TITLE +Ошибка +; +; =========================================================== +; main.c +; +MSG_ERRORS_WARNING +Предупреждение +; +MSG_ERRORS_ERROR +Ошибка +; +MSG_ERRORS_FAILURE +Отказ +; +MSG_FORMAT +Format +; +MSG_ERROR_INVALID_DOSTYPE +Неправильно указан DosType +; +MSG_ERROR_TOO_LARGE_1 +Размер устройства превышает 4 ГБ. \ + ФС Amiga не поддерживает такие размеры томов. +; +MSG_ERROR_TOO_LARGE_2 +Рамки тома выходят за первые 4 ГБ диска\ + где он расположен. Чтобы его использовать, установите\ + версию 43 или новее файловой системы Amiga. +; +MSG_ERROR_TOO_LARGE_3 +Размер тома превышает 2 ГБ. Чтобы использовать его,\ + потребуется установить версию 40 или новее файловой\ + системы Amiga. +; +MSG_ERROR_TOO_LARGE_4 +Устройство настроено для использования буфера в памяти, которая\ + не может быть \"public\". Это может вызвать отказ системы, если используется\ + виртуальная память. Во избежание этого следует установить значение 1\ + для BufMemTypesetting. +; +MSG_ERROR_DEVICE +Ошибка открытия устройства %ld +; +MSG_ERROR_IDE +Возможно, устройство расположено на IDE-диске,\ + использующим старый драйвер IDE от Commodore. Данный драйвер\ + может попытаться выполнить передачу данных, которая не\ + поддерживается некоторыми дисками IDE. Во избежание\ + потери данных, следует установить значение 0x10000 для\ + MaxTransfer этого устройства. +; +MSG_ERROR_DEVICE_QUERY +Опрос устройства (NSCMD_DEVICEQUERY) вернул ошибку %ld +; +MSG_ERROR_64BIT +This device extends beyond the first 4 gigabytes of the disk.\ + In order to use this device, you must either use a driver\ + that supports the NSD 64-bit commands or install and run the\ + NSDPatch program. +; +MSG_ERROR_DEVICE_RETURN +Устройство %s вернуло ошибку %ld +; +MSG_ERROR_FLUSH +flush (CMD_UPATE) +; +MSG_ERROR_INVALIDATE +invalidate (CMD_CLEAR) +; +MSG_ERROR_VERIFY +Ошибка проверки +; +MSG_COMMAND_FORMAT64 +format (NSCMD_TD_FORMAT64) +; +MSG_COMMAND_FORMAT +format (TD_FORMAT) +; +MSG_COMMAND_READ64 +read (NSCMD_TD_READ64) +; +MSG_COMMAND_READ +read (CMD_READ) +; +MSG_ERROR_TRASHCAN +Ошибка создания Корзины на томе\n%s +; +MSG_ERROR_ICON +Ошибка создания иконки диска для тома\n%s +; \ No newline at end of file diff --git a/workbench/system/BHFormat/format.h b/workbench/system/BHFormat/format.h index a118e16fa6f..b6fe188564d 100644 --- a/workbench/system/BHFormat/format.h +++ b/workbench/system/BHFormat/format.h @@ -41,19 +41,14 @@ #ifdef __AROS__ #include #define _WBenchMsg WBenchMsg -#else -#include +#define DD(x) x #define bug kprintf -#ifdef DEBUG -#define D(x) (x) -#else -#define D(x) -#endif #endif /* Maximum length of a name component - I can't find this defined anywhere */ #define MAX_FS_NAME_LEN 30 +#define MAX_FAT_NAME_LEN 11+1 /* Short name for an unsigned 64-bit integer type */ typedef unsigned long long ULLONG; @@ -67,11 +62,14 @@ typedef enum { extern struct WBStartup * _WBenchMsg; extern BPTR bpfhStdErr; extern char szDosDevice[MAX_FS_NAME_LEN+2]; +extern char szVolume[MAX_FS_NAME_LEN+2]; extern char * pchDosDeviceColon; extern ULLONG ibyStart, ibyEnd; extern IPTR MaxTransfer; extern IPTR LowCyl, HighCyl; extern ULONG DosType; +extern BSTR DeviceName; +extern char *DeviceName_String; extern const char szVersion[]; void ReportErrSz( ErrorType ert, LONG err, const char * pszMessage, ... ); diff --git a/workbench/system/BHFormat/gui.c b/workbench/system/BHFormat/gui.c index f6ae555eed8..c5d95d1ea03 100644 --- a/workbench/system/BHFormat/gui.c +++ b/workbench/system/BHFormat/gui.c @@ -1,101 +1,82 @@ /* - * Format -- disk formatting and file-system creation program - * Copyright (C) 1999 Ben Hutchings - * Copyright (C) 2008 Pavel Fedin +* Format -- disk formatting and file-system creation program +* Copyright (C) 1999 Ben Hutchings +* Copyright (C) 2008 Pavel Fedin - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ /* - * Layout of the main window of version 40 in English is: - * - * +-------------------------------------------------------------+ - * | Format - | - * +-------------------------------------------------------------+ - * | Current Information: Device '' | - * | Volume '' | - * | capacity % used | - * | _________________________________ | - * | New Volume Name: |Empty____________________________| | - * | __ | - * | Put Trashcan: |./| | - * | __ | - * | Fast File System: |__| | - * | __ | - * | International Mode: |__| | - * | __ | - * | Directory Cache: |__| | - * | | - * | +-----------------+ +-----------------+ +-----------------+ | - * | | Format | | Quick Format | | Cancel | | - * | +-----------------+ +-----------------+ +-----------------+ | - * +-------------------------------------------------------------+ - * - * For ID_NOT_REALLY_DOS and ID_UNREADABLE_DISK volumes, the information - * takes the format: - * Device '' - * capacity - * - * For non-native file-systems, the lower three checkboxes are not shown. - * - * is the whole number of kilobytes (units of 2^10 bytes) - * followed by `K', if this number is less than or equal to 9999; - * otherwise the whole number of megabytes (units of 2^20 bytes). - * - * The progress window has this layout: - * - * +-----------------------------------------------------------------------+ - * | Format - | - * +-----------------------------------------------------------------------+ - * | | - * | Formatting disk... | - * | +-------------------------------------------------------------------+ | - * | | | | - * | +----------------+----------------+----------------+----------------+ | - * | 0% 50% 100% | - * | | - * | +--------------------+ | - * | | Stop | | - * | +--------------------+ | - * +-----------------------------------------------------------------------+ - * - * The contents of this window are replaced by the text `Initializing - * disk...' for the file-system creation and trashcan creation stages. - */ +* Layout of the main window of version 40 in English is: +* +* +-------------------------------------------------------------+ +* | Format - | +* +-------------------------------------------------------------+ +* | Current Information: Device '' | +* | Volume '' | +* | capacity % used | +* | _________________________________ | +* | New Volume Name: |Empty____________________________| | +* | __ | +* | Put Trashcan: |./| | +* | __ | +* | Fast File System: |__| | +* | __ | +* | International Mode: |__| | +* | __ | +* | Directory Cache: |__| | +* | | +* | +-----------------+ +-----------------+ +-----------------+ | +* | | Format | | Quick Format | | Cancel | | +* | +-----------------+ +-----------------+ +-----------------+ | +* +-------------------------------------------------------------+ +* +* For ID_NOT_REALLY_DOS and ID_UNREADABLE_DISK volumes, the information +* takes the format: +* Device '' +* capacity +* +* For non-native file-systems, the lower three checkboxes are not shown. +* +* is the whole number of kilobytes (units of 2^10 bytes) +* followed by `K', if this number is less than or equal to 9999; +* otherwise the whole number of megabytes (units of 2^20 bytes). +* +* The progress window has this layout: +* +* +-----------------------------------------------------------------------+ +* | Format - | +* +-----------------------------------------------------------------------+ +* | | +* | Formatting disk... | +* | +-------------------------------------------------------------------+ | +* | | | | +* | +----------------+----------------+----------------+----------------+ | +* | 0% 50% 100% | +* | | +* | +--------------------+ | +* | | Stop | | +* | +--------------------+ | +* +-----------------------------------------------------------------------+ +* +* The contents of this window are replaced by the text `Initializing +* disk...' for the file-system creation and trashcan creation stages. +*/ #define MUIMASTER_YES_INLINE_STDARG -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include "format.h" -#include "locale.h" +#include "gui.h" static char szCapacityInfo[5+1+8+2+2+2+4+1]; static Object *app, *mainwin, *formatwin, *chk_trash, *chk_intl, *chk_ffs, *chk_cache; @@ -110,623 +91,709 @@ static void message(CONST_STRPTR s); struct SFormatEntry { - TEXT deviceName[32]; - TEXT volumeName[32]; - TEXT capacityInfo[64]; + TEXT deviceName[32]; + TEXT volumeName[32]; + TEXT capacityInfo[64]; }; AROS_UFH3S(IPTR, consfunc, - AROS_UFHA(struct Hook *, h, A0), + AROS_UFHA(struct Hook *, h, A0), AROS_UFHA(IPTR*, pool, A2), AROS_UFHA(struct SFormatEntry *, entry,A1)) { - AROS_USERFUNC_INIT - - int size = sizeof(struct SFormatEntry); - - struct SFormatEntry *new = AllocPooled(pool, size); - - if (new) memcpy(new, entry, size); - - return (IPTR)new; - - AROS_USERFUNC_EXIT + AROS_USERFUNC_INIT + + int size = sizeof(struct SFormatEntry); + + struct SFormatEntry *new = AllocPooled(pool, size); + + if (new) memcpy(new, entry, size); + + return (IPTR)new; + + AROS_USERFUNC_EXIT } AROS_UFH3S(void, desfunc, - AROS_UFHA(struct Hook *, h, A0), + AROS_UFHA(struct Hook *, h, A0), AROS_UFHA(IPTR*, pool, A2), AROS_UFHA(struct SFormatEntry *, entry,A1)) { - AROS_USERFUNC_INIT - - FreePooled(pool, entry, sizeof(struct SFormatEntry)); - - AROS_USERFUNC_EXIT + AROS_USERFUNC_INIT + + FreePooled(pool, entry, sizeof(struct SFormatEntry)); + + AROS_USERFUNC_EXIT } AROS_UFH3S(LONG, dispfunc, - AROS_UFHA(struct Hook *, h, A0), + AROS_UFHA(struct Hook *, h, A0), AROS_UFHA(char **, array, A2), AROS_UFHA(struct SFormatEntry *, entry,A1)) { - AROS_USERFUNC_INIT - - static char s[128]; - - strcpy(s, "("); - if (strlen(entry->volumeName)) - { - strcat(s, entry->volumeName); - strcat(s, ", "); - } - strcat(s, entry->capacityInfo); - strcat(s, ")"); - - *array++ = entry->deviceName; - *array = s; - - return 0; - - AROS_USERFUNC_EXIT + AROS_USERFUNC_INIT + + static char s[128]; + + strcpy(s, "("); + if (strlen(entry->volumeName)) + { + strcat(s, entry->volumeName); + strcat(s, ", "); + } + strcat(s, entry->capacityInfo); + strcat(s, ")"); + + *array++ = entry->deviceName; + *array = s; + + return 0; + + AROS_USERFUNC_EXIT } BOOL ObjectTypeOk(struct DosList* device) { - struct FileSysStartupMsg *pfssm; - struct DosEnvec *pdenDevice; - - if( (pfssm = (struct FileSysStartupMsg *) - BADDR(device->dol_misc.dol_handler.dol_Startup)) == 0 + struct FileSysStartupMsg *pfssm; + struct DosEnvec *pdenDevice; + + if( (pfssm = (struct FileSysStartupMsg *) + BADDR(device->dol_misc.dol_handler.dol_Startup)) == 0 || (IPTR)device->dol_misc.dol_handler.dol_Startup == 1 // RAW: device || TypeOfMem(pfssm) == 0 || pfssm->fssm_Device == 0 || (pdenDevice = (struct DosEnvec *)BADDR(pfssm->fssm_Environ)) == 0 || TypeOfMem(pdenDevice) == 0 || pdenDevice->de_TableSize < DE_DOSTYPE - /* Check that parameters that should always be 0, are */ + || pdenDevice->de_DosType == 0x43443031 // Virtual CD + || pdenDevice->de_DosType == 0x43444653 // CD + || ( (AROS_BSTR_ADDR(device->dol_Name)[0] == 'I') && (AROS_BSTR_ADDR(device->dol_Name)[1] == 'D') && (AROS_BSTR_ADDR(device->dol_Name)[2] == 'F') ) + + /* Check that parameters that should always be 0, are || pdenDevice->de_SecOrg != 0 - || pdenDevice->de_Interleave != 0 ) - { - /* error object wrong type */ + || pdenDevice->de_Interleave != 0 */) + { return FALSE; - } - - ULLONG cbyTrack = (ULLONG)pdenDevice->de_BlocksPerTrack * (ULLONG)(pdenDevice->de_SizeBlock * sizeof(LONG)); - ULLONG cbyCylinder = cbyTrack * pdenDevice->de_Surfaces; - - ibyStart = pdenDevice->de_LowCyl * cbyCylinder; - ibyEnd = (pdenDevice->de_HighCyl + 1) * cbyCylinder; - - return TRUE; + } + + ULLONG cbyTrack = (ULLONG)pdenDevice->de_BlocksPerTrack * (ULLONG)(pdenDevice->de_SizeBlock * sizeof(LONG)); + ULLONG cbyCylinder = cbyTrack * pdenDevice->de_Surfaces; + + ibyStart = pdenDevice->de_LowCyl * cbyCylinder; + ibyEnd = (pdenDevice->de_HighCyl + 1) * cbyCylinder; + + DD(bug("[FORMAT] ObjectTypeOk: LowCyl = %u | HighCyl = %u | Heads = %u | Sectors = %u | ibyStart = %u | ibyEnd = %u\n", + pdenDevice->de_LowCyl, pdenDevice->de_HighCyl, pdenDevice->de_Surfaces, pdenDevice->de_BlocksPerTrack, ibyStart, ibyEnd)); + + return TRUE; } -void ComputeCapacity(struct DosList *pdlVolume, struct InfoData *pInfoData) +void ComputeCapacity() { - /* The units of the size are initially bytes, but we shift the - number until the units are kilobytes, megabytes or - something larger and the number of units has at most 4 - digits. */ ULLONG cUnits; - /* The unit symbols go up to exabytes, since the maximum - possible disk size is 2^64 bytes = 16 exabytes. */ - const char * pchUnitSymbol = _(MSG_UNITS); + ULONG UnitDecimal = 0; + char UnitString[10]; - D(Printf("Calculating capacity info...\n")); + DD(bug("[FORMAT] Calculating capacity info...\n")); cUnits = ibyEnd - ibyStart; - while( (cUnits >>= 10) > 9999 ) - ++pchUnitSymbol; - - if(pdlVolume && pInfoData) - RawDoFmtSz( szCapacityInfo, _(MSG_CAPACITY_USED), - (ULONG)cUnits, (ULONG)*pchUnitSymbol, - /* Calculate percentage used, to nearest point. */ - (ULONG)(((ULLONG)pInfoData->id_NumBlocksUsed*100ULL - + pInfoData->id_NumBlocks/2) / pInfoData->id_NumBlocks) ); - else - RawDoFmtSz( szCapacityInfo, _(MSG_CAPACITY), - (ULONG)cUnits, (ULONG)*pchUnitSymbol ); - D(Printf("Done: %s\n", szCapacityInfo)); + while( (cUnits >>= 10) > 9999 ) UnitDecimal++; + + switch(UnitDecimal) + { + case 0: strcpy(UnitString,"KiloBytes"); break; + case 1: strcpy(UnitString,"MegaBytes"); break; + case 2: strcpy(UnitString,"GigaBytes"); break; + case 3: strcpy(UnitString,"TeraBytes"); break; + case 4: strcpy(UnitString,"PetaBytes"); break; + case 5: strcpy(UnitString,"ExaBytes"); break; + } + + RawDoFmtSz( szCapacityInfo, "%d %s", (ULONG)cUnits, UnitString ); + DD(bug("[FORMAT] Done: Unitstring:%s | szCapacityInfo:%s\n", UnitString, szCapacityInfo)); } void VolumesToList(Object* listObject) { - ULONG flags = LDF_READ | LDF_DEVICES | LDF_VOLUMES; - struct DosList *adl, *device, *volume; + ULONG flags = LDF_READ | LDF_DEVICES | LDF_VOLUMES; + struct DosList *adl, *device, *volume; - adl = device = AttemptLockDosList(flags); + adl = device = AttemptLockDosList(flags); - if (adl == NULL) return; + if (adl == NULL) return; - while((device = NextDosEntry(device, flags - LDF_VOLUMES)) != NULL) - { - TEXT name[128]; - strcpy(name, AROS_BSTR_ADDR(device->dol_Name)); - strcat(name, ":"); - - /* exclude RAM, NIL, RAW, CON, ... */ - if (!ObjectTypeOk(device)) continue; - - /* floppy, cdrom and unformatted disks can't be locked */ - BPTR lock = Lock(name, SHARED_LOCK); - BOOL addDevice = TRUE; - struct InfoData *pInfoData = NULL; - - if (lock) + while((device = NextDosEntry(device, flags - LDF_VOLUMES)) != NULL) { - struct InfoData infoData; - - /* XPIPE and PIPEFS fails here */ - if (Info(lock, &infoData)) - { - pInfoData = &infoData; - } - else addDevice = FALSE; - - UnLock(lock); - } + + DD(bug("[FORMAT] Device = %s \n", AROS_BSTR_ADDR(device->dol_Name))); + + TEXT name[128]; + strcpy(name, AROS_BSTR_ADDR(device->dol_Name)); + strcat(name, ":"); - if (addDevice) - { - struct SFormatEntry entry; - strcpy(entry.deviceName, AROS_BSTR_ADDR(device->dol_Name)); - volume = adl; - - do - { - if ((volume = NextDosEntry(volume, LDF_VOLUMES)) == 0) break; - } while (strcmp(AROS_BSTR_ADDR(volume->dol_Name), AROS_BSTR_ADDR(device->dol_Name)) != 0); - - if (volume) strcpy(entry.volumeName, AROS_BSTR_ADDR(volume->dol_Name)); - else strcpy(entry.volumeName, ""); - - ComputeCapacity(volume, pInfoData); - strcpy(entry.capacityInfo, szCapacityInfo); - - DoMethod(listObject, MUIM_List_InsertSingle, &entry, - MUIV_List_Insert_Top); + if (!ObjectTypeOk(device)) continue; + + BPTR lock = Lock(name, SHARED_LOCK); + BOOL addDevice = TRUE; + struct InfoData *pInfoData = NULL; + + if (lock) + { + struct InfoData infoData; + + if (Info(lock, &infoData)) pInfoData = &infoData; + else addDevice = FALSE; + + UnLock(lock); + } + + if (addDevice) + { + struct SFormatEntry entry; + strcpy(entry.deviceName, AROS_BSTR_ADDR(device->dol_Name)); + + volume = adl; + + do + { + volume = NextDosEntry(volume, LDF_VOLUMES); + if (volume) DD(bug("[FORMAT] Device = %s | Volume = %s\n", AROS_BSTR_ADDR(device->dol_Name), AROS_BSTR_ADDR(volume->dol_Name))); + else break; + + } while (volume->dol_Task != device->dol_Task); + + if (volume) strcpy(entry.volumeName, AROS_BSTR_ADDR(volume->dol_Name)); + else strcpy(entry.volumeName, AROS_BSTR_ADDR(device->dol_Name)); + + ComputeCapacity(); + strcpy(entry.capacityInfo, szCapacityInfo); + + DoMethod(listObject, MUIM_List_InsertSingle, &entry, + MUIV_List_Insert_Top); + } } - } - UnLockDosList(flags); + UnLockDosList(flags); } struct SFormatEntry* SelectDevice(void) { - Object *app, *wnd, *list, *ok, *cancel; - - list_consfunc_hook.h_Entry = (HOOKFUNC)consfunc; - list_desfunc_hook.h_Entry = (HOOKFUNC)desfunc; - list_dispfunc_hook.h_Entry = (HOOKFUNC)dispfunc; - - app = (Object *)ApplicationObject, - MUIA_Application_Title, __(MSG_APPLICATION_TITLE), - MUIA_Application_Version, (IPTR)szVersion, - MUIA_Application_Description, __(MSG_DESCRIPTION), - MUIA_Application_Copyright, __(MSG_COPYRIGHT), - MUIA_Application_Author, __(MSG_AUTHOR), - MUIA_Application_Base, (IPTR)"FORMAT", - SubWindow, (IPTR)(wnd = (Object *)WindowObject, - MUIA_Window_ID, MAKE_ID('F','R','M','D'), - MUIA_Window_CloseGadget, (IPTR)FALSE, - MUIA_Window_Title, (IPTR)_(MSG_APPLICATION_TITLE), - WindowContents, (IPTR)(VGroup, - Child, (IPTR)(TextObject, - MUIA_Text_Contents, (IPTR)_(MSG_SELECTDEVICE), - End), - Child, (IPTR)(list = (Object *)ListviewObject, - MUIA_Listview_List, (IPTR)ListObject, - InputListFrame, - MUIA_List_ConstructHook, (IPTR)&list_consfunc_hook, - MUIA_List_DestructHook, (IPTR)&list_desfunc_hook, - MUIA_List_DisplayHook, (IPTR)&list_dispfunc_hook, - MUIA_List_Format, (IPTR)",", - MUIA_List_AdjustWidth, (IPTR)TRUE, - End, - End), - Child, (IPTR)(HGroup, - Child, (IPTR)(ok = SimpleButton(_(MSG_OK))), - Child, (IPTR)RectangleObject, End, - Child, (IPTR)(cancel = SimpleButton(_(MSG_CANCEL))), - End), - End), - End), - End; - - if(app == NULL) return NULL; + Object *app, *wnd, *list, *ok, *cancel; - VolumesToList(list); - - DoMethod(list, MUIM_Notify, MUIA_List_Active, MUIV_EveryTime, - ok , 3, MUIM_Set, MUIA_Disabled, FALSE); - DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE, - app, 2, MUIM_Application_ReturnID, (IPTR)ok); - DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE, - app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); - - set(ok, MUIA_Disabled, TRUE); - set(wnd, MUIA_Window_Open, TRUE); + list_consfunc_hook.h_Entry = (HOOKFUNC)consfunc; + list_desfunc_hook.h_Entry = (HOOKFUNC)desfunc; + list_dispfunc_hook.h_Entry = (HOOKFUNC)dispfunc; + + app = (Object *)ApplicationObject, + MUIA_Application_Title, __(MSG_APPLICATION_TITLE), + MUIA_Application_Version, szVersion, + MUIA_Application_Description, __(MSG_DESCRIPTION), + MUIA_Application_Copyright, __(MSG_COPYRIGHT), + MUIA_Application_Author, __(MSG_AUTHOR), + MUIA_Application_Base, "FORMAT", + + SubWindow, (wnd = (Object*)WindowObject, + MUIA_Window_ID, MAKE_ID('F','R','M','D'), + MUIA_Window_CloseGadget, FALSE, + MUIA_Window_SizeGadget, TRUE, + MUIA_Window_SizeRight, TRUE, + MUIA_Window_Title, _(MSG_APPLICATION_TITLE), + + WindowContents, VGroup, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + + Child, HGroup, + MUIA_Background, MUII_SHINE, + MUIA_Frame, MUIV_Frame_Group, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, - ULONG sigs = 0; - - // Main loop - struct SFormatEntry* selectedEntry = NULL; - IPTR returnId; - while((returnId = (IPTR)DoMethod(app, MUIM_Application_NewInput, (IPTR)&sigs)) - != MUIV_Application_ReturnID_Quit) - { - if (sigs) - { - if ((Object*) returnId == ok) - { - IPTR active = XGET(list, MUIA_List_Active); - struct SFormatEntry *entry; - DoMethod(list, MUIM_List_GetEntry, active, &entry); - selectedEntry = AllocMem(sizeof(struct SFormatEntry), 0L); - if (selectedEntry) - memcpy(selectedEntry, entry, sizeof(struct SFormatEntry)); - break; - } - - sigs = Wait(sigs | SIGBREAKF_CTRL_C); - - if (sigs & SIGBREAKF_CTRL_C) - break; - } - } + Child, Label("\33c\33b ApolloFormat \33n\n\n Select Device to Format "), + End, + + Child, HGroup, + MUIA_Frame, MUIV_Frame_Group, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + + Child, (list = (Object*)ListviewObject, + MUIA_Listview_ScrollerPos, MUIV_Listview_ScrollerPos_None, + MUIA_Listview_List, ListObject, + InputListFrame, + MUIA_List_ConstructHook, &list_consfunc_hook, + MUIA_List_DestructHook, &list_desfunc_hook, + MUIA_List_DisplayHook, &list_dispfunc_hook, + MUIA_List_Format, ",", + MUIA_List_AdjustHeight, TRUE, + MUIA_List_AdjustWidth, FALSE, + End, + End), + End, + + Child, HGroup, + MUIA_Frame, MUIV_Frame_Group, + MUIA_Group_Horiz, TRUE, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + + Child, (ok = SimpleButton("_OK")), + Child, (cancel = SimpleButton("_Cancel")), + End, + End, + End), + End; + + if(app == NULL) return NULL; + + VolumesToList(list); - MUI_DisposeObject(app); - - return selectedEntry; + DoMethod(list, MUIM_List_Sort); + DoMethod(list, MUIM_Notify, MUIA_List_Active, MUIV_EveryTime, ok , 3, MUIM_Set, MUIA_Disabled, FALSE); + DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,app, 2, MUIM_Application_ReturnID, 5); + DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); + + //set(ok, MUIA_Disabled, TRUE); + set(wnd, MUIA_Window_Open, TRUE); + set(ok, MUIA_HorizWeight, 75); + set(cancel, MUIA_HorizWeight, 25); + + DD(bug("[FORMAT] [SelectDevice] Mainloop\n")); + struct SFormatEntry* selectedEntry = NULL; + + ULONG sigs = 0; + ULONG returnId; + BOOL running = TRUE; + + do + { + returnId = DoMethod(app, MUIM_Application_NewInput, &sigs); + + DD(bug("[FORMAT] [SelectDevice] Checking Buttons | ReturnID = %u\n", returnId)); + + switch(returnId) + { + case 5: + { + DD(bug("[FORMAT] [SelectDevice] Button = OK\n")); + IPTR active = XGET(list, MUIA_List_Active); + struct SFormatEntry *entry; + DoMethod(list, MUIM_List_GetEntry, active, &entry); + selectedEntry = AllocMem(sizeof(struct SFormatEntry), 0L); + if (selectedEntry) memcpy(selectedEntry, entry, sizeof(struct SFormatEntry)); + sigs = 0; + running = FALSE; + break; + } + + case MUIV_Application_ReturnID_Quit: + sigs = 0; + running = FALSE; + break; + } + + if (sigs) + { + sigs = Wait(sigs | SIGBREAKF_CTRL_C); + if (sigs & SIGBREAKF_CTRL_C) + { + running = FALSE; + } + } + } while(running); + + MUI_DisposeObject(app); + + return selectedEntry; } AROS_UFH3S(void, btn_format_function, - AROS_UFHA(struct Hook *, h, A0), - AROS_UFHA(Object *, object, A2), - AROS_UFHA(IPTR *, msg, A1)) + AROS_UFHA(struct Hook *, h, A0), + AROS_UFHA(Object *, object, A2), + AROS_UFHA(IPTR *, msg, A1)) { - AROS_USERFUNC_INIT - - BOOL bDoFormat = *msg; - BOOL bMakeTrashcan, bFFS, bIntl; - BOOL bDirCache = FALSE; - LONG rc = FALSE; - - D(Printf("Full format? %d\n", bDoFormat)); - - if(!bSetSzDosDeviceFromSz(szDosDevice)) - goto cleanup; - - /* TODO: set volume name same as old one if name is null string */ - if( !bSetSzVolumeFromSz( (char *)XGET(str_volume, MUIA_String_Contents) ) ) - { - goto cleanup; - } - - bMakeTrashcan = XGET(chk_trash, MUIA_Selected); - bFFS = XGET(chk_ffs, MUIA_Selected); - bIntl = XGET(chk_intl, MUIA_Selected); - bDirCache = XGET(chk_cache, MUIA_Selected); -#ifdef __AROS__ - bDirCache = FALSE; -#endif + AROS_USERFUNC_INIT + + BOOL bDoFormat = *msg; + BOOL bMakeTrashcan, bFFS, bIntl; + BOOL bDirCache = FALSE; + LONG rc = FALSE; + char *VolumeName_String; + + DD(bug("[FORMAT] Selected Format: %s\n", bDoFormat ? "Full" : "Quick" )); + + if (!bSetSzDosDeviceFromSz(szDosDevice)) goto cleanup; + + VolumeName_String = (char *)XGET(str_volume, MUIA_String_Contents); + + switch ( bSetSzVolumeFromSz(VolumeName_String) ) + { + case 1: MUI_Request( app, mainwin, 0, "Format Error Message", "_Return", "Please enter Volume name"); return; + case 2: MUI_Request( app, mainwin, 0, "Format Error Message", "_Return", "Volume name is too long\nMaximum lenght is %d characters", MAX_FS_NAME_LEN); return; + case 3: MUI_Request( app, mainwin, 0, "Format Error Message", "_Return", "Volume name contains illegal : character"); return; + default: break; + } + + DD(bug("[FORMAT] Check if Volume Name (%s) equals Device Name (%s) | Result = %d\n", VolumeName_String, DeviceName_String, strcmp(VolumeName_String, DeviceName_String) )); + + if (strcmp(VolumeName_String, DeviceName_String) == 0) + { + MUI_Request( app, mainwin, 0, "Format Error Message", "_Return", "Volume name must be different from Device name"); + return; + } + + bMakeTrashcan = XGET(chk_trash, MUIA_Selected); + bFFS = TRUE; //XGET(chk_ffs, MUIA_Selected); + bIntl = TRUE; //XGET(chk_intl, MUIA_Selected); + bDirCache = TRUE; //XGET(chk_cache, MUIA_Selected); + + if (bDoFormat) set(txt_action, MUIA_Text_Contents, "\33cFull Format"); + else set(txt_action, MUIA_Text_Contents, "\33cQuick Format"); + + set(formatwin, MUIA_Window_Open, TRUE); + set(mainwin, MUIA_Window_Open, FALSE); - if(bDoFormat) - { - set(txt_action, MUIA_Text_Contents, _(MSG_GUI_FORMATTING) ); - } - else - { - set(txt_action, MUIA_Text_Contents, _(MSG_GUI_INITIALIZING) ); - } - - set(mainwin, MUIA_Window_Open, FALSE); - set(formatwin, MUIA_Window_Open, TRUE); - - { char szVolumeId[11 + MAX_FS_NAME_LEN]; - if(pdlVolume) - RawDoFmtSz( szVolumeId, "%b", pdlVolume->dol_Name ); - else - RawDoFmtSz( szVolumeId, _(MSG_IN_DEVICE), szDosDevice ); - if( MUI_Request ( app, formatwin, 0, - _(MSG_FORMAT_REQUEST_TITLE), _(MSG_FORMAT_REQUEST_GADGETS), - _(MSG_FORMAT_REQUEST_TEXT), - szVolumeId, szCapacityInfo) != 1) - goto cleanup; - } - - BOOL formatOk = TRUE; - if(bDoFormat) - { - ULONG icyl, sigs; - if(!bGetExecDevice(TRUE)) - goto cleanup; - D(PutStr("GetExecDevice done\n")); - set(gauge, MUIA_Gauge_Max, HighCyl-LowCyl); - for( icyl = LowCyl; icyl <= HighCyl; ++icyl ) + if(pdlVolume) RawDoFmtSz( szVolumeId, "%b", pdlVolume->dol_Name ); + else RawDoFmtSz( szVolumeId, _(MSG_IN_DEVICE), szDosDevice ); + + if( ((ibyEnd - ibyStart) > (1024 * 1024 * 1024)) && bDoFormat ) { - DoMethod(app, MUIM_Application_Input, (IPTR)&sigs); - /* interrupted by user? */ - if(XGET(formatwin, MUIA_UserData) == 1) - { - formatOk = FALSE; - break; - } - if(!bFormatCylinder(icyl) || !bVerifyCylinder(icyl)) - { - formatOk = FALSE; - break; - } - set(gauge, MUIA_Gauge_Current, icyl-LowCyl); + switch (MUI_Request( app, formatwin, 0, "Format Request Confirmation", "_Quick Format|_Full Format|_Cancel", "WARNING !!!\n\n%s: is a large drive (>1Gb)\n\nQuick Format is strongly advised\n\nALL data will be lost on %s:\n\nPlease Confirm your Choice . . .", szDosDevice, szDosDevice )) + { + case 1: + bDoFormat = FALSE; + set(txt_action, MUIA_Text_Contents, "Quick Format"); + break; + case 0: + goto cleanup; + default: + break; + } + } else { + if (MUI_Request( app, formatwin, 0, "Format Request Confirmation", "_Confirm|_Cancel", "WARNING !!!\n\nALL data will be lost on %s:\n\nPlease Confirm your Choice . . .", szDosDevice) == 0) goto cleanup; } - FreeExecDevice(); - D(PutStr("FreeExecDevice done\n")); - } - - if(formatOk) - if( bMakeFileSys( bFFS, !bFFS, bIntl, !bIntl, bDirCache, !bDirCache ) - && (!bMakeTrashcan || bMakeFiles(FALSE)) ) - rc = RETURN_OK; - + + if (bDoFormat) set(txt_action, MUIA_Text_Contents, "\33cFull Format"); + else set(txt_action, MUIA_Text_Contents, "\33cQuick Format in Progress"); + + BOOL formatOk = TRUE; + + if(bDoFormat) + { + ULONG icyl, sigs; + if(!bGetExecDevice(TRUE)) goto cleanup; + DD(bug("[FORMAT] GetExecDevice done\n")); + + set(gauge, MUIA_Gauge_Max, 100); + + for( icyl = LowCyl; icyl <= HighCyl; ++icyl ) + { + DoMethod(app, MUIM_Application_Input, (IPTR)&sigs); + + if(XGET(formatwin, MUIA_UserData) == 1) + { + formatOk = FALSE; + break; + } + if(!bFormatCylinder(icyl) || !bVerifyCylinder(icyl)) + { + formatOk = FALSE; + break; + } + set(gauge, MUIA_Gauge_Current, (((icyl-LowCyl)*100) / ((HighCyl-LowCyl))) ); + DD(bug("[FORMAT] LowCyl = %u | HighCyl = %u | Cylinder = %u | MUIA_Gauge_Current = %u\n", LowCyl, HighCyl, icyl, (((icyl-LowCyl)*100) / ((HighCyl-LowCyl))) )); + } + FreeExecDevice(); + DD(bug("[FORMAT] FreeExecDevice done\n")); + } + + if(formatOk) + { + if( bMakeFileSys( bFFS, !bFFS, bIntl, !bIntl, bDirCache, !bDirCache ) && (!bMakeTrashcan || bMakeFiles(FALSE)) ) rc = RETURN_OK; + } + cleanup: - DoMethod(app, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); + DD(bug("[FORMAT] Format Finished, Cleaning Up and Exit\n" )); - if (rc != RETURN_OK) { - /* Shouldn't we do something if rc != RETURN_OK? */ - } + DoMethod(app, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); - AROS_USERFUNC_EXIT + AROS_USERFUNC_EXIT } int rcGuiMain(void) { - static char szTitle[6+3+30+1]; - char szVolumeInfo[6+2+MAX_FS_NAME_LEN+2]; - char szDeviceInfo[6+2+MAX_FS_NAME_LEN+2]; - char szVolumeName[108]; - struct DosList *pdlDevice = NULL; - szVolumeInfo[0] = '\0'; - struct FileLock * pflVolume = 0; - static struct InfoData dinf __attribute__((aligned (4))); - LONG rc = RETURN_FAIL; + static char szTitle[6+3+30+1]; + char szVolumeInfo[6+2+MAX_FS_NAME_LEN+2]; + char szDeviceInfo[6+2+MAX_FS_NAME_LEN+2]; + char szVolumeName[108]; + char szDosType[11]; + char szLowCyl[2]; + char szHighCyl[10]; + BOOL bCreateVolName; + + struct DosList *pdlDevice = NULL; + szVolumeInfo[0] = '\0'; + struct FileLock *pflVolume = 0; + static struct InfoData dinf __attribute__((aligned (4))); + LONG rc = RETURN_FAIL; #if DEBUG - BPTR bpfhStdErr = + BPTR bpfhStdErr = Open("CON:0/50/640/400/Format Debug Output/CLOSE/WAIT",MODE_READWRITE); - BPTR OldInput = SelectInput(bpfhStdErr); - BPTR OldOutput = SelectOutput(bpfhStdErr); + BPTR OldInput = SelectInput(bpfhStdErr); + BPTR OldOutput = SelectOutput(bpfhStdErr); #endif - if( _WBenchMsg->sm_NumArgs > 1 ) - { - struct DosList *pdlList; - - if( _WBenchMsg->sm_ArgList[1].wa_Lock == 0 ) + if( _WBenchMsg->sm_NumArgs > 1 ) { - D(Printf("Object specified by name: %s\n", _WBenchMsg->sm_ArgList[1].wa_Name);) - /* it's a device */ - if( !bSetSzDosDeviceFromSz(_WBenchMsg->sm_ArgList[1].wa_Name) ) { - D(Printf("Bad device name wrom Workbench: %s\n", _WBenchMsg->sm_ArgList[1].wa_Name)); - /* Workbench is playing silly buggers */ - goto cleanup; - } + struct DosList *pdlList; + + if( _WBenchMsg->sm_ArgList[1].wa_Lock == 0 ) + { + DD(bug("[FORMAT] Object specified by Device name: %s\n", _WBenchMsg->sm_ArgList[1].wa_Name);) + if( !bSetSzDosDeviceFromSz(_WBenchMsg->sm_ArgList[1].wa_Name) ) + { + DD(bug("[FORMAT] Bad device name from Workbench: %s\n", _WBenchMsg->sm_ArgList[1].wa_Name)); + goto cleanup; + } + bCreateVolName = TRUE; + } else { + if( _WBenchMsg->sm_ArgList[1].wa_Name[0] == 0 ) + { + DD(bug("[FORMAT] Object specified by Volume name (Lock)\n")); + + if( !Info( _WBenchMsg->sm_ArgList[1].wa_Lock, &dinf ) ) + { + ReportErrSz( ertFailure, 0, 0 ); + goto cleanup; + } + pflVolume = (struct FileLock *)BADDR(_WBenchMsg->sm_ArgList[1].wa_Lock); + pdlVolume = (struct DosList *)BADDR(pflVolume->fl_Volume); + pdlList = LockDosList( LDF_DEVICES | LDF_READ ); + pdlDevice = pdlList; + + do + { + if ((pdlDevice = NextDosEntry(pdlDevice, LDF_DEVICES)) == 0) + break; + } + while( pdlDevice->dol_Task != pflVolume->fl_Task ); + if (!pdlDevice) + { + ReportErrSz( ertFailure, ERROR_DEVICE_NOT_MOUNTED, 0 ); + goto cleanup; + } + RawDoFmtSz( szDosDevice, "%b", pdlDevice->dol_Name ); + strcpy(szVolumeName, AROS_BSTR_ADDR(pdlVolume->dol_Name)); + + pchDosDeviceColon = szDosDevice + strlen(szDosDevice); + *(pchDosDeviceColon+1) = 0; + } + else + { + ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); + goto cleanup; + } + } + } else { + if ( _WBenchMsg->sm_NumArgs == 1 ) + { + struct SFormatEntry* entry = SelectDevice(); + if (!entry) goto cleanup; + strcpy(szDosDevice, entry->deviceName); + strcat(szDosDevice, ":"); + strcpy(szVolumeName, entry->volumeName); + strcpy(szCapacityInfo, entry->capacityInfo); + FreeMem(entry, sizeof(struct SFormatEntry)); + + if( !bSetSzDosDeviceFromSz(szDosDevice) ) + { + DD(bug("[FORMAT] Bad device name from SelectDevice: %s\n", szDosDevice)); + goto cleanup; + } + bCreateVolName = FALSE; + } } - else if( _WBenchMsg->sm_ArgList[1].wa_Name[0] == 0 ) - { - /* it's a volume */ - D(Printf("Object specified by lock\n")); - /* make sure it's mounted before looking for its device */ - if( !Info( _WBenchMsg->sm_ArgList[1].wa_Lock, &dinf ) ) - { - ReportErrSz( ertFailure, 0, 0 ); - goto cleanup; - } - pflVolume = - (struct FileLock *)BADDR(_WBenchMsg->sm_ArgList[1].wa_Lock); - pdlVolume = (struct DosList *)BADDR(pflVolume->fl_Volume); - pdlList = LockDosList( LDF_DEVICES | LDF_READ ); - pdlDevice = pdlList; - do - { - if ((pdlDevice = NextDosEntry(pdlDevice, LDF_DEVICES)) == 0) - break; - } - while( pdlDevice->dol_Task != pflVolume->fl_Task ); - if (!pdlDevice) - { - ReportErrSz( ertFailure, ERROR_DEVICE_NOT_MOUNTED, 0 ); - goto cleanup; - } - RawDoFmtSz( szDosDevice, "%b", pdlDevice->dol_Name ); - pchDosDeviceColon = szDosDevice + strlen(szDosDevice); - *(pchDosDeviceColon+1) = 0; - } - else + if (!bGetDosDevice(pdlDevice, LDF_DEVICES|LDF_READ)) goto cleanup; + + if (bCreateVolName) strcpy(szVolumeName, ""); + + ComputeCapacity(); + + RawDoFmtSz(szDosType, "0x%08lx", DosType); + szDosType[10] = 0; + + char szDosTypeName[5]; + + for (int i = 0; i < 4; i++) { - ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); - goto cleanup; + szDosTypeName[i] = (DosType >> ((3 - i) * 8)) & 0xff; + + if (szDosTypeName[i] < 9) + szDosTypeName[i] += '0'; + else if (szDosTypeName[i] < 32) + szDosTypeName[i] = '.'; } + szDosTypeName[4] = 0; + + char szDosTypeString[8]; + + RawDoFmtSz( szDosTypeString, "\33c%s", szDosTypeName); + DD(bug("[FORMAT] DosType [0]=%lx | [1]=%lx | [2]=%lx | [3]=%lx | [4]%lx\n", szDosTypeName[0],szDosTypeName[1],szDosTypeName[2],szDosTypeName[3],szDosTypeName[4])); + DD(bug("[FORMAT] Device = %s | Volume = %s | Capacity = %s | DosType = %8lx | LowCyl = %u | HighCyl = %u\n", + szDosDevice, szVolumeName, szCapacityInfo, DosType, LowCyl, HighCyl)); + + RawDoFmtSz( szTitle, _(MSG_WINDOW_TITLE), szDosDevice ); + DD(bug("[FORMAT] Setting window title to '%s'\n", szTitle)); + + BOOL IsDeviceFAT = ( (DosType >= 0x46415400) && (DosType <= 0x46415402) ); - ComputeCapacity(pdlVolume, &dinf ); - - if (pdlVolume) - strcpy(szVolumeName, AROS_BSTR_ADDR(pdlVolume->dol_Name)); - } - else if ( _WBenchMsg->sm_NumArgs == 1 ) - { - /* message(_(MSG_ERROR_WANDERER) ); */ - struct SFormatEntry* entry = SelectDevice(); - if (!entry) - goto cleanup; - strcpy(szDosDevice, entry->deviceName); - strcat(szDosDevice, ":"); - strcpy(szVolumeName, entry->volumeName); - strcpy(szCapacityInfo, entry->capacityInfo); - FreeMem(entry, sizeof(struct SFormatEntry)); - - D(Printf("Object name selected via SelectDevice: %s\n", szDosDevice)); - /* it's a device */ - if( !bSetSzDosDeviceFromSz(szDosDevice) ) { - D(Printf("Bad device name from SelectDevice: %s\n", szDosDevice)); - goto cleanup; - } - } - - if (!bGetDosDevice(pdlDevice, LDF_DEVICES|LDF_READ)) - goto cleanup; - - RawDoFmtSz( szTitle, _(MSG_WINDOW_TITLE), szDosDevice ); - D(Printf("Setting window title to '%s'\n", szTitle)); - - { Object *btn_format, *btn_qformat, *btn_cancel, *btn_stop; btn_format_hook.h_Entry = (HOOKFUNC)btn_format_function; - RawDoFmtSz( szDeviceInfo, _(MSG_DEVICE), szDosDevice ); - RawDoFmtSz( szVolumeInfo, _(MSG_VOLUME), szVolumeName ); - - D(Printf("Creating GUI...\n")); + DD(bug("[FORMAT] Creating GUI...\n")); app = (Object *)ApplicationObject, - MUIA_Application_Title, __(MSG_APPLICATION_TITLE), - MUIA_Application_Version, (IPTR)szVersion, - MUIA_Application_Description, __(MSG_DESCRIPTION), - MUIA_Application_Copyright, __(MSG_COPYRIGHT), - MUIA_Application_Author, __(MSG_AUTHOR), - MUIA_Application_Base, (IPTR)"FORMAT", - MUIA_Application_SingleTask, FALSE, - SubWindow, (IPTR)(mainwin = (Object *)WindowObject, - MUIA_Window_ID, MAKE_ID('F','R','M','1'), - MUIA_Window_Title, (IPTR)szTitle, - WindowContents, (IPTR)(VGroup, - Child, (IPTR)(ColGroup(2), - Child, (IPTR)Label2( _(MSG_LABEL_CURRENT_INFORMATION) ), - Child, (IPTR)(TextObject, - (IPTR)TextFrame, - MUIA_Text_Contents, (IPTR)szDeviceInfo, - End), - Child, (IPTR)Label2(""), - Child, (IPTR)(TextObject, - TextFrame, - MUIA_Text_Contents, (IPTR)szVolumeInfo, - End), - Child, (IPTR)Label2(""), - Child, (IPTR)(TextObject, - TextFrame, - MUIA_Text_Contents, (IPTR)szCapacityInfo, - End), - Child, (IPTR)Label2( _(MSG_LABEL_NEW_VOLUME_NAME) ), - Child, (IPTR)(str_volume = (Object *)StringObject, - StringFrame, - MUIA_String_Contents, __(MSG_DEFAULT_VOLUME_NAME), - MUIA_String_MaxLen, MAX_FS_NAME_LEN, - End), - Child, (IPTR)Label2( _(MSG_LABEL_PUT_TRASHCAN) ), - Child, (IPTR)(chk_trash = MUI_MakeObject(MUIO_Checkmark, NULL)), - Child, (IPTR)Label2( _(MSG_LABEL_FFS) ), - Child, (IPTR)(chk_ffs = MUI_MakeObject(MUIO_Checkmark, NULL)), - Child, (IPTR)Label2( _(MSG_LABEL_INTL)), - Child, (IPTR)(chk_intl = MUI_MakeObject(MUIO_Checkmark, NULL)), - Child, (IPTR)Label2( _(MSG_LABEL_CACHE) ), - Child, (IPTR)(chk_cache = MUI_MakeObject(MUIO_Checkmark, NULL)), - End), /* ColGroup */ - Child, (IPTR) (RectangleObject, - MUIA_Rectangle_HBar, TRUE, - MUIA_FixHeight, 2, - End), - Child, (IPTR)(HGroup, - Child, (IPTR)(btn_format = ImageButton( _(MSG_BTN_FORMAT) , "THEME:Images/Gadgets/OK")), - Child, (IPTR)(btn_qformat = ImageButton( _(MSG_BTN_QFORMAT), "THEME:Images/Gadgets/OK")), - Child, (IPTR)(btn_cancel = ImageButton( _(MSG_BTN_CANCEL) , "THEME:Images/Gadgets/Cancel")), - End), /* HGroup */ - End), /* VGroup */ - End), /* Window */ - SubWindow, (IPTR)(formatwin = (Object *)WindowObject, - MUIA_Window_ID, MAKE_ID('F','R','M','2'), + MUIA_Application_Title, __(MSG_APPLICATION_TITLE), + MUIA_Application_Version, (IPTR)szVersion, + MUIA_Application_Description, __(MSG_DESCRIPTION), + MUIA_Application_Copyright, __(MSG_COPYRIGHT), + MUIA_Application_Author, __(MSG_AUTHOR), + MUIA_Application_Base, (IPTR)"FORMAT", + MUIA_Application_SingleTask, FALSE, + + SubWindow, (IPTR)(mainwin = (Object *)WindowObject, + MUIA_Window_ID, MAKE_ID('F','R','M','1'), + MUIA_Window_Title, (IPTR)szTitle, + + WindowContents, (IPTR)(VGroup, + + Child, HGroup, + MUIA_Background, MUII_SHINE, + MUIA_Frame, MUIV_Frame_Group, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + Child, Label("\33c\33b ApolloFormat \33n\n\n Enter Format Parameters "), + End, + + Child, (IPTR)(ColGroup(2), + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + + Child, (IPTR)LLabel2("Device:"), + Child, (IPTR)(TextObject, TextFrame, MUIA_FixWidth, 128, MUIA_Text_Contents, (IPTR)szDosDevice, End), + + Child, (IPTR)LLabel2("Capacity:"), + Child, (IPTR)(TextObject, TextFrame, MUIA_Text_Contents, (IPTR)szCapacityInfo, End), + + Child, LLabel2("DosType:"), + Child, HGroup, + Child, (IPTR)(TextObject, TextFrame, MUIA_Text_Contents, (IPTR)szDosType, End), + Child, (IPTR)(TextObject, TextFrame, MUIA_Text_Contents, (IPTR)szDosTypeString, End), + End, + + Child, (IPTR)LLabel2("Volume:"), + Child, (IPTR)(str_volume = (Object *)StringObject, StringFrame, MUIA_String_Contents, (IPTR)szVolumeName, MUIA_String_MaxLen, IsDeviceFAT ? MAX_FAT_NAME_LEN : MAX_FS_NAME_LEN, End), + + Child, (IPTR)LLabel2("Trashcan:"), + Child, (IPTR)(chk_trash = MUI_MakeObject(MUIO_Checkmark, NULL)), + + End), // ColGroup + + Child, (IPTR)(RectangleObject, MUIA_Rectangle_HBar, TRUE, MUIA_FixHeight, 2, End), + Child, (IPTR)(HGroup, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + Child, (IPTR)(btn_format = SimpleButton( _(MSG_BTN_FORMAT) )), + Child, (IPTR)(btn_qformat = SimpleButton( _(MSG_BTN_QFORMAT))), + Child, (IPTR)(btn_cancel = SimpleButton( _(MSG_BTN_CANCEL) )), + End), /* HGroup */ + End), /* VGroup */ + End), /* Window */ + + SubWindow, (IPTR)(formatwin = (Object *)WindowObject, + //MUIA_Window_ID, MAKE_ID('F','R','M','2'), MUIA_Window_Title, (IPTR)szTitle, MUIA_Window_CloseGadget, (IPTR)FALSE, - WindowContents, (IPTR)(VGroup, - Child, (IPTR)(txt_action = (Object *)TextObject, - TextFrame, - End), - Child, (IPTR)(gauge = (Object *)GaugeObject, - GaugeFrame, - MUIA_Gauge_Horiz, (IPTR)TRUE, - MUIA_FixHeightTxt, (IPTR)"|", - End), - Child, (IPTR)(HGroup, - Child, (IPTR)RectangleObject, End, - Child, (IPTR)(btn_stop = SimpleButton( _(MSG_BTN_STOP) )), - Child, (IPTR)RectangleObject, End, - End), - End), /* VGroup */ - End), /* Window */ + MUIA_Window_RefWindow, mainwin, + MUIA_Window_TopEdge, MUIV_Window_TopEdge_Centered, + WindowContents, (IPTR)(VGroup, + + Child, HGroup, + MUIA_Background, MUII_SHINE, + MUIA_Frame, MUIV_Frame_Group, + MUIA_Group_HorizSpacing, 4, + MUIA_Group_VertSpacing, 4, + Child, Label("\33c\33b ApolloFormat \33n\n\n Formatting Drive . . . "), + End, + + Child, (IPTR)(txt_action = (Object *)TextObject, TextFrame, End), + Child, (IPTR)(gauge = (Object *)GaugeObject, GaugeFrame, MUIA_Gauge_Horiz, (IPTR)TRUE, MUIA_FixHeight, 20, MUIA_Gauge_InfoText, "%ld%%", End), + + Child, (IPTR)(RectangleObject, MUIA_Rectangle_HBar, TRUE, MUIA_FixHeight, 2, End), + + Child, (IPTR)(HGroup, + Child, (IPTR)RectangleObject, End, + Child, (IPTR)(btn_stop = SimpleButton( _(MSG_BTN_STOP) )), + Child, (IPTR)RectangleObject, End, + End), /* HGroup */ + End), /* VGroup */ + End), /* Window */ End; /* Application */ if ( ! app) { - message( _(MSG_ERROR_NO_APPLICATION) ); - goto cleanup; + message( _(MSG_ERROR_NO_APPLICATION) ); + goto cleanup; } - DoMethod(mainwin, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, - app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); - DoMethod(btn_cancel, MUIM_Notify, MUIA_Pressed, FALSE, - app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); - DoMethod(btn_format, MUIM_Notify, MUIA_Pressed, FALSE, - app, 3, MUIM_CallHook, (IPTR)&btn_format_hook, TRUE); - DoMethod(btn_qformat, MUIM_Notify, MUIA_Pressed, FALSE, - app, 3, MUIM_CallHook, (IPTR)&btn_format_hook, FALSE); - DoMethod(btn_stop, MUIM_Notify, MUIA_Pressed, FALSE, - formatwin, 3, MUIM_Set, MUIA_UserData, 1); - +DoMethod(mainwin, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); +DoMethod(btn_cancel, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); +DoMethod(btn_format, MUIM_Notify, MUIA_Pressed, FALSE, app, 3, MUIM_CallHook, (IPTR)&btn_format_hook, TRUE); +DoMethod(btn_qformat, MUIM_Notify, MUIA_Pressed, FALSE, app, 3, MUIM_CallHook, (IPTR)&btn_format_hook, FALSE); +DoMethod(btn_stop, MUIM_Notify, MUIA_Pressed, FALSE, formatwin, 3, MUIM_Set, MUIA_UserData, 1); + set(chk_trash, MUIA_Selected, TRUE); if( DosType >= 0x444F5300 && DosType <= 0x444F5305 ) { - set(chk_ffs, MUIA_Selected, DosType & 1UL); - set(chk_intl, MUIA_Selected, DosType & 6UL); - set(chk_cache, MUIA_Selected, DosType & 4UL); - } - else - { - set(chk_ffs, MUIA_Disabled, TRUE); - set(chk_intl, MUIA_Disabled, TRUE); - set(chk_cache, MUIA_Disabled, TRUE); + set(chk_ffs, MUIA_Selected, DosType & 1UL); + set(chk_intl, MUIA_Selected, DosType & 6UL); + set(chk_cache, MUIA_Selected, DosType & 4UL); + } else { + set(chk_ffs, MUIA_Disabled, TRUE); + set(chk_intl, MUIA_Disabled, TRUE); + set(chk_cache, MUIA_Disabled, TRUE); } -#ifdef __AROS__ set(chk_cache, MUIA_Disabled, TRUE); -#endif set(mainwin, MUIA_Window_Open, TRUE); if (! XGET(mainwin, MUIA_Window_Open)) { - message( _(MSG_ERROR_NO_WINDOW) ); - goto cleanup; + message( _(MSG_ERROR_NO_WINDOW) ); + goto cleanup; } DoMethod(app, MUIM_Application_Execute); rc = RETURN_OK; - } cleanup: - MUI_DisposeObject(app); + MUI_DisposeObject(app); #if DEBUG - SelectInput(OldInput); - SelectOutput(OldOutput); - Close(bpfhStdErr); + SelectInput(OldInput); + SelectOutput(OldOutput); + Close(bpfhStdErr); #endif - return rc; + return rc; } static void message(CONST_STRPTR s) { - if (s) - { - D(Printf(s)); + if (s) + { + DD(bug(s)); MUI_Request(app, NULL, 0, _(MSG_REQ_ERROR_TITLE), _(MSG_OK), s); - } + } } diff --git a/workbench/system/BHFormat/gui.h b/workbench/system/BHFormat/gui.h new file mode 100644 index 00000000000..989dba37544 --- /dev/null +++ b/workbench/system/BHFormat/gui.h @@ -0,0 +1,20 @@ +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "format.h" +#include "locale.h" \ No newline at end of file diff --git a/workbench/system/BHFormat/main.c b/workbench/system/BHFormat/main.c index 76310eec9c4..4ed21250256 100644 --- a/workbench/system/BHFormat/main.c +++ b/workbench/system/BHFormat/main.c @@ -57,8 +57,10 @@ ULLONG ibyStart, ibyEnd; IPTR MaxTransfer; IPTR LowCyl, HighCyl; ULONG DosType; +BSTR DeviceName; +char *DeviceName_String; -static char szVolume[MAX_FS_NAME_LEN+2] __attribute__((aligned (4))); +char szVolume[MAX_FS_NAME_LEN+2] __attribute__((aligned (4))); static char * pszExecDevice; static ULONG ExecUnit, ExecDeviceFlags; static ULONG BufMemType; @@ -77,7 +79,7 @@ static ULONG * paulWriteBuffer, * paulReadBuffer; static ULONG cbyTransfer; -const char szVersion[] = "$VER: BHFormat 43.8 (" ADATE ")"; +const char szVersion[] = "$VER: BHFormat 44.0 (" ADATE ")"; int main(void) { @@ -177,14 +179,15 @@ BOOL bSetSzDosDeviceFromSz( const char * pszDevice ) if( cch != 0 && cch <= MAX_FS_NAME_LEN ) { - /* Make a copy, without the colon */ - strncpy( szDosDevice, pszDevice, cch ); - pchDosDeviceColon = &szDosDevice[cch]; /* need to put it back later */ - *pchDosDeviceColon = 0; - *(pchDosDeviceColon+1) = 0; - return TRUE; + /* Make a copy, without the colon */ + strncpy( szDosDevice, pszDevice, cch ); + pchDosDeviceColon = &szDosDevice[cch]; /* need to put it back later */ + *pchDosDeviceColon = 0; + *(pchDosDeviceColon+1) = 0; + return TRUE; } + DD(bug("[FORMAT] bSetSzDosDeviceFromSz: ERROR_INVALID_COMPONENT_NAME\n")); ReportErrSz( ertError, ERROR_INVALID_COMPONENT_NAME, 0 ); return FALSE; } @@ -195,17 +198,25 @@ BOOL bSetSzVolumeFromSz( const char * pszVolume ) /* Check the length and validity of the volume name */ size_t cch = strlen(pszVolume); - if( cch != 0 && cch <= MAX_FS_NAME_LEN && strpbrk( pszVolume, ":/" ) == 0 ) - { - /* Make a copy with a length prefix because v36 Format function - incorrectly expects a BSTR */ - szVolume[0] = cch; - strcpy( &szVolume[1], pszVolume ); - return TRUE; - } - - ReportErrSz( ertError, ERROR_INVALID_COMPONENT_NAME, 0 ); - return FALSE; + if(cch == 0) + { + return 1; + } else { + if (cch > MAX_FS_NAME_LEN) + { + return 2; + } else { + if (strpbrk( pszVolume, ":/" ) != 0 ) + { + return 3; + } else { + /* Make a copy with a length prefix because v36 Format function incorrectly expects a BSTR */ + szVolume[0] = cch; + strcpy( &szVolume[1], pszVolume ); + } + } + } + return 0; } @@ -284,48 +295,46 @@ BOOL bSetDevfFromSz( const char * pszDevFlags ) BOOL bGetDosDevice(struct DosList *pdlDevice, ULONG flags) { struct DosList *pdlList; - struct DosEnvec * pdenDevice; - - if (!pdlDevice) { - flags = LDF_DEVICES|LDF_READ; - pdlList = LockDosList(flags); - D(Printf( "LockDosList( LDF_DEVICES | LDF_READ ) = 0x%08lx\n", (ULONG)pdlList )); - *pchDosDeviceColon = 0; - pdlDevice = FindDosEntry( pdlList, szDosDevice, LDF_DEVICES ); - D(Printf("FindDosEntry( 0x%08lx, \"%s\", LDF_DEVICES ) = 0x%08lx\n", - (ULONG)pdlList, (ULONG)szDosDevice, (ULONG)pdlDevice )); - if( pdlDevice == 0 ) + struct DosEnvec *pdenDevice; + + if (!pdlDevice) { - UnLockDosList(flags); - ReportErrSz( ertError, ERROR_DEVICE_NOT_MOUNTED, 0 ); - return FALSE; + flags = LDF_DEVICES|LDF_READ; + pdlList = LockDosList(flags); + DD(bug("[FORMAT] LockDosList( LDF_DEVICES | LDF_READ ) = 0x%08lx\n", (ULONG)pdlList )); + *pchDosDeviceColon = 0; + pdlDevice = FindDosEntry( pdlList, szDosDevice, LDF_DEVICES ); + DD(bug("[FORMAT] FindDosEntry( 0x%08lx, \"%s\", LDF_DEVICES ) = 0x%08lx\n", (ULONG)pdlList, (ULONG)szDosDevice, (ULONG)pdlDevice )); + if( pdlDevice == 0 ) + { + UnLockDosList(flags); + DD(bug("[FORMAT] bGetDosDevice: ERROR_DEVICE_NOT_MOUNTED\n")); + ReportErrSz( ertError, ERROR_DEVICE_NOT_MOUNTED, 0 ); + return FALSE; + } } - } - /* Find startup message and verify file-system settings. Use - TypeOfMem to protect against devices that use integer or string - startup values. */ - if( (pfssm = (struct FileSysStartupMsg *) - BADDR(pdlDevice->dol_misc.dol_handler.dol_Startup)) == 0 - || TypeOfMem(pfssm) == 0 - || pfssm->fssm_Device == 0 - || (pdenDevice = (struct DosEnvec *)BADDR(pfssm->fssm_Environ)) == 0 - || TypeOfMem(pdenDevice) == 0 - || pdenDevice->de_TableSize < DE_DOSTYPE - /* Check that parameters that should always be 0, are */ - || pdenDevice->de_SecOrg != 0 - || pdenDevice->de_Interleave != 0 ) - { - UnLockDosList(flags); - ReportErrSz( ertError, ERROR_OBJECT_WRONG_TYPE, 0 ); - return FALSE; - } + /* Find startup message and verify file-system settings. Use TypeOfMem to protect against devices that use integer or string startup values. */ + if( (pfssm = (struct FileSysStartupMsg *)BADDR(pdlDevice->dol_misc.dol_handler.dol_Startup)) == 0 + || TypeOfMem(pfssm) == 0 + || pfssm->fssm_Device == 0 + || (pdenDevice = (struct DosEnvec *)BADDR(pfssm->fssm_Environ)) == 0 + || TypeOfMem(pdenDevice) == 0 + || pdenDevice->de_TableSize < DE_DOSTYPE + /* Check that parameters that should always be 0, are + || pdenDevice->de_SecOrg != 0 + || pdenDevice->de_Interleave != 0 */) + { + UnLockDosList(flags); + DD(bug("[FORMAT] bGetDosDevice: ERROR_OBJECT_WRONG_TYPE\n")); + ReportErrSz( ertError, ERROR_OBJECT_WRONG_TYPE, 0 ); + return FALSE; + } /* Get the device name with the original correct case */ RawDoFmtSz( szDosDevice, "%b", pdlDevice->dol_Name ); - /* Unlike most BCPL strings, this one is guaranteed to be null- - terminated. */ + /* Unlike most BCPL strings, this one is guaranteed to be null-terminated. */ pszExecDevice = AROS_BSTR_ADDR(pfssm->fssm_Device); ExecUnit = pfssm->fssm_Unit; ExecDeviceFlags = pfssm->fssm_Flags; @@ -334,20 +343,34 @@ BOOL bGetDosDevice(struct DosList *pdlDevice, ULONG flags) LowCyl = pdenDevice->de_LowCyl; HighCyl = pdenDevice->de_HighCyl; DosType = pdenDevice->de_DosType; + DeviceName = pdlDevice->dol_Name; + DeviceName_String = AROS_BSTR_ADDR(DeviceName); + DD(bug("[FORMAT] szDosDevice = %s | DeviceName = %s\n", szDosDevice, DeviceName_String)); + cbyTrack = (ULLONG)pdenDevice->de_BlocksPerTrack * (ULLONG)(pdenDevice->de_SizeBlock * sizeof(LONG)); cbyCylinder = cbyTrack * pdenDevice->de_Surfaces; ibyStart = pdenDevice->de_LowCyl * cbyCylinder; ibyEnd = (pdenDevice->de_HighCyl + 1) * cbyCylinder; + DD(bug("[FORMAT] bGetDosDevice: LowCyl = %u | HighCyl = %u | Heads = %u | Sectors = %u | ibyStart = %llu | ibyEnd = %llu | DosType = 0x%08lx\n", + LowCyl, HighCyl, pdenDevice->de_Surfaces, pdenDevice->de_BlocksPerTrack, ibyStart, ibyEnd, DosType)); + + if(DosType == 0x444F5300) // Check for DOS/0 and if found then Drive needs to be partitioned by HDToolBox first + { + DD(bug("[FORMAT] bGetDosDevice: ERROR: No Partition(s) Found!\n")); + //ReportErrSz( ertError, 0, "\nERROR: No Partition(s) Found!\n\nUse Tools->HDToolBox to Create Partition(s)\n"); + //return FALSE; + } + DD(bug("[FORMAT] bGetDosDevice: OK: Partition(s) Found!\n")); + #if defined(__mc68000) && !defined(__AROS__) /* If the device has a native Amiga file-system, we can check for various limitations and also apply the various command-line flags that specify which variant to use for the new volume. */ - - if( pdenDevice->de_DosType >= 0x444F5300 - && pdenDevice->de_DosType <= 0x444F5305 ) + + if( pdenDevice->de_DosType >= 0x444F5300 && pdenDevice->de_DosType <= 0x444F5305 ) // Filter for classic AmigaDOS OFS/FFS { const struct Resident * prt; UWORD verFS; @@ -358,14 +381,10 @@ BOOL bGetDosDevice(struct DosList *pdlDevice, ULONG flags) would be a bit pointless. Perhaps I should use TypeOfMem to decide whether the segment is in ROM or RAM first? */ - prt = (struct Resident *)((char *)BADDR( - pdlDevice->dol_misc.dol_handler.dol_SegList) + 4); - while( prt->rt_MatchWord != RTC_MATCHWORD - || prt->rt_MatchTag != prt ) - prt = (struct Resident *)((UWORD *)prt + 1); + prt = (struct Resident *)((char *)BADDR(pdlDevice->dol_misc.dol_handler.dol_SegList) + 4); + while( prt->rt_MatchWord != RTC_MATCHWORD || prt->rt_MatchTag != prt ) prt = (struct Resident *)((UWORD *)prt + 1); verFS = prt->rt_Version; - D(Printf( "found RomTag at 0x%08lx; rt_Version = %lu\n", - (ULONG)prt, (ULONG)verFS )); + DD(bug("[FORMAT] Found RomTag at 0x%08lx; rt_Version = %lu\n", (ULONG)prt, (ULONG)verFS )); /* check that the fs can handle this device correctly */ @@ -428,8 +447,8 @@ void FreeDosDevice(void) { if(bInhibited) { - *pchDosDeviceColon = ':'; - D(Printf( "Inhibit( \"%s\", DOSFALSE );\n", (ULONG)szDosDevice )); + //*pchDosDeviceColon = ':'; + DD(bug("[FORMAT] Inhibit( \"%s\", DOSFALSE );\n", (ULONG)szDosDevice )); (void) Inhibit( szDosDevice, DOSFALSE ); bInhibited = FALSE; } @@ -439,12 +458,13 @@ void FreeDosDevice(void) BOOL bGetExecDevice( BOOL bWillVerify ) { *pchDosDeviceColon = ':'; - D(Printf( "Inhibit( \"%s\", DOSTRUE );\n", (ULONG)szDosDevice )); + DD(bug("[FORMAT] Inhibit( \"%s\", DOSTRUE );\n", (ULONG)szDosDevice )); if(!Inhibit( szDosDevice, DOSTRUE )) { - /* This is a bit stupid, but compatible with v40 Format */ - ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); - return FALSE; + /* This is a bit stupid, but compatible with v40 Format */ + DD(bug("[FORMAT] bGetExecDevice - ERROR_OBJECT_WRONG_TYPE\n")); + ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); + return FALSE; } bInhibited = TRUE; @@ -452,7 +472,7 @@ BOOL bGetExecDevice( BOOL bWillVerify ) || (piosDisk = (struct IOStdReq *) CreateIORequest( pmpDiskIO, sizeof(struct IOStdReq) )) == 0 ) { - D(Printf("pmpDiskIO = 0x%08lX, piosDisk = 0x%08lX\n", pmpDiskIO, piosDisk)); + DD(bug("[FORMAT] pmpDiskIO = 0x%08lX, piosDisk = 0x%08lX\n", pmpDiskIO, piosDisk)); ReportErrSz( ertFailure, ERROR_NO_FREE_STORE, 0 ); return FALSE; } @@ -471,35 +491,25 @@ BOOL bGetExecDevice( BOOL bWillVerify ) bExecDevOpen = TRUE; } -#ifdef __mc68000 - { /* This is an attempt to spot a scsi.device that is really an IDE driver. If we have a card slot (A600/A1200) or AGA (A1200/A4000/A4000T/CD32/clones) then it probably is. If the version number is lower than 40 then it does not limit transfers to 128 blocks as required for correct operation of some drives. */ - struct GfxBase * GfxBase = (struct GfxBase *) - OpenLibrary( "graphics.library", 39 ); - if( !strcmp( pszExecDevice, "scsi.device" ) - && piosDisk->io_Device->dd_Library.lib_Version < 40 - && (OpenResource("card.resource") - || (GfxBase && (GfxBase->ChipRevBits0 & GFXF_AA_ALICE)) )) + + struct GfxBase * GfxBase = (struct GfxBase *) OpenLibrary( "graphics.library", 39 ); + + if( !strcmp( pszExecDevice, "scsi.device" ) && piosDisk->io_Device->dd_Library.lib_Version < 40 && (OpenResource("card.resource") || (GfxBase && (GfxBase->ChipRevBits0 & GFXF_AA_ALICE)) )) { bSuspectIDE = TRUE; if( MaxTransfer > 0x10000 ) { - MaxTransfer = 0x10000; - ReportErrSz( - ertWarning, - -1, - _(MSG_ERROR_IDE) ); + MaxTransfer = 0x10000; + ReportErrSz(ertWarning, -1, _(MSG_ERROR_IDE) ); } } - if(GfxBase) - CloseLibrary((struct Library *)GfxBase); - } -#endif + if(GfxBase) CloseLibrary((struct Library *)GfxBase); if( ibyEnd > 0x100000000ULL ) { @@ -560,7 +570,7 @@ BOOL bGetExecDevice( BOOL bWillVerify ) /* We need two buffers - one for writing and one for reading back to verify the write */ - D(Printf("Allocating buffers, size %lu bytes\n", cbyCylinder)); + DD(bug("[FORMAT] Allocating buffers, size %lu bytes\n", cbyCylinder)); if( (paulWriteBuffer = AllocMem( cbyCylinder, BufMemType )) == 0 || (bWillVerify @@ -658,11 +668,9 @@ BOOL bFormatCylinder( ULONG icyl ) /* put a "BAD\0" marker at the beginning in case format is aborted */ /* put normal "DOS\0" marker at the beginning of other cylinders */ - paulWriteBuffer[0] = - (icyl == LowCyl) ? 0x42414400 : 0x444F5300; + paulWriteBuffer[0] = (icyl == LowCyl) ? 0x42414400 : 0x444F5300; - if( !bTransferCylinder( paulWriteBuffer, icyl, - NSCMD_TD_FORMAT64, TD_FORMAT ) ) + if( !bTransferCylinder( paulWriteBuffer, icyl, NSCMD_TD_FORMAT64, TD_FORMAT ) ) return FALSE; /* Write out and invalidate the track buffer */ @@ -670,17 +678,12 @@ BOOL bFormatCylinder( ULONG icyl ) derr = DoIO((struct IORequest *)piosDisk); if( derr == 0 ) { - piosDisk->io_Command = CMD_CLEAR; - derr = DoIO((struct IORequest *)piosDisk); - if( derr == 0 ) - return TRUE; + piosDisk->io_Command = CMD_CLEAR; + derr = DoIO((struct IORequest *)piosDisk); + if( derr == 0 ) return TRUE; } - ReportErrSz( ertFailure, -1, - _(MSG_ERROR_DEVICE_RETURN), - (piosDisk->io_Command == CMD_UPDATE) ? - _(MSG_ERROR_FLUSH) : _(MSG_ERROR_INVALIDATE), - (ULONG)derr ); + ReportErrSz( ertFailure, -1, _(MSG_ERROR_DEVICE_RETURN), (piosDisk->io_Command == CMD_UPDATE) ? _(MSG_ERROR_FLUSH) : _(MSG_ERROR_INVALIDATE), (ULONG)derr ); return FALSE; } @@ -723,8 +726,7 @@ static BOOL bTransferCylinder( piosDisk->io_Length = cbyLength; piosDisk->io_Data = pBuffer; - D(Printf( "DoIO() Cmd=%2lu Act=0x%08lx Len=0x%08lx " - "Data=0x%08lx Off=0x%08lx\n", + DD(bug("[FORMAT] DoIO() Cmd=%2lu Act=0x%08lx Len=0x%08lx Data=0x%08lx Off=0x%08lx\n", piosDisk->io_Command, piosDisk->io_Actual, piosDisk->io_Length, @@ -761,56 +763,74 @@ static BOOL bTransferCylinder( } -BOOL bMakeFileSys( BOOL bFFS, BOOL bOFS, BOOL bIntl, BOOL bNoIntl, - BOOL bDirCache, BOOL bNoDirCache ) +BOOL bMakeFileSys( BOOL bFFS, BOOL bOFS, BOOL bIntl, BOOL bNoIntl, BOOL bDirCache, BOOL bNoDirCache ) { if(!bFstSet) { - fstCurrent = DosType; + fstCurrent = DosType; - if( fstCurrent >= 0x444F5300 && fstCurrent <= 0x444F5305 ) - { - /* Adjust the file-system type according to command-line - switches or check-boxes (this exactly matches the logic of the - official version 40 Format command). */ - - if(bFFS) fstCurrent |= 1; - if(bOFS) fstCurrent &= ~1; - if( !(fstCurrent & 2) ) - { - if(bDirCache) fstCurrent |= 4; - if(bNoDirCache) fstCurrent &= ~4; - } - if( !(fstCurrent & 4) ) - { - if(bIntl) fstCurrent |= 2; - if(bNoIntl) fstCurrent &= ~2; - } - } /* if( fstCurrent >= 0x444F5300 && fstCurrent <= 0x444F5305 ) */ + if( fstCurrent >= 0x444F5300 && fstCurrent <= 0x444F5305 ) + { + /* Adjust the file-system type according to command-line + switches or check-boxes (this exactly matches the logic of the + official version 40 Format command). */ + + if(bFFS) fstCurrent |= 1; + if(bOFS) fstCurrent &= ~1; + if( !(fstCurrent & 2) ) + { + if(bDirCache) fstCurrent |= 4; + if(bNoDirCache) fstCurrent &= ~4; + } + if( !(fstCurrent & 4) ) + { + if(bIntl) fstCurrent |= 2; + if(bNoIntl) fstCurrent &= ~2; + } + } /* if( fstCurrent >= 0x444F5300 && fstCurrent <= 0x444F5305 ) */ } /* if(!bFstSet) */ + if(!bInhibited) { - *pchDosDeviceColon = ':'; - D(Printf( "Inhibit( \"%s\", DOSTRUE );\n", (ULONG)szDosDevice )); - if(!Inhibit( szDosDevice, DOSTRUE )) + *pchDosDeviceColon = ':'; + DD(bug("[FORMAT] Inhibit( \"%s\", DOSTRUE );\n", (ULONG)szDosDevice )); + if(!Inhibit( szDosDevice, DOSTRUE )) + { + /* This is a bit stupid, but compatible with v40 Format */ + ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); + return FALSE; + } + bInhibited = TRUE; + } + + if(fstCurrent >= 0x46415400 && fstCurrent <= 0x46615402) // Additional free/inhibit cycle for FAT Devices (to avoid "no disk in drive" error on Format) { - /* This is a bit stupid, but compatible with v40 Format */ - ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); - return FALSE; + FreeDosDevice(); + + if(!bInhibited) + { + *pchDosDeviceColon = ':'; + DD(bug("[FORMAT] Inhibit( \"%s\", DOSTRUE );\n", (ULONG)szDosDevice )); + if(!Inhibit( szDosDevice, DOSTRUE )) + { + // This is a bit stupid, but compatible with v40 Format + ReportErrSz( ertFailure, ERROR_OBJECT_WRONG_TYPE, 0 ); + return FALSE; + } + bInhibited = TRUE; + } } - bInhibited = TRUE; - } - D(Printf( "Format( \"%s\", \"%s\", 0x%08lx );\n", - (ULONG)szDosDevice, (ULONG)(szVolume + 1), fstCurrent )); - if( !Format( szDosDevice, - (DOSBase->dl_lib.lib_Version == 36) ? - (char *)MKBADDR(szVolume) : szVolume + 1, - fstCurrent ) ) + int result; + + DD(bug("[FORMAT] Format( \"%s\", \"%s\", 0x%08lx );\n", (ULONG)szDosDevice, (ULONG)(szVolume + 1), fstCurrent )); + result = Format( szDosDevice, (DOSBase->dl_lib.lib_Version == 36) ? (char *)MKBADDR(szVolume) : szVolume + 1, fstCurrent ); + + if(!result) { - ReportErrSz( ertFailure, 0, 0 ); - return FALSE; + ReportErrSz( ertFailure, 0, 0 ); + return FALSE; } return TRUE; @@ -918,8 +938,7 @@ static const UWORD AddChSz[] = {0x16C0, 0x4E75}; /* move.l d0,(a3)+ : rts */ void RawDoFmtSz( char * pszBuffer, const char * pszFormat, ... ) { - RawDoFmt( (char *)pszFormat, (APTR)(&pszFormat+1), - (void (*)())AddChSz, pszBuffer ); + RawDoFmt( (char *)pszFormat, (APTR)(&pszFormat+1), (void (*)())AddChSz, pszBuffer ); } void RawDoVFmtSz( char * pszBuffer, const char * pszFormat, APTR pData ) diff --git a/workbench/system/CLI.c b/workbench/system/CLI.c index ebe5d6d6b0d..e8cd8567e93 100644 --- a/workbench/system/CLI.c +++ b/workbench/system/CLI.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2017, The AROS Development Team. All rights reserved. + Copyright � 1995-2017, The AROS Development Team. All rights reserved. $Id$ Desc: CLI Command @@ -96,7 +96,7 @@ //#define DEBUG 1 #include -const TEXT ver[] = "$VER:CLI 1.2 (07.02.2017) AROS Dev Team"; +const TEXT ver[] = "$VER:CLI 1.2 (07.02.2017) � AROS Dev Team"; static BPTR olddir = (BPTR)-1; int main(int argc, char **argv) @@ -163,7 +163,7 @@ int main(int argc, char **argv) fromspec = "S:Shell-Startup"; if (winspec == NULL) - winspec = "CON:0/50//130/AROS-Shell/CLOSE"; + winspec = "CON:100/100/1080/500/ApolloOS Shell/CLOSE"; D(bug("[CLI] stack %d from %s window %s\n", stack, fromspec, winspec)); diff --git a/workbench/system/Snoopy/catalogs b/workbench/system/Snoopy/catalogs deleted file mode 160000 index 4372d9fe907..00000000000 --- a/workbench/system/Snoopy/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4372d9fe90739733b1fd34b72d6531ad28a63b1c diff --git a/workbench/system/Snoopy/catalogs/.gitattributes b/workbench/system/Snoopy/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/Snoopy/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/Snoopy/catalogs/croatian.ct b/workbench/system/Snoopy/catalogs/croatian.ct new file mode 100644 index 00000000000..6770c429dfa --- /dev/null +++ b/workbench/system/Snoopy/catalogs/croatian.ct @@ -0,0 +1,187 @@ +## version $VER: Snoopy.catalog 2.1 (30.03.2016) +## language hrvatski +## codeset 5 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +Œ 2006-2008, The AROS Development Team +; Š 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Jednostavni Nadglednik Sustava +; Simple system monitor +; +MSG_SETTINGS +Opcije +; Settings +; +MSG_SHOW_FAILS +Prikaži samo neuspjehe +; Only show fails +; +MSG_CLI_NUMBER +Prikaži CLI broj +; Show CLI number +; +MSG_FULL_PATH +Prikaži cijele puteve +; Show full paths +; +MSG_DEVICE +Koristi ime uređaja +; Use device names +; +MSG_IGNORE_WB +Ignoriraj Workbench/Konzolu +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Postavi prijelomnu točku +; Set breakpoint +; +MSG_MATCH +Podudarajuče ime +; Match name +; +MSG_SYSTEM_FUNC +Funkcije Sustava +; System Functions +; +MSG_DOS_FUNC +AmigaDOS Funkcije +; AmigaDOS Functions +; +MSG_SAVE +Spremi +; Save +; +MSG_OPEN +Otvori +; Open +; +MSG_USE +Koristi +; Use +; +MSG_UNDO +Poništi +; Undo +; +MSG_RESET +Početno stanje +; Reset +; +MSG_CANCEL +Odustani +; Cancel +; +MSG_OUTPUT_FIELD +Širina Izlaznog Polja +; Output Field Width +; +MSG_NAME +Ime +; Name +; +MSG_ACTION +Akcija +; Action +; +MSG_TARGET +Meta +; Target +; +MSG_OPTION +Opcija +; Option +; +MSG_OK +U redu +; OK +; +MSG_FAIL +Neuspjeh +; Fail +; +MSG_ERROR_SAVE +Greška pri spremanju u %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Greška pri učitavanju %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Početno stanje Zakrpa|Odustani +; Reset Patches|Cancel +; +MSG_ASK_RESET +Vrati zakrpe u poćetno stanje njihovih orginalnih funkcija? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Ukloni|zadrži +; Remove|Keep +; +MSG_ASK_REMOVE +Ukloni Snoopy proces?\n\ +Ovo može biti opasno za sustav ukoliko je drugi zadatak zakrpan Snoopy-jem. +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Globalno +; Global +; +MSG_LOCAL +Lokalno +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Nepoznato +; Unknown +; +MSG_ANY +Bilo koji +; Any +; +MSG_READ +Čitaj +; Read +; +MSG_WRITE +Piši +; Write +; +MSG_READ_ASK +Čitaj??? +; Read??? +; +MSG_MODIFY +Promjeniti +; Modify +; +MSG_VERSION +Verzija %ld +; Version %ld +; +MSG_SIZE +Veličina %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/czech.ct b/workbench/system/Snoopy/catalogs/czech.ct new file mode 100644 index 00000000000..8ab06d5f81a --- /dev/null +++ b/workbench/system/Snoopy/catalogs/czech.ct @@ -0,0 +1,189 @@ +## version $VER: Snoopy.catalog 2.1 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +Copyright (C) 2006-2008, The AROS Development Team +; Š 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Jednoduchý monitor systému +; Simple system monitor +; +MSG_SETTINGS +Nastavení +; Settings +; +MSG_SHOW_FAILS +Zobrazit pouze chyby +; Only show fails +; +MSG_CLI_NUMBER +Zobrazit číslo CLI +; Show CLI number +; +MSG_FULL_PATH +Zobrazit úplnou cestu +; Show full paths +; +MSG_DEVICE +Zobrazit název zařízení +; Use device names +; +MSG_IGNORE_WB +Ignorovat Wanderer/Shell +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Zadat bod přerušení +; Set breakpoint +; +MSG_MATCH +Zadat název +; Match name +; +MSG_SYSTEM_FUNC +Systémové funkce +; System Functions +; +MSG_DOS_FUNC +Dosové funkce +; AmigaDOS Functions +; +MSG_SAVE +Uložit +; Save +; +MSG_OPEN +Otevřít +; Open +; +MSG_USE +Použít +; Use +; +MSG_UNDO +Zpět +; Undo +; +MSG_RESET +Výchozí stav +; Reset +; +MSG_CANCEL +Zrušit +; Cancel +; +MSG_OUTPUT_FIELD +Šířka výstupního okna +; Output Field Width +; +MSG_NAME +Název +; Name +; +MSG_ACTION +Operace +; Action +; +MSG_TARGET +Cíl +; Target +; +MSG_OPTION +Výsledek +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Chyba +; Fail +; +MSG_ERROR_SAVE +Chyba při ukládání do souboru %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Chyba při načítání ze souboru %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Přestat|Zrušit +; Reset Patches|Cancel +; +MSG_ASK_RESET +Opravdu chcete přestat s monitorováním systému? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Odstranit|Ponechat +; Remove|Keep +; +MSG_ASK_REMOVE +Upozornění: Tato akce může skončit pádem systému,\n\ +protože jiný program už mezitím změnil úpravy\n\ +systému zavedené programem Snoopy.\n\n\ +Opravdu chcete odstranit program Snoopy? +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +globální +; Global +; +MSG_LOCAL +lokální +; Local +; +MSG_ALIAS +alias +; Alias +; +MSG_UNKNOWN +neznámý +; Unknown +; +MSG_ANY +cokoli +; Any +; +MSG_READ +čtení +; Read +; +MSG_WRITE +zápis +; Write +; +MSG_READ_ASK +čtení??? +; Read??? +; +MSG_MODIFY +změna +; Modify +; +MSG_VERSION +verze %ld +; Version %ld +; +MSG_SIZE +velikost %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/french.ct b/workbench/system/Snoopy/catalogs/french.ct new file mode 100644 index 00000000000..721a786407f --- /dev/null +++ b/workbench/system/Snoopy/catalogs/french.ct @@ -0,0 +1,185 @@ +## version $VER: snoopy.catalog 2.0 (06.08.2006) +## language français +## codeset 0 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +© 2006, The AROS Development Team +; © 2006, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Simple moniteur système +; Simple system monitor +; +MSG_SETTINGS +Préférences +; Settings +; +MSG_SHOW_FAILS +Échecs seulement +; Only show fails +; +MSG_CLI_NUMBER +Numéro du CLI +; Show CLI number +; +MSG_FULL_PATH +Chemins complets +; Show full paths +; +MSG_DEVICE +Noms de volume +; Use device names +; +MSG_IGNORE_WB +Ignorer Workbench/Shell +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Poser un point d'arrêt +;Set breakpoint +; +MSG_MATCH +Filtrer le nom +;Match name +; +MSG_SYSTEM_FUNC +Fonctions Système +; System Functions +; +MSG_DOS_FUNC +Fonctions DOS +; AmigaDOS Functions +; +MSG_SAVE +Sauver +; Save +; +MSG_OPEN +Ouvrir +; Open +; +MSG_USE +Utiliser +; Use +; +MSG_UNDO +Annuler +; Undo +; +MSG_RESET +R.à Z. +; Reset +; +MSG_CANCEL +Défaire +; Cancel +; +MSG_OUTPUT_FIELD +Affichage +; Output Field Width +; +MSG_NAME +Nom +; Name +; +MSG_ACTION +Action +; Action +; +MSG_TARGET +Cible +; Target +; +MSG_OPTION +Option +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Échec +; Fail +; +MSG_ERROR_SAVE +Une erreur est survenue lors de l'écriture dans %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Une erreur est survenue lors du chargement de %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +R.à Z. des patches|Annuler +; Reset Patches|Cancel +; +MSG_ASK_RESET +Voulez-vous vraiment retourner à l'état d'origine ? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Retirer|Conserver +; Remove|Keep +; +MSG_ASK_REMOVE +Voulez-vous vraiment retirer Snoopy du système ?\nCe peut être dangereux si une autre tâche a elle même modifié des fonctions surveillées par Snoopy. +; Do you really want to remove the Snoopy process?\nThis can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; Global +; +MSG_LOCAL +Local +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Inconnu +; Unknown +; +MSG_ANY +Quelconque +; Any +; +MSG_READ +Lire +; Read +; +MSG_WRITE +Écrire +; Write +; +MSG_READ_ASK +Lire ??? +; Read??? +; +MSG_MODIFY +Modifier +; Modify +; +MSG_VERSION +Version %ld +; Version %ld +; +MSG_SIZE +Taille %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/german.ct b/workbench/system/Snoopy/catalogs/german.ct new file mode 100644 index 00000000000..b89dd6835bf --- /dev/null +++ b/workbench/system/Snoopy/catalogs/german.ct @@ -0,0 +1,187 @@ +## version $VER: snoopy.catalog 2.0 (02.05.2008) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +© 2006, The AROS Development Team +; \xa9 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Einfacher Systemmonitor +; Simple system monitor +; +MSG_SETTINGS +Einstellungen +; Settings +; +MSG_SHOW_FAILS +Nur Fehler anzeigen +; Only show fails +; +MSG_CLI_NUMBER +CLI-Nummer anzeigen +; Show CLI number +; +MSG_FULL_PATH +Volle Pfade anzeigen +; Show full paths +; +MSG_DEVICE +Device-Namen verwenden +; Use device names +; +MSG_IGNORE_WB +Workbench/Shell ignorieren +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Unterbrechung setzen +; Set breakpoint +; +MSG_MATCH +Namensmuster +; Match name +; +MSG_SYSTEM_FUNC +Systemfunktionen +; System Functions +; +MSG_DOS_FUNC +AmigaDOS-Funktionen +; AmigaDOS Functions +; +MSG_SAVE +Speichern +; Save +; +MSG_OPEN +Öffnen +; Open +; +MSG_USE +Verwenden +; Use +; +MSG_UNDO +Rückgängig +; Undo +; +MSG_RESET +Zurücksetzen +; Reset +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_OUTPUT_FIELD +Ausgabefeldbreite +; Output Field Width +; +MSG_NAME +Name +; Name +; +MSG_ACTION +Aktion +; Action +; +MSG_TARGET +Ziel +; Target +; +MSG_OPTION +Option +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Fehler +; Fail +; +MSG_ERROR_SAVE +Ein Fehler passierte beim Speichern in %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Ein Fehler passierte beim Laden von %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Patche zurücksetzen|Abbrechen +; Reset Patches|Cancel +; +MSG_ASK_RESET +Möchtest Du wirklich alle Patche auf ihre Originalfunktionen zurücksetzen? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Entfernen|Beibehalten +; Remove|Keep +; +MSG_ASK_REMOVE +Möchtest Du den Snoopy-Prozess wirklich entfernen?\n\ +Dies kann ziemlich gefährlich sein, wenn ein anderer Task Snoopys Patche gepatcht hat. +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; Global +; +MSG_LOCAL +Lokal +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Unbekannt +; Unknown +; +MSG_ANY +Beliebig +; Any +; +MSG_READ +Lesen +; Read +; +MSG_WRITE +Schreiben +; Write +; +MSG_READ_ASK +Lesen??? +; Read??? +; +MSG_MODIFY +Ändern +; Modify +; +MSG_VERSION +Version %ld +; Version %ld +; +MSG_SIZE +Größe %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/italian.ct b/workbench/system/Snoopy/catalogs/italian.ct new file mode 100644 index 00000000000..85a3e301fda --- /dev/null +++ b/workbench/system/Snoopy/catalogs/italian.ct @@ -0,0 +1,187 @@ +## version $VER: snoopy.catalog 2.0 (06.08.2006) +## language italiano +## codeset 0 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +© 2006-2008, The AROS Development Team +; © 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Semplice monitor di sistema +; Simple system monitor +; +MSG_SETTINGS +Impostazioni +; Settings +; +MSG_SHOW_FAILS +Mostra solo errori +; Only show fails +; +MSG_CLI_NUMBER +Mostra numero CLI +; Show CLI number +; +MSG_FULL_PATH +Mostra percorsi completi +; Show full paths +; +MSG_DEVICE +Usa i nomi dei dispositivi +; Use device names +; +MSG_IGNORE_WB +Ignora Workbench/Shell +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Inserisci punto di blocco +; Set breakpoint +; +MSG_MATCH +Ricerca +; Match name +; +MSG_SYSTEM_FUNC +Funzioni di sistema +; System Functions +; +MSG_DOS_FUNC +Funzioni AmigaDOS +; AmigaDOS Functions +; +MSG_SAVE +Salva +; Save +; +MSG_OPEN +Apri +; Open +; +MSG_USE +Usa +; Use +; +MSG_UNDO +Ripristina +; Undo +; +MSG_RESET +Azzera +; Reset +; +MSG_CANCEL +Annulla +; Cancel +; +MSG_OUTPUT_FIELD +Larghezza risultati +; Output Field Width +; +MSG_NAME +Nome +; Name +; +MSG_ACTION +Azione +; Action +; +MSG_TARGET +Obiettivo +; Target +; +MSG_OPTION +Opzione +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Fallito +; Fail +; +MSG_ERROR_SAVE +Errore durante il salvataggio di %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Errore durante il caricamento di %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Rimuovi tutto|Annulla +; Reset Patches|Cancel +; +MSG_ASK_RESET +Vuoi davvero riportare tutte le funzioni del sistema allo stato originale? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Riporta|Mantieni +; Remove|Keep +; +MSG_ASK_REMOVE +Vuoi davvero chiudere il processo di Snoopy?\n\ +Può rendere il sistema instabile se un altro processo modifica le patch di Snoopy. +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Globale +; Global +; +MSG_LOCAL +Locale +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Unknown +; Unknown +; +MSG_ANY +Qualsiasi +; Any +; +MSG_READ +Leggi +; Read +; +MSG_WRITE +Scrivi +; Write +; +MSG_READ_ASK +Leggi??? +; Read??? +; +MSG_MODIFY +Modifica +; Modify +; +MSG_VERSION +Versione %ld +; Version %ld +; +MSG_SIZE +Dimensioni %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/mmakefile.src b/workbench/system/Snoopy/catalogs/mmakefile.src new file mode 100644 index 00000000000..d1651b3b796 --- /dev/null +++ b/workbench/system/Snoopy/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech french german italian polish german norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-snoopy-catalogs \ + catalogs=$(CATALOGS) \ + name=Snoopy subdir=System/System diff --git a/workbench/system/Snoopy/catalogs/norwegian.ct b/workbench/system/Snoopy/catalogs/norwegian.ct new file mode 100644 index 00000000000..169d5c44ff0 --- /dev/null +++ b/workbench/system/Snoopy/catalogs/norwegian.ct @@ -0,0 +1,187 @@ +## version $VER: snoopy.catalog 2.0 (05.08.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +© 2006-2008, The AROS Development Team +; \xa9 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Enkel systemmonitor +; Simple system monitor +; +MSG_SETTINGS +Innstillinger +; Settings +; +MSG_SHOW_FAILS +Vis kun feil +; Only show fails +; +MSG_CLI_NUMBER +Vis CLI nummer +; Show CLI number +; +MSG_FULL_PATH +Vis full sti +; Show full paths +; +MSG_DEVICE +Bruk enhetsnavn +; Use device names +; +MSG_IGNORE_WB +Ignorer Workbench/Shell +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Sett avbruddspunkt +; Set breakpoint +; +MSG_MATCH +Match navn +; Match name +; +MSG_SYSTEM_FUNC +Systemfunksjoner +; System Functions +; +MSG_DOS_FUNC +AmigaDOS-funksjoner +; AmigaDOS Functions +; +MSG_SAVE +Lagre +; Save +; +MSG_OPEN +Åpne +; Open +; +MSG_USE +Bruk +; Use +; +MSG_UNDO +Angre +; Undo +; +MSG_RESET +Tilbakestill +; Reset +; +MSG_CANCEL +Avbryt +; Cancel +; +MSG_OUTPUT_FIELD +Feltbredde i resultatet +; Output Field Width +; +MSG_NAME +Navn +; Name +; +MSG_ACTION +Handling +; Action +; +MSG_TARGET +Mål +; Target +; +MSG_OPTION +Valg +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Feil +; Fail +; +MSG_ERROR_SAVE +En feil oppstod under lagring til %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +En feil oppstod under lasting av %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Tilbakestill oppdatering|Avbryt +; Reset Patches|Cancel +; +MSG_ASK_RESET +Ønsker du virkelig å tilbakestille oppdateringene til deres opprinnelige funksjoner? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Fjern|Behold +; Remove|Keep +; +MSG_ASK_REMOVE +Ønsker du virkelig å fjerne Snoopy prosessen?\n\ +Dette kan være farlig hvis en annen prosess hare endret Snoopy sine endringer.. +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; Global +; +MSG_LOCAL +Lokal +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Ukjent +; Unknown +; +MSG_ANY +Alle +; Any +; +MSG_READ +Les +; Read +; +MSG_WRITE +Skriv +; Write +; +MSG_READ_ASK +Les??? +; Read??? +; +MSG_MODIFY +Endre +; Modify +; +MSG_VERSION +Versjon %ld +; Version %ld +; +MSG_SIZE +Størrelse %d +; Size %d +; \ No newline at end of file diff --git a/workbench/system/Snoopy/catalogs/polish.ct b/workbench/system/Snoopy/catalogs/polish.ct new file mode 100644 index 00000000000..5c1d38bc7ee --- /dev/null +++ b/workbench/system/Snoopy/catalogs/polish.ct @@ -0,0 +1,186 @@ +## version $VER: Snoopy.catalog 2.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +(c) 2006-2010, The AROS Development Team +; Š 2006-2008, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOPPY +; SNOOPY +; +MSG_DESCRIPTION +Prosty monitor systemu +; Simple system monitor +; +MSG_SETTINGS +Ustawienia +; Settings +; +MSG_SHOW_FAILS +Pokazuj tylko niepowodzenia +; Only show fails +; +MSG_CLI_NUMBER +Pokazuj numery CLI +; Show CLI number +; +MSG_FULL_PATH +Pokazuj pełne ścieżki dostępu +; Show full paths +; +MSG_DEVICE +Używaj nazw urządzeń +; Use device names +; +MSG_IGNORE_WB +Ignoruj Workbencha/Shella +; Ignore Workbench/Shell +; +MSG_BREAKPOINT +Ustaw punkty przerwań +; Set breakpoint +; +MSG_MATCH +Pasujące nazwy +; Match name +; +MSG_SYSTEM_FUNC +Funkcje systemowe +; System Functions +; +MSG_DOS_FUNC +Funkcje AmigaDOS-u +; AmigaDOS Functions +; +MSG_SAVE +Zapisz +; Save +; +MSG_OPEN +Otwórz +; Open +; +MSG_USE +Użyj +; Use +; +MSG_UNDO +Cofnij +; Undo +; +MSG_RESET +Zresetuj +; Reset +; +MSG_CANCEL +Poniechaj +; Cancel +; +MSG_OUTPUT_FIELD +Szerokość pola wyjściowego +; Output Field Width +; +MSG_NAME +Nazwa +; Name +; +MSG_ACTION +Działanie +; Action +; +MSG_TARGET +Cel +; Target +; +MSG_OPTION +Opcja +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Niepowodzenie +; Fail +; +MSG_ERROR_SAVE +Podczas zapisywania %s wystąpił błąd. +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Podczas wczytywania %s wystąpił błąd. +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Wyzeruj łatki|Poniechaj +; Reset Patches|Cancel +; +MSG_ASK_RESET +Czy na pewno chcesz wyzerować łatki do ich oryginalnych funkcji? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Usuń|Zachowaj +; Remove|Keep +; +MSG_ASK_REMOVE +Czy na pewno chcesz usunąć proces programu SNoppy?\n\ +Może to być niebezpieczne, jeśli inne zadanie załatało łatki Snoppy'ego. +; Do you really want to remove the Snoopy process?\n\ +; This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Globalne +; Global +; +MSG_LOCAL +Lokalne +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Nieznany +; Unknown +; +MSG_ANY +Dowolny +; Any +; +MSG_READ +Odczyt +; Read +; +MSG_WRITE +Zapis +; Write +; +MSG_READ_ASK +Odczyt? +; Read??? +; +MSG_MODIFY +Modyfikacja +; Modify +; +MSG_VERSION +Wersja %ld +; Version %ld +; +MSG_SIZE +Wielkość %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/portuguese.ct b/workbench/system/Snoopy/catalogs/portuguese.ct new file mode 100644 index 00000000000..4b43ed70afd --- /dev/null +++ b/workbench/system/Snoopy/catalogs/portuguese.ct @@ -0,0 +1,178 @@ +## version $VER: snoopy.catalog 1.0 (06.09.2008) +## language português +## codeset 0 +; +; TODO: update translation and set version to 2 +; +; Translated by João Ralha +; +MSG_TITLE +Snoopy +; +MSG_COPYRIGHT +© 2006, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; +MSG_DESCRIPTION +Um simples supervisor do sistema +;Simple system monitor +; +MSG_SETTINGS +Configurações +;Settings +; +MSG_SHOW_FAILS +Mostrar só falhas +;Mostrar sólo las fallas +;Only show fails +; +MSG_CLI_NUMBER +Ver o nº da CLI +;Mostrar el número de CLI +;Show CLI number +; +MSG_FULL_PATH +Ver caminhos completos +;Mostrar las rutas enteras +;Show full paths +; +MSG_DEVICE +Usar nomes de dispo. +;Usar los nombres de dispositivo +;Use device names +; +MSG_IGNORE_WB +Ignorar Workbench/Shell +;Ignore Workbench/Shell +; +MSG_SYSTEM_FUNC +Funções de Sistema +;System Functions +; +MSG_DOS_FUNC +Funções AmigaDOS +;AmigaDOS Functions +; +MSG_SAVE +Guardar +;Save +; +MSG_OPEN +Abrir +;Open +; +MSG_USE +Usar +;Use +; +MSG_UNDO +Anular +;Undo +; +MSG_RESET +Reset +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_OUTPUT_FIELD +Largura do Campo de Saída +;Output Field Width +; +MSG_NAME +Nome +;Name +; +MSG_ACTION +Acção +;Action +; +MSG_TARGET +Destino +;Target +; +MSG_OPTION +Opção +;Option +; +MSG_OK +Aceitar +;OK +; +MSG_FAIL +Falhou +;Fail +; +MSG_ERROR_SAVE +Ocorreu um erro a guardar em %s +;An error happened when saving to %s +; +MSG_ERROR_LOAD +Ocorreu um erro a abrir a partir de %s +;An error happened when loading from %s +; +MSG_RESET_PATCHES +Restaurar Patches|Cancelar +;Reset Patches|Cancel +; +MSG_ASK_RESET +Queres restaurar os patches \nás suas funções originais? +;¿Quieres regresar los parches a sus funciones originales? +;Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Remover|Manter +;Quitar|Mantener +;Remove|Keep +; +MSG_ASK_REMOVE +Queres remover o processo Snoopy?\nIsto pode ser perigoso se outra tarefa \ntiver-se ligada aos patches do Snoopy. +;Do you really want to remove the Snoopy process?\nThis can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; +MSG_LOCAL +Local +; +MSG_ALIAS +Alias +; +MSG_UNKNOWN +Desconhecido +;Unknown +; +MSG_ANY +Qualquer +;Any +; +MSG_READ +Ler +;Read +; +MSG_WRITE +Escrever +;Write +; +MSG_READ_ASK +Ler? +;Read??? +; +MSG_MODIFY +Modificar +;Modify +; +MSG_VERSION +Versão %ld +;Version %ld +; +MSG_SIZE +Tamanho %d +;Size %d +; \ No newline at end of file diff --git a/workbench/system/Snoopy/catalogs/russian.ct b/workbench/system/Snoopy/catalogs/russian.ct new file mode 100644 index 00000000000..cfd0748891f --- /dev/null +++ b/workbench/system/Snoopy/catalogs/russian.ct @@ -0,0 +1,178 @@ +## version $VER: snoopy.catalog 1.0 (06.09.2006) +## language russian +## codeset 2104 +; +; TODO: update translation and set version to 2 +; +MSG_TITLE +Snoopy +; Snoopy +; +MSG_COPYRIGHT +й 2006, The AROS Development Team +; © 2006, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; SNOOPY +; +MSG_DESCRIPTION +Простой системный монитор +; Simple system monitor +; +MSG_SETTINGS +Настройки +; Settings +; +MSG_SHOW_FAILS +Показывать только сбои +; Only show fails +; +MSG_CLI_NUMBER +Показать номер CLI +; Show CLI number +; +MSG_FULL_PATH +Показывать пути полностью +; Show full paths +; +MSG_DEVICE +Использовать имена устройств +; Use device names +; +MSG_IGNORE_WB +Кроме Workbench/Shell +; Ignore Workbench/Shell +; +MSG_SYSTEM_FUNC +Системные функции +; System Functions +; +MSG_DOS_FUNC +Функц. AmigaDOS +; AmigaDOS Functions +; +MSG_SAVE +Сохранить +; Save +; +MSG_OPEN +Открыть +; Open +; +MSG_USE +Применить +; Use +; +MSG_UNDO +Отменить +; Undo +; +MSG_RESET +Как было +; Reset +; +MSG_CANCEL +Отмена +; Cancel +; +MSG_OUTPUT_FIELD +Ширина поля вывода +; Output Field Width +; +MSG_NAME +Имя +; Name +; +MSG_ACTION +Действие +; Action +; +MSG_TARGET +Цель +; Target +; +MSG_OPTION +Опция +; Option +; +MSG_OK +OK +; OK +; +MSG_FAIL +Сбой +; Fail +; +MSG_ERROR_SAVE +Ошибка при записи файла %s +; An error happened when saving to %s +; +MSG_ERROR_LOAD +Ошибка при чтении из файла %s +; An error happened when loading from %s +; +MSG_RESET_PATCHES +Вернуть|Отменить +; Reset Patches|Cancel +; +MSG_ASK_RESET +Вы действительно хотите вернуть все патчи к оригинальным функциям? +; Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Остановить|Назад +; Remove|Keep +; +MSG_ASK_REMOVE +Вы действительно хотите остановить процесс Snoopy?\nЭто может быть опасно, если другая задача изменила наложенные им патчи. +; Do you really want to remove the Snoopy process?\nThis can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; Global +; +MSG_LOCAL +Local +; Local +; +MSG_ALIAS +Alias +; Alias +; +MSG_UNKNOWN +Неизвестно +; Unknown +; +MSG_ANY +Любой +; Any +; +MSG_READ +Чтение +; Read +; +MSG_WRITE +Запись +; Write +; +MSG_READ_ASK +Читать??? +; Read??? +; +MSG_MODIFY +Изменить +; Modify +; +MSG_VERSION +Версия %ld +; Version %ld +; +MSG_SIZE +Размер %d +; Size %d +; diff --git a/workbench/system/Snoopy/catalogs/snoopy.cd b/workbench/system/Snoopy/catalogs/snoopy.cd new file mode 100644 index 00000000000..98d0d157d09 --- /dev/null +++ b/workbench/system/Snoopy/catalogs/snoopy.cd @@ -0,0 +1,137 @@ +; +MSG_TITLE (//) +Snoopy +; +MSG_COPYRIGHT (//) +\xa9 2006-2008, The AROS Development Team +; +MSG_AUTHOR (//) +The AROS Development Team +; +MSG_PORTNAME (//) +SNOOPY +; +MSG_DESCRIPTION (//) +Simple system monitor +; +MSG_SETTINGS (//) +Settings +; +MSG_SHOW_FAILS (//) +Only show fails +; +MSG_CLI_NUMBER (//) +Show CLI number +; +MSG_FULL_PATH (//) +Show full paths +; +MSG_DEVICE (//) +Use device names +; +MSG_IGNORE_WB (//) +Ignore Workbench/Shell +; +MSG_BREAKPOINT (//) +Set breakpoint +; +MSG_MATCH (//) +Match name +; +MSG_SYSTEM_FUNC (//) +System Functions +; +MSG_DOS_FUNC (//) +AmigaDOS Functions +; +MSG_SAVE (//) +Save +; +MSG_OPEN (//) +Open +; +MSG_USE (//) +Use +; +MSG_UNDO (//) +Undo +; +MSG_RESET (//) +Reset +; +MSG_CANCEL (//) +Cancel +; +MSG_OUTPUT_FIELD (//) +Output Field Width +; +MSG_NAME (//) +Name +; +MSG_ACTION (//) +Action +; +MSG_TARGET (//) +Target +; +MSG_OPTION (//) +Option +; +MSG_OK (//) +OK +; +MSG_FAIL (//) +Fail +; +MSG_ERROR_SAVE (//) +An error happened when saving to %s +; +MSG_ERROR_LOAD (//) +An error happened when loading from %s +; +MSG_RESET_PATCHES (//) +Reset Patches|Cancel +; +MSG_ASK_RESET (//) +Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP (//) +Remove|Keep +; +MSG_ASK_REMOVE (//) +Do you really want to remove the Snoopy process?\n\ +This can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL (//) +Global +; +MSG_LOCAL (//) +Local +; +MSG_ALIAS (//) +Alias +; +MSG_UNKNOWN (//) +Unknown +; +MSG_ANY (//) +Any +; +MSG_READ (//) +Read +; +MSG_WRITE (//) +Write +; +MSG_READ_ASK (//) +Read??? +; +MSG_MODIFY (//) +Modify +; +MSG_VERSION (//) +Version %ld +; +MSG_SIZE (//) +Size %d +; diff --git a/workbench/system/Snoopy/catalogs/spanish.ct b/workbench/system/Snoopy/catalogs/spanish.ct new file mode 100644 index 00000000000..874701f176f --- /dev/null +++ b/workbench/system/Snoopy/catalogs/spanish.ct @@ -0,0 +1,178 @@ +## version $VER: snoopy.catalog 1.0 (06.09.2006) +## language español +## codeset 0 +; +; TODO: update translation and set version to 2 +; +; Translate by ahg - (30.09.2007) +; +MSG_TITLE +Snoopy +; +MSG_COPYRIGHT +© 2006, The AROS Development Team +; +MSG_AUTHOR +The AROS Development Team +; +MSG_PORTNAME +SNOOPY +; +MSG_DESCRIPTION +Un sencillo supervisor del sistema +;Simple system monitor +; +MSG_SETTINGS +Configuraciones +;Settings +; +MSG_SHOW_FAILS +Ver sólo las fallas +;Mostrar sólo las fallas +;Only show fails +; +MSG_CLI_NUMBER +Ver el nº de CLI +;Mostrar el número de CLI +;Show CLI number +; +MSG_FULL_PATH +Ver las rutas enteras +;Mostrar las rutas enteras +;Show full paths +; +MSG_DEVICE +Usar los nombres de disp. +;Usar los nombres de dispositivo +;Use device names +; +MSG_IGNORE_WB +Ignorar al Workbench/Shell +;Ignore Workbench/Shell +; +MSG_SYSTEM_FUNC +Funciones del Sistema +;System Functions +; +MSG_DOS_FUNC +Funciones AmigaDOS +;AmigaDOS Functions +; +MSG_SAVE +Grabar +;Save +; +MSG_OPEN +Abrir +;Open +; +MSG_USE +Usar +;Use +; +MSG_UNDO +Anular +;Undo +; +MSG_RESET +Reset +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_OUTPUT_FIELD +Ancho del Campo de Salida +;Output Field Width +; +MSG_NAME +Nombre +;Name +; +MSG_ACTION +Acción +;Action +; +MSG_TARGET +Blanco +;Target +; +MSG_OPTION +Opción +;Option +; +MSG_OK +Aceptar +;OK +; +MSG_FAIL +Fallo +;Fail +; +MSG_ERROR_SAVE +Hubo un error al guardar en %s +;An error happened when saving to %s +; +MSG_ERROR_LOAD +Hubo un error al cargar desde %s +;An error happened when loading from %s +; +MSG_RESET_PATCHES +Restaurar Parches|Cancelar +;Reset Patches|Cancel +; +MSG_ASK_RESET +¿Quieres restaurar los parches \na sus funciones originales? +;¿Quieres regresar los parches a sus funciones originales? +;Do you really want to reset the patches to their original functions? +; +MSG_REMOVE_SNOOP +Quitar|Dejar +;Quitar|Mantener +;Remove|Keep +; +MSG_ASK_REMOVE +¿Quieres quitar el proceso Snoopy?\nEsto puede ser peligroso si otra tarea \ntambién parchó a Snoopy. +;Do you really want to remove the Snoopy process?\nThis can be quite dangerous when another task has patched Snoopy's patches. +; +MSG_GLOBAL +Global +; +MSG_LOCAL +Local +; +MSG_ALIAS +Alias +; +MSG_UNKNOWN +Desconocido +;Unknown +; +MSG_ANY +Cualquiera +;Any +; +MSG_READ +Leer +;Read +; +MSG_WRITE +Escribir +;Write +; +MSG_READ_ASK +¿Leer? +;Read??? +; +MSG_MODIFY +Modificar +;Modify +; +MSG_VERSION +Versión %ld +;Version %ld +; +MSG_SIZE +Tamaño %d +;Size %d +; diff --git a/workbench/system/SysMon/catalogs b/workbench/system/SysMon/catalogs deleted file mode 160000 index 9cd211633ca..00000000000 --- a/workbench/system/SysMon/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9cd211633cab734c51c92f285c9437b3586b609a diff --git a/workbench/system/SysMon/catalogs/.gitattributes b/workbench/system/SysMon/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/SysMon/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/SysMon/catalogs/czech.ct b/workbench/system/SysMon/catalogs/czech.ct new file mode 100644 index 00000000000..e585f40e64c --- /dev/null +++ b/workbench/system/SysMon/catalogs/czech.ct @@ -0,0 +1,160 @@ +## version $VER: SysMon.catalog 1.2 (19.04.2019) +## language czech +## codeset 5 +; +; +; +MSG_APP_NAME +SysMon +; SysMon +; +MSG_APP_TITLE +System Monitor +; System Monitor +; +MSG_WINDOW_TITLE +Systémový monitor +; System Monitor +; +MSG_USAGE +Využití +; Usage +; +MSG_FREQUENCY +Frekvence +; Frequency +; +MSG_TAB_TASKS +Úlohy +; Tasks +; +MSG_TAB_CPU +Procesor(y) +; Processors +; +MSG_SIMULATED_CPU +Simulovaný AROS procesor +; Simulated AROS processor +; +MSG_PROCESSOR +Procesor #%id: %s +; Processor #%id: %s +; +MSG_TASK +Úloha +; Task +; +MSG_PROCESS +Proces +; Process +; +MSG_TASK_NAME +Jméno +; Name +; +MSG_TASK_PRIORITY +Priorita +; Priority +; +MSG_TASK_TYPE +Typ +; Type +; +MSG_TASK_READY_WAIT_INIT +- připravených, - čekajících +; - ready, - waiting +; +MSG_TASK_READY_WAIT +%ld připravených, %ld čekajících +; %ld ready, %ld waiting +; +MSG_TAB_SYSTEM +Systém +; System +; +MSG_MEMORY_SIZE +Systémová paměť +; Memory Size +; +MSG_MEMORY_FREE +Volná paměť +; Memory Free +; +MSG_VIDEO_SIZE +Grafická karta +; Video Size +; +MSG_VIDEO_FREE +Volná paměť +; Video Free +; +MSG_TOTAL_RAM +Celková RAM +; Total Memory +; +MSG_CHIP_RAM +Chip RAM +; Chip Memory +; +MSG_FAST_RAM +Fast RAM +; Fast Memory +; +MSG_VIDEO_RAM +Video paměť +; Video Memory +; +MSG_VIDEO_WINDOW_TMPL +%s +; %s Window +; +MSG_CANT_OPEN_TASK_RESOURCE +Nelze otevřít soubor task.resource\n +; Can't open task.resource\n +; +MSG_PROJECT +Projekt +; Project +; +MSG_REFRESH_SPEED +Obnovovací Rychlost +; Refresh Speed +; +MSG_FAST +Rychle +; Fast +; +MSG_NORMAL +Normální +; Normal +; +MSG_SLOW +Pomalý +; Slow +; +MSG_TASK_TOMBSTONE + +; +; +MSG_TASK_UNKNOWN + +; +; +MSG_WINDOW_GART +GART +; +MSG_DISPLAY_MODE +Display Mode +; +MSG_LOAD +Processor Load +; +MSG_GUAGE +Gauge +; +MSG_GRAPH +Graph +; +MSG_GRAPH_PER_PROC +Graph Per Processor +; diff --git a/workbench/system/SysMon/catalogs/french.ct b/workbench/system/SysMon/catalogs/french.ct new file mode 100644 index 00000000000..1800c5e1584 --- /dev/null +++ b/workbench/system/SysMon/catalogs/french.ct @@ -0,0 +1,126 @@ +## version $VER: SysMon.catalog 1.2 (19.04.2019) +## language français +## codeset 0 +; +; +; +MSG_APP_NAME +SysMon +; +MSG_APP_TITLE +Moniteur Système +; +MSG_WINDOW_TITLE +Moniteur Système +; +MSG_USAGE +Usage +; +MSG_FREQUENCY +Fréquence +; +MSG_TAB_TASKS +Tâches +; +MSG_TAB_CPU +Processeurs +; +MSG_SIMULATED_CPU +Processeur simulé par AROS +; +MSG_PROCESSOR +Processeur #%id: %s +; +MSG_TASK +Tâche +; +MSG_PROCESS +Processus +; +MSG_TASK_NAME +Nom +; +MSG_TASK_PRIORITY +Priorité +; +MSG_TASK_TYPE +Type +; +MSG_TASK_READY_WAIT_INIT +- prêt, - attendre +; +MSG_TASK_READY_WAIT +%ld prêt, %ld attendre +; +MSG_TAB_SYSTEM +Système +; +MSG_MEMORY_SIZE +Taille mémoire +; +MSG_MEMORY_FREE +Mémoire libre +; +MSG_VIDEO_SIZE +Taille video +; +MSG_VIDEO_FREE +Video libre +; +MSG_TOTAL_RAM +Mémoire totale +; +MSG_CHIP_RAM +Mémoire Chip +; +MSG_FAST_RAM +Mémoire Fast +; +MSG_VIDEO_RAM +Mémoire Video +; +MSG_VIDEO_WINDOW_TMPL +%s +; +MSG_CANT_OPEN_TASK_RESOURCE +Ne peut pas ouvrir task.resource\n +; +MSG_PROJECT +Projet +; +MSG_REFRESH_SPEED +Vitesse de rafraîchissement +; +MSG_FAST +Vite +; +MSG_NORMAL +Ordinaire +; +MSG_SLOW +Lent +; +MSG_TASK_TOMBSTONE + +; +MSG_TASK_UNKNOWN + +; +MSG_WINDOW_GART +GART +; +MSG_DISPLAY_MODE +Display Mode +; +MSG_LOAD +Processor Load +; +MSG_GUAGE +Gauge +; +MSG_GRAPH +Graph +; +MSG_GRAPH_PER_PROC +Graph Per Processor +; diff --git a/workbench/system/SysMon/catalogs/german.ct b/workbench/system/SysMon/catalogs/german.ct new file mode 100644 index 00000000000..cf97e78a599 --- /dev/null +++ b/workbench/system/SysMon/catalogs/german.ct @@ -0,0 +1,166 @@ +## version $VER: sysmon.catalog 1.0 (18.01.2020) +## language deutsch +## codeset 0 +; +; $VER: sysmon.cd 1.2 (19.04.2019) +; +MSG_APP_NAME +SysMon +; SysMon +; +MSG_APP_TITLE +Systemmonitor +; System Monitor +; +MSG_WINDOW_TITLE +Systemmonitor +; System Monitor +; +MSG_USAGE +Verwendung +; Usage +; +MSG_FREQUENCY +Frequenz +; Frequency +; +MSG_TAB_TASKS +Tasks +; Tasks +; +MSG_TAB_CPU +Prozessoren +; Processors +; +MSG_SIMULATED_CPU +Simulierter AROS-Prozessor +; Simulated AROS processor +; +MSG_PROCESSOR +Prozessor #%id: %s +; Processor #%id: %s +; +MSG_TASK +Task +; Task +; +MSG_PROCESS +Prozess +; Process +; +MSG_TASK_NAME +Name +; Name +; +MSG_TASK_PRIORITY +Priorität +; Priority +; +MSG_TASK_TYPE +Typ +; Type +; +MSG_TASK_READY_WAIT_INIT +- bereit, - wartend +; - ready, - waiting +; +MSG_TASK_READY_WAIT +%ld bereit, %ld wartend +; %ld ready, %ld waiting +; +MSG_TAB_SYSTEM +System +; System +; +MSG_MEMORY_SIZE +Speichergröße +; Memory Size +; +MSG_MEMORY_FREE +Freier Speicher +; Memory Free +; +MSG_VIDEO_SIZE +Videogröße +; Video Size +; +MSG_VIDEO_FREE +Freier Videospeicher +; Video Free +; +MSG_TOTAL_RAM +Gesamtspeicher +; Total Memory +; +MSG_CHIP_RAM +CHIP-Speicher +; Chip Memory +; +MSG_FAST_RAM +Fast-Speicher +; Fast Memory +; +MSG_VIDEO_RAM +Videospeicher +; Video Memory +; +MSG_VIDEO_WINDOW_TMPL +%s Fenster +; %s Window +; +MSG_CANT_OPEN_TASK_RESOURCE +Kann 'task.resource' nicht öffnen\n +; Can't open task.resource\n +; +MSG_PROJECT +Projekt +; Project +; +MSG_REFRESH_SPEED +Auffrischgeschwindigkeit +; Refresh Speed +; +MSG_FAST +Schnell +; Fast +; +MSG_NORMAL +Normal +; Normal +; +MSG_SLOW +Langsam +; Slow +; +MSG_TASK_TOMBSTONE + +; +; +MSG_TASK_UNKNOWN + +; +; +MSG_WINDOW_GART +GART +; GART +; +MSG_DISPLAY_MODE +Anzeigemodus +; Display Mode +; +MSG_LOAD +Prozessor-Auslastung +; Processor Load +; +MSG_GUAGE +Pegel +; Gauge +; +MSG_GRAPH +Graph +; Graph +; +MSG_GRAPH_PER_PROC +Graph pro Prozessor +; Graph Per Processor +; diff --git a/workbench/system/SysMon/catalogs/mmakefile.src b/workbench/system/SysMon/catalogs/mmakefile.src new file mode 100644 index 00000000000..331575189f1 --- /dev/null +++ b/workbench/system/SysMon/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french czech polish norwegian german + +%build_catalogs mmake=workbench-system-sysmon-catalogs \ + catalogs=$(CATALOGS) \ + name=SysMon subdir=System/System diff --git a/workbench/system/SysMon/catalogs/norwegian.ct b/workbench/system/SysMon/catalogs/norwegian.ct new file mode 100644 index 00000000000..d2c31e76eb6 --- /dev/null +++ b/workbench/system/SysMon/catalogs/norwegian.ct @@ -0,0 +1,126 @@ +## version $VER: SysMon.catalog 1.2 (07.10.2019) +## language norwegian +## codeset 0 +; +; +; +MSG_APP_NAME +SysMon +; +MSG_APP_TITLE +System monitor +; +MSG_WINDOW_TITLE +System monitor +; +MSG_USAGE +Bruk +; +MSG_FREQUENCY +Frekvens +; +MSG_TAB_TASKS +Oppgaver +; +MSG_TAB_CPU +Prosessorer +; +MSG_SIMULATED_CPU +Prosessorer simulert av AROS +; +MSG_PROCESSOR +Prosessor #%id: %s +; +MSG_TASK +Oppgave +; +MSG_PROCESS +Prosess +; +MSG_TASK_NAME +Navn +; +MSG_TASK_PRIORITY +Prioritet +; +MSG_TASK_TYPE +Type +; +MSG_TASK_READY_WAIT_INIT +- klare, - ventende +; +MSG_TASK_READY_WAIT +%ld klare, %ld ventende +; +MSG_TAB_SYSTEM +System +; +MSG_MEMORY_SIZE +Minnestørrelse +; +MSG_MEMORY_FREE +Ledig minne +; +MSG_VIDEO_SIZE +Grafikkminnestørrelse +; +MSG_VIDEO_FREE +Ledig grafikkminne +; +MSG_TOTAL_RAM +Totalt minne +; +MSG_CHIP_RAM +Chip minne +; +MSG_FAST_RAM +Fast minne +; +MSG_VIDEO_RAM +Grafikk minne +; +MSG_VIDEO_WINDOW_TMPL +%s +; +MSG_CANT_OPEN_TASK_RESOURCE + task.resource\n +; +MSG_PROJECT +Prosjekt +; +MSG_REFRESH_SPEED +Oppdateringshastighet +; +MSG_FAST +Hurtig +; +MSG_NORMAL +Normal +; +MSG_SLOW +Sakte +; +MSG_TASK_TOMBSTONE + +; +MSG_TASK_UNKNOWN + +; +MSG_WINDOW_GART +GART minne +; +MSG_DISPLAY_MODE +Visningsmodus +; +MSG_LOAD +Prosessorlast +; +MSG_GUAGE +Mengde +; +MSG_GRAPH +Graf +; +MSG_GRAPH_PER_PROC +Graf per prosessor +; \ No newline at end of file diff --git a/workbench/system/SysMon/catalogs/polish.ct b/workbench/system/SysMon/catalogs/polish.ct new file mode 100644 index 00000000000..b104b9bb904 --- /dev/null +++ b/workbench/system/SysMon/catalogs/polish.ct @@ -0,0 +1,166 @@ +## version $VER: SysMon.catalog 1.2 (20.04.2019) +## language polski +## codeset 5 +; +; +; +MSG_APP_NAME +SysMon +; SysMon +; +MSG_APP_TITLE +Monitor Systemu +; System Monitor +; +MSG_WINDOW_TITLE +Monitor Systemu +; System Monitor +; +MSG_USAGE +Utylizacja +; Usage +; +MSG_FREQUENCY +Częstotliwość +; Frequency +; +MSG_TAB_TASKS +Zadania +; Tasks +; +MSG_TAB_CPU +Procesor(y) +; Processors +; +MSG_SIMULATED_CPU +Symulowany AROS procesor +; Simulated AROS processor +; +MSG_PROCESSOR +Procesor #%id: %s +; Processor #%id: %s +; +MSG_TASK +Zadanie +; Task +; +MSG_PROCESS +Proces +; Process +; +MSG_TASK_NAME +Nazwa +; Name +; +MSG_TASK_PRIORITY +Priorytet +; Priority +; +MSG_TASK_TYPE +Typ +; Type +; +MSG_TASK_READY_WAIT_INIT +- gotowy, - czeka +; - ready, - waiting +; +MSG_TASK_READY_WAIT +%ld gotowy, %ld czeka +; %ld ready, %ld waiting +; +MSG_TAB_SYSTEM +System +; System +; +MSG_MEMORY_SIZE +Pamięć Systemu +; Memory Size +; +MSG_MEMORY_FREE +Wolna Pamięć +; Memory Free +; +MSG_VIDEO_SIZE +Rozmiar Pamięci Graficznej +; Video Size +; +MSG_VIDEO_FREE +Wolna Pamięć Graficzna +; Video Free +; +MSG_TOTAL_RAM +Całkowity RAM +; Total Memory +; +MSG_CHIP_RAM +Chip RAM +; Chip Memory +; +MSG_FAST_RAM +Fast RAM +; Fast Memory +; +MSG_VIDEO_RAM +Pamięć Graficzna +; Video Memory +; +MSG_VIDEO_WINDOW_TMPL +%s +; %s Window +; +MSG_CANT_OPEN_TASK_RESOURCE +Nie można otworzyć task.resource\n +; Can't open task.resource\n +; +MSG_PROJECT +Projekt +; Project +; +MSG_REFRESH_SPEED +Predkość Odświerzania +; Refresh Speed +; +MSG_FAST +Szybko +; Fast +; +MSG_NORMAL +Normalnie +; Normal +; +MSG_SLOW +Wolno +; Slow +; +MSG_TASK_TOMBSTONE + +; +; +MSG_TASK_UNKNOWN + +; +; +MSG_WINDOW_GART +GART +;GART +; +MSG_DISPLAY_MODE +Tryb Wyświetlania +;Display Mode +; +MSG_LOAD +Utylizacja Procesora +;Processor Load +; +MSG_GUAGE +Rozmiar +;Gauge +; +MSG_GRAPH +Wykres +;Graph +; +MSG_GRAPH_PER_PROC +Wykres per Procesor +;Graph Per Processor +; diff --git a/workbench/system/SysMon/catalogs/sysmon.cd b/workbench/system/SysMon/catalogs/sysmon.cd new file mode 100644 index 00000000000..3c023f609dd --- /dev/null +++ b/workbench/system/SysMon/catalogs/sysmon.cd @@ -0,0 +1,122 @@ +; $VER: sysmon.cd 1.2 (19.04.2019) +; +MSG_APP_NAME (//) +SysMon +; +MSG_APP_TITLE (//) +System Monitor +; +MSG_WINDOW_TITLE (//) +System Monitor +; +MSG_USAGE (//) +Usage +; +MSG_FREQUENCY (//) +Frequency +; +MSG_TAB_TASKS (//) +Tasks +; +MSG_TAB_CPU (//) +Processors +; +MSG_SIMULATED_CPU (//) +Simulated AROS processor +; +MSG_PROCESSOR (//) +Processor #%id: %s +; +MSG_TASK (//) +Task +; +MSG_PROCESS (//) +Process +; +MSG_TASK_NAME (//) +Name +; +MSG_TASK_PRIORITY (//) +Priority +; +MSG_TASK_TYPE (//) +Type +; +MSG_TASK_READY_WAIT_INIT (//) +- ready, - waiting +; +MSG_TASK_READY_WAIT (//) +%ld ready, %ld waiting +; +MSG_TAB_SYSTEM (//) +System +; +MSG_MEMORY_SIZE (//) +Memory Size +; +MSG_MEMORY_FREE (//) +Memory Free +; +MSG_VIDEO_SIZE (//) +Video Size +; +MSG_VIDEO_FREE (//) +Video Free +; +MSG_TOTAL_RAM (//) +Total Memory +; +MSG_CHIP_RAM (//) +Chip Memory +; +MSG_FAST_RAM (//) +Fast Memory +; +MSG_VIDEO_RAM (//) +Video Memory +; +MSG_VIDEO_WINDOW_TMPL (//) +%s Window +; +MSG_CANT_OPEN_TASK_RESOURCE (//) +Can't open task.resource\n +; +MSG_PROJECT (//) +Project +; +MSG_REFRESH_SPEED (//) +Refresh Speed +; +MSG_FAST (//) +Fast +; +MSG_NORMAL (//) +Normal +; +MSG_SLOW (//) +Slow +; +MSG_TASK_TOMBSTONE (//) + +; +MSG_TASK_UNKNOWN (//) + +; +MSG_WINDOW_GART (//) +GART +; +MSG_DISPLAY_MODE (//) +Display Mode +; +MSG_LOAD (//) +Processor Load +; +MSG_GUAGE (//) +Gauge +; +MSG_GRAPH (//) +Graph +; +MSG_GRAPH_PER_PROC (//) +Graph Per Processor +; diff --git a/workbench/system/Wanderer/Catalogs b/workbench/system/Wanderer/Catalogs deleted file mode 160000 index b18b8edae69..00000000000 --- a/workbench/system/Wanderer/Catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b18b8edae694652f194ab9007c022f38d114316e diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs b/workbench/system/Wanderer/Tools/DiskInfo/catalogs deleted file mode 160000 index 6545e4ef724..00000000000 --- a/workbench/system/Wanderer/Tools/DiskInfo/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6545e4ef72451fa72ee690b87c53b3a371edbf31 diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/DiskInfo.cd b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/DiskInfo.cd new file mode 100644 index 00000000000..b4c119d2940 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/DiskInfo.cd @@ -0,0 +1,85 @@ +; +MSG_TITLE (//) +Disk Info +; +MSG_ERROR_HEADER (//) +ERROR +; +MSG_ERROR_OK (//) +_OK +; +MSG_ERROR_LOCALE (//) +Can't initialize locale. +; +MSG_ERROR_CLASSES (//) +Can't initialize custom classes. +; +MSG_DESCRIPTION (//) +Disk Icon Informations +; +MSG_PERCENTFULL (//) +%ld %% Full +; +MSG_FORMAT (//) +Format +; +MSG_UNKNOWN (//) +Unknown +; +MSG_AUTHOR (//) +Olivier Adam +; +MSG_COPYRIGHT (//) +\xa9 2006-2019, The AROS Development Team +; +MSG_USED (//) +Used space +; +MSG_FREE (//) +Free space +; +MSG_SIZE (//) +Capacity +; +MSG_BLOCK_SIZE (//) +Block size +; +MSG_BLOCKS (//) +blocks +; +MSG_BYTES (//) +bytes +; +MSG_STATUS (//) +Status +; +MSG_READABLE (//) +Readable +; +MSG_READABLE_WRITABLE (//) +Readable/writable +; +MSG_VALIDATING (//) +Validating +; +MSG_NAME (//) +Volume Name +; +MSG_UNIT (//) +unit +; +MSG_DOSDEVICE (//) +DOS Device: +; +MSG_DEVICEINFO (//) +Connected on: +; +MSG_FILESYSTEM (//) +FileSystem: +; +MSG_PACKETDEVICE (//) +Packet Style device +; +MSG_IOFSDEVICE (//) +IOFS Style device +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/croatian.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/croatian.ct new file mode 100644 index 00000000000..86a78f72da7 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/croatian.ct @@ -0,0 +1,117 @@ +## version $VER: diskinfo.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 0 +; +; +MSG_TITLE +Informacije o Disku +; Disk Info +; +MSG_ERROR_HEADER +POGREŠKA +; ERROR +; +MSG_ERROR_OK +U redu +; _OK +; +MSG_ERROR_LOCALE +Ne mogu ostvariti prijevod. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Ne mogu stvoriti vanjske klase. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Informacije Disk Ikone +; Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% Puno +; %ld %% Full +; +MSG_FORMAT +Format +; Format +; +MSG_UNKNOWN +Nepoznato +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +Œ 2006-2009 AROS Dev Team +; Š2006-2009 AROS Dev Team +; +MSG_USED +Iskorištenog prostora +; Used space +; +MSG_FREE +Slobodnog prostora +; Free space +; +MSG_SIZE +Kapacitet +; Capacity +; +MSG_BLOCK_SIZE +Veličina u Blokovima +; Block size +; +MSG_BLOCKS +blokova +; blocks +; +MSG_BYTES +bajtova +; bytes +; +MSG_STATUS +Status +; Status +; +MSG_READABLE +Čitljiv +; Readable +; +MSG_READABLE_WRITABLE +Čitaj/piši +; Readable/writable +; +MSG_VALIDATING +Provjera +; Validating +; +MSG_NAME +Ime Volumena +; Volume Name +; +MSG_UNIT +jedinica +; unit +; +MSG_DOSDEVICE +DOS Uređaj: +; DOS Device: +; +MSG_DEVICEINFO +Spojen na: +; Connected on: +; +MSG_FILESYSTEM +Datotečni Sustav: +; FileSystem: +; +MSG_PACKETDEVICE +Packet uređaj +; Packet Style device +; +MSG_IOFSDEVICE +IOFS uređaj +; IOFS Style device +; diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/czech.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/czech.ct new file mode 100644 index 00000000000..5385b3d56f7 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/czech.ct @@ -0,0 +1,117 @@ +## version $VER: diskinfo.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +Informace o disku +; Disk Info +; +MSG_ERROR_HEADER +Chyba +; ERROR +; +MSG_ERROR_OK +_OK +; _OK +; +MSG_ERROR_LOCALE +Nelze inicializovat systém lokalizace. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Nelze inicializovat vlastní třídy objektu. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Informace o disku +; Disk Icon Informations +; +MSG_PERCENTFULL +Zaplněno z %ld %% +; %ld %% Full +; +MSG_FORMAT +Formát +; Format +; +MSG_UNKNOWN +neznámý +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; Š2006-2009 AROS Dev Team +; +MSG_USED +Obsazené místo +; Used space +; +MSG_FREE +Volné místo +; Free space +; +MSG_SIZE +Velikost disku +; Capacity +; +MSG_BLOCK_SIZE +Velikost bloku +; Block size +; +MSG_BLOCKS +bloků +; blocks +; +MSG_BYTES +bajtů +; bytes +; +MSG_STATUS +Stav disku +; Status +; +MSG_READABLE +ke čtení +; Readable +; +MSG_READABLE_WRITABLE +ke čtení i zápisu +; Readable/writable +; +MSG_VALIDATING +probíhá údržba +; Validating +; +MSG_NAME +Název +; Volume Name +; +MSG_UNIT +jedn. +; unit +; +MSG_DOSDEVICE +Zařízení: +; DOS Device: +; +MSG_DEVICEINFO +Použitý ovladač: +; Connected on: +; +MSG_FILESYSTEM +Souborový systém: +; FileSystem: +; +MSG_PACKETDEVICE +Packet Style device +; Packet Style device +; +MSG_IOFSDEVICE +IOFS Style device +; IOFS Style device +; diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/danish.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/danish.ct new file mode 100644 index 00000000000..ff2a634bab1 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/danish.ct @@ -0,0 +1,120 @@ +## version $VER: DiskInfo.catalog 2.0 (30.03.2016) +## language dansk +## codeset 0 +; +; Initial translation by Kristian Poul Herkild +; +MSG_TITLE +Disk Info +; Disk Info +;consider better translation - overvej bedre oversættelse, evt. Diskoplysninger +; +MSG_ERROR_HEADER +FEJL +; ERROR +; +MSG_ERROR_OK +_O.k. +; _OK +; +MSG_ERROR_LOCALE +Kan ikke initialisere regionaldata. +; Can't initialize locale. +; Better translation needed -> behøver bedre oversættelse +; +MSG_ERROR_CLASSES +Kan ikke initialisere tilpassede klasser. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Disk Icon-oplysninger +; Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% fuld +; %ld %% Full +; +MSG_FORMAT +Format +; Format +; +MSG_UNKNOWN +Ukendt +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +©2006-2009 AROS Dev Team +; ©2006-2009 AROS Dev Team +; +MSG_USED +Brugt plads +; Used space +; +MSG_FREE +Fri plads +; Free space +; +MSG_SIZE +Kapacitet +; Capacity +; +MSG_BLOCK_SIZE +Blokstørrelse +; Block size +; +MSG_BLOCKS +blokke +; blocks +; +MSG_BYTES +byte +; bytes +; +MSG_STATUS +Status +; Status +; +MSG_READABLE +Læsbar +; Readable +; +MSG_READABLE_WRITABLE +Læsbar/skrivbar +; Readable/writable +; +MSG_VALIDATING +Validerer +; Validating +; +MSG_NAME +Volumenavn +; Volume Name +; +MSG_UNIT +;unit +; unit +; +MSG_DOSDEVICE +DOS-enhed: +; DOS Device: +; +MSG_DEVICEINFO +Tilsluttet på: +; Connected on: +; +MSG_FILESYSTEM +Filsystem: +; FileSystem: +; +MSG_PACKETDEVICE +Packet Style-enhed +; Packet Style device +; +MSG_IOFSDEVICE +IOFS Style-enhed +; IOFS Style device +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/french.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/french.ct new file mode 100644 index 00000000000..95787663a5b --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/french.ct @@ -0,0 +1,85 @@ +## version $VER: diskinfo.catalog 1.0 (21.02.2004) +## language français +## codeset 0 +; +MSG_TITLE +Disk Info +; +MSG_ERROR_HEADER +ERREUR +; +MSG_ERROR_OK +_OK +; +MSG_ERROR_LOCALE +Impossible d'initialiser\n la locale. +; +MSG_ERROR_CLASSES +Impossible d'initialiser la Classe. +; +MSG_DESCRIPTION +Informations des Disques +; +MSG_PERCENTFULL +%ld %% Plein +; +MSG_FORMAT +Formater +; +MSG_AUTHOR +Olivier Adam +; +MSG_COPYRIGHT +©2006 AROS Dev Team +; +MSG_USED +Occupé +; +MSG_FREE +Disponible +; +MSG_SIZE +Capacité +; +MSG_BLOCK_SIZE +Taille bloc +; +MSG_BLOCKS +blocs +; +MSG_BYTES +octets +; +MSG_STATUS +État +; +MSG_READABLE +Lisible +; +MSG_READABLE_WRITABLE +Lisible/Inscriptible +; +MSG_VALIDATING +En validation +; +MSG_NAME +Nom du volume +; +MSG_UNIT +unité +; +MSG_DOSDEVICE +Pilote DOS : +; +MSG_DEVICEINFO +Connecté en : +; +MSG_FILESYSTEM +Système de fichiers : +; +MSG_PACKETDEVICE +Packet Style device +; +MSG_IOFSDEVICE +IOFS Style device +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/german.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/german.ct new file mode 100644 index 00000000000..f5e2362c8b4 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/german.ct @@ -0,0 +1,117 @@ +## version $VER: diskinfo.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +Disk Information +; Disk Info +; +MSG_ERROR_HEADER +Fehler +; ERROR +; +MSG_ERROR_OK +_Ok +; _OK +; +MSG_ERROR_LOCALE +Die Spracheinstellungen können nicht initialisiert werden. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Die notwendigen "Custom Klassen" konnten nicht initialisiert werden. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Disk Icon Informationen +; Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% voll +; %ld %% Full +; +MSG_FORMAT +Format +; Format +; +MSG_UNKNOWN +Unbekannt +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; \xa92006-2009 AROS Dev Team +; +MSG_USED +Benutzt +; Used space +; +MSG_FREE +Frei +; Free space +; +MSG_SIZE +Größe +; Capacity +; +MSG_BLOCK_SIZE +Blockgröße +; Block size +; +MSG_BLOCKS +Blöcke +; blocks +; +MSG_BYTES +Byte +; bytes +; +MSG_STATUS +Status +; Status +; +MSG_READABLE +Lesbar +; Readable +; +MSG_READABLE_WRITABLE +Lesbar/beschreibbar +; Readable/writable +; +MSG_VALIDATING +Evauliere +; Validating +; +MSG_NAME +Datenträgername +; Volume Name +; +MSG_UNIT +Geräteeinheit +; unit +; +MSG_DOSDEVICE +DOS Gerät: +; DOS Device: +; +MSG_DEVICEINFO +Verbunden mit: +; Connected on: +; +MSG_FILESYSTEM +Dateisystem: +; FileSystem: +; +MSG_PACKETDEVICE +Packet-style Geräte +; Packet Style device +; +MSG_IOFSDEVICE +IOFS-style Gerät +; IOFS Style device +; diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/italian.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/italian.ct new file mode 100644 index 00000000000..6158251b9db --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/italian.ct @@ -0,0 +1,122 @@ +## version $VER: diskinfo.catalog 1.0 (21.02.2004) +## language italiano +## codeset 0 +; +; FIXME: there are two missing strings at the end of this file +; +MSG_TITLE +Informazioni +; Disk Info +; +MSG_ERROR_HEADER +ERRORE +; ERROR +; +MSG_ERROR_OK +_OK +; _OK +; +MSG_ERROR_LOCALE +Impossibile inizializzare lingua. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Impossibile inizializzare classi personalizzate. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Informazioni sull'icona +; Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% Pieno +; %ld %% Full +; +MSG_FORMAT +Formatta +; Format +; +MSG_UNKNOWN +Sconosciuto +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +©2006 AROS Dev Team +; ©2006-2009 AROS Dev Team +; +MSG_USED +Spazio utilizzato +; Used space +; +MSG_FREE +Spazio libero +; Free space +; +MSG_SIZE +Capacità +; Capacity +; +MSG_BLOCK_SIZE +Dimenszione blocco +; Block size +; +MSG_BLOCKS +blocchi +; blocks +; +MSG_BYTES +byte +; bytes +; +MSG_STATUS +Stato +; Status +; +MSG_READABLE +Lettura +; Readable +; +MSG_READABLE_WRITABLE +Lettura/scrittura +; Readable/writable +; +MSG_VALIDATING +Convalida +; Validating +; +MSG_NAME +Nome volume +; Volume Name +; +MSG_UNIT +unità +; unit +; +MSG_DOSDEVICE +Dispositivo DOS: +; DOS Device: +; +MSG_DEVICEINFO +Connesso a: +; Connected on: +; +MSG_FILESYSTEM +FileSystem: +; FileSystem: +; +MSG_PACKETDEVICE + +; Packet Style device +; +; ***NEW*** +; +MSG_IOFSDEVICE + +; IOFS Style device +; +; ***NEW*** +; diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile.src b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile.src new file mode 100644 index 00000000000..6f60bfe677a --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german polish russian norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-wanderer-tools-diskinfo-catalogs \ + catalogs=$(CATALOGS) \ + name=DiskInfo subdir=System/System/Wanderer/Tools diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/norwegian.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/norwegian.ct new file mode 100644 index 00000000000..ea8bede0604 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/norwegian.ct @@ -0,0 +1,117 @@ +## version $VER: diskinfo.catalog 2.0 (08.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Disk Informasjon +; Disk Info +; +MSG_ERROR_HEADER +Feil +; ERROR +; +MSG_ERROR_OK +_Ok +; _OK +; +MSG_ERROR_LOCALE +Klarte ikke initialisiere språkinnstillingene. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Klarte ikke initialisiere "Custom" klassen. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Diskikon informajon +; Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% full +; %ld %% Full +; +MSG_FORMAT +Format +; Format +; +MSG_UNKNOWN +Ukjent +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; \xa92006-2009 AROS Dev Team +; +MSG_USED +Plass brukt +; Used space +; +MSG_FREE +Ledig plass +; Free space +; +MSG_SIZE +Kapasitet +; Capacity +; +MSG_BLOCK_SIZE +Blokkstørrelse +; Block size +; +MSG_BLOCKS +Blokker +; blocks +; +MSG_BYTES +Byte +; bytes +; +MSG_STATUS +Status +; Status +; +MSG_READABLE +Lesbar +; Readable +; +MSG_READABLE_WRITABLE +Lesbar/skrivbar +; Readable/writable +; +MSG_VALIDATING +Validerer +; Validating +; +MSG_NAME +Volumnavn +; Volume Name +; +MSG_UNIT +enhet +; unit +; +MSG_DOSDEVICE +DOS-enhet: +; DOS Device: +; +MSG_DEVICEINFO +Tilkoblet på: +; Connected on: +; +MSG_FILESYSTEM +Filsystem: +; FileSystem: +; +MSG_PACKETDEVICE +Pakke-stil enhet +; Packet Style device +; +MSG_IOFSDEVICE +IOFS-stil enhet +; IOFS Style device +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/polish.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/polish.ct new file mode 100644 index 00000000000..3176313d383 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/polish.ct @@ -0,0 +1,116 @@ +## version $VER: diskinfo.catalog 2.0 (30.03.2016) +## codeset 5 +## language polski +; +MSG_TITLE +Disk Info +; Disk Info +; +MSG_ERROR_HEADER +BŁĄD +; ERROR +; +MSG_ERROR_OK +_OK +; _OK +; +MSG_ERROR_LOCALE +Nie można zainicjalizować systemu lokalizacji. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Nie można zainicjalizować klas własnych. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Informacje o ikonce dysku +; Disk Icon Informations +; +MSG_PERCENTFULL +Zajęte %ld %% +; %ld %% Full +; +MSG_FORMAT +Format +; Format +; +MSG_UNKNOWN +nieznany +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +(c) 2006-2010 AROS Dev Team +; Š2006-2009 AROS Dev Team +; +MSG_USED +Zajęte +; Used space +; +MSG_FREE +Wolne +; Free space +; +MSG_SIZE +Pojemność +; Capacity +; +MSG_BLOCK_SIZE +Wielkość bloku +; Block size +; +MSG_BLOCKS +bloków +; blocks +; +MSG_BYTES +bajtów +; bytes +; +MSG_STATUS +Stan +; Status +; +MSG_READABLE +odczytywalny +; Readable +; +MSG_READABLE_WRITABLE +odczytywalny/zapisywalny +; Readable/writable +; +MSG_VALIDATING +uaktualniany +; Validating +; +MSG_NAME +Nazwa wolumenu +; Volume Name +; +MSG_UNIT +jednostka +; unit +; +MSG_DOSDEVICE +Sterownik DOS-u: +; DOS Device: +; +MSG_DEVICEINFO +Podłączony na: +; Connected on: +; +MSG_FILESYSTEM +System plików: +; FileSystem: +; +MSG_PACKETDEVICE +Urządzenie pakietowe +; Packet Style device +; +MSG_IOFSDEVICE +Urządzenie we/wy +; IOFS Style device +; diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/portuguese.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/portuguese.ct new file mode 100644 index 00000000000..304216424d0 --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/portuguese.ct @@ -0,0 +1,47 @@ +## version $VER: diskinfo.catalog 1.0 (30.09.2007) +## language português +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +MSG_TITLE +Informação do Disco +;Disk Info +; +MSG_ERROR_HEADER +ERRO +; +MSG_ERROR_OK +_Aceitar +;_OK +; +MSG_ERROR_LOCALE +Não foi possível inicializar Locale. +;Can't initialize locale. +; +MSG_ERROR_CLASSES +Não foi possível inicializar as classes próprias. +;Can't initialize custom classes. +; +MSG_DESCRIPTION +Informação do Disco +;Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% Cheio +;%ld %% Full +; +MSG_FORMAT +Formato +;Format +; +MSG_UNKNOWN +Desconhecido +;Unknown +; +MSG_AUTHOR +Olivier Adam +; +MSG_COPYRIGHT +©2006 AROS Dev Team +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/russian.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/russian.ct new file mode 100644 index 00000000000..0ca9452faae --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/russian.ct @@ -0,0 +1,117 @@ +## version $VER: diskinfo.catalog 2.0 (30.03.2016) +## language russian +## codeset 1251 +; +; +MSG_TITLE +Сведения о диске +; Disk Info +; +MSG_ERROR_HEADER +Ошибка +; ERROR +; +MSG_ERROR_OK +_OK +; _OK +; +MSG_ERROR_LOCALE +Невозможно инициализацировать локаль. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Невозможно инициализировать специальные классы. +; Can't initialize custom classes. +; +MSG_DESCRIPTION +Сведения о диске +; Disk Icon Informations +; +MSG_PERCENTFULL +Занято %ld %% +; %ld %% Full +; +MSG_FORMAT +Формат +; Format +; +MSG_UNKNOWN +Неизвестный +; Unknown +; +MSG_AUTHOR +Olivier Adam +; Olivier Adam +; +MSG_COPYRIGHT +Copyright 2006-2009 AROS Dev Team +; ©2006 AROS Dev Team +; +MSG_USED +Занято +;Used space +; +MSG_FREE +Свободно +;Free space +; +MSG_SIZE +Объём +;Capacity +; +MSG_BLOCK_SIZE +Размер блока +;Block size +; +MSG_BLOCKS +блоков +;blocks +; +MSG_BYTES +байт +;bytes +; +MSG_STATUS +Состояние +;Status +; +MSG_READABLE +Чтение +;Readable +; +MSG_READABLE_WRITABLE +Чтение/запись +;Readable/writable +; +MSG_VALIDATING +Проверка +;Validating +; +MSG_NAME +Имя тома +;Volume Name +; +MSG_UNIT +Устройство +;unit +; +MSG_DOSDEVICE +DOS имя: +;DOS Device: +; +MSG_DEVICEINFO +Подключен к: +;Connected on: +; +MSG_FILESYSTEM +Файловая система: +;FileSystem: +; +MSG_PACKETDEVICE +Packet-устройство +;Packet Style device +; +MSG_IOFSDEVICE +IOFS-устройство +;IOFS Style device +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/DiskInfo/catalogs/spanish.ct b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/spanish.ct new file mode 100644 index 00000000000..32da0d3c2ea --- /dev/null +++ b/workbench/system/Wanderer/Tools/DiskInfo/catalogs/spanish.ct @@ -0,0 +1,48 @@ +## version $VER: diskinfo.catalog 1.0 (30.09.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +Información del Disco +;Info. del Disco +;Disk Info +; +MSG_ERROR_HEADER +ERROR +; +MSG_ERROR_OK +_Aceptar +;_OK +; +MSG_ERROR_LOCALE +No se puede inicializar el locale. +;Can't initialize locale. +; +MSG_ERROR_CLASSES +No se pueden inicializar las clases propias. +;Can't initialize custom classes. +; +MSG_DESCRIPTION +Información del Disco +;Disk Icon Informations +; +MSG_PERCENTFULL +%ld %% Lleno +;%ld %% Full +; +MSG_FORMAT +Formatear +;Format +; +MSG_UNKNOWN +Desconocido +;Unknown +; +MSG_AUTHOR +Olivier Adam +; +MSG_COPYRIGHT +©2006 AROS Dev Team +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs deleted file mode 160000 index c31a849549c..00000000000 --- a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c31a849549c7410bb9c2cff67190add6ffb7bc8f diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/croatian.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/croatian.ct new file mode 100644 index 00000000000..de24973ea96 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/croatian.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 0 +; +; +MSG_TITLE +Izvrši Komandu +; Execute +; +MSG_DESCRIPTION +Izvrši Program ili Komandu +; Execute Command +; +MSG_LABEL_COMMANDLINE +Komanda i argumenti: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +Pokr_eni +; _Execute +; +MSG_BUTTON_CANCEL +Odustani +; _Cancel +; +MSG_CONSOLE_TITLE +Dobiveni Rezulat +; Command Output +; +MSG_ERROR_HEADER +POGREŠKA +; ERROR +; +MSG_ERROR_OK +*U redu +; *OK +; +MSG_ERROR_LOCALE +Nemogu ostvariti prijevod. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Ne mogu stvoriti vanjsku klasu. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Ne mogu otvoriti prozor konzole. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Komandu nije moguće izvršiti. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/czech.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/czech.ct new file mode 100644 index 00000000000..09f0e79367b --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/czech.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language czech +## codeset 0 +; +; +MSG_TITLE +Spustit +; Execute +; +MSG_DESCRIPTION +Spuštění příkazu +; Execute Command +; +MSG_LABEL_COMMANDLINE +Příkazový řádek: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Spustit +; _Execute +; +MSG_BUTTON_CANCEL +_Zrušit +; _Cancel +; +MSG_CONSOLE_TITLE +Výstupní informace příkazu +; Command Output +; +MSG_ERROR_HEADER +Chyba +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Nelze inicializovat systém lokalizace. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Nelze inicializovat vlastní třídy objektu. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Nelze otevřít konzolové okno. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Zadaný příkaz nelze spustit. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/danish.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/danish.ct new file mode 100644 index 00000000000..e265a6d948a --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/danish.ct @@ -0,0 +1,54 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language dansk +## codeset 0 +; +; Initial translation by Kristian Poul Herkild +; +MSG_TITLE +Udfør +; Execute +; +MSG_DESCRIPTION +Udfør kommando +; Execute Command +; +MSG_LABEL_COMMANDLINE +Kommando og argumenter: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Udfør +; _Execute +; +MSG_BUTTON_CANCEL +_Afbryd +; _Cancel +; +MSG_CONSOLE_TITLE +Kommandouddata +; Command Output +; +MSG_ERROR_HEADER +FEJL +; ERROR +; +MSG_ERROR_OK +*O.k. +; *OK +; +MSG_ERROR_LOCALE +Kan ikke initialisere regionaldata. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Kan ikke initialisere tilpassede klasser. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Kan ikke åbne terminalvindue. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Kan ikke udføre kommando. +; Can't execute command. +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/executecommand.cd b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/executecommand.cd new file mode 100644 index 00000000000..b685731c242 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/executecommand.cd @@ -0,0 +1,37 @@ +; +MSG_TITLE (//) +Execute +; +MSG_DESCRIPTION (//) +Execute Command +; +MSG_LABEL_COMMANDLINE (//) +Command and arguments: +; +MSG_BUTTON_EXECUTE (//) +_Execute +; +MSG_BUTTON_CANCEL (//) +_Cancel +; +MSG_CONSOLE_TITLE (//) +Command Output +; +MSG_ERROR_HEADER (//) +ERROR +; +MSG_ERROR_OK (//) +*OK +; +MSG_ERROR_LOCALE (//) +Can't initialize locale. +; +MSG_ERROR_CLASSES (//) +Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE (//) +Can't open console window. +; +MSG_ERROR_EXECUTE (//) +Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/finnish.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/finnish.ct new file mode 100644 index 00000000000..9a7693542aa --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/finnish.ct @@ -0,0 +1,49 @@ +## version $VER: executecommand.catalog 1.0 (11.8.2003) +## language suomi +## codeset 0 +; +; +MSG_TITLE +Aja komento +; Execute Command +; +MSG_LABEL_COMMANDLINE +Komento ja argumentit: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Aja +; _Execute +; +MSG_BUTTON_CANCEL +_Peru +; _Cancel +; +MSG_CONSOLE_TITLE +Komennon tuloste +; Command Output +; +MSG_ERROR_HEADER +VIRHE +; ERROR +; +MSG_ERROR_OK +*Selvä +; *OK +; +MSG_ERROR_LOCALE +En voi alustaa lokaalia. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +En voi alustaa luokkia. +; Can't initialize classes. +; +MSG_ERROR_OPEN_CONSOLE +En voi avata konsoli-ikkunaa. +; Can't open console window. +; +MSG_ERROR_EXECUTE +En voi ajaa komentoa. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/french.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/french.ct new file mode 100644 index 00000000000..b8773e9f6ae --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/french.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language français +## codeset 0 +; +; +MSG_TITLE +Exécuter +; Execute +; +MSG_DESCRIPTION +Exécuter une commande +; Execute Command +; +MSG_LABEL_COMMANDLINE +Commande et arguments : +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Exécuter +; _Execute +; +MSG_BUTTON_CANCEL +_Annuler +; _Cancel +; +MSG_CONSOLE_TITLE +Sortie de la commande +; Command Output +; +MSG_ERROR_HEADER +ERREUR +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Impossible d'initialiser les informations de localisation. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Impossible d'initialiser les classes. +; Can't initialize classes. +; +MSG_ERROR_OPEN_CONSOLE +Impossible de créer la fenêtre. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Impossible d'exécuter la commande. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/german.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/german.ct new file mode 100644 index 00000000000..1167b426178 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/german.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +Kommando Ausführen +; Execute +; +MSG_DESCRIPTION +Befehl ausführen +; Execute Command +; +MSG_LABEL_COMMANDLINE +Kommando und Argumente: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +A_usführen +; _Execute +; +MSG_BUTTON_CANCEL +_Abbrechen +; _Cancel +; +MSG_CONSOLE_TITLE +Ausgabe des Kommandos +; Command Output +; +MSG_ERROR_HEADER +FEHLER +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Kann Locale nicht initialisieren. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Kann Klassen nicht initialisieren. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Kann Konsolen-Fenster nicht öffnen. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Kann Kommando nicht ausführen. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/italian.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/italian.ct new file mode 100644 index 00000000000..a78d84ce970 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/italian.ct @@ -0,0 +1,49 @@ +## version $VER: executecommand.catalog 1.1 (13.8.2003) +## language italiano +## codeset 0 +; +; +MSG_TITLE +Esegui comando +; Execute Command +; +MSG_LABEL_COMMANDLINE +Comando e argomenti: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Esegui +; _Execute +; +MSG_BUTTON_CANCEL +_Annulla +; _Cancel +; +MSG_CONSOLE_TITLE +Output comando +; Command Output +; +MSG_ERROR_HEADER +ERRORE +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Impossibile inizializzare locale. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Impossibile inizializzare classi. +; Can't initialize classes. +; +MSG_ERROR_OPEN_CONSOLE +Impossibile aprire la console di comando. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Impossibile eseguire il comando. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/mmakefile.src b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/mmakefile.src new file mode 100644 index 00000000000..c5d533ede2d --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish french german polish portuguese russian spanish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-wanderer-tools-executecommand-catalogs \ + catalogs=$(CATALOGS) \ + name=ExecuteCommand subdir=System/System/Wanderer/Tools diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/norwegian.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/norwegian.ct new file mode 100644 index 00000000000..cf1f6ffae52 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/norwegian.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (08.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Utfør +; Execute +; +MSG_DESCRIPTION +Utfør kommando +; Execute Command +; +MSG_LABEL_COMMANDLINE +Kommando og argumenter: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Kjør +; _Execute +; +MSG_BUTTON_CANCEL +_Avbryt +; _Cancel +; +MSG_CONSOLE_TITLE +Resultat fra kommandoen +; Command Output +; +MSG_ERROR_HEADER +FEIL +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Klarte ikke initialisere språkinnstillingene. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Klarte ikke initialisere "Custom" klassen. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Klarte ikke åpne konsollvinduet. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Klarte ikke utføre kommandoen. +; Can't execute command. +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/polish.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/polish.ct new file mode 100644 index 00000000000..7e8e5894d6a --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/polish.ct @@ -0,0 +1,52 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language polski +## codeset 5 +; +MSG_TITLE +Wykonaj +; Execute +; +MSG_DESCRIPTION +Wykonaj polecenie +; Execute Command +; +MSG_LABEL_COMMANDLINE +Polecenie i argumenty: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Wykonaj +; _Execute +; +MSG_BUTTON_CANCEL +Ponie_chaj +; _Cancel +; +MSG_CONSOLE_TITLE +Wyjście komendy +; Command Output +; +MSG_ERROR_HEADER +BŁĄD +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Nie można zainiciować systemu lokalizacji. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Nie można zainiciować klas własnych. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Nie można otworzyć okna konsoli. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Nie można wykonać polecenia. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/portuguese.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/portuguese.ct new file mode 100644 index 00000000000..be03ba50e54 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/portuguese.ct @@ -0,0 +1,52 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language português +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +MSG_TITLE +Executar +;Execute +; +MSG_DESCRIPTION +Executar comando +;Execute Command +; +MSG_LABEL_COMMANDLINE +Comando e argumentos: +;Command and arguments: +; +MSG_BUTTON_EXECUTE +_Executar +;_Execute +; +MSG_BUTTON_CANCEL +_Cancelar +;_Cancel +; +MSG_CONSOLE_TITLE +Resultado do Comando +;Command Output +; +MSG_ERROR_HEADER +ERRO +; +MSG_ERROR_OK +*OK +; +MSG_ERROR_LOCALE +Não pode inicializar locale. +;Can't initialize locale. +; +MSG_ERROR_CLASSES +Não é possível inicializar as classes próprias. +;Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Não se pode abrir a janela de consola. +;Can't open console window. +; +MSG_ERROR_EXECUTE +Não foi possível executar o comando. +;Can't execute command. +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/russian.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/russian.ct new file mode 100644 index 00000000000..b6c7600c0f9 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/russian.ct @@ -0,0 +1,53 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language russian +## codeset 0 +; +; +MSG_TITLE +Выполнить +; Execute +; +MSG_DESCRIPTION +Выполнить команду +; Execute Command +; +MSG_LABEL_COMMANDLINE +Команда и опции: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +В_ыполнить +; _Execute +; +MSG_BUTTON_CANCEL +_Отмена +; _Cancel +; +MSG_CONSOLE_TITLE +Вывод команды +; Command Output +; +MSG_ERROR_HEADER +ОШИБКА +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Невозможно инициализацировать локаль. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Невозможно инициализацировать специальные (custom) классы. +; Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +Не могу открыть консоль. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Не могу выполнить команду. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/spanish.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/spanish.ct new file mode 100644 index 00000000000..34dcebc234a --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/spanish.ct @@ -0,0 +1,52 @@ +## version $VER: executecommand.catalog 2.0 (30.03.2016) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +Ejecutar +;Execute +; +MSG_DESCRIPTION +Ejecutar el Comando +;Execute Command +; +MSG_LABEL_COMMANDLINE +Comando y argumentos: +;Command and arguments: +; +MSG_BUTTON_EXECUTE +_Ejecutar +;_Execute +; +MSG_BUTTON_CANCEL +_Cancelar +;_Cancel +; +MSG_CONSOLE_TITLE +Salida del Comando +;Command Output +; +MSG_ERROR_HEADER +ERROR +; +MSG_ERROR_OK +*OK +; +MSG_ERROR_LOCALE +No se puede inicializar el locale. +;Can't initialize locale. +; +MSG_ERROR_CLASSES +No se pueden inicializar las clases propias. +;Can't initialize custom classes. +; +MSG_ERROR_OPEN_CONSOLE +No se puede abrir la ventana de la consola. +;Can't open console window. +; +MSG_ERROR_EXECUTE +No se pudo ejecutar el comando. +;Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/swedish.ct b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/swedish.ct new file mode 100644 index 00000000000..e6df796c801 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteCommand/catalogs/swedish.ct @@ -0,0 +1,49 @@ +## version $VER: executecommand.catalog 1.0 (11.8.2003) +## language svenska +## codeset 0 +; +; +MSG_TITLE +Exekvera kommando +; Execute Command +; +MSG_LABEL_COMMANDLINE +Kommando och argument: +; Command and arguments: +; +MSG_BUTTON_EXECUTE +_Exekvera +; _Execute +; +MSG_BUTTON_CANCEL +_Avbryt +; _Cancel +; +MSG_CONSOLE_TITLE +Kommandoutmatning +; Command Output +; +MSG_ERROR_HEADER +FEL +; ERROR +; +MSG_ERROR_OK +*OK +; *OK +; +MSG_ERROR_LOCALE +Kan inte initiera locale. +; Can't initialize locale. +; +MSG_ERROR_CLASSES +Kan inte initiera klasser. +; Can't initialize classes. +; +MSG_ERROR_OPEN_CONSOLE +Kan inte öppna konsollfönster. +; Can't open console window. +; +MSG_ERROR_EXECUTE +Kan inte exekvera kommando. +; Can't execute command. +; diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs deleted file mode 160000 index b9fa1dc13f3..00000000000 --- a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9fa1dc13f362868cee80119b1190ec3953938a6 diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/czech.ct b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/czech.ct new file mode 100644 index 00000000000..240389380c2 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/czech.ct @@ -0,0 +1,53 @@ +## version $VER: executestartup.catalog 1.0 (06.09.2016) +## language czech +## codeset 5 +; +; +MSG_ERROR +Chyba +; Error +; +MSG_WARNING +Upozornění +; Warning +; +MSG_OK +OK +; OK +; +MSG_ERROR_GETDISKOBJECT +ExecuteStartup\nChybný GetDiskObject pro:\n%s +; ExecuteStartup\nGetDiskObject failed for:\n%s +; +MSG_ERROR_INFONODE +ExecuteStartup\nNedostatek paměti pro InfoNode +; ExecuteStartup\nOut of memory for InfoNode +; +MSG_ERROR_LNNAME +ExecuteStartup\nNedostatek paměti pro ln_Name +; ExecuteStartup\nOut of memory for ln_Name +; +MSG_ERROR_SCANNING +ExecuteStartup\nPři prohlížení složky %ld došlo k chybě +; ExecuteStartup\nError %ld occured while scanning directory +; +MSG_ERROR_ANCHORPATH +ExecuteStartup\nNedostatek paměti pro AnchorPath +; ExecuteStartup\nOut of memory for AnchorPath +; +MSG_ERROR_FILEINFOBLOCK +ExecuteStartup\nNedostatek paměti pro FileInfoBlock +; ExecuteStartup\nOut of memory for FileInfoBlock +; +MSG_ERROR_MEMORYPOOL +ExecuteStartup\nNelze vytvořit souvislý paměťový blok +; ExecuteStartup\nCouldn't create pool memory +; +MSG_ERROR_EXAMINE +ExecuteStartup\nNelze prozkoumat (prohledat) +; ExecuteStartup\nCouldn't examine +;Note final space! +MSG_WARNING_OPENWBOBJECT +ExecuteStartup\nChybný OpenWorkbenchObject pro:\n%s +; ExecuteStartup\nOpenWorkbenchObject failed for:\n%s +; diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/executestartup.cd b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/executestartup.cd new file mode 100644 index 00000000000..3a24f9278fc --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/executestartup.cd @@ -0,0 +1,37 @@ +; +MSG_ERROR (//) +Error +; +MSG_WARNING (//) +Warning +; +MSG_OK (//) +OK +; +MSG_ERROR_GETDISKOBJECT (//) +ExecuteStartup\nGetDiskObject failed for:\n%s +; +MSG_ERROR_INFONODE (//) +ExecuteStartup\nOut of memory for InfoNode +; +MSG_ERROR_LNNAME (//) +ExecuteStartup\nOut of memory for ln_Name +; +MSG_ERROR_SCANNING (//) +ExecuteStartup\nError %ld occured while scanning directory +; +MSG_ERROR_ANCHORPATH (//) +ExecuteStartup\nOut of memory for AnchorPath +; +MSG_ERROR_FILEINFOBLOCK (//) +ExecuteStartup\nOut of memory for FileInfoBlock +; +MSG_ERROR_MEMORYPOOL (//) +ExecuteStartup\nCouldn't create pool memory +; +MSG_ERROR_EXAMINE (//) +ExecuteStartup\nCouldn't examine +;Note final space! +MSG_WARNING_OPENWBOBJECT (//) +ExecuteStartup\nOpenWorkbenchObject failed for:\n%s +; diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/french.ct b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/french.ct new file mode 100644 index 00000000000..5af8dccba3a --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/french.ct @@ -0,0 +1,53 @@ +## version $VER: executestartup.catalog 1.0 (10.01.2011) +## language français +## codeset 0 +; +; +MSG_ERROR +Erreur +; Error +; +MSG_WARNING +Attention +; Warning +; +MSG_OK +D'accord +; OK +; +MSG_ERROR_GETDISKOBJECT +ExecuteStartup\nGetDiskObject a échoué pour :\n%s +; ExecuteStartup\nGetDiskObject failed for:\n%s +; +MSG_ERROR_INFONODE +ExecuteStartup\nPlus de mémoire pour InfoNode +; ExecuteStartup\nOut of memory for InfoNode +; +MSG_ERROR_LNNAME +ExecuteStartup\nPlus de mémoire pour ln_name +; ExecuteStartup\nOut of memory for ln_Name +; +MSG_ERROR_SCANNING +ExecuteStartup\nL'erreur %ld s'est produite\enscrutant le répertoire +; ExecuteStartup\nError %ld occured while scanning directory +; +MSG_ERROR_ANCHORPATH +ExecuteStartup\nPlus de mémoire pour AnchorPath +; ExecuteStartup\nOut of memory for AnchorPath +; +MSG_ERROR_FILEINFOBLOCK +ExecuteStartup\nPlus de mémoire pour FileInfoBlock +; ExecuteStartup\nOut of memory for FileInfoBlock +; +MSG_ERROR_MEMORYPOOL +ExecuteStartup\nImpossible de créer la memory pool +; ExecuteStartup\nCouldn't create pool memory +; +MSG_ERROR_EXAMINE +ExecuteStartup\nImpossible d'examiner +; ExecuteStartup\nCouldn't examine +;Note final space! +MSG_WARNING_OPENWBOBJECT +ExecuteStartup\nOpenWorkbenchObject a échoué pour :\n%s +; ExecuteStartup\nOpenWorkbenchObject failed for:\n%s +; diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/mmakefile.src b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/mmakefile.src new file mode 100644 index 00000000000..4bfe76ec022 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french czech norwegian + +%build_catalogs mmake=workbench-system-wanderer-tools-executestartup-catalogs \ + catalogs=$(CATALOGS) \ + name=ExecuteStartup subdir=System/System/Wanderer/Tools diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/norwegian.ct b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/norwegian.ct new file mode 100644 index 00000000000..1f3940c1f3f --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/norwegian.ct @@ -0,0 +1,53 @@ +## version $VER: executestartup.catalog 1.0 (08.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_ERROR +Feil +; Error +; +MSG_WARNING +Advarsel +; Warning +; +MSG_OK +Ok +; OK +; +MSG_ERROR_GETDISKOBJECT +ExecuteStartup\nGetDiskObject feilet for :\n%s +; ExecuteStartup\nGetDiskObject failed for:\n%s +; +MSG_ERROR_INFONODE +ExecuteStartup\nIkke nok minne for InfoNode +; ExecuteStartup\nOut of memory for InfoNode +; +MSG_ERROR_LNNAME +ExecuteStartup\nIkke nok minne for ln_name +; ExecuteStartup\nOut of memory for ln_Name +; +MSG_ERROR_SCANNING +ExecuteStartup\nFeil %ld oppstod under skanning av katalogen +; ExecuteStartup\nError %ld occured while scanning directory +; +MSG_ERROR_ANCHORPATH +ExecuteStartup\nIkke nok minne for AnchorPath +; ExecuteStartup\nOut of memory for AnchorPath +; +MSG_ERROR_FILEINFOBLOCK +ExecuteStartup\nIkke nok minne for FileInfoBlock +; ExecuteStartup\nOut of memory for FileInfoBlock +; +MSG_ERROR_MEMORYPOOL +ExecuteStartup\nKlarte ikke opprette minne pool +; ExecuteStartup\nCouldn't create pool memory +; +MSG_ERROR_EXAMINE +ExecuteStartup\nKlarte ikke utforske +; ExecuteStartup\nCouldn't examine +;Note final space! +MSG_WARNING_OPENWBOBJECT +ExecuteStartup\nOpenWorkbenchObjektet feilet for:\n%s +; ExecuteStartup\nOpenWorkbenchObject failed for:\n%s +; diff --git a/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/polish.ct b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/polish.ct new file mode 100644 index 00000000000..9c35b145d00 --- /dev/null +++ b/workbench/system/Wanderer/Tools/ExecuteStartup/catalogs/polish.ct @@ -0,0 +1,53 @@ +## version $VER: executestartup.catalog 1.0 (02.02.2020) +## language polski +## codeset 5 +; +; +MSG_ERROR +Błąd +; Error +; +MSG_WARNING +Ostrzeżenie +; Warning +; +MSG_OK +Ok +; OK +; +MSG_ERROR_GETDISKOBJECT +ExecuteStartup\nGetDiskObject zawiódł dla:\n%s +; ExecuteStartup\nGetDiskObject failed for:\n%s +; +MSG_ERROR_INFONODE +ExecuteStartup\nNiedostatek pamięci dla InfoNode +; ExecuteStartup\nOut of memory for InfoNode +; +MSG_ERROR_LNNAME +ExecuteStartup\nNiedostatek pamięci dla ln_Name +; ExecuteStartup\nOut of memory for ln_Name +; +MSG_ERROR_SCANNING +ExecuteStartup\nBłąd %ld wystąpił podczas skanowania katalogu +; ExecuteStartup\nError %ld occured while scanning directory +; +MSG_ERROR_ANCHORPATH +ExecuteStartup\nNiedostatek pamięci dla pro AnchorPath +; ExecuteStartup\nOut of memory for AnchorPath +; +MSG_ERROR_FILEINFOBLOCK +ExecuteStartup\nNiedostatek pamięci dla FileInfoBlock +; ExecuteStartup\nOut of memory for FileInfoBlock +; +MSG_ERROR_MEMORYPOOL +ExecuteStartup\nNie można utworzyć bloku pamięci +; ExecuteStartup\nCouldn't create pool memory +; +MSG_ERROR_EXAMINE +ExecuteStartup\nNie można zbadać +; ExecuteStartup\nCouldn't examine +;Note final space! +MSG_WARNING_OPENWBOBJECT +ExecuteStartup\nOpenWorkbenchObject zawiódł dla:\n%s +; ExecuteStartup\nOpenWorkbenchObject failed for:\n%s +; diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs deleted file mode 160000 index 9b2bcc36c6c..00000000000 --- a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9b2bcc36c6c4157eaf79bdc25966805545975b39 diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/croatian.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/croatian.ct new file mode 100644 index 00000000000..5da7b4a3173 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/croatian.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 0 +; +; +MSG_TITLE +Nova Mapa +; WBNewDrawer +; +MSG_DESCRIPTION +Stvara novu mapu sa ikonom po izboru +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +Œ2006, AROS Dev Team +; Š2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Stvori novu mapu +; Create new drawer +; +MSG_LINE +Unesite ime nove mape +; Enter the name of the new drawer +; +MSG_NAME +Ime nove mape: +; New drawer name: +; +MSG_ICON +Ikona +; Icon +; +MSG_OK +U redu +; _OK +; +MSG_CANCEL +Odustani +; Ca_ncel +; +MSG_BASENAME +Nova_Mapa +; Rename_Me +; +MSG_ERROR_TITLE +Pogreška +; Error +; +MSG_ALREADY_EXIST +'%s' već postoji! +; '%s' already exists! +; +MSG_CANT_CREATE +Mapu '%s' nije moguće stvoriti! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +'%s'.info datoteka postoji! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +'%s' sadrži simbole koji nisu podržani! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Potrebno je 2 argumenta! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Neispravan directory lock! +; Invalid directory lock! +; +MSG_WB_ONLY +Alat nije moguće pokrenuti iz konzole!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Greška pri stvaranju aplikacije! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Postojeća datoteka ikone '%s'.info nije tipa Mapa! +; The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/czech.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/czech.ct new file mode 100644 index 00000000000..83e715c8352 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/czech.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +WBNewDrawer +; WBNewDrawer +; +MSG_DESCRIPTION +Vytvoří nový adresář, podle potřeby i s ikonou +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; Š2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Vytvoření nového adresáře +; Create new drawer +; +MSG_LINE +Zadejte název nového adresáře +; Enter the name of the new drawer +; +MSG_NAME +Název: +; New drawer name: +; +MSG_ICON +S ikonou +; Icon +; +MSG_OK +_Potvrdit +; _OK +; +MSG_CANCEL +_Zrušit +; Ca_ncel +; +MSG_BASENAME +nový_adresář +; Rename_Me +; +MSG_ERROR_TITLE +Chyba +; Error +; +MSG_ALREADY_EXIST +Objekt s názvem "%s" již existuje! +; '%s' already exists! +; +MSG_CANT_CREATE +Adresář "%s" nelze vytvořit! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +Soubor %s.info (ikona) již existuje! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +Název "%s" obsahuje neplatné znaky! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Program vyžaduje 2 argumenty! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Vybraný adresář nelze zamknout! +; Invalid directory lock! +; +MSG_WB_ONLY +Tento program nelze spustit z příkazového řádku!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Nelze vytvořit objekt application! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Existující ikona %s.info není typu adresář! +; The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/danish.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/danish.ct new file mode 100644 index 00000000000..4ab24978aa7 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/danish.ct @@ -0,0 +1,85 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_TITLE +WBNewDrawer +; WBNewDrawer +; +MSG_DESCRIPTION +Opretter en ny skuffe med valgfrit ikon +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; ©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Opret ny skuffe +; Create new drawer +; +MSG_LINE +Indtast skuffens navn +; Enter the name of the new drawer +; +MSG_NAME +Nyt skuffenavn: +; New drawer name: +; +MSG_ICON +Ikon +; Icon +; +MSG_OK +_O.k. +; _OK +; +MSG_CANCEL +_Afbryd +; Ca_ncel +; +MSG_BASENAME +Omdøb_mig +; Rename_Me +; +MSG_ERROR_TITLE +Fejl +; Error +; +MSG_ALREADY_EXIST +'%s' findes allerede! +; '%s' already exists! +; +MSG_CANT_CREATE +Kan ikke oprette skuffen '%s'! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +'%s'.info findes allerede! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +'%s' indeholder ugyldige tegn! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Behøver 2 argumenter! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ugyldig kataloglås! +; Invalid directory lock! +; +MSG_WB_ONLY +Kan ikke køres fra skal!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Kunne ikke oprette program! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Den eksisterende ikonfil '%s'.info er ikke en skuffe! +; The existing icon file '%s'.info isn't of type Drawer! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/french.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/french.ct new file mode 100644 index 00000000000..b9f78458d4f --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/french.ct @@ -0,0 +1,61 @@ +## version $VER: wbnewdrawer.catalog 1.2 (05.06.2012) +## language français +## codeset 0 +; +; +; +MSG_TITLE +Nouveau Répertoire +;WBNewDrawer +MSG_DESCRIPTION +Crée des répertoires et leurs icônes +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Crée un répertoire +; +MSG_LINE +Entrez le nom du répertoire +; +MSG_NAME +Nouveau Nom : +; +MSG_ICON +Icône : +; +MSG_OK +_OK +; +MSG_CANCEL +A_nnuler +; +MSG_BASENAME +Renommez_Moi +; +MSG_ERROR_TITLE +WBNewDrawer Erreur +; +; +MSG_ALREADY_EXIST +'%s' existe déjà ! +; +MSG_CANT_CREATE +Impossible de créer '%s' ! +; +MSG_INFO_ALREADY +'%s'.info existe déjà ! +; +MSG_NEEDS_MORE_ARGS +Demande 2 arguments ! +; +MSG_INVALID_LOCK +Verrou invalide ! +; +MSG_WB_ONLY +Ne peut être démarré depuis le shell !\n +; +MSG_FAILED_CREATE_APP +Impossible de créer l'application ! +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/german.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/german.ct new file mode 100644 index 00000000000..397ec82b647 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/german.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +WBNewDrawer +; WBNewDrawer +; +MSG_DESCRIPTION +Erzeugt neue Schublade mit optionalem Piktogramm +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; \xa92006, AROS Dev Team +; +MSG_WINDOW_TITLE +Neue Schublade anlegen +; Create new drawer +; +MSG_LINE +Geben Sie den Namen der neuen Schublade ein +; Enter the name of the new drawer +; +MSG_NAME +Name der neuen Schublade: +; New drawer name: +; +MSG_ICON +Piktogramm +; Icon +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +_Abbrechen +; Ca_ncel +; +MSG_BASENAME +Bitte_umbenennen +; Rename_Me +; +MSG_ERROR_TITLE +Fehler +; Error +; +MSG_ALREADY_EXIST +'%s' existiert bereits! +; '%s' already exists! +; +MSG_CANT_CREATE +Kann Schublade '%s' nicht erzeugen! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +'%s'.info existiert bereits! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +'%s' enthält unerlaubte Zeichen! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Brauche 2 Argumente! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ungültiger Verzeichnis-Lock! +; Invalid directory lock! +; +MSG_WB_ONLY +Kann nicht von der Shell gestartet werden!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Kann Application-Objekt nicht erzeugen! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Die vorhandene Piktogramm-Datei '%s'.info\nist nicht vom Typ Schublade! +; The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/italian.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/italian.ct new file mode 100644 index 00000000000..8bba7619663 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/italian.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language italiano +## codeset 0 +; +; +MSG_TITLE +Nuovo cassetto +; WBNewDrawer +; +MSG_DESCRIPTION +Crea una nuovo cassetto con icona opzionale +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; ©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Crea nuovo cassetto +; Create new drawer +; +MSG_LINE +Dai un nome al nuovo cassetto +; Enter the name of the new drawer +; +MSG_NAME +Nome del cassetto: +; New drawer name: +; +MSG_ICON +Icona +; Icon +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +A_nnulla +; Ca_ncel +; +MSG_BASENAME +Ca_mbia nome +; Rename_Me +; +MSG_ERROR_TITLE +Errore +; Error +; +MSG_ALREADY_EXIST +'%s' esiste già! +; '%s' already exists! +; +MSG_CANT_CREATE +Impossibile creare cassetto '%s'! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +'%s'.info esiste già! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +'%s' contiene caratteri proibiti! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Servono 2 argomenti! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Blocco della directory invalido! +; Invalid directory lock! +; +MSG_WB_ONLY +Impossibile avviare da shell!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Impossibile creare l'applicazione! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +L'icona '%s'.info non è associata a un cassetto! +; The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/mmakefile.src b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/mmakefile.src new file mode 100644 index 00000000000..ddd48d4cc3d --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german italian polish portuguese spanish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-wanderer-tools-wbnewdrawer-catalogs \ + catalogs=$(CATALOGS) \ + name=WBNewDrawer subdir=System/System/Wanderer/Tools diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/norwegian.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/norwegian.ct new file mode 100644 index 00000000000..cf76b25ab35 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/norwegian.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (10.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +WBNewDrawer +; WBNewDrawer +; +MSG_DESCRIPTION +Oppretter en ny skuff med valgfritt ikon +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; \xa92006, AROS Dev Team +; +MSG_WINDOW_TITLE +Opprett ny skuff +; Create new drawer +; +MSG_LINE +Skriv inn navnet på den nye skuffen +; Enter the name of the new drawer +; +MSG_NAME +Nytt navn på skuffen: +; New drawer name: +; +MSG_ICON +Ikon +; Icon +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +_Avbryt +; Ca_ncel +; +MSG_BASENAME +Endre _navn +; Rename_Me +; +MSG_ERROR_TITLE +Feil +; Error +; +MSG_ALREADY_EXIST +'%s' finnes allerede! +; '%s' already exists! +; +MSG_CANT_CREATE +Klarer ikke å opprette skuffen '%s'! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +'%s'.info eksisterer allerede! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +'%s' inneholder ulovlige tegn! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Trenger 2 argumenter! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ugyldig kataloglås! +; Invalid directory lock! +; +MSG_WB_ONLY +Kann ikke startes fra shell!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Klarte ikke opprette applikasjonen! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Den eksisterende ikonfilen '%s'.info\ner ikke av typen skuff! +; The existing icon file '%s'.info isn't of type Drawer! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/polish.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/polish.ct new file mode 100644 index 00000000000..e7c99903fef --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/polish.ct @@ -0,0 +1,84 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## codeset 5 +## language polski +; +MSG_TITLE +WBNewDrawer +; WBNewDrawer +; +MSG_DESCRIPTION +Tworzy nowe katalogi z opcjonalnymi ikonkami +; Creates new drawer with optional icon +; +MSG_COPYRIGHT +(C)2006, AROS Dev Team +; Š2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Tworzenie nowego katalogu +; Create new drawer +; +MSG_LINE +Podaj nazwę nowego katalogu +; Enter the name of the new drawer +; +MSG_NAME +Nazwa nowego katalogu: +; New drawer name: +; +MSG_ICON +Ikonka +; Icon +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +Ponie_chaj +; Ca_ncel +; +MSG_BASENAME +zmien_nazwe +; Rename_Me +; +MSG_ERROR_TITLE +Błąd +; Error +; +MSG_ALREADY_EXIST +\"%s\" już istnieje! +; '%s' already exists! +; +MSG_CANT_CREATE +Nie można utworzyć katalogu \"%s\"! +; Can't create drawer '%s'! +; +MSG_INFO_ALREADY +Plik \"%s.info\" już istnieje! +; '%s'.info already exists! +; +MSG_ILLEGAL_CHARS +\"%s\" zawiera niedozwolone znaki! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Wymagane 2 argumenty! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Niewłaściwe zablokowanie katalogu! +; Invalid directory lock! +; +MSG_WB_ONLY +Nie można uruchomić z linii poleceń!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Nie można utworzyć aplikacji! +; Failed to create Application! +; +MSG_WRONG_ICON_TYPE +Istniejący plik ikonki \"%s.info\" nie jest plikiem ikonki katalogu! +; The existing icon file '%s'.info isn't of type Drawer! +; diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/portuguese.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/portuguese.ct new file mode 100644 index 00000000000..7346433e03b --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/portuguese.ct @@ -0,0 +1,83 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language português +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +MSG_TITLE +WBNewDrawer +;WBNuevoCajón +; +MSG_DESCRIPTION +Cria um directório com um icone opcional +;Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Criar um directório +;Create new drawer +; +MSG_LINE +Escreva o nome do novo directório +;Enter the name of the new drawer +; +MSG_NAME +Nome do directório: +;New drawer name: +; +MSG_ICON +Icone +;Icon +; +MSG_OK +_Aceitar +;_OK +; +MSG_CANCEL +Ca_ncel +; +MSG_BASENAME +Mudar nome +;Rename_Me +; +MSG_ERROR_TITLE +WBNuevoCajón: Error +;WBNewDrawer: Erro +; +MSG_ALREADY_EXIST +¡'%s' já existe! +;'%s' already exists! +; +MSG_CANT_CREATE +¡No é possível criar o directório '%s'! +;Can't create drawer '%s'! +; +MSG_INFO_ALREADY +¡'%s'.info já existe! +;'%s'.info already exists! +; +MSG_ILLEGAL_CHARS +¡'%s' contêm caracteres ilegais! +;'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +¡Necessita de dois argumentos! +;Need 2 arguments! +; +MSG_INVALID_LOCK +¡Bloqueo inválido do directório! +;Invalid directory lock! +; +MSG_WB_ONLY +¡Não pode iniciar a partir da shell!\n +;Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +¡Não foi possível criar a aplicação! +;Failed to create Application! +; +MSG_WRONG_ICON_TYPE +¡O ficheiro de icone '%s'.info não é do tipo directório! +;The existing icon file '%s'.info isn't of type Drawer! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/russian.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/russian.ct new file mode 100644 index 00000000000..854819286f9 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/russian.ct @@ -0,0 +1,64 @@ +## version $VER: wbnewdrawer.catalog 1.1 (12.9.2006) +## language russian +## codeset 0 +; +; +; +MSG_TITLE +WBНовПапка +;WBNewDrawer +; +MSG_DESCRIPTION +Создаёт новую папку +; +MSG_COPYRIGHT +c2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Создать новую папку +; +MSG_LINE +Введите имя будущей папки +; +MSG_NAME +Имя новой папки : +; +MSG_ICON +Иконка : +; +MSG_OK +_ОK +; +MSG_CANCEL +От_мена +; +MSG_BASENAME +Назови_Меня +; +MSG_ERROR_TITLE +WBNewDrawer: Ошибка +; +; +MSG_ALREADY_EXIST +'%s' уже существует ! +; +MSG_CANT_CREATE +Не могу создать '%s' ! +; +MSG_INFO_ALREADY +Иконка '%s'.info уже существует +; +MSG_NEEDS_MORE_ARGS +Требуется 2 аргумента +; +MSG_INVALID_LOCK +Ошибка занятия директории +; +MSG_WB_ONLY +Данное приложение не может быть запущено из командной строки\n +; +MSG_FAILED_CREATE_APP +Не могу создать приложение +; +MSG_WRONG_ICON_TYPE +Существующий файл иконки '%s'.info имеет тип, отличный от Drawer diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/spanish.ct b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/spanish.ct new file mode 100644 index 00000000000..a33b202b909 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/spanish.ct @@ -0,0 +1,83 @@ +## version $VER: wbnewdrawer.catalog 2.0 (30.03.2016) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +WBNewDrawer +;WBNuevoCajón +; +MSG_DESCRIPTION +Crea un cajón con un ícono optativo +;Creates new drawer with optional icon +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Crear un cajón +;Create new drawer +; +MSG_LINE +Escriba el nombre del nuevo cajón +;Enter the name of the new drawer +; +MSG_NAME +Nombre del cajón: +;New drawer name: +; +MSG_ICON +Ícono +;Icon +; +MSG_OK +_Aceptar +;_OK +; +MSG_CANCEL +Ca_ncel +; +MSG_BASENAME +Renómbrame +;Rename_Me +; +MSG_ERROR_TITLE +WBNuevoCajón: Error +;WBNewDrawer: Error +; +MSG_ALREADY_EXIST +¡'%s' ya existe! +;'%s' already exists! +; +MSG_CANT_CREATE +¡No se pudo crear el cajón '%s'! +;Can't create drawer '%s'! +; +MSG_INFO_ALREADY +¡'%s'.info ya existe! +;'%s'.info already exists! +; +MSG_ILLEGAL_CHARS +¡'%s' contiene caracteres ilegales! +;'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +¡Se necesitan dos argumentos! +;Need 2 arguments! +; +MSG_INVALID_LOCK +¡Bloqueo inválido del directorio! +;Invalid directory lock! +; +MSG_WB_ONLY +¡No se pudo iniciar desde el shell!\n +;Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +¡Falló la creación de la Aplicación! +;Failed to create Application! +; +MSG_WRONG_ICON_TYPE +¡El archivo de ícono '%s'.info no es del tipo del Cajón! +;The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/wbnewdrawer.cd b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/wbnewdrawer.cd new file mode 100644 index 00000000000..23f44abd69e --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBNewDrawer/catalogs/wbnewdrawer.cd @@ -0,0 +1,60 @@ +; +MSG_TITLE (//) +WBNewDrawer +; +MSG_DESCRIPTION (//) +Creates new drawer with optional icon +; +MSG_COPYRIGHT (//) +\xa9 2006-2019, The AROS Development Team +; +MSG_WINDOW_TITLE (//) +Create new drawer +; +MSG_LINE (//) +Enter the name of the new drawer +; +MSG_NAME (//) +New drawer name: +; +MSG_ICON (//) +Icon +; +MSG_OK (//) +_OK +; +MSG_CANCEL (//) +Ca_ncel +; +MSG_BASENAME (//) +Rename_Me +; +MSG_ERROR_TITLE (//) +Error +; +MSG_ALREADY_EXIST (//) +'%s' already exists! +; +MSG_CANT_CREATE (//) +Can't create drawer '%s'! +; +MSG_INFO_ALREADY (//) +'%s'.info already exists! +; +MSG_ILLEGAL_CHARS (//) +'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS (//) +Need 2 arguments! +; +MSG_INVALID_LOCK (//) +Invalid directory lock! +; +MSG_WB_ONLY (//) +Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP (//) +Failed to create Application! +; +MSG_WRONG_ICON_TYPE (//) +The existing icon file '%s'.info isn't of type Drawer! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs b/workbench/system/Wanderer/Tools/WBRename/catalogs deleted file mode 160000 index 6aba42da7d3..00000000000 --- a/workbench/system/Wanderer/Tools/WBRename/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6aba42da7d3c5cb3619475bc9a0edff33beb322e diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/croatian.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/croatian.ct new file mode 100644 index 00000000000..d38f553ceb2 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/croatian.ct @@ -0,0 +1,72 @@ +## version $VER: WBRename.catalog 1.2 (04.01.2010) +## language hrvatski +## codeset 0 +; +; +MSG_TITLE +Alat za Preimenovanje +; WBRename +; +MSG_DESCRIPTION +Preimenuje datoteke i mape +; Renames files and drawers +; +MSG_COPYRIGHT +Œ2006, AROS Dev Team +; Š2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Preimenuj +; Rename +; +MSG_LINE +Unesite novo ime +; Enter a new name for: +; +MSG_NAME +\33bNovo Ime:\33n +; \33bNew name:\33n +; +MSG_OK +U redu +; _OK +; +MSG_CANCEL +Odustani +; Ca_ncel +; +MSG_ERROR_TITLE +Pogreška +; Error +; +MSG_ALREADY_EXIST +'%s' već postoji! +; '%s' already exists! +; +MSG_FAILED +Greška pri preimenovanju '%s' :\n'%s'! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' sadrži simbole koji nisu podržani! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Potrebno je 2 argumenta! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Neispravan directory lock! +; Invalid directory lock! +; +MSG_WB_ONLY +Alat nije moguće pokrenuti iz konzole!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Greška pri stvaranju aplikacije! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Nedovoljno memorije! +; Can't allocate RAM! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/czech.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/czech.ct new file mode 100644 index 00000000000..cc13e7e1351 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/czech.ct @@ -0,0 +1,72 @@ +## version $VER: wbrename.catalog 2.0 (19.9.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Přejmenuje vybraný objekt +; Renames files and drawers +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; \xa92012, AROS Dev Team +; +MSG_WINDOW_TITLE +Přejmenování objektu +; Rename +; +MSG_LINE +Zadejte nový název: '%s' +; Enter a new name for: '%s' +; +MSG_NAME +\33bNázev:\33n +; \33bNew name: \33n +; +MSG_OK +_Potvrdit +; _OK +; +MSG_CANCEL +_Zrušit +; Ca_ncel +; +MSG_ERROR_TITLE +Chyba +; Error +; +MSG_ALREADY_EXIST +Objekt s názvem "%s" již existuje! +; '%s' already exists! +; +MSG_FAILED +Chyba při přejmenování objektu "%s".\n%s +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +Název "%s" obsahuje neplatné znaky! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Program vyžaduje 2 argumenty! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Vybraný adresář nelze zamknout! +; Invalid directory lock! +; +MSG_WB_ONLY +Tento program nelze spustit z příkazového řádku!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Nelze vytvořit objekt application! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Není dostatek volné paměti! +; Can't allocate RAM! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/danish.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/danish.ct new file mode 100644 index 00000000000..e46bfc6a37c --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/danish.ct @@ -0,0 +1,73 @@ +## version $VER: wbrename.catalog 1.0 (17.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Omdøb filer og skuffer +; Renames files and drawers +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; ©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Omdøb +; Rename +; +MSG_LINE +Indtast et nyt navn +; Enter a new name for +; +MSG_NAME +\33bNyt navn:\33n +; \33bNew name:\33n +; +MSG_OK +_O.k. +; _OK +; +MSG_CANCEL +_Afbryd +; Ca_ncel +; +MSG_ERROR_TITLE +Fejl +; Error +; +MSG_ALREADY_EXIST +'%s' findes allerede! +; '%s' already exists! +; +MSG_FAILED +Omdøbning of '%s' mislykkedes med fejl:\n'%s'! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' indeholder ugyldige tegn! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Behøver 2 argumenter! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ugyldig kataloglås! +; Invalid directory lock! +; +MSG_WB_ONLY +Kan ikke køres fra skal!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Kunne ikke oprette program! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Kan ikke tildele hukommelse! +; Can't allocate RAM! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/french.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/french.ct new file mode 100644 index 00000000000..edb9b44948f --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/french.ct @@ -0,0 +1,72 @@ +## version $VER: WBRename.catalog 2.0 (05.01.2012) +## language français +## codeset 0 +; +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Renomme fichiers et répertoires +; Renames files and drawers +; +MSG_COPYRIGHT +@2012, AROS Dev Team +; ©2012, AROS Dev Team +; +MSG_WINDOW_TITLE +Renommer +; Rename +; +MSG_LINE +Entrez un nouveau nom pour '%s' +; Enter a new name for: '%s' +; +MSG_NAME +\33bNouveau nom : \33n +; \33bNew name: \33n +; +MSG_OK +_Ok +; _OK +; +MSG_CANCEL +_Annuler +; Ca_ncel +; +MSG_ERROR_TITLE +Erreur +; Error +; +MSG_ALREADY_EXIST +'%s' existe déjà ! +; '%s' already exists! +; +MSG_FAILED +Le renommage de '%s' a échoué avec l'erreur :\n'%s' ! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' contient des caractères interdits ! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Cette application nécessite deux arguments ! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Verrou invalide sur le répertoire ! +; Invalid directory lock! +; +MSG_WB_ONLY +Cette application ne fonctionne que depuis le Workbench ! +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Impossible de créer l'application ! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Impossible d'allouer de la mémoire ! +; Can't allocate RAM! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/german.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/german.ct new file mode 100644 index 00000000000..c1c14de827e --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/german.ct @@ -0,0 +1,72 @@ +## version $VER: deutsch.catalog 2.0 (30.3.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Benennt Dateien und Schubladen um +; Renames files and drawers +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; \xa92012, AROS Dev Team +; +MSG_WINDOW_TITLE +Umbenennen +; Rename +; +MSG_LINE +Geben Sie einen neuen Namen für '%s' ein +; Enter a new name for: '%s' +; +MSG_NAME +\33bNeuer Name:\33n +; \33bNew name: \33n +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +_Abbrechen +; Ca_ncel +; +MSG_ERROR_TITLE +Fehler +; Error +; +MSG_ALREADY_EXIST +'%s' existiert bereits! +; '%s' already exists! +; +MSG_FAILED +Beim Umbenennen von '%s' trat der Fehler\n%s auf! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' enthält unerlaubte Zeichen! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Brauche 2 Argumente! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ungültiger Verzeichnis-Lock! +; Invalid directory lock! +; +MSG_WB_ONLY +Kann nicht von der Shell gestartet werden!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Kann Application-Objekt nicht erzeugen! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Kein RAM Speicher verfügbar! +; Can't allocate RAM! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/italian.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/italian.ct new file mode 100644 index 00000000000..7aaf5a06190 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/italian.ct @@ -0,0 +1,72 @@ +## version $VER: wbrename.catalog 0.1 (12.09.2006) +## language español +## codeset 0 +; +; +MSG_TITLE +Rinomina +; WBRename +; +MSG_DESCRIPTION +Rinomina file e cartelle +; Renames files and drawers +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; ©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Rinomina +; Rename +; +MSG_LINE +Inserisci il nuovo nome per: +; Enter a new name for: +; +MSG_NAME +\33bNuovo nome:\33n +; \33bNew name:\33n +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +A_nnulla +; Ca_ncel +; +MSG_ERROR_TITLE +Rinomina: Errore +; Error +; +MSG_ALREADY_EXIST +'%s' esiste già! +; '%s' already exists! +; +MSG_FAILED +L'operazione su '%s' è fallita con l'errore:\n'%s'! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' contiene caratteri proibiti! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Servono 2 argomenti! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Blocco della directory invalido! +; Invalid directory lock! +; +MSG_WB_ONLY +Impossibile avviare da shell!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Impossibile creare l'applicazione! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Impossibile allocare la RAM! +; Can't allocate RAM! diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/mmakefile.src b/workbench/system/Wanderer/Tools/WBRename/catalogs/mmakefile.src new file mode 100644 index 00000000000..e0fb5f68bab --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2006, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-system-wanderer-tools-wbrename-catalogs \ + catalogs=$(CATALOGS) \ + name=WBRename subdir=System/System/Wanderer/Tools diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/norwegian.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/norwegian.ct new file mode 100644 index 00000000000..24c34d31fa1 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/norwegian.ct @@ -0,0 +1,72 @@ +## version $VER: deutsch.catalog 2.0 (10.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Endre navn på filer og skuffer +; Renames files and drawers +; +MSG_COPYRIGHT +Copyright (C) AROS Dev Team +; \xa92012, AROS Dev Team +; +MSG_WINDOW_TITLE +Endre navn +; Rename +; +MSG_LINE +Skriv inn nytt navn for: '%s' +; Enter a new name for: '%s' +; +MSG_NAME +\33bNytt navn:\33n +; \33bNew name: \33n +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +_Avbryt +; Ca_ncel +; +MSG_ERROR_TITLE +Feil +; Error +; +MSG_ALREADY_EXIST +'%s' exsisterer allerde! +; '%s' already exists! +; +MSG_FAILED +Navnebytte for '%s' feilet med feilmeldingen:\n%s! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' inneholder ulovlige tegn! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Trenger 2 argumenter! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ugyldig kataloglås! +; Invalid directory lock! +; +MSG_WB_ONLY +Kan ikke startes fra shell!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Klarte ikke opprette applikasjonen! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Klarer ikke allokere nok minne! +; Can't allocate RAM! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/polish.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/polish.ct new file mode 100644 index 00000000000..e36b666b744 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/polish.ct @@ -0,0 +1,73 @@ +## version $VER: wbrename.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Zmienia nazwy plików i katalogów +; Renames files and drawers +; +MSG_COPYRIGHT +(C)2006, AROS dev Team +; Š2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Zmiana nazwy +; Rename +; +MSG_LINE +Wprowadź nową nazwę +; Enter a new name +; +MSG_NAME +Nowa nazwa: +; New name: +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +Ponie_chaj +; Ca_ncel +; +MSG_ERROR_TITLE +Błąd +; Error +; +MSG_ALREADY_EXIST +\"%s\" już istnieje! +; '%s' already exists! +; +MSG_FAILED +Zmiana nazwy elementu \"%s\" nie powiodła się, zakończono błędem:\n\ +\"%s\"! +; Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +\"%s\" zawiera niedozwolone znaki! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Wymagane 2 argumenty! +; Need 2 arguments! +; +MSG_INVALID_LOCK +Niewłaściwe zablokowanie katalogu! +; Invalid directory lock! +; +MSG_WB_ONLY +Nie można uruchomić z linii poleceń!\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Nie można utworzyć aplikacji! +; Failed to create Application! +; +MSG_OUTOFMEMORY +Nie można zaalokować pamięci RAM! +; Can't allocate RAM! +; diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/portuguese.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/portuguese.ct new file mode 100644 index 00000000000..8f3254d20c8 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/portuguese.ct @@ -0,0 +1,72 @@ +## version $VER: wbrename.catalog 0.1 (12.09.2006) +## language portugus +## codeset 0 +; +; Translated by Joo Ralha (hardwired) +; +MSG_TITLE +WBRename +;WBRename +; +MSG_DESCRIPTION +Muda nome aos ficheiros e directrios +;Renames files and drawers +; +MSG_COPYRIGHT +2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Mudar nome +;Rename +; +MSG_LINE +Escreva o novo nome +;Enter a new name +; +MSG_NAME +Nome: +;New name: +; +MSG_OK +_Aceitar +;_OK +; +MSG_CANCEL +Ca_ncelar +;Ca_ncel +; +MSG_ERROR_TITLE +WBRename: Erro +; +MSG_ALREADY_EXIST +'%s' j existe! +;'%s' already exists! +; +MSG_FAILED +A mudana de nome '%s' falhou devido a erro:\'%s'! +;Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +'%s' contm caracteres ilegais! +;'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +So necessrios 2 argumentos! +;Need 2 arguments! +; +MSG_INVALID_LOCK +Bloqueio invlido do directrio! +;Invalid directory lock! +; +MSG_WB_ONLY +No se pode iniciar a partir da shell!\n +;Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Falhou ao criar a aplicao! +;Failed to create Application! +; +MSG_OUTOFMEMORY +No h memria disponvel! +;Can't allocate RAM! +; \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/russian.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/russian.ct new file mode 100644 index 00000000000..409124a4446 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/russian.ct @@ -0,0 +1,72 @@ +## version $VER: WBRename.catalog 1.0 (24.11.2008) +## language russian +## codeset 0 +; +; +MSG_TITLE +WBRename +; WBRename +; +MSG_DESCRIPTION +Переименовывает файлы и директории +; Renames files and drawers +; +MSG_COPYRIGHT +c2006, AROS Dev Team +; й2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Переименование +; Rename +; +MSG_LINE +Введите новое имя +; Enter a new name +; +MSG_NAME +Новое имя: +; New name: +; +MSG_OK +_OK +; _OK +; +MSG_CANCEL +О_тмена +; Ca_ncel +; +MSG_ERROR_TITLE +WBRename: Ошибка +; WBRename: Error +; +MSG_ALREADY_EXIST +'%s' уже существует! +; '%s' already exists! +; +MSG_FAILED +Переименование '%s' завершилось\nс ошибкой '%ld' +; Rename of '%s' failed with error '%ld'! +; +MSG_ILLEGAL_CHARS +'%s' содержит недопустимые символы! +; '%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +Требуется 2 аргумента +; Need 2 arguments! +; +MSG_INVALID_LOCK +Ошибка занятия директории +; Invalid directory lock! +; +MSG_WB_ONLY +Данное приложение не может быть запущено из командной строки\n +; Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +Ошибка создания приложения +; Failed to create Application! +; +MSG_OUTOFMEMORY +Не могу занять память +; Can't allocate RAM! \ No newline at end of file diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/spanish.ct b/workbench/system/Wanderer/Tools/WBRename/catalogs/spanish.ct new file mode 100644 index 00000000000..c564c00803d --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/spanish.ct @@ -0,0 +1,72 @@ +## version $VER: wbrename.catalog 0.1 (12.09.2006) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +WBRename +;WBRename +; +MSG_DESCRIPTION +Renombra los archivos y cajones +;Renames files and drawers +; +MSG_COPYRIGHT +©2006, AROS Dev Team +; +MSG_WINDOW_TITLE +Renombrar +;Rename +; +MSG_LINE +Escriba el nuevo nombre +;Enter a new name for: +; +MSG_NAME +\33bNombre:\33n +; \33bNew name:\33n +; +MSG_OK +_Aceptar +;_OK +; +MSG_CANCEL +Ca_ncelar +;Ca_ncel +; +MSG_ERROR_TITLE +WBRename: Error +; +MSG_ALREADY_EXIST +¡'%s' ya existe! +;'%s' already exists! +; +MSG_FAILED +¡El cambio de nombre de '%s' falló con el error:\'%s'! +;Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS +¡'%s' contiene caracteres ilegales! +;'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS +¡Se necesitan dos argumentos! +;Need 2 arguments! +; +MSG_INVALID_LOCK +¡Bloqueo inválido del directorio! +;Invalid directory lock! +; +MSG_WB_ONLY +¡No se puede iniciar desde el shell!\n +;Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP +¡Falló la creación de la Aplicación! +;Failed to create Application! +; +MSG_OUTOFMEMORY +¡No se pudo asignar RAM! +;Can't allocate RAM! +; diff --git a/workbench/system/Wanderer/Tools/WBRename/catalogs/wbrename.cd b/workbench/system/Wanderer/Tools/WBRename/catalogs/wbrename.cd new file mode 100644 index 00000000000..13ddceabc82 --- /dev/null +++ b/workbench/system/Wanderer/Tools/WBRename/catalogs/wbrename.cd @@ -0,0 +1,51 @@ +; +MSG_TITLE (//) +WBRename +; +MSG_DESCRIPTION (//) +Renames files and drawers +; +MSG_COPYRIGHT (//) +\xa9 2012-2019, The AROS Development Team +; +MSG_WINDOW_TITLE (//) +Rename +; +MSG_LINE (//) +Enter a new name for: '%s' +; +MSG_NAME (//) +\33bNew name: \33n +; +MSG_OK (//) +_OK +; +MSG_CANCEL (//) +Ca_ncel +; +MSG_ERROR_TITLE (//) +Error +; +MSG_ALREADY_EXIST (//) +'%s' already exists! +; +MSG_FAILED (//) +Rename of '%s' failed with error:\n'%s'! +; +MSG_ILLEGAL_CHARS (//) +'%s' contains illegal characters! +; +MSG_NEEDS_MORE_ARGS (//) +Need 2 arguments! +; +MSG_INVALID_LOCK (//) +Invalid directory lock! +; +MSG_WB_ONLY (//) +Cannot be started from shell!\n +; +MSG_FAILED_CREATE_APP (//) +Failed to create Application! +; +MSG_OUTOFMEMORY (//) +Can't allocate RAM! diff --git a/workbench/system/Wanderer/catalogs/.gitattributes b/workbench/system/Wanderer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/Wanderer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/Wanderer/catalogs/croatian.ct b/workbench/system/Wanderer/catalogs/croatian.ct new file mode 100644 index 00000000000..f12ff948e1b --- /dev/null +++ b/workbench/system/Wanderer/catalogs/croatian.ct @@ -0,0 +1,457 @@ +## version $VER: wanderer.catalog 1.0 (03.01.2010) +## language hrvatski +## codeset 5 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Upravitelj datoteka +; File manager +; +MSG_SCREENTITLE +Wanderer %s grafičke mem %s druge mem +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Podloga +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Izvrši Naredbu... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Konzola +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +GUI postavke... +; GUI settings... +; +MSG_MEN_ABOUT +O Programu... +; About... +; +MSG_MEN_QUIT +Izlaz... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Prozor +; Window +; +MSG_MEN_NEWDRAW +Nova Mapa... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Otvori Prethodni +; Open parent +; +MSG_MEN_CLOSE +Zatvori +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Obnovi +; Update +; +MSG_MEN_CONTENTS +Izaberi Sadržaj +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Ukloni Selekciju +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Zapamti Položaj +; Snapshot +; +MSG_MEN_ALL +Sve +; All +; +MSG_MEN_VIEW +Prikaz +; View +; +MSG_MEN_ICVIEW +Ikone +; Icon view +; +MSG_MEN_DCVIEW +Detalji +; Detail view +; +MSG_MEN_ALLFIL +Sve Datoteke +; All files +; +MSG_MEN_SORTIC +Razvrstaj +; Sort +; +MSG_MEN_CLNUP +Pospremi +; Clean up +; +MSG_MEN_SC_CLNUP +U +; U +; +MSG_MEN_BYNAME +Po Imenu +; By name +; +MSG_MEN_BYDATE +Po Datumu +; By date +; +MSG_MEN_BYSIZE +Po Veličini +; By size +; +MSG_MEN_BYTYPE +Po Tipu +; By type +; +MSG_MEN_REVERSE +Obrnuto +; Reverse +; +MSG_MEN_DRWFRST +Mape Prvo +; Drawers first +; +MSG_MEN_ICON +Ikona +; Icon +; +MSG_MEN_FIND +Pronađi... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Otvori +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Preimenuj... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informacija... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Izbriši +; Delete... +; +MSG_MEN_TOOLS +Alati +; Tools +; +MSG_MEN_ICONSORTING +Omogući Razvrstavanje Ikona +; Enable Icon Sorting +; +MSG_MEN_GROUPICONS +Grupiraj Ikone +; Group Icons +; +MSG_MEN_ICONSCLOSE +Zatvori +; Close +; +MSG_REALLYQUIT +Želite li izaći iz Wanderer-a? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Da|Ne +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc grafičke mem %pf druge mem +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Formatiraj Disk... +; Format disk... +; +MSG_MEN_SHUTDOWN +Isključiti... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Isključiti Sustav +; System shutdown +; +MSG_SHUTDOWN_BODY +Što želite učiniti? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Isključiti|Resetiraj računalo|Resetiraj AROS|*Odustani +; Power off|Restart computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Akcija koju ste izabrali nije podržana od strane vašeg sustava. +; The selected action is not supported by your system. +; +MSG_OK +*U redu +; *OK +; +MSG_EMPTY_TRASH +Isprazni Kantu za Smeće +; Empty trash +; +MSG_MEN_PUT_AWAY +Stavi sa Strane +; Put away +; +MSG_MEN_LEAVE_OUT +Izbaci Van +; Leave out +; +MSG_MEN_UNSNAPSHOT +Zaboravi Položaj +; Unsnapshot +; +MSG_MEN_SNAPSHOT +Zapamti Položaj +; Snapshot +; +MSG_REQU_DELETE +Izbriši Datoteku... +; Delete file... +; +MSG_REQU_DELETE_YESNO +Da|Da za Sve|_Ne|Ne za Sve +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Dali ste sigurni da želite izbrisati Mapu +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Dali ste sigurni da želite izbrisati Datoteku +; Really delete file +; +MSG_REQU_DELETE_FILE_M +koja se nalazi +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Spremi preko postojeće datoteke... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Dali ste sigurni da želite spremiti preko postojeće datoteke +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +koja se nalazi +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +Spremi|Spremi Sve|_Ne|Ne za Sve +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +Izo_stavi| +; _Skip|Obust_avi +; +MSG_REQU_PROTECTION +Zaštita Datoteka +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Ukloni zaštitu|Ukloni z_aštitu za Sve|_Ne|Ne za Sve +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Želite li ukloniti zaštitu sa mape +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Ne mogu pristupiti datoteci +; Can't access file +; +MSG_NOFILEACCESS_M +koja se nalazi +; located in +; +MSG_NOFILEACCESS_E + +; +; +MSG_NODRAWERACCESS_S +Ne mogu pristupiti mapi +; Can't access drawer +; +MSG_NODRAWERACCESS_E + +; +; +MSG_REQU_FILEUNPROTECT_S +Želite li ukloniti zaštitu sa datoteke +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +koja se nalazi +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Pristup datoteke +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Obrada u toku... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Stop +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Premjesti od +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Premjesti u +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Kopiraj od +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Kopiraj u +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Datoteka +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Omjer prijenosa podataka +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Izbriši iz mape +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Datoteka za brisanje +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Obrađenih datoteka: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Veličina trenutne datoteke: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Sveukupna veličina: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/czech.ct b/workbench/system/Wanderer/catalogs/czech.ct new file mode 100644 index 00000000000..de322a64773 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/czech.ct @@ -0,0 +1,473 @@ +## version $VER: Wanderer.catalog 3.0 (26.8.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Správce souborů +; File manager +; +MSG_SCREENTITLE +Wanderer %s grafické paměti %s ostatní paměti +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +KB +; K +; +MSG_MEM_M +MB +; M +; +MSG_MEM_G +GB +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Pozadí +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Spustit... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Vzhled systému... +; GUI settings... +; +MSG_MEN_ABOUT +O programu... +; About... +; +MSG_MEN_QUIT +Ukončit... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Okno +; Window +; +MSG_MEN_NEWDRAW +Nový adresář... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Nadřazený adresář +; Open parent +; +MSG_MEN_CLOSE +Zavřít +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Aktualizovat +; Update +; +MSG_MEN_CONTENTS +Vybrat vše +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Zrušit výběr +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Uložit pozici +; Snapshot +; +MSG_MEN_ALL +Vše +; All +; +MSG_MEN_VIEW +Pohledy +; View +; +MSG_MEN_ICVIEW +Ikony +; Icon view +; +MSG_MEN_DCVIEW +Podrobnosti +; Detail view +; +MSG_MEN_ALLFIL +Všechny objekty +; All files +; +MSG_MEN_SORTIC +Seřadit +; Sort +; +MSG_MEN_CLNUP +Srovnat ikony +; Clean up +; +MSG_MEN_SC_CLNUP +. +; . +; +MSG_MEN_BYNAME +Dle názvu +; By name +; +MSG_MEN_BYDATE +Dle data +; By date +; +MSG_MEN_BYSIZE +Dle velikosti +; By size +; +MSG_MEN_BYTYPE +Dle druhu +; By type +; +MSG_MEN_REVERSE +Obráceně +; Reverse +; +MSG_MEN_DRWFRST +Adresáře jako první +; Drawers first +; +MSG_MEN_ICON +Ikony +; Icon +; +MSG_MEN_FIND +Hledat... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Otevřít +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Přejmenovat... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informace... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Smazat... +; Delete... +; +MSG_MEN_TOOLS +Nástroje +; Tools +; +MSG_MEN_ICONSORTING +Povolit řazení +; Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS +Seskupit ikony +; Group Icons +; +MSG_MEN_ICONSCLOSE +Zavřít +; Close +; +MSG_REALLYQUIT +Opravdu chcete ukončit správce souborů? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Ano|Ne +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc grafické paměti %pf ostatní paměti +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Zformátovat disk... +; Format disk... +; +MSG_MEN_SHUTDOWN +Vypnout systém... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Vypnutí systému +; System shutdown +; +MSG_SHUTDOWN_BODY +Vyberte prosím požadovanou akci. +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Vypnout|Restartovat hardware|Restartovat systém|*Zrušit +; Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Požadovanou akci nelze provést. +; The selected action is not supported by your system. +; +MSG_OK +*OK +; *OK +; +MSG_EMPTY_TRASH +Vyprázdnit koš +; Empty trash +; +MSG_MEN_PUT_AWAY +Sklidit z plochy +; Put away +; +MSG_MEN_SC_PUT_AWAY +P +; P +; +MSG_MEN_LEAVE_OUT +Umístit na plochu +; Leave out +; +MSG_MEN_SC_LEAVE_OUT +L +; L +; +MSG_MEN_UNSNAPSHOT +Zrušit umístění +; Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT +U +; U +; +MSG_MEN_SNAPSHOT +Zapsat umístění +; Snapshot +; +MSG_MEN_SC_SNAPSHOT +S +; S +; +MSG_REQU_DELETE +Smazat soubor +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Smazat|Smaz_at vše|_Nemazat|Př_erušit +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Opravdu chcete smazat adresář +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Opravdu chcete smazat soubor +; Really delete file +; +MSG_REQU_DELETE_FILE_M +umístěný v adresáři +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Přepsat soubor +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Opravdu chcete přepsat soubor +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +umístěný v adresáři +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Přepsat|Přeps_at vše|_Nemazat|Př_erušit +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +Pře_skočit|Př_erušit +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Ochrana proti smazání +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Odebrat|Odebr_at všem|_Neměnit|Př_erušit +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Chcete odebrat ochranu proti smazání u adresáře +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Chyba při zamykání souboru +; Can't access file +; +MSG_NOFILEACCESS_M +umístěný v adresáři +; located in +; +MSG_NOFILEACCESS_E + +; +; +MSG_NODRAWERACCESS_S +Chyba při zamykání adresáře +; Can't access drawer +; +MSG_NODRAWERACCESS_E + +; +; +MSG_REQU_FILEUNPROTECT_S +Chcete odebrat ochranu proti smazání u souboru +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +umístěného v adresáři +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Práce se soubory +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Zpracování dat... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Přerušit +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Přesunout z +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Přesunout do +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Zkopírovat z +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Zkopírovat do +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Soubor +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Přenosová rychlost +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Smazat z adresáře +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Smazat soubor +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Zpracovaných souborů: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Aktuální soubor: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Celková velikost: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/dutch.ct b/workbench/system/Wanderer/catalogs/dutch.ct new file mode 100644 index 00000000000..01087903346 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/dutch.ct @@ -0,0 +1,233 @@ +## version $VER: wanderer.catalog 1.1 (9.2.2006) +## language nederlands +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Bestanden Manager +; File Manager +; +MSG_SCREENTITLE +Wanderer %s grafisch %s ander +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Achtergrond +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Opdracht Uitvoeren... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell... +; Shell... +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +GUI Instellingen... +; GUI Settings... +; +MSG_MEN_ABOUT +Over... +; About... +; +MSG_MEN_QUIT +Einde... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Venster +; Window +; +MSG_MEN_NEWDRAW +Nieuwe Map... +; New Drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Open hogere +; Open Parent +; +MSG_MEN_CLOSE +Sluit +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Werk bij +; Update +; +MSG_MEN_CONTENTS +Selecteer inhoud +; Select Contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Wis selectie +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Leg Vast +; Snapshot +; +MSG_MEN_ALL +Alles +; All +; +MSG_MEN_VIEW +Toon +; View +; +MSG_MEN_ICVIEW +Iconen +; Icon view +; +MSG_MEN_DCVIEW +Details +; Detail view +; +MSG_MEN_ALLFIL +Alle Bestanden +; All files +; +MSG_MEN_SORTIC +Gesorteerd +; Sorted +; +MSG_MEN_CLNUP +Ruim Op +; Clean Up +; +MSG_MEN_SC_CLNUP +U +; U +; +MSG_MEN_BYNAME +Op naam +; By name +; +MSG_MEN_BYDATE +Op datum +; By Date +; +MSG_MEN_BYSIZE +Op grootte +; By size +; +MSG_MEN_REVERSE +Omdraaien +; Reverse +; +MSG_MEN_DRWFRST +Mappen eerst +; Drawers first +; +MSG_MEN_ICON +Iconen +; Icon +; +MSG_MEN_FIND +Zoek... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Open +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Hernoem... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informatie... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Verwijderen... +; Delete... +; +MSG_MEN_TOOLS +Tools +; Tools +; +MSG_REALLYQUIT +Wilt u Wanderer echt stoppen? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Ja|Nee +; *Yes|No +; +MSG_DUMMY +Dummy +; DUMMY +; DUMMY :) diff --git a/workbench/system/Wanderer/catalogs/finnish.ct b/workbench/system/Wanderer/catalogs/finnish.ct new file mode 100644 index 00000000000..7621e2de7de --- /dev/null +++ b/workbench/system/Wanderer/catalogs/finnish.ct @@ -0,0 +1,9 @@ +## version $VER: wanderer.catalog 1.0 (21.02.2004) +## language suomi +## codeset 0 +; +; +MSG_DUMMY +DUMMY +; DUMMY +; diff --git a/workbench/system/Wanderer/catalogs/french.ct b/workbench/system/Wanderer/catalogs/french.ct new file mode 100644 index 00000000000..a02615934ae --- /dev/null +++ b/workbench/system/Wanderer/catalogs/french.ct @@ -0,0 +1,473 @@ +## version $VER: Wanderer.catalog 3.0 (8.6.2017) +## language français +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Gestionnaire de fichier +; File manager +; +MSG_SCREENTITLE +Wanderer %s mémoire graphique %s autre mémoire +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +o +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Fond d'écran +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Exécuter... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Réglages de l'interface graphique... +; GUI settings... +; +MSG_MEN_ABOUT +A propos... +; About... +; +MSG_MEN_QUIT +Quitter... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Fenêtre +; Window +; +MSG_MEN_NEWDRAW +Nouveau dossier... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Ouvrir dossier parent +; Open parent +; +MSG_MEN_CLOSE +Fermer +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Rafraîchir +; Update +; +MSG_MEN_CONTENTS +Tout sélectionner +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Ne rien sélectionner +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Figer +; Snapshot +; +MSG_MEN_ALL +Tout +; All +; +MSG_MEN_VIEW +Fenêtre +; View +; +MSG_MEN_ICVIEW +Vue des icônes +; Icon view +; +MSG_MEN_DCVIEW +Vue détaillée +; Detail view +; +MSG_MEN_ALLFIL +Tous les fichiers +; All files +; +MSG_MEN_SORTIC +Trier +; Sort +; +MSG_MEN_CLNUP +Nettoyer +; Clean up +; +MSG_MEN_SC_CLNUP +. +; . +; +MSG_MEN_BYNAME +Par nom +; By name +; +MSG_MEN_BYDATE +Par date +; By date +; +MSG_MEN_BYSIZE +Par taille +; By size +; +MSG_MEN_BYTYPE +Par type +; By type +; +MSG_MEN_REVERSE +Inverse +; Reverse +; +MSG_MEN_DRWFRST +Dossiers en premier +; Drawers first +; +MSG_MEN_ICON +Icône +; Icon +; +MSG_MEN_FIND +Rechercher... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Ouvrir +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Renommer... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Information... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Effacer... +; Delete... +; +MSG_MEN_TOOLS +Outils +; Tools +; +MSG_MEN_ICONSORTING +Activer le tri des icônes +; Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS +Groupe d'icônes +; Group Icons +; +MSG_MEN_ICONSCLOSE +Fermer +; Close +; +MSG_REALLYQUIT +Voulez vous réellement quitter Wanderer ? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Oui|Non +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc mémoire graphique %pf mémoire autre +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Formater un disque... +; Format disk... +; +MSG_MEN_SHUTDOWN +Eteindre... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Arrêt du système +; System shutdown +; +MSG_SHUTDOWN_BODY +Que désirez vous faire ? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Eteindre|Redémarrer l'ordinateur|Redémarrer AROS|*Annuler +; Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +L'action n'est pas disponible pour cette machine. +; The selected action is not supported by your system. +; +MSG_OK +*Ok +; *OK +; +MSG_EMPTY_TRASH +Vider la corbeille +; Empty trash +; +MSG_MEN_PUT_AWAY +Ranger +; Put away +; +MSG_MEN_SC_PUT_AWAY +P +; P +; +MSG_MEN_LEAVE_OUT +Sortir +; Leave out +; +MSG_MEN_SC_LEAVE_OUT +L +; L +; +MSG_MEN_UNSNAPSHOT +Défiger +; Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT +U +; U +; +MSG_MEN_SNAPSHOT +Figer +; Snapshot +; +MSG_MEN_SC_SNAPSHOT +S +; S +; +MSG_REQU_DELETE +Suppression du fichier... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Oui|Oui à tou_s|_Non|Non à _tous +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Voulez vous réellement supprimer le dossier +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Voulez vous réellement supprimer le fichier +; Really delete file +; +MSG_REQU_DELETE_FILE_M +situé dans +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Remplacer le fichier... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Désirez vous réellement remplacer le fichier +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +situé dans +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Remplacer|Remplacer _tout|_Non|Non à tou_s +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Passer|_Arrêter +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Protection du fichier +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Déprotéger|Déprotéger _tous|_Non|_Non à tou_s +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Désirez vous déprotéger le dossier +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Impossible d'accéder au fichier +; Can't access file +; +MSG_NOFILEACCESS_M +situé dans +; located in +; +MSG_NOFILEACCESS_E + +; +; +MSG_NODRAWERACCESS_S +Impossible d'accéder au dossier +; Can't access drawer +; +MSG_NODRAWERACCESS_E + +; +; +MSG_REQU_FILEUNPROTECT_S +Désirez vous déprotéger le fichier +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +situé dans +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Accès au fichier Wanderer +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +En activité fichier... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Arrêt +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Déplacer de +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Déplacer vers +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Copier de +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Copier vers +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Fichier +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Vitesse de transfert +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Supprimer du dossier +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Fichier à supprimer +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Fichiers traités : +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Taille du fichier courant : +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Taille totale : +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/german.ct b/workbench/system/Wanderer/catalogs/german.ct new file mode 100644 index 00000000000..475e7702473 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/german.ct @@ -0,0 +1,473 @@ +## version $VER: wanderer.catalog 3.1 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Dateimanager +; File manager +; +MSG_SCREENTITLE +Wanderer %s Grafikspeicher %s sonstiger Speicher +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Wanderer als Hintergrund +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Befehl ausführen ... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell öffnen +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Benutzeroberfläche einstellen ... +; GUI settings... +; +MSG_MEN_ABOUT +Über ... +; About... +; +MSG_MEN_QUIT +Wanderer beenden ... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Fenster +; Window +; +MSG_MEN_NEWDRAW +Neue Schublade anlegen ... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Übergeordnete Schublade öffnen +; Open parent +; +MSG_MEN_CLOSE +Schließen +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Aktualisieren +; Update +; +MSG_MEN_CONTENTS +Alles auswählen +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Markierung löschen +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Fixieren +; Snapshot +; +MSG_MEN_ALL +alles +; All +; +MSG_MEN_VIEW +Inhalt anzeigen +; View +; +MSG_MEN_ICVIEW +nur Dateien mit Piktogramm +; Icon view +; +MSG_MEN_DCVIEW +Details anzeigen +; Detail view +; +MSG_MEN_ALLFIL +alle Dateien +; All files +; +MSG_MEN_SORTIC +Inhalt auflisten +; Sort +; +MSG_MEN_CLNUP +Aufräumen +; Clean up +; +MSG_MEN_SC_CLNUP +. +; . +; +MSG_MEN_BYNAME +nach Name +; By name +; +MSG_MEN_BYDATE +nach Datum +; By date +; +MSG_MEN_BYSIZE +nach Größe +; By size +; +MSG_MEN_BYTYPE +nach Art +; By type +; +MSG_MEN_REVERSE +umgekehrt +; Reverse +; +MSG_MEN_DRWFRST +Schubladen zuerst +; Drawers first +; +MSG_MEN_ICON +Piktogramm +; Icon +; +MSG_MEN_FIND +Suchen... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Öffnen +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Umbenennen ... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informationen anzeigen ... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Löschen ... +; Delete... +; +MSG_MEN_TOOLS +Hilfsmittel +; Tools +; +MSG_MEN_ICONSORTING +Piktogramme sortieren +; Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS +Piktogramme gruppieren +; Group Icons +; +MSG_MEN_ICONSCLOSE +Schließen +; Close +; +MSG_REALLYQUIT +Möchten Sie Wanderer wirklich beenden? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Ja|Nein +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc Grafikspeicher %pf sonstiger Speicher +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Disk formatieren ... +; Format disk... +; +MSG_MEN_SHUTDOWN +Herunterfahren ... +; Shut down... +; +MSG_SHUTDOWN_TITLE +System herunterfahren +; System shutdown +; +MSG_SHUTDOWN_BODY +Was möchten Sie tun? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Abschalten|Rechner neustarten|AROS neustarten|*Abbrechen +; Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Die gewählte Funktion wird von Ihrem System nicht unterstützt +; The selected action is not supported by your system. +; +MSG_OK +*OK +; *OK +; +MSG_EMPTY_TRASH +Papierkorb leeren +; Empty trash +; +MSG_MEN_PUT_AWAY +Zurücklegen +; Put away +; +MSG_MEN_SC_PUT_AWAY +P +; P +; +MSG_MEN_LEAVE_OUT +Auslagern +; Leave out +; +MSG_MEN_SC_LEAVE_OUT +L +; L +; +MSG_MEN_UNSNAPSHOT +Position freigeben +; Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT +U +; U +; +MSG_MEN_SNAPSHOT +Fixieren +; Snapshot +; +MSG_MEN_SC_SNAPSHOT +S +; S +; +MSG_REQU_DELETE +Datei Löschen ... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Ja|Ja, _alle|_Nein|Nein, alles _behalten +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Schublade +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +wirklich löschen? +; ? +; +MSG_REQU_DELETE_FILE_S +Soll die Datei +; Really delete file +; +MSG_REQU_DELETE_FILE_M +in Schublade +; located in +; +MSG_REQU_DELETE_FILE_E +wirklich gelöscht werden? +; ? +; +MSG_REQU_OVERWRITE +Datei überschreiben ... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Soll die Datei +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +in Schublade +; located in +; +MSG_REQU_OVERWRITE_E +wirklich überschrieben werden? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Überschreiben|_Alles überschreiben|_Nein|Nein, alles _behalten +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Überspringen|_Abbrechen +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Dateischutz bearbeiten +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Entsichern|_Alle entsichern|_Nein|Nein, _keine Datei entsichern +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Soll der Ordner +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +entsichert werden? +; ? +; +MSG_NOFILEACCESS_S +Kann auf Datei +; Can't access file +; +MSG_NOFILEACCESS_M +in Schublade +; located in +; +MSG_NOFILEACCESS_E +nicht zugreifen +; +; +MSG_NODRAWERACCESS_S +Auf die Schublade +; Can't access drawer +; +MSG_NODRAWERACCESS_E +kann nicht zugegriffen werden +; +; +MSG_REQU_FILEUNPROTECT_S +Soll die Datei +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +in Schublade +; located in +; +MSG_REQU_FILEUNPROTECT_E +entsperrt werden? +; ? +; +MSG_WANDERER_FILEACCESS +Wanderer Dateizugriff +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Verarbeite ... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Abbrechen +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Verschiebe von +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Verschiebe nach +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Kopiere von +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Kopiere nach +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Datei +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Datenrate +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Lösche aus Schublade +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Zu löschende Datei +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Bearbeitete Dateien: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Größe der aktuellen Datei: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Gesamtgröße: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/italian.ct b/workbench/system/Wanderer/catalogs/italian.ct new file mode 100644 index 00000000000..7f57bd241af --- /dev/null +++ b/workbench/system/Wanderer/catalogs/italian.ct @@ -0,0 +1,473 @@ +## version $VER: wanderer.catalog 3.0 (8.6.2017) +## language italiano +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Gestione File +; File manager +; +MSG_SCREENTITLE +Wanderer %s Memoria Grafica %s altra Memoria +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Sfondo +; Backdrop +; +MSG_MEN_SC_BACKDROP +S +; B +; +MSG_MEN_EXECUTE +Esegui... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Impostazioni Gui... +; GUI settings... +; +MSG_MEN_ABOUT +Informazioni... +; About... +; +MSG_MEN_QUIT +Termina... +; Quit... +; +MSG_MEN_SC_QUIT +T +; Q +; +MSG_MEN_WINDOW +Finestra +; Window +; +MSG_MEN_NEWDRAW +Nuovo Cassetto... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Apri precedente +; Open parent +; +MSG_MEN_CLOSE +Chiudi +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Aggiorna +; Update +; +MSG_MEN_CONTENTS +Seleziona Contenuto +; Select contents +; +MSG_MEN_SC_CONTENTS +C +; A +; +MSG_MEN_CLRSEL +Annulla Selezione +; Clear selection +; +MSG_MEN_SC_CLRSEL +A +; Z +; +MSG_MEN_SNAPSHT +Fissa +; Snapshot +; +MSG_MEN_ALL +Tutto +; All +; +MSG_MEN_VIEW +Vista +; View +; +MSG_MEN_ICVIEW +Vista a icone +; Icon view +; +MSG_MEN_DCVIEW +Vista dettagliata +; Detail view +; +MSG_MEN_ALLFIL +Tutti i file +; All files +; +MSG_MEN_SORTIC +Ordina +; Sort +; +MSG_MEN_CLNUP +Pulisci +; Clean up +; +MSG_MEN_SC_CLNUP +. +; . +; +MSG_MEN_BYNAME +Per nome +; By name +; +MSG_MEN_BYDATE +Per data +; By date +; +MSG_MEN_BYSIZE +Per dimensione +; By size +; +MSG_MEN_BYTYPE +Per tipo +; By type +; +MSG_MEN_REVERSE +Inverti +; Reverse +; +MSG_MEN_DRWFRST +Prima i cassetti +; Drawers first +; +MSG_MEN_ICON +Icona +; Icon +; +MSG_MEN_FIND +Cerca... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Apri +; Open +; +MSG_MEN_SC_OPEN +A +; O +; +MSG_MEN_RENAME +Rinomina... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informazioni... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Elimina... +; Delete... +; +MSG_MEN_TOOLS +Strumenti +; Tools +; +MSG_MEN_ICONSORTING +Abilita ordinamento automatico +; Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS +Raggruppa icone +; Group Icons +; +MSG_MEN_ICONSCLOSE +Chiudi +; Close +; +MSG_REALLYQUIT +Vuoi davvero chiudere Wanderer? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Sì|No +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc memoria grafica %pf altra memoria +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Formatta ... +; Format disk... +; +MSG_MEN_SHUTDOWN +Fine sessione ... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Fine Sessione +; System shutdown +; +MSG_SHUTDOWN_BODY +Cosa preferisci fare? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Spegni|Riavvia Computer|Riavvia AROS|*Annulla +; Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +L'opzione richiesta non è supportata da questo computer. +; The selected action is not supported by your system. +; +MSG_OK +*OK +; *OK +; +MSG_EMPTY_TRASH +Svuota cestino +; Empty trash +; +MSG_MEN_PUT_AWAY +Riponi +; Put away +; +MSG_MEN_SC_PUT_AWAY +P +; P +; +MSG_MEN_LEAVE_OUT +Sul desktop +; Leave out +; +MSG_MEN_SC_LEAVE_OUT +L +; L +; +MSG_MEN_UNSNAPSHOT +Libera +; Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT +U +; U +; +MSG_MEN_SNAPSHOT +Fissa +; Snapshot +; +MSG_MEN_SC_SNAPSHOT +S +; S +; +MSG_REQU_DELETE +Elimina file ... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Sì|Elimina _Tutti|_No|No _Per Tutti +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Eliminare davvero il cassetto +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Eliminare davvero il file +; Really delete file +; +MSG_REQU_DELETE_FILE_M +contenuto in +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Sovrascrivi file ... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Sovrascrivere davvero il file +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +contenuto in +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Sovrascrivi|Sovrascrivi _Tutti|_No|No _Per Tutti +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Salta|_Annulla +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Protezione file +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Libera|Libera _tutti|_No|No _per tutti +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Liberare il cassetto +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Impossibile accedere al file +; Can't access file +; +MSG_NOFILEACCESS_M +presente in +; located in +; +MSG_NOFILEACCESS_E + +; +; +MSG_NODRAWERACCESS_S +Impossibile accedere al cassetto +; Can't access drawer +; +MSG_NODRAWERACCESS_E + +; +; +MSG_REQU_FILEUNPROTECT_S +Vuoi liberare il file +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +presente in +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Accesso al file +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Elaborazione ... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Stop +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Sposta da +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Sposta in +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Copia da +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Copia in +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +File +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Velocità di trasferimento +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Elimina dal cassetto +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +File da eliminare +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +File elaborati: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Dimensioni del file corrente: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Dimensioni totali: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/mmakefile.src b/workbench/system/Wanderer/catalogs/mmakefile.src new file mode 100644 index 00000000000..5fcf303948d --- /dev/null +++ b/workbench/system/Wanderer/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2004-2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS := czech french german italian norwegian +# other catalogs need update to version 3 + +%build_catalogs mmake=workbench-system-wanderer-catalogs \ + catalogs=$(CATALOGS) \ + name=Wanderer subdir=System/System diff --git a/workbench/system/Wanderer/catalogs/norwegian.ct b/workbench/system/Wanderer/catalogs/norwegian.ct new file mode 100644 index 00000000000..a42159ddbd2 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/norwegian.ct @@ -0,0 +1,473 @@ +## version $VER: wanderer.catalog 3.1 (07.10.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Filutforsker +; File manager +; +MSG_SCREENTITLE +Wanderer %s grafikkminne %s annet minne +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; B +; +MSG_MEM_K +K +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Bakgrunnsvindu +; Backdrop +; +MSG_MEN_SC_BACKDROP +W +; B +; +MSG_MEN_EXECUTE +Utfør kommando... +; Execute... +; +MSG_MEN_SC_EXECUTE +U +; E +; +MSG_MEN_SHELL +Åpne shell +; Shell +; +MSG_MEN_SC_SHELL +K +; W +; +MSG_MEN_GUISET +Brukergrensesnittinnstillinger... +; GUI settings... +; +MSG_MEN_ABOUT +Om... +; About... +; +MSG_MEN_QUIT +Avslutt... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Vindu +; Window +; +MSG_MEN_NEWDRAW +Ny skuff... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +S +; N +; +MSG_MEN_OPENPAR +Åpne skuffen over +; Open parent +; +MSG_MEN_CLOSE +Lukke +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Oppdater +; Update +; +MSG_MEN_CONTENTS +Velg innhold +; Select contents +; +MSG_MEN_SC_CONTENTS +J +; A +; +MSG_MEN_CLRSEL +Fjern valg +; Clear selection +; +MSG_MEN_SC_CLRSEL +X +; Z +; +MSG_MEN_SNAPSHT +Huske plassering +; Snapshot +; +MSG_MEN_ALL +Allt +; All +; +MSG_MEN_VIEW +Vis +; View +; +MSG_MEN_ICVIEW +Kun ikoner +; Icon view +; +MSG_MEN_DCVIEW +Detaljvisning +; Detail view +; +MSG_MEN_ALLFIL +Alle filer +; All files +; +MSG_MEN_SORTIC +Sorter +; Sort +; +MSG_MEN_CLNUP +Rydd opp +; Clean up +; +MSG_MEN_SC_CLNUP +R +; . +; +MSG_MEN_BYNAME +etter navn +; By name +; +MSG_MEN_BYDATE +etter dato +; By date +; +MSG_MEN_BYSIZE +etter størrelse +; By size +; +MSG_MEN_BYTYPE +etter type +; By type +; +MSG_MEN_REVERSE +Reverser +; Reverse +; +MSG_MEN_DRWFRST +Skuffer først +; Drawers first +; +MSG_MEN_ICON +Ikon +; Icon +; +MSG_MEN_FIND +Søk... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Åpne +; Open +; +MSG_MEN_SC_OPEN +Å +; O +; +MSG_MEN_RENAME +Endre navn ... +; Rename... +; +MSG_MEN_SC_RENAME +N +; R +; +MSG_MEN_INFO +Informasjon ... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Slett ... +; Delete... +; +MSG_MEN_TOOLS +Verktøy +; Tools +; +MSG_MEN_ICONSORTING +Aktiver automatisk sortering av ikoner +; Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS +Grupper ikoner +; Group Icons +; +MSG_MEN_ICONSCLOSE +Lukk +; Close +; +MSG_REALLYQUIT +Ønsker du virkelig å avlutten Wanderer? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Ja|Nei +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc Grafikkminne %pf annet minne +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Formater disk ... +; Format disk... +; +MSG_MEN_SHUTDOWN +Slå av ... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Slå av maskinen +; System shutdown +; +MSG_SHUTDOWN_BODY +Hva ønsker du å gjøre? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Skru av maskinen|Start maskinen på nytt|Start AROS på nytt|*Avbryte +; Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Valgt handling er ikke støttet av din maskin +; The selected action is not supported by your system. +; +MSG_OK +*OK +; *OK +; +MSG_EMPTY_TRASH +Tøm søppelkassen +; Empty trash +; +MSG_MEN_PUT_AWAY +Legg tilbake +; Put away +; +MSG_MEN_SC_PUT_AWAY +T +; P +; +MSG_MEN_LEAVE_OUT +Legg ut +; Leave out +; +MSG_MEN_SC_LEAVE_OUT +Y +; L +; +MSG_MEN_UNSNAPSHOT +Glem plassering +; Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT +G +; U +; +MSG_MEN_SNAPSHOT +Husk plassering +; Snapshot +; +MSG_MEN_SC_SNAPSHOT +H +; S +; +MSG_REQU_DELETE +Slett fil ... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Ja|Ja, _alle|_nein|Nei _til alle +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Ønsker du virkelig å slette skuffen +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Ønsker du virkelig å slette filen +; Really delete file +; +MSG_REQU_DELETE_FILE_M +i +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Overskriv fil ... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Ønsker du virkelig å overskrive filen +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +i +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Overksrive|Overksrive _alle|_Nei|Nei _til alle +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Hopp over|_Avbryt +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Fil beskyttelse +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Fjern beskyttelse|Fjern beskyttelse fra _alle|_Nei|Nein _til alle +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Ønsker du virkelig å fjerne skrivebeskyttelsen av skuffen +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Klarer ikke aksessere filen +; Can't access file +; +MSG_NOFILEACCESS_M +i +; located in +; +MSG_NOFILEACCESS_E +ingen tilgang til filen +; +; +MSG_NODRAWERACCESS_S +Klarer ikke aksessere skuffen +; Can't access drawer +; +MSG_NODRAWERACCESS_E +ingen tilgang til skuffen +; +; +MSG_REQU_FILEUNPROTECT_S +Ønsker du virkelig å fjerne filbeskyttelsen av filen +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +i +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Wanderer filrettigheter +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Prosesserer ... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Avbryt +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Flytt fra +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Flytt til +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Kopier fra +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Kopier til +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Fil +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Overføringshastighet +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Slett fra skuff +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Fil som skal slettes +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Prosesserte filer: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Størrelse på gjeldende fil: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Totalstørrelse: +; Overall size: +; \ No newline at end of file diff --git a/workbench/system/Wanderer/catalogs/polish.ct b/workbench/system/Wanderer/catalogs/polish.ct new file mode 100644 index 00000000000..52f914ca12f --- /dev/null +++ b/workbench/system/Wanderer/catalogs/polish.ct @@ -0,0 +1,456 @@ +## version $VER: wanderer.catalog 1.2 (29.04.2010) +## language polski +## codeset 5 +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Menedżer plików +; File manager +; +MSG_SCREENTITLE +Wanderer %s pamięci graficznej %s pamięci pozostałej +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +b +; B +; +MSG_MEM_K +k +; K +; +MSG_MEM_M +M +; M +; +MSG_MEM_G +G +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Wanderer jako tło +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Wykonaj polecenie... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Shell +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Ustawienia GUI... +; GUI settings... +; +MSG_MEN_ABOUT +O programie... +; About... +; +MSG_MEN_QUIT +Skończ... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Okno +; Window +; +MSG_MEN_NEWDRAW +Nowy katalog... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Otwórz nadrzędny +; Open parent +; +MSG_MEN_CLOSE +Zamknij okno +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Zaktualizuj zawartość +; Update +; +MSG_MEN_CONTENTS +Zaznacz wszystko +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Odznacz wybrane +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Utrwal pozycję +; Snapshot +; +MSG_MEN_ALL +wszystko +; All +; +MSG_MEN_VIEW +Wyświetl +; View +; +MSG_MEN_ICVIEW +ikonki +; Icon view +; +MSG_MEN_DCVIEW +Pokaż szczegóły +; Detail view +; +MSG_MEN_ALLFIL +Wszystkie pliki +; All files +; +MSG_MEN_SORTIC +Sortuj zawartość +; Sort +; +MSG_MEN_CLNUP +Uporządkuj +; Clean up +; +MSG_MEN_SC_CLNUP +U +; U +; +MSG_MEN_BYNAME +wg nazwy +; By name +; +MSG_MEN_BYDATE +wg daty +; By date +; +MSG_MEN_BYSIZE +wg wielkości +; By size +; +MSG_MEN_BYTYPE +wg typu +; By type +; +MSG_MEN_REVERSE +Kolejność odwrotna +; Reverse +; +MSG_MEN_DRWFRST +Najpierw katalogi +; Drawers first +; +MSG_MEN_ICON +Ikonka +; Icon +; +MSG_MEN_FIND +Znajdź... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Otwórz +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Zmień nazwę... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Informacje... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Skasuj... +; Delete... +; +MSG_MEN_TOOLS +Narzędzia +; Tools +; +MSG_MEN_ICONSORTING +Sortowanie ikon +; Enable Icon Sorting +; +MSG_MEN_GROUPICONS +Grupowanie ikon +; Group Icons +; +MSG_MEN_ICONSCLOSE +Zamknij +; Close +; +MSG_REALLYQUIT +Czy naprawdę chcesz zamknąć Wanderera? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Tak|Nie +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; +MSG_USERSCREENTITLE +Wanderer %pc pamięci graficznej %pf pamięci pozostałej +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Sformatuj dysk... +; Format disk... +; +MSG_MEN_SHUTDOWN +Wyłącz... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Wyłączanie systemu +; System shutdown +; +MSG_SHUTDOWN_BODY +Co chcesz zrobić? +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Wyłącz|Uruchom ponownie komputer|Uruchom ponownie system|*Poniechaj +; Power off|Restart computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Wybrana opcja nie jest obsługiwana przez Twój system. +; The selected action is not supported by your system. +; +MSG_OK +*OK +; *OK +; +MSG_EMPTY_TRASH +Opróżnij śmietnik +; Empty trash +; +MSG_MEN_PUT_AWAY +Schowaj +; Put away +; +MSG_MEN_LEAVE_OUT +Wyjmij na blat +; Leave out +; +MSG_MEN_UNSNAPSHOT +Uwolnij pozycję +; Unsnapshot +; +MSG_MEN_SNAPSHOT +Utrwal pozycję +; Snapshot +; +MSG_REQU_DELETE +Skasuj... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Tak|Tak, _wszystkie|_Nie|Nie, _pomiń wszystkie +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Czy katalog +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +ma rzeczywiście zostać skasowany? +; ? +; +MSG_REQU_DELETE_FILE_S +Czy plik +; Really delete file +; +MSG_REQU_DELETE_FILE_M +w katalogu +; located in +; +MSG_REQU_DELETE_FILE_E +ma zostać skasowany? +; ? +; +MSG_REQU_OVERWRITE +Nadpisać plik... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Czy plik +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +w katalogu +; located in +; +MSG_REQU_OVERWRITE_E +ma zostać nadpisany? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Tak, nadpisać|_Wszystkie|_Nie|Nie, _pomiń wszystkie +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Pomiń|P_rzerwij +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Zabezpieczenie pliku +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Odbezpiecz|Odbezpiecz _wszystkie|_Nie|Nie, nie odbezpieczaj _plików +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Czy katalog +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +ma zostać odbezpieczony? +; ? +; +MSG_NOFILEACCESS_S +Dostęp do pliku +; Can't access file +; +MSG_NOFILEACCESS_M +w katalogu +; located in +; +MSG_NOFILEACCESS_E +niemożliwy +; +; +MSG_NODRAWERACCESS_S +Dostęp do katalogu +; Can't access drawer +; +MSG_NODRAWERACCESS_E +niemożliwy +; +; +MSG_REQU_FILEUNPROTECT_S +Czy plik +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +w katalogu +; located in +; +MSG_REQU_FILEUNPROTECT_E +ma zostać odbezpieczony? +; ? +; +MSG_WANDERER_FILEACCESS +Dostęp do pliku +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Przetwarzanie... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Przerwij +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Przenieś z +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Przenieś do +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Kopiuj z +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Kopiuj do +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +plik +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +szybkość transmisji danych +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Skasuj z katalogu +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Plik do skasowania +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Przetwarzane pliki: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Wielkość bieżącego pliku: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Wielkość łączna: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/portuguese.ct b/workbench/system/Wanderer/catalogs/portuguese.ct new file mode 100644 index 00000000000..314b8351757 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/portuguese.ct @@ -0,0 +1,221 @@ +## version $VER: wanderer.catalog 1.0 (20.09.2008) +## language português +## codeset 0 +; +; Translated by João Ralha (hardwired) +; +MSG_TITLE +Wanderer +; +MSG_DESCRIPTION +Administrador de Arquivos +; File Manager +; +MSG_SCREENTITLE +Wanderer: Memória Gráfica %s | Outra Memória %s +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; +MSG_MEM_K +K +; +MSG_MEM_M +M +; +MSG_MEM_G +G +; +MSG_MEN_WANDERER +Wanderer +; +MSG_MEN_BACKDROP +Fundo +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; +MSG_MEN_EXECUTE +Executar... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; +MSG_MEN_SHELL +Shell... +; +MSG_MEN_SC_SHELL +W +; +MSG_MEN_GUISET +Configuração do GUI +; GUI Settings... +; +MSG_MEN_ABOUT +Acerca de ... +; About... +; +MSG_MEN_QUIT +Sair... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; +MSG_MEN_WINDOW +Janela +; Window +; +MSG_MEN_NEWDRAW +Novo Directório... +; New Drawer... +; +MSG_MEN_SC_NEWDRAW +N +; +MSG_MEN_OPENPAR +Abrir Anterior +; Open Parent +; +MSG_MEN_CLOSE +Fechar +; Close +; +MSG_MEN_SC_CLOSE +K +; +MSG_MEN_UPDATE +Actualizar +; Update +; +MSG_MEN_CONTENTS +Selecionar conteúdo +; Select Contents +; +MSG_MEN_SC_CONTENTS +A +; +MSG_MEN_CLRSEL +Limpar selecção +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; +MSG_MEN_SNAPSHT +Guardar posição +; Snapshot +; +MSG_MEN_ALL +Todos +; All +; +MSG_MEN_VIEW +Ver +; View +; +MSG_MEN_ICVIEW +Ver como icones +; Vista con íconos +;Icon view +; +MSG_MEN_DCVIEW +Ver detalhes +; Vista con detalles +; Detail view +; +MSG_MEN_ALLFIL +Todos ficheiros +; All files +; +MSG_MEN_SORTIC +Ordenar +; Ordenado +;Sorted +; +MSG_MEN_CLNUP +Limpar +; Clean Up +; +MSG_MEN_SC_CLNUP +U +; +MSG_MEN_BYNAME +Por nome +; By name +; +MSG_MEN_BYDATE +Por data +; By Date +; +MSG_MEN_BYSIZE +Por tamanho +; By size +; +MSG_MEN_REVERSE +Reverso +; Reverse +; +MSG_MEN_DRWFRST +Primeiro os dir. +; Drawers first +; +MSG_MEN_ICON +Icone +; Icon +; +MSG_MEN_FIND +Procurar... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Abrir +; Open +; +MSG_MEN_SC_OPEN +O +; +MSG_MEN_RENAME +Mudar nome... +; Rename... +; +MSG_MEN_SC_RENAME +R +; +MSG_MEN_INFO +Informacão... +; Information... +; +MSG_MEN_SC_INFO +I +; +MSG_MEN_DELETE +APAGAR... +; Delete... +; +MSG_MEN_TOOLS +Ferramentas +; Tools +; +MSG_REALLYQUIT +¿Quer sair do Wanderer? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Sí|No +; *Sim|Não +; +MSG_DUMMY +DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer: Memória Gráfica %pc - Outra memória %f +; Wanderer %pc graphics mem %pf other mem +; \ No newline at end of file diff --git a/workbench/system/Wanderer/catalogs/russian.ct b/workbench/system/Wanderer/catalogs/russian.ct new file mode 100644 index 00000000000..85e44c1c1db --- /dev/null +++ b/workbench/system/Wanderer/catalogs/russian.ct @@ -0,0 +1,447 @@ +## version $VER: wanderer.catalog 1.3 (24.02.2009) +## language russian +## codeset 0 +; +; +MSG_TITLE +Wanderer +; Wanderer +; +MSG_DESCRIPTION +Файловый менеджер +; File manager +; +MSG_SCREENTITLE +Wanderer %s - Графическая память %s - прочая память +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +байт +; B +; +MSG_MEM_K +КБ +; K +; +MSG_MEM_M +МБ +; M +; +MSG_MEM_G +ГБ +; G +; +MSG_MEN_WANDERER +Wanderer +; Wanderer +; +MSG_MEN_BACKDROP +Развернуть +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; B +; +MSG_MEN_EXECUTE +Выполнить ... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; E +; +MSG_MEN_SHELL +Оболочка CLI +; Shell +; +MSG_MEN_SC_SHELL +W +; W +; +MSG_MEN_GUISET +Настройки интерфейса ... +; GUI settings... +; +MSG_MEN_ABOUT +О системе +; About... +; +MSG_MEN_QUIT +Выход ... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; Q +; +MSG_MEN_WINDOW +Окно +; Window +; +MSG_MEN_NEWDRAW +Новый каталог ... +; New drawer... +; +MSG_MEN_SC_NEWDRAW +N +; N +; +MSG_MEN_OPENPAR +Уровнем выше +; Open parent +; +MSG_MEN_CLOSE +Закрыть +; Close +; +MSG_MEN_SC_CLOSE +K +; K +; +MSG_MEN_UPDATE +Обновить +; Update +; +MSG_MEN_CONTENTS +Выделить содержимое +; Select contents +; +MSG_MEN_SC_CONTENTS +A +; A +; +MSG_MEN_CLRSEL +Снять выделение +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; Z +; +MSG_MEN_SNAPSHT +Запомнить иконки +; Snapshot +; +MSG_MEN_ALL +Все +; All +; +MSG_MEN_VIEW +Вид +; View +; +MSG_MEN_ICVIEW +Иконки +; Icon view +; +MSG_MEN_DCVIEW +Детальный вид +; Detail view +; +MSG_MEN_ALLFIL +Все файлы +; All files +; +MSG_MEN_SORTIC +Сортировка +; Sort +; +MSG_MEN_CLNUP +Подчистить +; Clean up +; +MSG_MEN_SC_CLNUP +U +; U +; +MSG_MEN_BYNAME +По имени +; By name +; +MSG_MEN_BYDATE +По дате +; By date +; +MSG_MEN_BYSIZE +По размеру +; By size +; +MSG_MEN_BYTYPE + +; By type +; +; ***NEW*** +; +MSG_MEN_REVERSE +Наоборот +; Reverse +; +MSG_MEN_DRWFRST +Папки первыми +; Drawers first +; +MSG_MEN_ICON +Иконка +; Icon +; +MSG_MEN_FIND +Найти... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Открыть +; Open +; +MSG_MEN_SC_OPEN +O +; O +; +MSG_MEN_RENAME +Переименовать ... +; Rename... +; +MSG_MEN_SC_RENAME +R +; R +; +MSG_MEN_INFO +Сведения ... +; Information... +; +MSG_MEN_SC_INFO +I +; I +; +MSG_MEN_DELETE +Удалить ... +; Delete... +; +MSG_MEN_TOOLS +Инструменты +; Tools +; +MSG_REALLYQUIT +Выйти из Wanderer ? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Да|Нет +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer %pc графической памяти, %pf прочей памяти +; Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT +Форматировать диск... +; Format disk... +; +MSG_MEN_SHUTDOWN +Выключить... +; Shut down... +; +MSG_SHUTDOWN_TITLE +Выключение системы +; System shutdown +; +MSG_SHUTDOWN_BODY +Выберите действие +; What would you like to do? +; +MSG_SHUTDOWN_BUTTONS +Выключить|Рестарт машины|Рестарт AROS|*Отменить +; Power off|Restart computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED +Выбранное действие не поддерживается на вашей машине +; The selected action is not supported by your system. +; +MSG_OK +*Ok +; *OK +; +MSG_EMPTY_TRASH +Очистить корзину +; Empty trash +; +MSG_MEN_PUT_AWAY +Отложить +; Put away +; +MSG_MEN_LEAVE_OUT +Оставить +; Leave out +; +MSG_MEN_UNSNAPSHOT +Забыть +; Unsnapshot +; +MSG_MEN_SNAPSHOT +Запомнить +; Snapshot +; +MSG_REQU_DELETE +Удалить файл... +; Delete file... +; +MSG_REQU_DELETE_YESNO +_Да|Да для _всех|_Нет|Нет для вс_ех +; _Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S +Вы действительно хотите удалить папку +; Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E +? +; ? +; +MSG_REQU_DELETE_FILE_S +Вы действительно хотите удалить файл +; Really delete file +; +MSG_REQU_DELETE_FILE_M +расположенный в +; located in +; +MSG_REQU_DELETE_FILE_E +? +; ? +; +MSG_REQU_OVERWRITE +Перезаписать файл... +; Overwrite file... +; +MSG_REQU_OVERWRITE_S +Вы действительно хотите перезаписать файл +; Really overwrite file +; +MSG_REQU_OVERWRITE_M +расположенный в +; located in +; +MSG_REQU_OVERWRITE_E +? +; ? +; +MSG_REQU_OVERWRITE_YESNO +_Перезаписать|Перезаписать _все|_Нет|_Оставить все +; _Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT +_Пропустить|_Отмена +; _Skip|_Abort +; +MSG_REQU_PROTECTION +Защита файлов +; File Protection +; +MSG_REQU_PROTECTION_UNPROTECT +_Снять|Снять _все|_Нет|Нет _для ВСЕХ +; _Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S +Снять защиту с папки +; Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E +? +; ? +; +MSG_NOFILEACCESS_S +Не могу получить доступ к файлу +; Can't access file +; +MSG_NOFILEACCESS_M +расположенному в +; located in +; +MSG_NOFILEACCESS_E + +; +; +MSG_NODRAWERACCESS_S +Не могу получить доступ к папке +; Can't access drawer +; +MSG_NODRAWERACCESS_E + +; +; +MSG_REQU_FILEUNPROTECT_S +Снять защиту с файла +; Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M +расположенного в +; located in +; +MSG_REQU_FILEUNPROTECT_E +? +; ? +; +MSG_WANDERER_FILEACCESS +Wanderer: Операции с файлами +; Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING +Обработка... +; Processing... +; +MSG_WANDERER_FILEACCESS_STOP +Остановить +; Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM +Перемещение из +; Move from +; +MSG_WANDERER_FILEACCESS_MOVETO +Перемещение в +; Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM +Копирование из +; Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO +Копирование в +; Copy to +; +MSG_WANDERER_FILEACCESS_FILE +Файл +; File +; +MSG_WANDERER_FILEACCESS_TRAFFIC +Скорость передачи +; Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM +Удаляется из папки +; Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE +Удаляемый файл +; File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES +Обработано файлов: +; Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL +Размер текущего файла: +; Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL +Размер общий: +; Overall size: +; diff --git a/workbench/system/Wanderer/catalogs/spanish.ct b/workbench/system/Wanderer/catalogs/spanish.ct new file mode 100644 index 00000000000..ed234a63a69 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/spanish.ct @@ -0,0 +1,221 @@ +## version $VER: wanderer.catalog 1.0 (30.09.2007) +## language español +## codeset 0 +; +; Translated by ahg +; +MSG_TITLE +Wanderer +; +MSG_DESCRIPTION +Administrador de Archivos +; File Manager +; +MSG_SCREENTITLE +Wanderer: Memoria Gráfica %s | Otra Memoria %s +; Wanderer %s graphics mem %s other mem +; +MSG_MEM_B +B +; +MSG_MEM_K +K +; +MSG_MEM_M +M +; +MSG_MEM_G +G +; +MSG_MEN_WANDERER +Wanderer +; +MSG_MEN_BACKDROP +Telón de fondo +; Backdrop +; +MSG_MEN_SC_BACKDROP +B +; +MSG_MEN_EXECUTE +Ejecutar... +; Execute... +; +MSG_MEN_SC_EXECUTE +E +; +MSG_MEN_SHELL +Shell... +; +MSG_MEN_SC_SHELL +W +; +MSG_MEN_GUISET +Configs. de la GUI +; GUI Settings... +; +MSG_MEN_ABOUT +Acerca de ... +; About... +; +MSG_MEN_QUIT +Salir... +; Quit... +; +MSG_MEN_SC_QUIT +Q +; +MSG_MEN_WINDOW +Ventana +; Window +; +MSG_MEN_NEWDRAW +Nuevo Cajón... +; New Drawer... +; +MSG_MEN_SC_NEWDRAW +N +; +MSG_MEN_OPENPAR +Abrir el Anterior +; Open Parent +; +MSG_MEN_CLOSE +Cerrar +; Close +; +MSG_MEN_SC_CLOSE +K +; +MSG_MEN_UPDATE +Actualizar +; Update +; +MSG_MEN_CONTENTS +Elegir Contenidos +; Select Contents +; +MSG_MEN_SC_CONTENTS +A +; +MSG_MEN_CLRSEL +Borrar la elección +; Clear selection +; +MSG_MEN_SC_CLRSEL +Z +; +MSG_MEN_SNAPSHT +Instantánea +; Snapshot +; +MSG_MEN_ALL +Todo +; All +; +MSG_MEN_VIEW +Ver +; View +; +MSG_MEN_ICVIEW +Ver como íconos +; Vista con íconos +;Icon view +; +MSG_MEN_DCVIEW +Ver con detalles +; Vista con detalles +; Detail view +; +MSG_MEN_ALLFIL +Todos los archivos +; All files +; +MSG_MEN_SORTIC +Ordenar +; Ordenado +;Sorted +; +MSG_MEN_CLNUP +Limpiar +; Clean Up +; +MSG_MEN_SC_CLNUP +U +; +MSG_MEN_BYNAME +Por nombre +; By name +; +MSG_MEN_BYDATE +Por fecha +; By Date +; +MSG_MEN_BYSIZE +Por tamaño +; By size +; +MSG_MEN_REVERSE +Revertir +; Reverse +; +MSG_MEN_DRWFRST +Primero los cajones +; Drawers first +; +MSG_MEN_ICON +Ícono +; Icon +; +MSG_MEN_FIND +Buscar... +; Find... +; +MSG_MEN_SC_FIND +F +; F +; +MSG_MEN_OPEN +Abrir +; Open +; +MSG_MEN_SC_OPEN +O +; +MSG_MEN_RENAME +Renombrar... +; Rename... +; +MSG_MEN_SC_RENAME +R +; +MSG_MEN_INFO +Información... +; Information... +; +MSG_MEN_SC_INFO +I +; +MSG_MEN_DELETE +Borrar... +; Delete... +; +MSG_MEN_TOOLS +Herramientas +; Tools +; +MSG_REALLYQUIT +¿Quieres salir del Wanderer? +; Do you really want to quit Wanderer? +; +MSG_YESNO +*Sí|No +; *Yes|No +; +MSG_DUMMY +DUMMY +; DUMMY :) +MSG_USERSCREENTITLE +Wanderer: Memoria Gráfica %pc - Otra memoria %f +; Wanderer %pc graphics mem %pf other mem +; diff --git a/workbench/system/Wanderer/catalogs/swedish.ct b/workbench/system/Wanderer/catalogs/swedish.ct new file mode 100644 index 00000000000..42824a85ca4 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/swedish.ct @@ -0,0 +1,9 @@ +## version $VER: wanderer.catalog 1.0 (21.02.2004) +## language svenska +## codeset 0 +; +; +MSG_DUMMY +DUMMY +; DUMMY +; diff --git a/workbench/system/Wanderer/catalogs/wanderer.cd b/workbench/system/Wanderer/catalogs/wanderer.cd new file mode 100644 index 00000000000..25d3aa50242 --- /dev/null +++ b/workbench/system/Wanderer/catalogs/wanderer.cd @@ -0,0 +1,352 @@ +; +MSG_TITLE (//) +Wanderer +; +MSG_DESCRIPTION (//) +File manager +; +MSG_SCREENTITLE (//) +Wanderer %s graphics mem %s other mem +; +MSG_MEM_B (//) +B +; +MSG_MEM_K (//) +K +; +MSG_MEM_M (//) +M +; +MSG_MEM_G (//) +G +; +MSG_MEN_WANDERER (//) +Wanderer +; +MSG_MEN_BACKDROP (//) +Backdrop +; +MSG_MEN_SC_BACKDROP (//) +B +; +MSG_MEN_EXECUTE (//) +Execute... +; +MSG_MEN_SC_EXECUTE (//) +E +; +MSG_MEN_SHELL (//) +Shell +; +MSG_MEN_SC_SHELL (//) +W +; +MSG_MEN_GUISET (//) +GUI settings... +; +MSG_MEN_ABOUT (//) +About... +; +MSG_MEN_QUIT (//) +Quit... +; +MSG_MEN_SC_QUIT (//) +Q +; +MSG_MEN_WINDOW (//) +Window +; +MSG_MEN_NEWDRAW (//) +New drawer... +; +MSG_MEN_SC_NEWDRAW (//) +N +; +MSG_MEN_OPENPAR (//) +Open parent +; +MSG_MEN_CLOSE (//) +Close +; +MSG_MEN_SC_CLOSE (//) +K +; +MSG_MEN_UPDATE (//) +Update +; +MSG_MEN_CONTENTS (//) +Select contents +; +MSG_MEN_SC_CONTENTS (//) +A +; +MSG_MEN_CLRSEL (//) +Clear selection +; +MSG_MEN_SC_CLRSEL (//) +Z +; +MSG_MEN_SNAPSHT (//) +Snapshot +; +MSG_MEN_ALL (//) +All +; +MSG_MEN_VIEW (//) +View +; +MSG_MEN_ICVIEW (//) +Icon view +; +MSG_MEN_DCVIEW (//) +Detail view +; +MSG_MEN_ALLFIL (//) +All files +; +MSG_MEN_SORTIC (//) +Sort +; +MSG_MEN_CLNUP (//) +Clean up +; +MSG_MEN_SC_CLNUP (//) +. +; +MSG_MEN_BYNAME (//) +By name +; +MSG_MEN_BYDATE (//) +By date +; +MSG_MEN_BYSIZE (//) +By size +; +MSG_MEN_BYTYPE (//) +By type +; +MSG_MEN_REVERSE (//) +Reverse +; +MSG_MEN_DRWFRST (//) +Drawers first +; +MSG_MEN_ICON (//) +Icon +; +MSG_MEN_FIND (//) +Find... +; +MSG_MEN_SC_FIND (//) +F +; +MSG_MEN_OPEN (//) +Open +; +MSG_MEN_SC_OPEN (//) +O +; +MSG_MEN_RENAME (//) +Rename... +; +MSG_MEN_SC_RENAME (//) +R +; +MSG_MEN_INFO (//) +Information... +; +MSG_MEN_SC_INFO (//) +I +; +MSG_MEN_DELETE (//) +Delete... +; +MSG_MEN_TOOLS (//) +Tools +; +MSG_MEN_ICONSORTING (//) +Enable Automatic Icon Sorting +; +MSG_MEN_GROUPICONS (//) +Group Icons +; +MSG_MEN_ICONSCLOSE (//) +Close +; +MSG_REALLYQUIT (//) +Do you really want to quit Wanderer? +; +MSG_YESNO (//) +*Yes|No +; +MSG_DUMMY (//) +DUMMY +; DUMMY :) +MSG_USERSCREENTITLE (//) +Wanderer %pc graphics mem %pf other mem +; +MSG_MEN_FORMAT (//) +Format disk... +; +MSG_MEN_SHUTDOWN (//) +Shut down... +; +MSG_SHUTDOWN_TITLE (//) +System shutdown +; +MSG_SHUTDOWN_BODY (//) +What would you like to do? +; +MSG_SHUTDOWN_BUTTONS (//) +Power Off|Restart Computer|Restart AROS|*Cancel +; +MSG_ACTION_NOT_SUPPORTED (//) +The selected action is not supported by your system. +; +MSG_OK (//) +*OK +; +MSG_EMPTY_TRASH (//) +Empty trash +; +MSG_MEN_PUT_AWAY (//) +Put away +; +MSG_MEN_SC_PUT_AWAY (//) +P +; +MSG_MEN_LEAVE_OUT (//) +Leave out +; +MSG_MEN_SC_LEAVE_OUT (//) +L +; +MSG_MEN_UNSNAPSHOT (//) +Unsnapshot +; +MSG_MEN_SC_UNSNAPSHOT (//) +U +; +MSG_MEN_SNAPSHOT (//) +Snapshot +; +MSG_MEN_SC_SNAPSHOT (//) +S +; +MSG_REQU_DELETE (//) +Delete file... +; +MSG_REQU_DELETE_YESNO (//) +_Yes|Yes to _all|_No|No _to all +; +MSG_REQU_DELETE_DRAWER_S (//) +Really delete drawer +; +MSG_REQU_DELETE_DRAWER_E (//) +? +; +MSG_REQU_DELETE_FILE_S (//) +Really delete file +; +MSG_REQU_DELETE_FILE_M (//) +located in +; +MSG_REQU_DELETE_FILE_E (//) +? +; +MSG_REQU_OVERWRITE (//) +Overwrite file... +; +MSG_REQU_OVERWRITE_S (//) +Really overwrite file +; +MSG_REQU_OVERWRITE_M (//) +located in +; +MSG_REQU_OVERWRITE_E (//) +? +; +MSG_REQU_OVERWRITE_YESNO (//) +_Overwrite|Overwrite _all|_No|No _to all +; +MSG_REQU_OVERWRITE_SKIPABORT (//) +_Skip|_Abort +; +MSG_REQU_PROTECTION (//) +File Protection +; +MSG_REQU_PROTECTION_UNPROTECT (//) +_Unprotect|Unprotect _All|_No|No _to ALL +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_S (//) +Do you wish to unprotect drawer +; +MSG_REQU_PROTECTION_UNPROTECTDRAWER_E (//) +? +; +MSG_NOFILEACCESS_S (//) +Can't access file +; +MSG_NOFILEACCESS_M (//) +located in +; +MSG_NOFILEACCESS_E (//) + +; +MSG_NODRAWERACCESS_S (//) +Can't access drawer +; +MSG_NODRAWERACCESS_E (//) + +; +MSG_REQU_FILEUNPROTECT_S (//) +Do you wish to unprotect file +; +MSG_REQU_FILEUNPROTECT_M (//) +located in +; +MSG_REQU_FILEUNPROTECT_E (//) +? +; +MSG_WANDERER_FILEACCESS (//) +Wanderer file access +; +MSG_WANDERER_FILEACCESS_PROCESSING (//) +Processing... +; +MSG_WANDERER_FILEACCESS_STOP (//) +Stop +; +MSG_WANDERER_FILEACCESS_MOVEFROM (//) +Move from +; +MSG_WANDERER_FILEACCESS_MOVETO (//) +Move to +; +MSG_WANDERER_FILEACCESS_COPYFROM (//) +Copy from +; +MSG_WANDERER_FILEACCESS_COPYTO (//) +Copy to +; +MSG_WANDERER_FILEACCESS_FILE (//) +File +; +MSG_WANDERER_FILEACCESS_TRAFFIC (//) +Data transfer rate +; +MSG_WANDERER_FILEACCESS_DELETEFROM (//) +Delete from drawer +; +MSG_WANDERER_FILEACCESS_FILETODELETE (//) +File to delete +; +MSG_WANDERER_FILEACCESS_NOOFFILES (//) +Processed files: +; +MSG_WANDERER_FILEACCESS_ACTUAL (//) +Size of current file: +; +MSG_WANDERER_FILEACCESS_TOTAL (//) +Overall size: +; diff --git a/workbench/system/find/catalogs b/workbench/system/find/catalogs deleted file mode 160000 index c2cd0249191..00000000000 --- a/workbench/system/find/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c2cd0249191df862f9d217d676871179561f17a7 diff --git a/workbench/system/find/catalogs/.gitattributes b/workbench/system/find/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/find/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/find/catalogs/czech.ct b/workbench/system/find/catalogs/czech.ct new file mode 100644 index 00000000000..f0129e1d1a7 --- /dev/null +++ b/workbench/system/find/catalogs/czech.ct @@ -0,0 +1,117 @@ +## version $VER: Find.catalog 1.0 (29.09.2016) +## language czech +## codeset 5 +; +MSG_APP_TITLE +Find +; Find +; +MSG_APP_DESCRIPTION +Vyhledávací nástroj +; File search tool +; +MSG_APP_COPYRIGHT +Copyright \xa9 2016 The AROS Development Team +; Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE +Vyhledávací nástroj +; Find +; +MSG_OK +OK +; OK +; +MSG_LST_FULLPATH +Cesta +; Full Path +; +MSG_LST_SIZE +Velikost +; Size +; +MSG_LST_ATTRIBUTES +Atributy +; Attributes +; +MSG_LST_DATE +Datum +; Date +; +MSG_LST_TIME +Čas +; Time +; +MSG_LST_COMMENT +Komentář +; Comment +; +MSG_LBL_PATH +Cesta: +; Path +; +MSG_LBL_PATTERN +Vzor: +; Pattern +; +MSG_LBL_CONTENTS +Obsah: +; Contents +; +MSG_BTN_START +Start +; Start +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_BTN_OPEN +Otevřít +; Open +; +MSG_BTN_VIEW +Zobrazit +; View +; +MSG_BTN_DRAWER +Složka +; Drawer +; +; Error messages +; +MSG_ERR +Chyba +; Error +; +MSG_ERR_NO_APPLICATION +Nelze vytvořit aplikaci. +; Can't create application. +; +MSG_ERR_READARGS +Nelze přečíst argument(y) z příkazové řádky. +; Can't read commandline arguments. +; +MSG_ERR_NO_MEM +Chyba:\nNelze alokovat paměť. +; Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW +Chyba:\nNelze otevřít okno. +; Error:\nCan't open window. +; +MSG_ERR_DOS +Chyba DOS:\n%s +; DOS Error:\n%s +; +MSG_ERR_NO_FILE +Chyba:\nNelze otevřít soubor\n\"%s\". +; Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR +Chyba:\nNelze otevřít složku\n\"%s\". +; Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN +Chyba:\nNelze použít vzor pro třídění. +; Error:\nCan't parse pattern. diff --git a/workbench/system/find/catalogs/find.cd b/workbench/system/find/catalogs/find.cd new file mode 100644 index 00000000000..8a076ef9d54 --- /dev/null +++ b/workbench/system/find/catalogs/find.cd @@ -0,0 +1,85 @@ +MSG_APP_TITLE (//) +Find +; +MSG_APP_DESCRIPTION (//) +File search tool +; +MSG_APP_COPYRIGHT (//) +Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE (//) +Find +; +MSG_OK (//) +OK +; +MSG_LST_FULLPATH (//) +Full Path +; +MSG_LST_SIZE (//) +Size +; +MSG_LST_ATTRIBUTES (//) +Attributes +; +MSG_LST_DATE (//) +Date +; +MSG_LST_TIME (//) +Time +; +MSG_LST_COMMENT (//) +Comment +; +MSG_LBL_PATH (//) +Path +; +MSG_LBL_PATTERN (//) +Pattern +; +MSG_LBL_CONTENTS (//) +Contents +; +MSG_BTN_START (//) +Start +; +MSG_BTN_STOP (//) +Stop +; +MSG_BTN_OPEN (//) +Open +; +MSG_BTN_VIEW (//) +View +; +MSG_BTN_DRAWER (//) +Drawer +; +; Error messages +; +MSG_ERR (//) +Error +; +MSG_ERR_NO_APPLICATION (//) +Can't create application. +; +MSG_ERR_READARGS (//) +Can't read commandline arguments. +; +MSG_ERR_NO_MEM (//) +Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW (//) +Error:\nCan't open window. +; +MSG_ERR_DOS (//) +DOS Error:\n%s +; +MSG_ERR_NO_FILE (//) +Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR (//) +Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN (//) +Error:\nCan't parse pattern. diff --git a/workbench/system/find/catalogs/french.ct b/workbench/system/find/catalogs/french.ct new file mode 100644 index 00000000000..1228207baa9 --- /dev/null +++ b/workbench/system/find/catalogs/french.ct @@ -0,0 +1,117 @@ +## version $VER: Find.catalog 1.0 (03.01.2018) +## language français +## codeset 0 +; +MSG_APP_TITLE +Rechercher +; Find +; +MSG_APP_DESCRIPTION +Outil de recherche de fichier +; File search tool +; +MSG_APP_COPYRIGHT +Copyright \xa9 2016 The AROS Development Team +; Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE +Rechercher +; Find +; +MSG_OK +OK +; OK +; +MSG_LST_FULLPATH +Chemin complet +; Full Path +; +MSG_LST_SIZE +Taille +; Size +; +MSG_LST_ATTRIBUTES +Attributs +; Attributes +; +MSG_LST_DATE +Date +; Date +; +MSG_LST_TIME +Heure +; Time +; +MSG_LST_COMMENT +Commentaire +; Comment +; +MSG_LBL_PATH +Chemin : +; Path +; +MSG_LBL_PATTERN +Motif : +; Pattern +; +MSG_LBL_CONTENTS +Contenu : +; Contents +; +MSG_BTN_START +Débuter +; Start +; +MSG_BTN_STOP +Arrêter +; Stop +; +MSG_BTN_OPEN +Ouvrir +; Open +; +MSG_BTN_VIEW +Voir +; View +; +MSG_BTN_DRAWER +Répertoire +; Drawer +; +; Error messages +; +MSG_ERR +Erreur +; Error +; +MSG_ERR_NO_APPLICATION +Impossible de créer l'application. +; Can't create application. +; +MSG_ERR_READARGS +Impossible de lire les arguments de la ligne de commande. +; Can't read commandline arguments. +; +MSG_ERR_NO_MEM +Impossible d'allouer la mémoire. +; Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW +Impossible d'ouvrir la fenêtre. +; Error:\nCan't open window. +; +MSG_ERR_DOS +Erreur DOS:\n%s +; DOS Error:\n%s +; +MSG_ERR_NO_FILE +Impossible d'ouvrir le fichier\n\"%s\". +; Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR +Impossible d'ouvrir le répertoire\n\"%s\". +; Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN +Impossible d'analyser le motif. +; Error:\nCan't parse pattern. diff --git a/workbench/system/find/catalogs/german.ct b/workbench/system/find/catalogs/german.ct new file mode 100644 index 00000000000..6ad6bf8caab --- /dev/null +++ b/workbench/system/find/catalogs/german.ct @@ -0,0 +1,117 @@ +## version $VER: find.catalog 1.0 (30.03.2016) +## language deutsch +## codeset 0 +; +MSG_APP_TITLE +Find +; Find +; +MSG_APP_DESCRIPTION +Dateisuchwerkzeug +; File search tool +; +MSG_APP_COPYRIGHT +Copyright \xa9 2016 The AROS Development Team +; Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE +Find +; Find +; +MSG_OK +Ok +; OK +; +MSG_LST_FULLPATH +Voller Pfad +; Full Path +; +MSG_LST_SIZE +Größe +; Size +; +MSG_LST_ATTRIBUTES +Attribute +; Attributes +; +MSG_LST_DATE +Datum +; Date +; +MSG_LST_TIME +Zeit +; Time +; +MSG_LST_COMMENT +Kommentar +; Comment +; +MSG_LBL_PATH +Pfad +; Path +; +MSG_LBL_PATTERN +Muster +; Pattern +; +MSG_LBL_CONTENTS +Inhalt +; Contents +; +MSG_BTN_START +Beginnen +; Start +; +MSG_BTN_STOP +Anhalten +; Stop +; +MSG_BTN_OPEN +Öffnen +; Open +; +MSG_BTN_VIEW +Anzeigen +; View +; +MSG_BTN_DRAWER +Schublade +; Drawer +; +; Error messages +; +MSG_ERR +Fehler +; Error +; +MSG_ERR_NO_APPLICATION +Kann Applikation nicht erzeugen. +; Can't create application. +; +MSG_ERR_READARGS +Kann Kommandozeilenargumente nicht lesen. +; Can't read commandline arguments. +; +MSG_ERR_NO_MEM +Fehler:\nKann Speicher nicht anfordern. +; Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW +Fehler:\nKann Fenster nicht öffnen. +; Error:\nCan't open window. +; +MSG_ERR_DOS +DOS Fehler:\n%s +; DOS Error:\n%s +; +MSG_ERR_NO_FILE +Fehler:\nKann Datei\n\"%s\"\nnicht öffnen. +; Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR +Fehler:\nKann Schublade\n\"%s\"\nnicht öffnen. +; Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN +Fehler:\nKann Muster nicht übersetzen. +; Error:\nCan't parse pattern. diff --git a/workbench/system/find/catalogs/mmakefile.src b/workbench/system/find/catalogs/mmakefile.src new file mode 100644 index 00000000000..d733fa35845 --- /dev/null +++ b/workbench/system/find/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=german czech french norwegian + +%build_catalogs mmake=workbench-system-find-catalogs \ + catalogs=$(CATALOGS) \ + name=Find subdir=System/System diff --git a/workbench/system/find/catalogs/norwegian.ct b/workbench/system/find/catalogs/norwegian.ct new file mode 100644 index 00000000000..18aa295d980 --- /dev/null +++ b/workbench/system/find/catalogs/norwegian.ct @@ -0,0 +1,117 @@ +## version $VER: find.catalog 1.0 (08.06.2019) +## language norwegian +## codeset 0 +; +MSG_APP_TITLE +Finn +; Find +; +MSG_APP_DESCRIPTION +Filsøkeverktøy +; File search tool +; +MSG_APP_COPYRIGHT +Copyright \xa9 2016 The AROS Development Team +; Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE +Finn +; Find +; +MSG_OK +Ok +; OK +; +MSG_LST_FULLPATH +Full filsti +; Full Path +; +MSG_LST_SIZE +Størrelse +; Size +; +MSG_LST_ATTRIBUTES +Attributt +; Attributes +; +MSG_LST_DATE +Dato +; Date +; +MSG_LST_TIME +Tid +; Time +; +MSG_LST_COMMENT +Kommentar +; Comment +; +MSG_LBL_PATH +Filsti +; Path +; +MSG_LBL_PATTERN +Søkestreng +; Pattern +; +MSG_LBL_CONTENTS +Innhold +; Contents +; +MSG_BTN_START +Start +; Start +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_BTN_OPEN +Åpne +; Open +; +MSG_BTN_VIEW +Vis +; View +; +MSG_BTN_DRAWER +Skuff +; Drawer +; +; Error messages +; +MSG_ERR +Feil +; Error +; +MSG_ERR_NO_APPLICATION +Klarte ikke opprette applikasjonen. +; Can't create application. +; +MSG_ERR_READARGS +Klarte ikke lese kommandolinjeargumentene. +; Can't read commandline arguments. +; +MSG_ERR_NO_MEM +Feil:\nKlarte ikke allokere nok minne. +; Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW +Feil:\nKlarte ikke åpne vinduet. +; Error:\nCan't open window. +; +MSG_ERR_DOS +DOS Feil:\n%s +; DOS Error:\n%s +; +MSG_ERR_NO_FILE +Feil:\nKlarte ikke åpne filen\n\"%s\"\. +; Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR +Feil:\nKlarte ikke åpne katalogen\n\"%s\"\. +; Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN +Feil:\nKlarte ikke å parse søkestrengen. +; Error:\nCan't parse pattern. \ No newline at end of file diff --git a/workbench/system/find/catalogs/polish.ct b/workbench/system/find/catalogs/polish.ct new file mode 100644 index 00000000000..e695dd2e7b4 --- /dev/null +++ b/workbench/system/find/catalogs/polish.ct @@ -0,0 +1,117 @@ +## version $VER: Find.catalog 1.0 (29.09.2016) +## language czech +## codeset 5 +; +MSG_APP_TITLE +Find +; Find +; +MSG_APP_DESCRIPTION +Wyszukiwarka +; File search tool +; +MSG_APP_COPYRIGHT +Copyright \xa9 2016 The AROS Development Team +; Copyright \xa9 2016 The AROS Development Team +; +MSG_WI_TITLE +Find +; Find +; +MSG_OK +Ok +; OK +; +MSG_LST_FULLPATH +Pełna ścieżka +; Full Path +; +MSG_LST_SIZE +Wielkość +; Size +; +MSG_LST_ATTRIBUTES +Atrybuty +; Attributes +; +MSG_LST_DATE +Data +; Date +; +MSG_LST_TIME +Czas +; Time +; +MSG_LST_COMMENT +Komentarz +; Comment +; +MSG_LBL_PATH +Ścieżka +; Path +; +MSG_LBL_PATTERN +Wzór +; Pattern +; +MSG_LBL_CONTENTS +Zawartość +; Contents +; +MSG_BTN_START +Start +; Start +; +MSG_BTN_STOP +Stop +; Stop +; +MSG_BTN_OPEN +Otwórz +; Open +; +MSG_BTN_VIEW +Pokaż +; View +; +MSG_BTN_DRAWER +Szuflada +; Drawer +; +; Error messages +; +MSG_ERR +Błąd +; Error +; +MSG_ERR_NO_APPLICATION +Nie można utworzyć aplikacji. +; Can't create application. +; +MSG_ERR_READARGS +Nie można odczytać argumentów wiersza poleceń. +; Can't read commandline arguments. +; +MSG_ERR_NO_MEM +Chyba:\nNie można zalokowac pamięci. +; Error:\nCan't allocate memory. +; +MSG_ERR_NO_WINDOW +Chyba:\nNie można otworzyć okna. +; Error:\nCan't open window. +; +MSG_ERR_DOS +Chyba DOS:\n%s +; DOS Error:\n%s +; +MSG_ERR_NO_FILE +Chyba:\nNie można otworzyć pliku\n\"%s\". +; Error:\nCan't open file\n\"%s\". +; +MSG_ERR_NO_DIR +Chyba:\nNie można otworzyć szuflady\n\"%s\". +; Error:\nCan't open directory\n\"%s\". +; +MSG_ERR_PATTERN +Chyba:\nNie można przeanalizować wzoru. +; Error:\nCan't parse pattern. diff --git a/workbench/system/ftmanager/catalogs b/workbench/system/ftmanager/catalogs deleted file mode 160000 index fbfaab1c610..00000000000 --- a/workbench/system/ftmanager/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fbfaab1c6100b2f3e84fd1f055b051846d342c4a diff --git a/workbench/system/ftmanager/catalogs/.gitattributes b/workbench/system/ftmanager/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/system/ftmanager/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/system/ftmanager/catalogs/french.ct b/workbench/system/ftmanager/catalogs/french.ct new file mode 100644 index 00000000000..f50440d8776 --- /dev/null +++ b/workbench/system/ftmanager/catalogs/french.ct @@ -0,0 +1,201 @@ +## version $VER: FTManager.catalog 1.0 (08.01.2011) +## language français +## codeset 0 +; +; +; +MSG_APP_NAME +FTManager +; +MSG_APP_TITLE +Gestionnaire des fontes FreeType +; +MSG_WINDOW_TITLE +Gestionnaire des fontes FreeType +; +MSG_LABEL_SOURCE +Source +; +MSG_ASL_FONTS_TRUETYPE +Fonts:TrueType +; +MSG_LABEL_DESTINATION +Destination +; +MSG_ASL_FONTS +Fonts: +; +MSG_LABEL_CODEPAGE +Codepage +; +MSG_QUIT +_Quitter +; +MSG_BUTTON_INSTALL +_Installer +; +MSG_BUTTON_CLOSE +_Fermer +; +MSG_WEIGHT_ULTRATHIN +ultra fine +; +MSG_WEIGHT_EXTRATHIN +extra fine +; +MSG_WEIGHT_THIN +fine +; +MSG_WEIGHT_EXTRALIGHT +extra légère +; +MSG_WEIGHT_LIGHT +légère +; +MSG_WEIGHT_DEMILIGHT +demi légère +; +MSG_WEIGHT_SEMILIGHT +semi légère +; +MSG_WEIGHT_BOOK +normale +; +MSG_WEIGHT_MEDIUM +moyenne +; +MSG_WEIGHT_SEMIBOLD +semi grasse +; +MSG_WEIGHT_DEMIBOLD +demi grasse +; +MSG_WEIGHT_BOLD +grasse +; +MSG_WEIGHT_EXTRABOLD +extra grasse +; +MSG_WEIGHT_BLACK +noire +; +MSG_WEIGHT_EXTRABLACK +extra noire +; +MSG_WEIGHT_ULTRABLACK +ultra noire +; +MSG_WEIGHT_CUSTOM +personnalisée +; +MSG_STYLE_UPRIGHT +droite +; +MSG_STYLE_ITALIC +italique +; +MSG_STYLE_LEFTITALIC +italique gauche +; +MSG_HSTYLE_ULTRACOMPRESSED +ultra dense +; +MSG_HSTYLE_EXTRACOMPRESSED +extra dense +; +MSG_HSTYLE_COMPRESSED +dense +; +MSG_HSTYLE_CONDENSED +condensée +; +MSG_HSTYLE_NORMAL +réguliere +; +MSG_HSTYLE_SEMIEXPANDED +semi étendue +; +MSG_HSTYLE_EXPANDED +étendue +; +MSG_HSTYLE_EXTRAEXPANDED +extra étendue +; +MSG_HSTYLE_CUSTOM +personnalisée +; +MSG_METRIC_GLOBALBOUNDINGBOX +globale +; +MSG_METRIC_RAWFONTMETRIC +brute +; +MSG_METRIC_ASCENDER +bloquée +; +MSG_METRIC_TYPOASCENDER +typo +; +MSG_METRIC_USWINASCENDER +USWin +; +MSG_METRIC_CUSTOMBOUNDINGBOX +personnalisée +; +MSG_LABEL_EXTRAFILE +Fichier +; +MSG_LABEL_FACENUM +Face +; +MSG_LABEL_NAME +Nom +; +MSG_LABEL_FAMILY +Famille +; +MSG_LABEL_METRIC +Metrique +; +MSG_LABEL_BOUNDINGBOX +Entourage +; +MSG_LABEL_YMIN +yMin +; +MSG_LABEL_YMAX +yMax +; +MSG_LABEL_SIZEFACTOR +Échelle +; +MSG_LABEL_SPACEWIDTH +Largeur +; +MSG_LABEL_FIXEDWIDTH +Chasse fixe +; +MSG_LABEL_SERIF +Empattement +; +MSG_LABEL_STEMWEIGHT +Graisse +; +MSG_LABEL_SLANTSTYLE +Graphie +; +MSG_LABEL_HORIZSTYLE +Chasse +; +MSG_FRAME_PREVIEW +Prévisualisation +; +MSG_PREVIEW_STRING +Maître Corbeau, sur un arbre perché, tenait en son bec un fromage +; +MSG_LABEL_SIZE +Corps +; +MSG_LABEL_ANTIALIASING +Anti-crénelage +; diff --git a/workbench/system/ftmanager/catalogs/ftmanager.cd b/workbench/system/ftmanager/catalogs/ftmanager.cd new file mode 100644 index 00000000000..87183ece639 --- /dev/null +++ b/workbench/system/ftmanager/catalogs/ftmanager.cd @@ -0,0 +1,196 @@ +; +MSG_APP_NAME (//) +FTManager +; +MSG_APP_TITLE (//) +FreeType font manager +; +MSG_WINDOW_TITLE (//) +FreeType font manager +; +MSG_LABEL_SOURCE (//) +Source +; +MSG_ASL_FONTS_TRUETYPE (//) +Fonts:TrueType +; +MSG_LABEL_DESTINATION (//) +Destination +; +MSG_ASL_FONTS (//) +Fonts: +; +MSG_LABEL_CODEPAGE (//) +Codepage +; +MSG_QUIT (//) +_Quit +; +MSG_BUTTON_INSTALL (//) +_Install +; +MSG_BUTTON_CLOSE (//) +_Close +; +MSG_WEIGHT_ULTRATHIN (//) +UltraThin +; +MSG_WEIGHT_EXTRATHIN (//) +ExtraThin +; +MSG_WEIGHT_THIN (//) +Thin +; +MSG_WEIGHT_EXTRALIGHT (//) +ExtraLight +; +MSG_WEIGHT_LIGHT (//) +Light +; +MSG_WEIGHT_DEMILIGHT (//) +DemiLight +; +MSG_WEIGHT_SEMILIGHT (//) +SemiLight +; +MSG_WEIGHT_BOOK (//) +Book +; +MSG_WEIGHT_MEDIUM (//) +Medium +; +MSG_WEIGHT_SEMIBOLD (//) +SemiBold +; +MSG_WEIGHT_DEMIBOLD (//) +DemiBold +; +MSG_WEIGHT_BOLD (//) +Bold +; +MSG_WEIGHT_EXTRABOLD (//) +ExtraBold +; +MSG_WEIGHT_BLACK (//) +Black +; +MSG_WEIGHT_EXTRABLACK (//) +ExtraBlack +; +MSG_WEIGHT_ULTRABLACK (//) +UltraBlack +; +MSG_WEIGHT_CUSTOM (//) +Custom +; +MSG_STYLE_UPRIGHT (//) +Upright +; +MSG_STYLE_ITALIC (//) +Italic +; +MSG_STYLE_LEFTITALIC (//) +LeftItalic +; +MSG_HSTYLE_ULTRACOMPRESSED (//) +UltraCompressed +; +MSG_HSTYLE_EXTRACOMPRESSED (//) +ExtraCompressed +; +MSG_HSTYLE_COMPRESSED (//) +Compressed +; +MSG_HSTYLE_CONDENSED (//) +Condensed +; +MSG_HSTYLE_NORMAL (//) +Normal +; +MSG_HSTYLE_SEMIEXPANDED (//) +SemiExpanded +; +MSG_HSTYLE_EXPANDED (//) +Expanded +; +MSG_HSTYLE_EXTRAEXPANDED (//) +ExtraExpanded +; +MSG_HSTYLE_CUSTOM (//) +Custom +; +MSG_METRIC_GLOBALBOUNDINGBOX (//) +Global bounding box +; +MSG_METRIC_RAWFONTMETRIC (//) +Raw font metric +; +MSG_METRIC_ASCENDER (//) +Ascender +; +MSG_METRIC_TYPOASCENDER (//) +Typo ascender +; +MSG_METRIC_USWINASCENDER (//) +USWin ascender +; +MSG_METRIC_CUSTOMBOUNDINGBOX (//) +Custom bounding box +; +MSG_LABEL_EXTRAFILE (//) +Extra file +; +MSG_LABEL_FACENUM (//) +Face num +; +MSG_LABEL_NAME (//) +Name +; +MSG_LABEL_FAMILY (//) +Family +; +MSG_LABEL_METRIC (//) +Metric +; +MSG_LABEL_BOUNDINGBOX (//) +Bounding box +; +MSG_LABEL_YMIN (//) +yMin +; +MSG_LABEL_YMAX (//) +yMax +; +MSG_LABEL_SIZEFACTOR (//) +Size factor +; +MSG_LABEL_SPACEWIDTH (//) +Space width +; +MSG_LABEL_FIXEDWIDTH (//) +Fixed width +; +MSG_LABEL_SERIF (//) +Serif +; +MSG_LABEL_STEMWEIGHT (//) +Stem weight +; +MSG_LABEL_SLANTSTYLE (//) +Slant style +; +MSG_LABEL_HORIZSTYLE (//) +Horiz style +; +MSG_FRAME_PREVIEW (//) +Preview +; +MSG_PREVIEW_STRING (//) +The quick brown fox jumped over the lazy dog. +; +MSG_LABEL_SIZE (//) +Size +; +MSG_LABEL_ANTIALIASING (//) +Anti-aliasing +; \ No newline at end of file diff --git a/workbench/system/ftmanager/catalogs/mmakefile.src b/workbench/system/ftmanager/catalogs/mmakefile.src new file mode 100644 index 00000000000..2eef8ee48e0 --- /dev/null +++ b/workbench/system/ftmanager/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french norwegian + +%build_catalogs mmake=workbench-system-ftmanager-catalogs \ + catalogs=$(CATALOGS) \ + name=FTManager subdir=System/System diff --git a/workbench/system/ftmanager/catalogs/norwegian.ct b/workbench/system/ftmanager/catalogs/norwegian.ct new file mode 100644 index 00000000000..749edc144f5 --- /dev/null +++ b/workbench/system/ftmanager/catalogs/norwegian.ct @@ -0,0 +1,201 @@ +## version $VER: FTManager.catalog 1.0 (05.08.2019) +## language norwegian +## codeset 0 +; +; +; +MSG_APP_NAME +FTManager +; +MSG_APP_TITLE +FreeType skrftbehandler +; +MSG_WINDOW_TITLE +FreeType skrftbehandler +; +MSG_LABEL_SOURCE +Kilde +; +MSG_ASL_FONTS_TRUETYPE +Skrift:TrueType +; +MSG_LABEL_DESTINATION +Mål +; +MSG_ASL_FONTS +Skrift: +; +MSG_LABEL_CODEPAGE +Tegnsett +; +MSG_QUIT +_Avslutt +; +MSG_BUTTON_INSTALL +_Innstaller +; +MSG_BUTTON_CLOSE +_Lukk +; +MSG_WEIGHT_ULTRATHIN +Ultratynn +; +MSG_WEIGHT_EXTRATHIN +Ekstratynn +; +MSG_WEIGHT_THIN +Tynn +; +MSG_WEIGHT_EXTRALIGHT +Ekstramager +; +MSG_WEIGHT_LIGHT +Mager +; +MSG_WEIGHT_DEMILIGHT +Demimager +; +MSG_WEIGHT_SEMILIGHT +Semimager +; +MSG_WEIGHT_BOOK +Normal +; +MSG_WEIGHT_MEDIUM +Medium +; +MSG_WEIGHT_SEMIBOLD +Semifet +; +MSG_WEIGHT_DEMIBOLD +Demifet +; +MSG_WEIGHT_BOLD +Fet +; +MSG_WEIGHT_EXTRABOLD +Ekstrafet +; +MSG_WEIGHT_BLACK +Svart +; +MSG_WEIGHT_EXTRABLACK +Ekstra svart +; +MSG_WEIGHT_ULTRABLACK +Ultra svart +; +MSG_WEIGHT_CUSTOM +Selvvalgt +; +MSG_STYLE_UPRIGHT +Oppreist +; +MSG_STYLE_ITALIC +Kursiv +; +MSG_STYLE_LEFTITALIC +Venstrekursiv +; +MSG_HSTYLE_ULTRACOMPRESSED +Ultrakomprimert +; +MSG_HSTYLE_EXTRACOMPRESSED +Ekstrakomprimert +; +MSG_HSTYLE_COMPRESSED +komprimert +; +MSG_HSTYLE_CONDENSED +Smal +; +MSG_HSTYLE_NORMAL +Normal +; +MSG_HSTYLE_SEMIEXPANDED +Halvbred +; +MSG_HSTYLE_EXPANDED +Bred +; +MSG_HSTYLE_EXTRAEXPANDED +Ekstrabred +; +MSG_HSTYLE_CUSTOM +Selvvalgt +; +MSG_METRIC_GLOBALBOUNDINGBOX +Global +; +MSG_METRIC_RAWFONTMETRIC +Opprinnelig font størrelse +; +MSG_METRIC_ASCENDER +Ascender +; +MSG_METRIC_TYPOASCENDER +Typo ascender +; +MSG_METRIC_USWINASCENDER +USWin ascender +; +MSG_METRIC_CUSTOMBOUNDINGBOX +Selvvalgt avgrensingsboks +; +MSG_LABEL_EXTRAFILE +Ekstrafil +; +MSG_LABEL_FACENUM +Flatenummer +; +MSG_LABEL_NAME +Navn +; +MSG_LABEL_FAMILY +Familie +; +MSG_LABEL_METRIC +Skriftmetrikk +; +MSG_LABEL_BOUNDINGBOX +Avgrensingsboks +; +MSG_LABEL_YMIN +yMin +; +MSG_LABEL_YMAX +yMaks +; +MSG_LABEL_SIZEFACTOR +Størrelsesfaktor +; +MSG_LABEL_SPACEWIDTH +Størrelsesbredde +; +MSG_LABEL_FIXEDWIDTH +Fastbredde +; +MSG_LABEL_SERIF +Seriff +; +MSG_LABEL_STEMWEIGHT +Stammebredde +; +MSG_LABEL_SLANTSTYLE +Skråstilt +; +MSG_LABEL_HORIZSTYLE +Horisontalt +; +MSG_FRAME_PREVIEW +Forhåndsvis +; +MSG_PREVIEW_STRING +The quick brown fox jumped over the lazy dog. +; +MSG_LABEL_SIZE +Størrelse +; +MSG_LABEL_ANTIALIASING +Kantutjevning +; \ No newline at end of file diff --git a/workbench/system/ftmanager/catalogs/polish.ct b/workbench/system/ftmanager/catalogs/polish.ct new file mode 100644 index 00000000000..45b68983546 --- /dev/null +++ b/workbench/system/ftmanager/catalogs/polish.ct @@ -0,0 +1,201 @@ +## version $VER: FTManager.catalog 1.0 (02.02.2020) +## language polski +## codeset 5 +; +; +; +MSG_APP_NAME +FTManager +; +MSG_APP_TITLE +Menedżer czcionek FreeType +; +MSG_WINDOW_TITLE +Menedżer czcionek FreeType +; +MSG_LABEL_SOURCE +Źródło +; +MSG_ASL_FONTS_TRUETYPE +Czcionki:TrueType +; +MSG_LABEL_DESTINATION +Cel +; +MSG_ASL_FONTS +Czcionki: +; +MSG_LABEL_CODEPAGE +Strona kodowa +; +MSG_QUIT +Porzuć +; +MSG_BUTTON_INSTALL +_Instaluj +; +MSG_BUTTON_CLOSE +Zamknij +; +MSG_WEIGHT_ULTRATHIN +Ultra fine +; +MSG_WEIGHT_EXTRATHIN +Extra fine +; +MSG_WEIGHT_THIN +Fine +; +MSG_WEIGHT_EXTRALIGHT +Extra lekka +; +MSG_WEIGHT_LIGHT +Lekka +; +MSG_WEIGHT_DEMILIGHT +Demi lekka +; +MSG_WEIGHT_SEMILIGHT +Semi lekka +; +MSG_WEIGHT_BOOK +Normalna +; +MSG_WEIGHT_MEDIUM +Średnia +; +MSG_WEIGHT_SEMIBOLD +Semi pogrubiona +; +MSG_WEIGHT_DEMIBOLD +Demi pogrubiona +; +MSG_WEIGHT_BOLD +Pogrubiona +; +MSG_WEIGHT_EXTRABOLD +Extra pogrubiona +; +MSG_WEIGHT_BLACK +Czarna +; +MSG_WEIGHT_EXTRABLACK +Extra czarna +; +MSG_WEIGHT_ULTRABLACK +Ultra czarna +; +MSG_WEIGHT_CUSTOM +Dostosowana +; +MSG_STYLE_UPRIGHT +Prosta +; +MSG_STYLE_ITALIC +Kursywa +; +MSG_STYLE_LEFTITALIC +Lewa kursywa +; +MSG_HSTYLE_ULTRACOMPRESSED +Ultra skomprymowana +; +MSG_HSTYLE_EXTRACOMPRESSED +Extra skomprymowana +; +MSG_HSTYLE_COMPRESSED +Skomprymowana +; +MSG_HSTYLE_CONDENSED +Skondensowana +; +MSG_HSTYLE_NORMAL +Regularna +; +MSG_HSTYLE_SEMIEXPANDED +Semi rozszerzona +; +MSG_HSTYLE_EXPANDED +Rozszerzona +; +MSG_HSTYLE_EXTRAEXPANDED +extra rozszerzona +; +MSG_HSTYLE_CUSTOM +Dostosowana +; +MSG_METRIC_GLOBALBOUNDINGBOX +Obwód globalny +; +MSG_METRIC_RAWFONTMETRIC +Dane surowej czcionki +; +MSG_METRIC_ASCENDER +Ascender +; +MSG_METRIC_TYPOASCENDER +Typo ascender +; +MSG_METRIC_USWINASCENDER +USWin ascender +; +MSG_METRIC_CUSTOMBOUNDINGBOX +Obwód dostosowany +; +MSG_LABEL_EXTRAFILE +Plik dodatkowy +; +MSG_LABEL_FACENUM +Krój +; +MSG_LABEL_NAME +Nazwa +; +MSG_LABEL_FAMILY +Rodzina +; +MSG_LABEL_METRIC +Metryczny +; +MSG_LABEL_BOUNDINGBOX +Obwód +; +MSG_LABEL_YMIN +yMin +; +MSG_LABEL_YMAX +yMax +; +MSG_LABEL_SIZEFACTOR +Wielkość +; +MSG_LABEL_SPACEWIDTH +Szerokość pauzy +; +MSG_LABEL_FIXEDWIDTH +Stała szerokość +; +MSG_LABEL_SERIF +Szeryfowa +; +MSG_LABEL_STEMWEIGHT +Waga +; +MSG_LABEL_SLANTSTYLE +Skośny styl +; +MSG_LABEL_HORIZSTYLE +Poziomy styl +; +MSG_FRAME_PREVIEW +Podgląd +; +MSG_PREVIEW_STRING +Mężny bądź, chroń pułk twój i sześć flag. +; +MSG_LABEL_SIZE +Rozmiar +; +MSG_LABEL_ANTIALIASING +Wygładzanie krawędzi +; diff --git a/workbench/system/ftmanager/ftmanager.c b/workbench/system/ftmanager/ftmanager.c index 8bdc27fad83..e6eee783714 100644 --- a/workbench/system/ftmanager/ftmanager.c +++ b/workbench/system/ftmanager/ftmanager.c @@ -262,14 +262,11 @@ static int ftmanager_gui(void) DoMethod(codepagecycle, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, app, 2, MUIM_Application_ReturnID, ID_SetCodePage); - DoMethod(fontlv, MUIM_Notify, MUIA_Listview_DoubleClick, TRUE, - app, 2, MUIM_Application_ReturnID, ID_ShowFont); + DoMethod(fontlv, MUIM_Notify, MUIA_Listview_DoubleClick, TRUE, app, 2, MUIM_Application_ReturnID, ID_ShowFont); - DoMethod(win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, - app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); + DoMethod(win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); - DoMethod(quit, MUIM_Notify, MUIA_Pressed, FALSE, - app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); + DoMethod(quit, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(fontlist, MUIM_FontList_AddDir, XGET(src, MUIA_String_Contents)); diff --git a/workbench/tools/BoingIconBar/catalogs b/workbench/tools/BoingIconBar/catalogs deleted file mode 160000 index 9f1ed3cee5b..00000000000 --- a/workbench/tools/BoingIconBar/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9f1ed3cee5be3ce3442b520ab62ba41a666e967c diff --git a/workbench/tools/BoingIconBar/catalogs/.gitattributes b/workbench/tools/BoingIconBar/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/BoingIconBar/catalogs/boingiconbar.cd b/workbench/tools/BoingIconBar/catalogs/boingiconbar.cd new file mode 100644 index 00000000000..bee03c6f44c --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/boingiconbar.cd @@ -0,0 +1,15 @@ +MSG_CX_NAME (//) +BoingIconBar +; +MSG_CX_TITLE (//) +Icon Toolbar +; +MSG_CX_DESC (//) +Start Programs from Toolbar +; +MSG_MENU_SETTINGS (//) +Settings +; +MSG_MENU_QUIT (//) +Quit +; diff --git a/workbench/tools/BoingIconBar/catalogs/czech.ct b/workbench/tools/BoingIconBar/catalogs/czech.ct new file mode 100644 index 00000000000..372a6f6f93d --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/czech.ct @@ -0,0 +1,24 @@ +## version $VER: boingiconbar.catalog 2.0 (27.08.2016) +## language czech +## codeset 5 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Ikon Toolbar +; Icon Toolbar +; +MSG_CX_DESC +Spouštění programů z Toolbar +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Nastavení +; Settings +; +MSG_MENU_QUIT +Ukončit +; Quit +; \ No newline at end of file diff --git a/workbench/tools/BoingIconBar/catalogs/french.ct b/workbench/tools/BoingIconBar/catalogs/french.ct new file mode 100644 index 00000000000..ee907bdd3a0 --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/french.ct @@ -0,0 +1,24 @@ +## version $VER: BoingIconBar.catalog 2.0 (03.03.2016) +## language français +## codeset 0 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Barre d'outils +; Icon Toolbar +; +MSG_CX_DESC +Barre d'outils lanceuse de programmes +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Préférences +; Settings +; +MSG_MENU_QUIT +Quitter +; Quit +; diff --git a/workbench/tools/BoingIconBar/catalogs/german.ct b/workbench/tools/BoingIconBar/catalogs/german.ct new file mode 100644 index 00000000000..79e3475c877 --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/german.ct @@ -0,0 +1,24 @@ +## version $VER: boingiconbar.catalog 2.0 (03.03.2016) +## language deutsch +## codeset 0 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Piktogramm-Werkzeugleiste +; Icon Toolbar +; +MSG_CX_DESC +Startet Programme von der Werkzeugleiste +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Einstellungen +; Settings +; +MSG_MENU_QUIT +Beenden +; Quit +; diff --git a/workbench/tools/BoingIconBar/catalogs/italian.ct b/workbench/tools/BoingIconBar/catalogs/italian.ct new file mode 100644 index 00000000000..36615290bcd --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/italian.ct @@ -0,0 +1,24 @@ +## version $VER: BoingIconBar.catalog 2.0 (03.03.2016) +## language italiano +## codeset 0 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Barra icone +; Icon Toolbar +; +MSG_CX_DESC +Avvia programmi da una toolbar +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Impostazioni +; Settings +; +MSG_MENU_QUIT +Esci +; Quit +; diff --git a/workbench/tools/BoingIconBar/catalogs/mmakefile.src b/workbench/tools/BoingIconBar/catalogs/mmakefile.src new file mode 100644 index 00000000000..722c4a8d296 --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/mmakefile.src @@ -0,0 +1,9 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id: mmakefile.src + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech polish italian norwegian +%build_catalogs mmake=workbench-tools-iconbar-catalogs \ + catalogs=$(CATALOGS) \ + name=BoingIconBar subdir=System/Tools diff --git a/workbench/tools/BoingIconBar/catalogs/norwegian.ct b/workbench/tools/BoingIconBar/catalogs/norwegian.ct new file mode 100644 index 00000000000..6d977ec4e2d --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/norwegian.ct @@ -0,0 +1,24 @@ +## version $VER: boingiconbar.catalog 2.0 (21.07.2019) +## language norwegian +## codeset 0 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Ikonverktøylinje +; Icon Toolbar +; +MSG_CX_DESC +Start program fra verktøylinjen +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Innstillinger +; Settings +; +MSG_MENU_QUIT +Avslutt +; Quit +; \ No newline at end of file diff --git a/workbench/tools/BoingIconBar/catalogs/polish.ct b/workbench/tools/BoingIconBar/catalogs/polish.ct new file mode 100644 index 00000000000..756cd1bff58 --- /dev/null +++ b/workbench/tools/BoingIconBar/catalogs/polish.ct @@ -0,0 +1,24 @@ +## version $VER: boingiconbar.catalog 2.0 (08.03.2019) +## language polski +## codeset 5 +; +MSG_CX_NAME +BoingIconBar +; BoingIconBar +; +MSG_CX_TITLE +Ikona paska narzędzi +; Icon Toolbar +; +MSG_CX_DESC +Uruchamiaj programy z paska narzędzi +; Start Programs from Toolbar +; +MSG_MENU_SETTINGS +Ustawienia +; Settings +; +MSG_MENU_QUIT +Zakończ +; Quit +; diff --git a/workbench/tools/Edit/catalogs b/workbench/tools/Edit/catalogs deleted file mode 160000 index 628a471ea7f..00000000000 --- a/workbench/tools/Edit/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 628a471ea7f82785e807b7f096ef6ee7178a67f6 diff --git a/workbench/tools/Edit/catalogs/.gitattributes b/workbench/tools/Edit/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/Edit/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/Edit/catalogs/JanoEditor.cd b/workbench/tools/Edit/catalogs/JanoEditor.cd new file mode 100644 index 00000000000..e01a2e6b05e --- /dev/null +++ b/workbench/tools/Edit/catalogs/JanoEditor.cd @@ -0,0 +1,336 @@ +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE (//) +Project +; +MSG_NEWEMPTYFILE (//) +New +; +MSG_OPENNEWFILE (//) +Open file... +; +MSG_LOADINPRJ (//) +Load file... +; +MSG_SAVEFILE (//) +Save +; +MSG_SAVEFILEAS (//) +Save as... +; +MSG_SAVECHANGES (//) +Save changes +; +MSG_PRINTFILE (//) +Print +; +MSG_INFORMATION (//) +Information... +; +MSG_CLOSE (//) +Close +; +MSG_QUIT (//) +Quit +; +; Edit Menu +; +MSG_EDITTITLE (//) +Edit +; +MSG_CUT (//) +Cut +; +MSG_COPY (//) +Copy +; +MSG_PASTE (//) +Paste +; +MSG_MARK (//) +Mark +; +MSG_MARKCOLUMN (//) +Mark column +; +MSG_SELECTALL (//) +Select all +; +MSG_DELLINE (//) +Delete line +; +MSG_SUBTOOLS (//) +Tools +; +MSG_INDENT (//) +Indent +; +MSG_UNINDENT (//) +Unindent +; +MSG_UPPERCASE (//) +Upper case +; +MSG_LOWERCASE (//) +Lower case +; +MSG_TOGGLECASE (//) +Toggle case +; +MSG_INSERTFILE (//) +Insert file... +; +MSG_UNDO (//) +Undo +; +MSG_REDO (//) +Redo +; +; Search Menu +; +MSG_SEARCHTITLE (//) +Search +; +MSG_FIND (//) +Find... +; +MSG_REPLACE (//) +Replace... +; +MSG_SUBFIND (//) +Find +; +MSG_NEXTFIND (//) +Next +; +MSG_PREVFIND (//) +Previous +; +MSG_NEXTREPLACE (//) +Replace +; +MSG_PREVPAGE (//) +Previous page +; +MSG_NEXTPAGE (//) +Next page +; +MSG_GOTOLINE (//) +Goto line... +; +MSG_FINDBRACKET (//) +Matching bracket +; +MSG_LASTMODIF (//) +Last modification +; +MSG_BEGOFLINE (//) +Start of line +; +MSG_ENDOFLINE (//) +End of line +; +; Macro Menu +; +MSG_MACROTITLE (//) +Macro +; +MSG_STARTRECORD (//) +Start recording +; +MSG_STOPRECORD (//) +Stop recording +; +MSG_PLAYMACRO (//) +Execute macro +; +MSG_REPEATMACRO (//) +Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE (//) +Environment +; +MSG_SCRMODE (//) +Screen mode... +; +MSG_FONTS (//) +Fonts... +; +MSG_PREFS (//) +General preferences... +; +MSG_LOADPREFS (//) +Load preferences... +; +MSG_SAVEPREFS (//) +Save preferences +; +MSG_SAVEPREFSAS (//) +Save preferences as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS (//) +Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ (//) +Cannot alloc ASL requester! +; +ERR_NOMEM (//) +Out of memory! +; +ERR_NOGUI (//) +Main interface failed to open! +; +ERR_NONAME (//) +No title +; Not really an error but simplify translation +; +ERR_WRITECLIP (//) +Write error into clipboard device +; +ERR_OPENCLIP (//) +Unable to open clipboard! +; +ERR_LOADFILE (//) +Unable to load requested file +; +ERR_NOTXTINCLIP (//) +No text in clipboard +; +ERR_WRONG_TYPE (//) +Object is a directory! +; +ERR_READCLIP (//) +Read operation incomplete +; +ERR_NOBRACKET (//) +No parenthesis under cursor! +; +ERR_NOT_FOUND (//) +Pattern `%s' not found +; +ERR_LOADFONT (//) +Can't open desired font! +; +ERR_NOPREFEDITOR (//) +Can't find preference editor! +; +ERR_BADPREFSFILE (//) +Bad preference file format. +; +ERR_FILEMODIFIED (//) +%s has been modified.\nAre you sure want to close it? +; +ERR_SLC (//) +Save|Close|Cancel +; +ERR_NOSEARCHTEXT (//) +No text to search for! +; +ERR_FILEEXISTS (//) +This file already exists. Overwrite it? +; +ERR_OC (//) +Yes|No! +; +WARN_RECORD (//) +Start recording macro +; +WARN_RECORDED (//) +Macro recorded +; +WARN_REC (//) +[REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT (//) +Information +; +MSG_FORMATINFO (//) +%s\nDesigned by T.Pierron and C.Guillaume \xa9 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE (//) +Continue +; +MSG_BYTE (//) +byte +; +MSG_BYTES (//) +bytes +; +MSG_LINE (//) +line +; +MSG_LINES (//) +lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW (//) +Search pattern +; +MSG_REPLACEWINDOW (//) +Search & Replace +; +MSG_SEARCHSTRING (//) +Locate: +; +MSG_REPLACESTRING (//) +Replace: +; +MSG_OPTCASE (//) +Match case +; +MSG_OPTWORDS (//) +Whole words +; +MSG_BUTTONREPLACE (//) +_Replace +; +MSG_BUTTONREPALL (//) +Replace _All +; +MSG_BUTTONSEARCH (//) +Search +; +MSG_NEXTSEARCH (//) +_Previous +; +MSG_USESEARCH (//) +_Use +; +MSG_CANCELSEARCH (//) +_Cancel +; +MSG_REPLACEALL (//) +%iu %s of `%s' replaced +; +MSG_OCCURENCY (//) +occurency +; +MSG_OCCURENCIES (//) +occurencies +; diff --git a/workbench/tools/Edit/catalogs/croatian.ct b/workbench/tools/Edit/catalogs/croatian.ct new file mode 100644 index 00000000000..315f4dec13c --- /dev/null +++ b/workbench/tools/Edit/catalogs/croatian.ct @@ -0,0 +1,440 @@ +## version $VER: Editor.catalog 1.5 (17.03.2017) +## language hrvatski +## codeset 5 +; +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projekt +; Project +; +MSG_NEWEMPTYFILE +Novo +; New +; +MSG_OPENNEWFILE +Stvori datoteku... +; Open file... +; +MSG_LOADINPRJ +Spremi datoteku... +; Load file... +; +MSG_SAVEFILE +Spremi +; Save +; +MSG_SAVEFILEAS +Spremi kao... +; Save as... +; +MSG_SAVECHANGES +Spremi izjene +; Save changes +; +MSG_PRINTFILE +Printaj +; Print +; +MSG_INFORMATION +Informacije... +; Information... +; +MSG_CLOSE +Zatvori +; Close +; +MSG_QUIT +Izlaz +; Quit +; +; Edit Menu +; +MSG_EDITTITLE +Uređivanje +; Edit +; +MSG_CUT +Izreži +; Cut +; +MSG_COPY +Kopiraj +; Copy +; +MSG_PASTE +Zalijepi +; Paste +; +MSG_MARK +Označi +; Mark +; +MSG_MARKCOLUMN +Označi kolumnu +; Mark column +; +MSG_SELECTALL +Izaberi sve +; Select all +; +MSG_DELLINE +Izbriši liniju +; Delete line +; +MSG_SUBTOOLS +Alati +; Tools +; +MSG_INDENT +Uvuci +; Indent +; +MSG_UNINDENT +Izvuci +; Unindent +; +MSG_UPPERCASE +Velika slova +; Upper case +; +MSG_LOWERCASE +Mala slova +; Lower case +; +MSG_TOGGLECASE +Mjenjaj velika/mala slova +; Toggle case +; +MSG_INSERTFILE +Ubaci datoteku... +; Insert file... +; +MSG_UNDO +Poništi +; Undo +; +MSG_REDO +Ponovo učini +; Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Pretraživanje +; Search +; +MSG_FIND +Pronađi... +; Find... +; +MSG_REPLACE +Zamjeni... +; Replace... +; +MSG_SUBFIND +Traži +; Find +; +MSG_NEXTFIND +Naprijed +; Next +; +MSG_PREVFIND +Nazad +; Previous +; +MSG_NEXTREPLACE +Zamjeni +; Replace +; +MSG_PREVPAGE +Stranica nazad +; Previous page +; +MSG_NEXTPAGE +Stranica naprijed +; Next page +; +MSG_GOTOLINE +Idi na liniju... +; Goto line... +; +MSG_FINDBRACKET +Odgovarajuča zagrada +; Matching bracket +; +MSG_LASTMODIF +Zadnja promjena +; Last modification +; +MSG_BEGOFLINE +Početak linije +; Start of line +; +MSG_ENDOFLINE +Kraj linije +; End of line +; +; Macro Menu +; +MSG_MACROTITLE +Makroi +; Macro +; +MSG_STARTRECORD +Započni snimanje +; Start recording +; +MSG_STOPRECORD +Zaustavi snimanje +; Stop recording +; +MSG_PLAYMACRO +Pokreni makro +; Execute macro +; +MSG_REPEATMACRO +Ponovi makro... +; Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Okružje +; Environment +; +MSG_SCRMODE +Rezolucija zaslona... +; Screen mode... +; +MSG_FONTS +Slova... +; Fonts... +; +MSG_PREFS +Opće postavke... +; General preferences... +; +MSG_LOADPREFS +Učitaj postavke... +; Load preferences.. +; +MSG_SAVEPREFS +Spremi postavke +; Save preferences +; +MSG_SAVEPREFSAS +Spremi postavke kao... +; Save preferences as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Obsolete OS. Install v2.0 or better. +; Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Greška pri otvaranju ASL requester-a! +; Cannot alloc ASL requester! +; +ERR_NOMEM +Nedovoljno memorije! +; Out of memory! +; +ERR_NOGUI +Greška pri otvaranju glavnog sučelja! +; Main interface failed to open! +; +ERR_NONAME +Bez naslova +; No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Greška pri zapisivanju u međuspremnik +; Write error into clipboard device +; +ERR_OPENCLIP +Greška pri otvaranju međuspremnika! +; Unable to open clipboard! +; +ERR_LOADFILE +Greška pri učitavanju datoteke +; Unable to load requested file +; +ERR_NOTXTINCLIP +Nema teksta u međuspremniku +; No text in clipboard +; +ERR_WRONG_TYPE +Objekt je mapa! +; Object is a directory! +; +ERR_READCLIP +Nepotpuna operacije čitanja +; Read operation incomplete +; +ERR_NOBRACKET +Nema umetka pod kursorom! +; No parenthesis under cursor! +; +ERR_NOT_FOUND +Uzorak `%s' nije pronađen +; Pattern `%s' not found +; +ERR_LOADFONT +Ne mogu otvoriti slovo! +; Can't open desired font! +; +ERR_NOPREFEDITOR +Ne mogu locirati editor postavki! +; Can't find preference editor! +; +ERR_BADPREFSFILE +Nesipravan format datoteke postavki. +; Bad preference file format. +; +ERR_FILEMODIFIED +%s je izmjenjen.\nSigurno želite zatvoriti? +; %s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Spremi|Zatvori|Odustani +; Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Nema teksa za pretragu! +; No text to search for! +; +ERR_FILEEXISTS +Ova datoteka već postoji. Želite li prepisat? +; This file already exists. Overwrite it? +; +ERR_OC +Da|Ne! +; Yes|No! +; +WARN_RECORD +Snimanje makroa u tijeku +; Start recording macro +; +WARN_RECORDED +Makro snimit +; Macro recorded +; +WARN_REC +[REC] +; [REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Informacije +; Information +; +MSG_FORMATINFO +%s\nDesigned by T.Pierron and C.Guillaume Œ 2000\n\nDatoteka uređena: %s\nDužina: %iu %s, %iu %s. +; %s\nDesigned by T.Pierron and C.Guillaume Š 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Nastavi +; Continue +; +MSG_BYTE +byte +; byte +; +MSG_BYTES +bytes +; bytes +; +MSG_LINE +linija +; line +; +MSG_LINES +linije +; lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Traži uzorak +; Search pattern +; +MSG_REPLACEWINDOW +Traži & Zamjeni +; Search & Replace +; +MSG_SEARCHSTRING +Pronađi: +; Locate: +; +MSG_REPLACESTRING +Zamjeni: +; Replace: +; +MSG_OPTCASE +Mala/velika slova +; Match case +; +MSG_OPTWORDS +Cijele riječi +; Whole words +; +MSG_BUTTONREPLACE +Zamjeni +; _Replace +; +MSG_BUTTONREPALL +Zamjeni Sve +; Replace _All +; +MSG_BUTTONSEARCH +Traži +; Search +; +MSG_NEXTSEARCH +Zadnje +; _Previous +; +MSG_USESEARCH +Koristi +; _Use +; +MSG_CANCELSEARCH +Odustani +; _Cancel +; +MSG_REPLACEALL +%iu %s of `%s' zamjenjeno +; %iu %s of `%s' replaced +; +MSG_OCCURENCY +occurency +; occurency +; +MSG_OCCURENCIES +occurencies +; occurencies +; diff --git a/workbench/tools/Edit/catalogs/czech.ct b/workbench/tools/Edit/catalogs/czech.ct new file mode 100644 index 00000000000..3eb027fa92e --- /dev/null +++ b/workbench/tools/Edit/catalogs/czech.ct @@ -0,0 +1,440 @@ +## version $VER: Editor.catalog 1.6 (17.03.2017) +## language czech +## codeset 5 +; +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projekt +; Project +; +MSG_NEWEMPTYFILE +Nový +; New +; +MSG_OPENNEWFILE +Otevřít... +; Open file... +; +MSG_LOADINPRJ +Připojit... +; Load file... +; +MSG_SAVEFILE +Uložit +; Save +; +MSG_SAVEFILEAS +Uložit jako... +; Save as... +; +MSG_SAVECHANGES +Uložit změny +; Save changes +; +MSG_PRINTFILE +Tisknout +; Print +; +MSG_INFORMATION +Informace... +; Information... +; +MSG_CLOSE +Zavřít +; Close +; +MSG_QUIT +Ukončit +; Quit +; +; Edit Menu +; +MSG_EDITTITLE +Úpravy +; Edit +; +MSG_CUT +Vyjmout +; Cut +; +MSG_COPY +Zkopírovat +; Copy +; +MSG_PASTE +Vložit +; Paste +; +MSG_MARK +Označit +; Mark +; +MSG_MARKCOLUMN +Označit sloupec +; Mark column +; +MSG_SELECTALL +Označit vše +; Select all +; +MSG_DELLINE +Smazat řádek +; Delete line +; +MSG_SUBTOOLS +Nástroje +; Tools +; +MSG_INDENT +Odsadit +; Indent +; +MSG_UNINDENT +Zrušit odsazení +; Unindent +; +MSG_UPPERCASE +Převést na VELKÁ písmena +; Upper case +; +MSG_LOWERCASE +Převést na malá písmena +; Lower case +; +MSG_TOGGLECASE +Prohodit malá a VELKÁ +; Toggle case +; +MSG_INSERTFILE +Vložit soubor... +; Insert file... +; +MSG_UNDO +Zpět +; Undo +; +MSG_REDO +Odvolat zpět +; Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Hledání +; Search +; +MSG_FIND +Najít... +; Find... +; +MSG_REPLACE +Nahradit... +; Replace... +; +MSG_SUBFIND +Najít +; Find +; +MSG_NEXTFIND +Další +; Next +; +MSG_PREVFIND +Předchozí +; Previous +; +MSG_NEXTREPLACE +Nahradit +; Replace +; +MSG_PREVPAGE +Předchozí strana +; Previous page +; +MSG_NEXTPAGE +Další strana +; Next page +; +MSG_GOTOLINE +Přejít na řádek... +; Goto line... +; +MSG_FINDBRACKET +Odpovídající závorka +; Matching bracket +; +MSG_LASTMODIF +Poslední změna +; Last modification +; +MSG_BEGOFLINE +Začátek řádku +; Start of line +; +MSG_ENDOFLINE +Konec řádku +; End of line +; +; Macro Menu +; +MSG_MACROTITLE +Makro +; Macro +; +MSG_STARTRECORD +Začít nahrávání +; Start recording +; +MSG_STOPRECORD +Zastavit nahrávání +; Stop recording +; +MSG_PLAYMACRO +Spustit makro +; Execute macro +; +MSG_REPEATMACRO +Opakovat makro... +; Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Nastavení +; Environment +; +MSG_SCRMODE +Rozlišení... +; Screen mode... +; +MSG_FONTS +Písma... +; Fonts... +; +MSG_PREFS +Možnosti... +; General preferences... +; +MSG_LOADPREFS +Načíst... +; Load preferences.. +; +MSG_SAVEPREFS +Uložit +; Save preferences +; +MSG_SAVEPREFSAS +Uložit jako... +; Save preferences as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Tento program vyžaduje AmigaOS 2.0 nebo novější. +; Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Nelze otevřít dialogové okno ASL! +; Cannot alloc ASL requester! +; +ERR_NOMEM +Není dostatek volné paměti! +; Out of memory! +; +ERR_NOGUI +Nelze otevřít uživatelské rozhraní programu! +; Main interface failed to open! +; +ERR_NONAME +bez názvu +; No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Chyba při zápisu do schránky. +; Write error into clipboard device +; +ERR_OPENCLIP +Nelze otevřít zařízení clipboard.device! +; Unable to open clipboard! +; +ERR_LOADFILE +Požadovaný soubor nelze načíst. +; Unable to load requested file +; +ERR_NOTXTINCLIP +Schránka neobsahuje text. +; No text in clipboard +; +ERR_WRONG_TYPE +Vybraný objekt je adresář! +; Object is a directory! +; +ERR_READCLIP +Požadovanou operaci nelze dokončit pro nedostatek volné paměti. +; Read operation incomplete +; +ERR_NOBRACKET +Na pozici kurzoru se nenachází závorka! +; No parenthesis under cursor! +; +ERR_NOT_FOUND +Text dle zadané masky "%s" nelze najít. +; Pattern `%s' not found +; +ERR_LOADFONT +Požadované písmo nelze otevřít! +; Can't open desired font! +; +ERR_NOPREFEDITOR +Nelze najít editor nastavení programu! +; Can't find preference editor! +; +ERR_BADPREFSFILE +Formát konfiguračního souboru je neplatný. +; Bad preference file format. +; +ERR_FILEMODIFIED +Obsah souboru %s byl změněn.\nOpravdu chcete tento soubor zavřít? +; %s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Uložit|Zavřít|Zrušit +; Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Zadejte prosím požadovaný text! +; No text to search for! +; +ERR_FILEEXISTS +Tento soubor již existuje. Opravdu ho chcete přepsat? +; This file already exists. Overwrite it? +; +ERR_OC +Ano|Ne +; Yes|No! +; +WARN_RECORD +Začátek záznamu makra +; Start recording macro +; +WARN_RECORDED +Záznam makra byl dokončen +; Macro recorded +; +WARN_REC +[REC] +; [REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Informace +; Information +; +MSG_FORMATINFO +%s\nAutoři: T.Pierron a C.Guillaume\nCopyright (C) 2000\n\nOtevřený soubor: %s\nStatistika: %iu %s, %iu %s. +; %s\nDesigned by T.Pierron and C.Guillaume Š 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +OK +; Continue +; +MSG_BYTE +bajt +; byte +; +MSG_BYTES +bajtů +; bytes +; +MSG_LINE +řádek +; line +; +MSG_LINES +řádků +; lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Hledání textu +; Search pattern +; +MSG_REPLACEWINDOW +Nahrazení textu +; Search & Replace +; +MSG_SEARCHSTRING +Najít: +; Locate: +; +MSG_REPLACESTRING +Nahradit: +; Replace: +; +MSG_OPTCASE +Rozlišovat malá/VELKÁ +; Match case +; +MSG_OPTWORDS +Celá slova +; Whole words +; +MSG_BUTTONREPLACE +Nah_radit +; _Replace +; +MSG_BUTTONREPALL +N_ahradit vše +; Replace _All +; +MSG_BUTTONSEARCH +Najít +; Search +; +MSG_NEXTSEARCH +_Předchozí +; _Previous +; +MSG_USESEARCH +Po_užít +; _Use +; +MSG_CANCELSEARCH +_Zrušit +; _Cancel +; +MSG_REPLACEALL +Nahrazeno %iu %s textu "%s". +; %iu %s of `%s' replaced +; +MSG_OCCURENCY +položka +; occurency +; +MSG_OCCURENCIES +položek +; occurencies +; diff --git a/workbench/tools/Edit/catalogs/danish.ct b/workbench/tools/Edit/catalogs/danish.ct new file mode 100644 index 00000000000..c350ac51023 --- /dev/null +++ b/workbench/tools/Edit/catalogs/danish.ct @@ -0,0 +1,441 @@ +## version $VER: JanoEditor.catalog 1.1 (17.03.2017) +## language dansk +## codeset 0 +; +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; Initial Danish translation by Kristian Poul Herkild +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projekt +; Project +; +MSG_NEWEMPTYFILE +Ny +; New +; +MSG_OPENNEWFILE +Åbn fil... +; Open file... +; +MSG_LOADINPRJ +Indlæs fil... +; Load file... +; +MSG_SAVEFILE +Gem +; Save +; +MSG_SAVEFILEAS +Gem som... +; Save as... +; +MSG_SAVECHANGES +Gem ændringer +; Save changes +; +MSG_PRINTFILE +Udskriv +; Print +; +MSG_INFORMATION +Information... +; Information... +; +MSG_CLOSE +Luk +; Close +; +MSG_QUIT +Afslut +; Quit +; +; Edit Menu +; +MSG_EDITTITLE +Redigér +; Edit +; +MSG_CUT +Klip +; Cut +; +MSG_COPY +Kopiér +; Copy +; +MSG_PASTE +Indsæt +; Paste +; +MSG_MARK +Markér +; Mark +; +MSG_MARKCOLUMN +Markér kolonne +; Mark column +; +MSG_SELECTALL +Vælg alle +; Select all +; +MSG_DELLINE +Slet linie +; Delete line +; +MSG_SUBTOOLS +Værktøjer +; Tools +; +MSG_INDENT +Indryk +; Indent +; +MSG_UNINDENT +Ophæv indrykning +; Unindent +; +MSG_UPPERCASE +Store bogstaver +; Upper case +; +MSG_LOWERCASE +Små bogstaver +; Lower case +; +MSG_TOGGLECASE +Skift mellem store og små bogstaver +; Toggle case +; +MSG_INSERTFILE +Indsæt fil... +; Insert file... +; +MSG_UNDO +Fortryd +; Undo +; +MSG_REDO +Redo +; Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Søg +; Search +; +MSG_FIND +Find... +; Find... +; +MSG_REPLACE +Erstat... +; Replace... +; +MSG_SUBFIND +Find +; Find +; +MSG_NEXTFIND +Næste +; Next +; +MSG_PREVFIND +Forrige +; Previous +; +MSG_NEXTREPLACE +Erstat +; Replace +; +MSG_PREVPAGE +Forrige side +; Previous page +; +MSG_NEXTPAGE +Næste side +; Next page +; +MSG_GOTOLINE +Gå til linie... +; Goto line... +; +MSG_FINDBRACKET +Find modsvarende kantet parentes +; Matching bracket +; +MSG_LASTMODIF +Sidste ændring +; Last modification +; +MSG_BEGOFLINE +Begyndelse på linie +; Start of line +; +MSG_ENDOFLINE +Slutning på linie +; End of line +; +; Macro Menu +; +MSG_MACROTITLE +Makro +; Macro +; +MSG_STARTRECORD +Start optagelse +; Start recording +; +MSG_STOPRECORD +Stop optagelse +; Stop recording +; +MSG_PLAYMACRO +Udfør makro +; Execute macro +; +MSG_REPEATMACRO +Gentag makro... +; Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Miljø +; Environment +; +MSG_SCRMODE +Skærmtilstand... +; Screen mode... +; +MSG_FONTS +Skrifttyper... +; Fonts... +; +MSG_PREFS +Generelle indstillinger... +; General preferences... +; +MSG_LOADPREFS +Indlæs indstillinger... +; Load preferences.. +; +MSG_SAVEPREFS +Gem indstillinger +; Save preferences +; +MSG_SAVEPREFSAS +Gem indstillinger som... +; Save preferences as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Forældet styresystem. Installér version 2.0 eller nyere. +; Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Kan ikke tildele ASL-requester! +; Cannot alloc ASL requester! +; +ERR_NOMEM +For lidt hukommelse! +; Out of memory! +; +ERR_NOGUI +Åbning af hovedinterface mislykkedes! +; Main interface failed to open! +; +ERR_NONAME +Ingen title +; No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Skriv fejl til klippebordet +; Write error into clipboard device +; +ERR_OPENCLIP +Kan ikke åbne klippebord! +; Unable to open clipboard! +; +ERR_LOADFILE +Kan ikke indlæse ønsket fil +; Unable to load requested file +; +ERR_NOTXTINCLIP +Ingen tekst i klippebordet +; No text in clipboard +; +ERR_WRONG_TYPE +Objektet er et katalog! +; Object is a directory! +; +ERR_READCLIP +Læsehandling ufuldstændig +; Read operation incomplete +; +ERR_NOBRACKET +Ingen paranteser under markør! +; No parenthesis under cursor! +; +ERR_NOT_FOUND +Mønstret `%s' kunne ikke findes +; Pattern `%s' not found +; +ERR_LOADFONT +Kan ikke åbne den ønskede skrifttype! +; Can't open desired font! +; +ERR_NOPREFEDITOR +Kan ikke finde indstillingsredigering! +; Can't find preference editor! +; +ERR_BADPREFSFILE +Ugyldigt indstillingsfilformat. +; Bad preference file format. +; +ERR_FILEMODIFIED +%s er blevet ændret.\nEr du sikker på, at du vil lukke den? +; %s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Gem|Luk|Afbryd +; Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Ingen tekst at søge på! +; No text to search for! +; +ERR_FILEEXISTS +Filen findes allerede. Ønsker du at overskrive den? +; This file already exists. Overwrite it? +; +ERR_OC +Ja|Nej! +; Yes|No! +; +WARN_RECORD +Start optagelse af makro +; Start recording macro +; +WARN_RECORDED +Makro blev optaget +; Macro recorded +; +WARN_REC +[REC] +; [REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Information +; Information +; +MSG_FORMATINFO +%s\nDesigned by T.Pierron and C.Guillaume © 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; %s\nDesigned by T.Pierron and C.Guillaume © 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Fortsæt +; Continue +; +MSG_BYTE +byte +; byte +; +MSG_BYTES +byte +; bytes +; +MSG_LINE +linie +; line +; +MSG_LINES +linier +; lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Søgemønster +; Search pattern +; +MSG_REPLACEWINDOW +Søg & erstat +; Search & Replace +; +MSG_SEARCHSTRING +Find: +; Locate: +; +MSG_REPLACESTRING +Erstat: +; Replace: +; +MSG_OPTCASE +Afstem med store/små bogstaver +; Match case +; +MSG_OPTWORDS +hele ord +; Whole words +; +MSG_BUTTONREPLACE +_Erstat +; _Replace +; +MSG_BUTTONREPALL +Erstat a_lle +; Replace _All +; +MSG_BUTTONSEARCH +Søg +; Search +; +MSG_NEXTSEARCH +_Forrige +; _Previous +; +MSG_USESEARCH +Br_ug +; _Use +; +MSG_CANCELSEARCH +_Afbryd +; _Cancel +; +MSG_REPLACEALL +%iu %s af `%s' blev erstattet +; %iu %s of `%s' replaced +; +MSG_OCCURENCY +Forekomst +; occurency +; +MSG_OCCURENCIES +Forekomster +; occurencies +; \ No newline at end of file diff --git a/workbench/tools/Edit/catalogs/finnish.ct b/workbench/tools/Edit/catalogs/finnish.ct new file mode 100644 index 00000000000..c32e9842803 --- /dev/null +++ b/workbench/tools/Edit/catalogs/finnish.ct @@ -0,0 +1,321 @@ +; +; JanoEditor.catalog +; +## version $VER: JanoEditor.catalog 1.1 (17.03.2017). +## codeset 0 +## language suomi +; +MSG_PROJECTTITLE +Projekti +; +MSG_NEWEMPTYFILE +Uusi +; +MSG_OPENNEWFILE +Avaa tiedosto... +; +MSG_LOADINPRJ +Lataa tiedosto... +; +MSG_SAVEFILE +Tallenna +; +MSG_SAVEFILEAS +Tallenna nimellä... +; +MSG_SAVECHANGES +Tallenna muutokset +; +MSG_PRINTFILE +Tulosta +; +MSG_INFORMATION +Tiedot... +; +MSG_CLOSE +Sulje +; +MSG_QUIT +Lopeta +; +MSG_EDITTITLE +Muokkaus +; +MSG_CUT +Leikkaa +; +MSG_COPY +Kopioi +; +MSG_PASTE +Liitä +; +MSG_MARK +Merkitse +; +MSG_MARKCOLUMN +Merkitse sarake +; +MSG_SELECTALL +Valitse kaikki +; +MSG_DELLINE +Poista rivi +; +MSG_SUBTOOLS +Työkalut +; +MSG_INDENT +Sisennä +; +MSG_UNINDENT +Poista sisennys +; +MSG_UPPERCASE +Isot kirjaimet +; +MSG_LOWERCASE +Pienet kirjaimet +; +MSG_TOGGLECASE +Vaihda kirjain kokoa +; +MSG_INSERTFILE +Sisällytä tiedosto... +; +MSG_UNDO +Peru +; +MSG_REDO +Tee uudestaan +; +MSG_SEARCHTITLE +Etsi +; +MSG_FIND +Etsi... +; +MSG_REPLACE +Korvaa... +; +MSG_SUBFIND +Etsi +; +MSG_NEXTFIND +Etsi seuraava +; +MSG_PREVFIND +Etsi edellinen +; +MSG_NEXTREPLACE +Korvaa +; +MSG_PREVPAGE +Edellinen sivu +; +MSG_NEXTPAGE +Seuraava sivu +; +MSG_GOTOLINE +Mene riville... +; +MSG_FINDBRACKET +Vastaava sulku +; +MSG_LASTMODIF +Viimeisin muutos +; +MSG_BEGOFLINE +Rivin alkuun +; +MSG_ENDOFLINE +Rivin loppuun +; +; Macro Menu +; +MSG_MACROTITLE +Makrot +; +MSG_STARTRECORD +Aloita tallennus +; +MSG_STOPRECORD +Lopeta tallennus +; +MSG_PLAYMACRO +Aja makro +; +MSG_REPEATMACRO +Toista makro... +; +; Environnement menu +; +MSG_ENVTITLE +Ympäristö +; +MSG_SCRMODE +Näyttötila... +; +MSG_FONTS +Kirjasimet... +; +MSG_PREFS +Yleisasetukset... +; +MSG_LOADPREFS +Lataa asetukset... +; +MSG_SAVEPREFS +Tallenna asetukset +; +MSG_SAVEPREFSAS +Tallenna asetukset nimellä... +; +ERR_BADOS +Wanha käyttis! Asenna v2.0 tai uudempi. +; +ERR_NOASLREQ +En voi varata ASL-kyselyä! +; +ERR_NOMEM +Muisti lopussa! +; +ERR_NOGUI +Pääkäyttöliittymä ei avaudu! +; +ERR_NONAME +Ei nimeä +; +ERR_WRITECLIP +Kirjoitusvirhe leikepöytälaitteeseen +; +ERR_OPENCLIP +Leikepöytää ei voi avata! +; +ERR_LOADFILE +Haluttua tiedostoa ei voi avata! +; +ERR_NOTXTINCLIP +Ei tekstiä leikepöydällä +; +ERR_WRONG_TYPE +Objekti on hakemisto! +; +ERR_READCLIP +Lukutoiminto epätäydellinen mahdollisen muistin puutteen vuoksi +; +ERR_NOBRACKET +Ei sulkua kursorin alla! +; +ERR_NOT_FOUND +Kuviota '%s' ei löydy +; +ERR_LOADFONT +Haluttua kirjasinta ei voi ladata! +; +ERR_NOPREFEDITOR +Asetusmuokkainta ei löydy! +; +ERR_BADPREFSFILE +Asetustiedoston muoto virheellinen. +; +ERR_FILEMODIFIED +Tiedostoa %s on muokattu.\nOletko varma sen sulkemisesta? +; +ERR_SLC +Tallenna|Sulje|Peru +; +ERR_NOSEARCHTEXT +Ei tekstiä jota etsiä! +; +ERR_FILEEXISTS +Tiedosto on jo olemassa. Kirjoitetaanko sen yli? +; +ERR_OC +Kyllä|EI! +; +WARN_RECORD +Aloita makron tallennus +; +WARN_RECORDED +Makro tallennettu +; +WARN_REC +[REC] +; +; +; ****************** +; Information window +; ****************** +; +MSG_ABOUT +Tietoa +; +MSG_FORMATINFO +%s\nSuunnittelu: T.Pierron ja C.Guillaume © 2000\n\nTiedosto muokattavana: %s\nKoko: %iu %s, %iu %s. +; +MSG_CONTINUE +Jatka +; +MSG_BYTE +tavu +; +MSG_BYTES +tavua +; +MSG_LINE +rivi +; +MSG_LINES +rivejä +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Etsintäkuvio +; +MSG_REPLACEWINDOW +Etsi ja korvaa +; +MSG_SEARCHSTRING +Paikanna: +; +MSG_REPLACESTRING +Korvaava: +; +MSG_OPTCASE +Merkkikoon on vastattava +; +MSG_OPTWORDS +Kokonaiset sanat +; +MSG_BUTTONREPLACE +Ko_rvaa +; +MSG_BUTTONREPALL +Korvaa k_aikki +; +MSG_BUTTONSEARCH +_Etsi +; +MSG_NEXTSEARCH +_Seuraava +; +MSG_USESEARCH +_Käytä +; +MSG_CANCELSEARCH +_Peru +; +MSG_REPLACEALL +%iu %s '%s':sta/ä korvattu +; +MSG_OCCURENCY +esiintymä +; +MSG_OCCURENCIES +esiintymää +; diff --git a/workbench/tools/Edit/catalogs/french.ct b/workbench/tools/Edit/catalogs/french.ct new file mode 100644 index 00000000000..905be8cee18 --- /dev/null +++ b/workbench/tools/Edit/catalogs/french.ct @@ -0,0 +1,336 @@ +## version $VER: JanoEditor.catalog 1.0 (04.01.2018). +## codeset 0 +## language français +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projet +; +MSG_NEWEMPTYFILE +Nouveau +; +MSG_OPENNEWFILE +Ouvrir... +; +MSG_LOADINPRJ +Charger... +; +MSG_SAVEFILE +Sauver +; +MSG_SAVEFILEAS +Sauver sous... +; +MSG_SAVECHANGES +Sauver changements +; +MSG_PRINTFILE +Imprimer +; +MSG_INFORMATION +Informations... +; +MSG_CLOSE +Fermer +; +MSG_QUIT +Quitter +; +; Edit Menu +; +MSG_EDITTITLE +Édition +; +MSG_CUT +Couper +; +MSG_COPY +Copier +; +MSG_PASTE +Coller +; +MSG_MARK +Marquer un bloc +; +MSG_MARKCOLUMN +Marquer en colonne +; +MSG_SELECTALL +Tout sélectionner +; +MSG_DELLINE +Effacer la ligne +; +MSG_SUBTOOLS +Outils +; +MSG_INDENT +Retrait +; +MSG_UNINDENT +Annuler retrait +; +MSG_UPPERCASE +Casse majuscule +; +MSG_LOWERCASE +Casse minuscule +; +MSG_TOGGLECASE +Intervertir casse +; +MSG_INSERTFILE +Insérer... +; +MSG_UNDO +Annuler +; +MSG_REDO +Refaire +; +; Search Menu +; +MSG_SEARCHTITLE +Recherche +; +MSG_FIND +Chercher... +; +MSG_REPLACE +Remplacer... +; +MSG_SUBFIND +Chercher +; +MSG_NEXTFIND +Suivant +; +MSG_PREVFIND +Précédent +; +MSG_NEXTREPLACE +Remplacer +; +MSG_PREVPAGE +Page précédente +; +MSG_NEXTPAGE +Page suivante +; +MSG_GOTOLINE +Aller à la ligne... +; +MSG_FINDBRACKET +Vérifier les parenthèses +; +MSG_LASTMODIF +Dernière modification +; +MSG_BEGOFLINE +Début de ligne +; +MSG_ENDOFLINE +Fin de ligne +; +; Macro Menu +; +MSG_MACROTITLE +Macro +; +MSG_STARTRECORD +Début de l'enregistrement +; +MSG_STOPRECORD +Fin de l'enregistrement +; +MSG_PLAYMACRO +Exécuter la macro +; +MSG_REPEATMACRO +Répéter la macro... +; +; Environment Menu +; +MSG_ENVTITLE +Paramétrage +; +MSG_SCRMODE +Mode d'écran... +; +MSG_FONTS +Police... +; +MSG_PREFS +Préférences... +; +MSG_LOADPREFS +Charger paramètrages... +; +MSG_SAVEPREFS +Sauver paramètres +; +MSG_SAVEPREFSAS +Sauver paramètres en... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Système obsolète. Installez la version 2.0 ou mieux +; +ERR_NOASLREQ +Impossible d'ouvrir le sélecteur de fichier! +; +ERR_NOMEM +Plus assez de mémoire! +; +ERR_NOGUI +Impossible d'ouvrir l'interface principale! +; +ERR_NONAME +Sans titre +; Not really an error but simplify translation +; +ERR_WRITECLIP +Erreur d'écriture dans le presse-papier +; +ERR_OPENCLIP +Impossible d'ouvrir le presse-papier! +; +ERR_LOADFILE +Impossible d'ouvrir le fichier demandé! +; +ERR_NOTXTINCLIP +Aucun texte dans le presse-papier +; +ERR_WRONG_TYPE +L'objet est un répertoire! +; +ERR_READCLIP +Lecture incomplète du presse-papier. Probablement par manque de mémoire. +; +ERR_NOBRACKET +Aucune parenthèse sous le curseur! +; +ERR_NOT_FOUND +Texte `%s' introuvable. +; +ERR_LOADFONT +Impossible d'ouvrir la police voulue! +; +ERR_NOPREFEDITOR +Impossible de trouver l'éditeur de préférences! +; +ERR_BADPREFSFILE +Mauvais format du fichier de préférence. +; +ERR_FILEMODIFIED +%s a été modifié.\nVoulez-vous vraiment fermer ce document? +; +ERR_SLC +Sauver|Fermer|Annuler +; +ERR_NOSEARCHTEXT +Aucun texte à rechercher! +; +ERR_FILEEXISTS +Le fichier existe déjà.\nVoulez-vous l'écraser? +; +ERR_OC +Oui|Non! +; +WARN_RECORD +Enregistrement de la macro en cours +; +WARN_RECORDED +Macro enregistrée +; +WARN_REC +[ENR] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Informations +; +MSG_FORMATINFO +%s\nConçu par T.Pierron et C.Guillaume © 2000\n\nProjet en cours: %s\nLongueur: %iu %s, %iu %s. +; +MSG_CONTINUE +Continuer +; +MSG_BYTE +caractère +; +MSG_BYTES +caractères +; +MSG_LINE +ligne +; +MSG_LINES +lignes +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Recherche de texte +; +MSG_REPLACEWINDOW +Chercher et remplacer +; +MSG_SEARCHSTRING +Trouver: +; +MSG_REPLACESTRING +Remplacer: +; +MSG_OPTCASE +Casse conforme +; +MSG_OPTWORDS +Mot entier +; +MSG_BUTTONREPLACE +_Remplacer +; +MSG_BUTTONREPALL +Tout rempl_acer +; +MSG_BUTTONSEARCH +Chercher +; +MSG_NEXTSEARCH +_Précédent +; +MSG_USESEARCH +_Utiliser +; +MSG_CANCELSEARCH +Annuler +; +MSG_REPLACEALL +Remplacement de %iu %s de `%s'. +; +MSG_OCCURENCY +occurence +; +MSG_OCCURENCIES +occurences +; diff --git a/workbench/tools/Edit/catalogs/german.ct b/workbench/tools/Edit/catalogs/german.ct new file mode 100644 index 00000000000..d1266644342 --- /dev/null +++ b/workbench/tools/Edit/catalogs/german.ct @@ -0,0 +1,440 @@ +## version $VER: Editor.catalog 1.6 (17.03.2017) +## language deutsch +## codeset 0 +; +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projekt +; Project +; +MSG_NEWEMPTYFILE +Neu +; New +; +MSG_OPENNEWFILE +Öffnen... +; Open file... +; +MSG_LOADINPRJ +Laden... +; Load file... +; +MSG_SAVEFILE +Speichern +; Save +; +MSG_SAVEFILEAS +Speichern als... +; Save as... +; +MSG_SAVECHANGES +Änderungen speichern +; Save changes +; +MSG_PRINTFILE +Drucken +; Print +; +MSG_INFORMATION +Information... +; Information... +; +MSG_CLOSE +Schließen +; Close +; +MSG_QUIT +Beenden +; Quit +; +; Edit Menu +; +MSG_EDITTITLE +Bearbeiten +; Edit +; +MSG_CUT +Ausschneiden +; Cut +; +MSG_COPY +Kopieren +; Copy +; +MSG_PASTE +Einfügen +; Paste +; +MSG_MARK +Markieren +; Mark +; +MSG_MARKCOLUMN +Spalte markieren +; Mark column +; +MSG_SELECTALL +Alles auswählen +; Select all +; +MSG_DELLINE +Zeile löschen +; Delete line +; +MSG_SUBTOOLS +Werkzeuge +; Tools +; +MSG_INDENT +Einrücken +; Indent +; +MSG_UNINDENT +Ausrücken +; Unindent +; +MSG_UPPERCASE +Großschreibung +; Upper case +; +MSG_LOWERCASE +Kleinschreibung +; Lower case +; +MSG_TOGGLECASE +Schreibung umkehren +; Toggle case +; +MSG_INSERTFILE +Datei einfügen... +; Insert file... +; +MSG_UNDO +Rückgängig +; Undo +; +MSG_REDO +Wiederherstellen +; Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Suchen +; Search +; +MSG_FIND +Suchen... +; Find... +; +MSG_REPLACE +Ersetzen... +; Replace... +; +MSG_SUBFIND +Suche +; Find +; +MSG_NEXTFIND +Nächstes +; Next +; +MSG_PREVFIND +Vorheriges +; Previous +; +MSG_NEXTREPLACE +Ersetzen +; Replace +; +MSG_PREVPAGE +Vorherige Seite +; Previous page +; +MSG_NEXTPAGE +Nächste Seite +; Next page +; +MSG_GOTOLINE +Gehe zu Zeile... +; Goto line... +; +MSG_FINDBRACKET +Passende Klammer +; Matching bracket +; +MSG_LASTMODIF +Letzte Änderung +; Last modification +; +MSG_BEGOFLINE +Zeilenanfang +; Start of line +; +MSG_ENDOFLINE +Zeilenende +; End of line +; +; Macro Menu +; +MSG_MACROTITLE +Makro +; Macro +; +MSG_STARTRECORD +Aufnahme starten +; Start recording +; +MSG_STOPRECORD +Aufnahme beenden +; Stop recording +; +MSG_PLAYMACRO +Makro abspielen +; Execute macro +; +MSG_REPEATMACRO +Makro wiederholen... +; Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Einstellungen +; Environment +; +MSG_SCRMODE +Bildschirmmodus... +; Screen mode... +; +MSG_FONTS +Schriftarten... +; Fonts... +; +MSG_PREFS +Allgemeine Einstellungen... +; General preferences... +; +MSG_LOADPREFS +Einstellungen laden... +; Load preferences.. +; +MSG_SAVEPREFS +Einstellungen speichern +; Save preferences +; +MSG_SAVEPREFSAS +Einstellungen speichern als... +; Save preferences as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +AmigaOS v2.0 oder neuer wird benötigt. +; Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Kann ASL-Requester nicht öffnen! +; Cannot alloc ASL requester! +; +ERR_NOMEM +Speichermangel! +; Out of memory! +; +ERR_NOGUI +Hauptfenster konnte nicht geöffnet werden! +; Main interface failed to open! +; +ERR_NONAME +Unbenannt +; No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Fehler beim Schreiben in die Zwischenablage! +; Write error into clipboard device +; +ERR_OPENCLIP +Zwischenablage konnte nicht geöffnet werden! +; Unable to open clipboard! +; +ERR_LOADFILE +Datei konnte nicht geöffnet werden! +; Unable to load requested file +; +ERR_NOTXTINCLIP +Zwischenablage enthält keinen Text! +; No text in clipboard +; +ERR_WRONG_TYPE +Objekt ist ein Verzeichnis! +; Object is a directory! +; +ERR_READCLIP +Text aus Zwischenablage konnte nicht komplett gelesen werden. +; Read operation incomplete +; +ERR_NOBRACKET +Keine Klammer unter Cursor! +; No parenthesis under cursor! +; +ERR_NOT_FOUND +Muster '%s' nicht gefunden +; Pattern `%s' not found +; +ERR_LOADFONT +Gewählter Zeichensatz konnte nicht geöffnet werden! +; Can't open desired font! +; +ERR_NOPREFEDITOR +Voreinstellungsprogramm konnte nicht gefunden werden! +; Can't find preference editor! +; +ERR_BADPREFSFILE +Einstellungsdatei hat ein ungültiges Format. +; Bad preference file format. +; +ERR_FILEMODIFIED +%s wurde geändert.\nSoll die Datei wirklich geschlossen werden? +; %s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Speichern|Schließen|Abbrechen +; Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Kein Suchtext angegeben! +; No text to search for! +; +ERR_FILEEXISTS +Diese Datei existiert bereits. Soll sie überschrieben werden? +; This file already exists. Overwrite it? +; +ERR_OC +Ja|Nein +; Yes|No! +; +WARN_RECORD +Makroaufnahme starten +; Start recording macro +; +WARN_RECORDED +Makro aufgenommen +; Macro recorded +; +WARN_REC +[REC] +; [REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Information +; Information +; +MSG_FORMATINFO +%s\nProgramm von T.Pierron und C.Guillaume © 2000\n\nDatei: %s\nLänge: %iu %s, %iu %s.\n +; %s\nDesigned by T.Pierron and C.Guillaume © 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Weiter +; Continue +; +MSG_BYTE +Byte +; byte +; +MSG_BYTES +Bytes +; bytes +; +MSG_LINE +Zeile +; line +; +MSG_LINES +Zeilen +; lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Text suchen +; Search pattern +; +MSG_REPLACEWINDOW +Suchen und Ersetzen +; Search & Replace +; +MSG_SEARCHSTRING +Suchen: +; Locate: +; +MSG_REPLACESTRING +Er_setzen: +; Replace: +; +MSG_OPTCASE +Groß-/Kleinschreibung beachten +; Match case +; +MSG_OPTWORDS +Ganze Wörter +; Whole words +; +MSG_BUTTONREPLACE +E_rsetzen +; _Replace +; +MSG_BUTTONREPALL +_Alle ersetzen +; Replace _All +; +MSG_BUTTONSEARCH +Suche_n +; Search +; +MSG_NEXTSEARCH +Vorheriges +; _Previous +; +MSG_USESEARCH +Ben_utzen +; _Use +; +MSG_CANCELSEARCH +Abbru_ch +; _Cancel +; +MSG_REPLACEALL +%iu %s von '%s' wurden ersetzt +; %iu %s of `%s' replaced +; +MSG_OCCURENCY +Vorkommen +; occurency +; +MSG_OCCURENCIES +Vorkommen +; occurencies +; diff --git a/workbench/tools/Edit/catalogs/italian.ct b/workbench/tools/Edit/catalogs/italian.ct new file mode 100644 index 00000000000..84cf2f10152 --- /dev/null +++ b/workbench/tools/Edit/catalogs/italian.ct @@ -0,0 +1,336 @@ +## version $VER: JanoEditor.catalog 1.1 (17.03.2017). +## codeset 0 +## language italiano +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Progetto +; +MSG_NEWEMPTYFILE +Nuovo +; +MSG_OPENNEWFILE +Apri... +; +MSG_LOADINPRJ +Carica... +; +MSG_SAVEFILE +Salva +; +MSG_SAVEFILEAS +Salva come... +; +MSG_SAVECHANGES +Salva modifiche +; +MSG_PRINTFILE +Stampa +; +MSG_INFORMATION +Informazioni... +; +MSG_CLOSE +Chiudi +; +MSG_QUIT +Esci +; +; Edit Menu +; +MSG_EDITTITLE +Modifica +; +MSG_CUT +Taglia +; +MSG_COPY +Copia +; +MSG_PASTE +Incolla +; +MSG_MARK +Seleziona paragrafo +; +MSG_MARKCOLUMN +Seleziona colonna +; +MSG_SELECTALL +Seleziona tutto +; +MSG_DELLINE +Elimina riga +; +MSG_SUBTOOLS +Strumenti +; +MSG_INDENT +Aggiungi tabulazione +; +MSG_UNINDENT +Elimina tabulazione +; +MSG_UPPERCASE +Maiuscolo +; +MSG_LOWERCASE +Minuscolo +; +MSG_TOGGLECASE +Inverti Mai./Min. +; +MSG_INSERTFILE +Inserisci file... +; +MSG_UNDO +Annulla +; +MSG_REDO +Ripeti +; +; Search Menu +; +MSG_SEARCHTITLE +Cerca +; +MSG_FIND +Trova... +; +MSG_REPLACE +Sostituisci... +; +MSG_SUBFIND +Cerca +; +MSG_NEXTFIND +Prossimo +; +MSG_PREVFIND +Precedente +; +MSG_NEXTREPLACE +Reinserisci +; +MSG_PREVPAGE +Pagina precedente +; +MSG_NEXTPAGE +Pagina successiva +; +MSG_GOTOLINE +Vai alla riga... +; +MSG_FINDBRACKET +Verifica parentesi +; +MSG_LASTMODIF +Ultima modifica +; +MSG_BEGOFLINE +Inizio riga +; +MSG_ENDOFLINE +Fine riga +; +; Macro Menu +; +MSG_MACROTITLE +Macro +; +MSG_STARTRECORD +Avvia registrazione +; +MSG_STOPRECORD +Fine registrazione +; +MSG_PLAYMACRO +Esegui macro +; +MSG_REPEATMACRO +Ripeti macro... +; +; Environment Menu +; +MSG_ENVTITLE +Ambiente +; +MSG_SCRMODE +Modalità schermo... +; +MSG_FONTS +Font... +; +MSG_PREFS +Preferenze... +; +MSG_LOADPREFS +Carica preferenze... +; +MSG_SAVEPREFS +Salva preferenze +; +MSG_SAVEPREFSAS +Salva preferenze come... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Sistema obsoleto. Aggiorna a nuova versione. +; +ERR_NOASLREQ +Impossibile aprire finestra dialogo file! +; +ERR_NOMEM +Non c'è abbastanza memoria! +; +ERR_NOGUI +Impossibile aprire l'interfaccia utente! +; +ERR_NONAME +Senza Titolo +; Not really an error but simplify translation +; +ERR_WRITECLIP +Impossibile scrivere sul documento! +; +ERR_OPENCLIP +Impossibile aprire il documento! +; +ERR_LOADFILE +Impossibile accedere al file! +; +ERR_NOTXTINCLIP +Il documento è vuoto! +; +ERR_WRONG_TYPE +L'oggetto è una directory! +; +ERR_READCLIP +Lettura incompleta del docuemnto. Forse manca la memoria. +; +ERR_NOBRACKET +Nessuna parentesi sotto il cursore! +; +ERR_NOT_FOUND +Stringa `%s' irreperibile. +; +ERR_LOADFONT +Impossibile aprire il font selezionato! +; +ERR_NOPREFEDITOR +Impossibile trovare l'editor delle preferenze! +; +ERR_BADPREFSFILE +File preferenze invalido. +; +ERR_FILEMODIFIED +%s è stato modificato.\nChiudere lo stesso il documento? +; +ERR_SLC +Salva|Chiudi|Annulla +; +ERR_NOSEARCHTEXT +Non c'è nessun testo da cercare! +; +ERR_FILEEXISTS +Questo file esiste già. Sovrascrivere il documento? +; +ERR_OC +Sì|No! +; +WARN_RECORD +Registrazione della macro in corso +; +WARN_RECORDED +Macro registrata +; +WARN_REC +[ENR] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Informazioni +; +MSG_FORMATINFO +%s\nConçu di T.Pierron et C.Guillaume © 2000\n\nDocumento attuale: %s\nLunghezza: %iu %s, %iu %s. +; +MSG_CONTINUE +Continua +; +MSG_BYTE +carattere +; +MSG_BYTES +caratteri +; +MSG_LINE +linea +; +MSG_LINES +linee +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Ricerca del testo +; +MSG_REPLACEWINDOW +Trova e sostituisci +; +MSG_SEARCHSTRING +Trova: +; +MSG_REPLACESTRING +Sostituisci con: +; +MSG_OPTCASE +Modi conformi +; +MSG_OPTWORDS +Parola intera +; +MSG_BUTTONREPLACE +_Rimpiazza +; +MSG_BUTTONREPALL +Rimpi_azza tutti +; +MSG_BUTTONSEARCH +Cerca +; +MSG_NEXTSEARCH +_Precedente +; +MSG_USESEARCH +_Usa +; +MSG_CANCELSEARCH +Annulla +; +MSG_REPLACEALL +Sostituzione di %iu %s con `%s'. +; +MSG_OCCURENCY +occorrenza +; +MSG_OCCURENCIES +occorrenze +; diff --git a/workbench/tools/Edit/catalogs/mmakefile.src b/workbench/tools/Edit/catalogs/mmakefile.src new file mode 100644 index 00000000000..32bd6c5a547 --- /dev/null +++ b/workbench/tools/Edit/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish finnish french german italian norwegian polish portuguese russian spanish + +%build_catalogs mmake=workbench-tools-editor-catalogs \ + catalogs=$(CATALOGS) \ + name=Editor subdir=System/Tools diff --git a/workbench/tools/Edit/catalogs/norwegian.ct b/workbench/tools/Edit/catalogs/norwegian.ct new file mode 100644 index 00000000000..552944f0209 --- /dev/null +++ b/workbench/tools/Edit/catalogs/norwegian.ct @@ -0,0 +1,321 @@ +; +; JanoEditor.catalog +; +## version $VER: JanoEditor.catalog 1.1 (20.05.2019). +## codeset 0 +## language norsk +; +MSG_PROJECTTITLE +Prosjekt +; +MSG_NEWEMPTYFILE +Ny +; +MSG_OPENNEWFILE +Åpne fil... +; +MSG_LOADINPRJ +Hent fil... +; +MSG_SAVEFILE +Lagre +; +MSG_SAVEFILEAS +Lagre som... +; +MSG_SAVECHANGES +Lagre endringer +; +MSG_PRINTFILE +Skriv ut +; +MSG_INFORMATION +Informasjon... +; +MSG_CLOSE +Lukk +; +MSG_QUIT +Avslutt +; +MSG_EDITTITLE +Rediger +; +MSG_CUT +Klipp ut +; +MSG_COPY +Kopier +; +MSG_PASTE +Lim inn +; +MSG_MARK +Merk +; +MSG_MARKCOLUMN +Merk kolonne +; +MSG_SELECTALL +Merk alt +; +MSG_DELLINE +Slett linje +; +MSG_SUBTOOLS +Verktøy +; +MSG_INDENT +Innrykk +; +MSG_UNINDENT +Tilbakeinnrykk +; +MSG_UPPERCASE +Store bokstaver +; +MSG_LOWERCASE +Små bokstaver +; +MSG_TOGGLECASE +Veksle store/små bokstaver +; +MSG_INSERTFILE +Sett inn fil... +; +MSG_UNDO +Angre +; +MSG_REDO +Gjør om +; +MSG_SEARCHTITLE +Søk +; +MSG_FIND +Søk... +; +MSG_REPLACE +Erstatt... +; +MSG_SUBFIND +Søk +; +MSG_NEXTFIND +Neste +; +MSG_PREVFIND +Forrige +; +MSG_NEXTREPLACE +Erstatt +; +MSG_PREVPAGE +Forrige side +; +MSG_NEXTPAGE +Neste side +; +MSG_GOTOLINE +Gå til linje... +; +MSG_FINDBRACKET +Matchende parenteser +; +MSG_LASTMODIF +Siste modifikasjon +; +MSG_BEGOFLINE +Start på linje +; +MSG_ENDOFLINE +Slutt på linje +; +; Macro Menu +; +MSG_MACROTITLE +Makro +; +MSG_STARTRECORD +Start opptak +; +MSG_STOPRECORD +Stopp opptak +; +MSG_PLAYMACRO +Avspill makro +; +MSG_REPEATMACRO +Gjenta makro... +; +; Environnement menu +; +MSG_ENVTITLE +Innstillinger +; +MSG_SCRMODE +Oppløsning... +; +MSG_FONTS +Skrifttyper... +; +MSG_PREFS +Generelle innstillinger... +; +MSG_LOADPREFS +Hent innstillinger... +; +MSG_SAVEPREFS +Lagre innstillinger +; +MSG_SAVEPREFSAS +Lagre innstillinger som... +; +ERR_BADOS +Krever OS v2.0 eller høyere. +; +ERR_NOASLREQ +Kan ikke åpne ASL-anmoder! +; +ERR_NOMEM +Ikke nok minne! +; +ERR_NOGUI +Klarte ikke åpne brukergrensesnittet! +; +ERR_NONAME +Uten navn +; +ERR_WRITECLIP +Klarte ikke skrive til utklippstavle! +; +ERR_OPENCLIP +Klarte ikke åpne utklippstavle! +; +ERR_LOADFILE +Klarte ikke åpne fil! +; +ERR_NOTXTINCLIP +Utklippstavlen inneholder ingen tekst +; +ERR_WRONG_TYPE +Objektet er av feil type! +; +ERR_READCLIP +Klarte ikke lese fil på grunn av for lite minne! +; +ERR_NOBRACKET +Ingen parentes under markøren! +; +ERR_NOT_FOUND +Klarte ikke finne mønsteret '%s' +; +ERR_LOADFONT +Klarte ikke åpne skrifttypen! +; +ERR_NOPREFEDITOR +Klarte ikke finne innstillingseditoren! +; +ERR_BADPREFSFILE +Feil filformat på innstillingsfilen. +; +ERR_FILEMODIFIED +%s er endret.\nEr du sikker på at du vil lukke? +; +ERR_SLC +Lagre|Lukk|Avbryt +; +ERR_NOSEARCHTEXT +Ingen tekst å søke etter! +; +ERR_FILEEXISTS +Filen finnes allerede. Overskrive? +; +ERR_OC +Ok|Avbryt +; +WARN_RECORD +Start opptak av makro +; +WARN_RECORDED +Makro innspilt +; +WARN_REC +[REC] +; +; +; ****************** +; Information window +; ****************** +; +MSG_ABOUT +Om +; +MSG_FORMATINFO +%s\nProgram av T.Pierron and C.Guillaume ? 2000\n\nRedigert fil: %s\nLengde: %iu %s, %iu %s. +; +MSG_CONTINUE +Fortsett +; +MSG_BYTE +Byte +; +MSG_BYTES +Byte +; +MSG_LINE +Linje +; +MSG_LINES +Linjer +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Søk etter +; +MSG_REPLACEWINDOW +Søk og erstatt +; +MSG_SEARCHSTRING +Søk: +; +MSG_REPLACESTRING +Er_statt: +; +MSG_OPTCASE +Store/små bokstaver +; +MSG_OPTWORDS +Hele ord +; +MSG_BUTTONREPLACE +E_rstatt +; +MSG_BUTTONREPALL +Erstatt _alle +; +MSG_BUTTONSEARCH +Sø_k +; +MSG_NEXTSEARCH +Forrige +; +MSG_USESEARCH +Br_uk +; +MSG_CANCELSEARCH +Avbr_yt +; +MSG_REPLACEALL +%iu %s av '%s' erstattet +; +MSG_OCCURENCY +forekomst +; +MSG_OCCURENCIES +forekomster +; \ No newline at end of file diff --git a/workbench/tools/Edit/catalogs/polish.ct b/workbench/tools/Edit/catalogs/polish.ct new file mode 100644 index 00000000000..eeba9a40998 --- /dev/null +++ b/workbench/tools/Edit/catalogs/polish.ct @@ -0,0 +1,404 @@ +## version $VER: Editor.catalog 1.5 (17.03.2017) +## language polski +## codeset 5 +; +MSG_PROJECTTITLE +Projekt +; Project +; +MSG_NEWEMPTYFILE +Nowy +; New +; +MSG_OPENNEWFILE +Otwórz... +; Open file... +; +MSG_LOADINPRJ +Wczytaj... +; Load file... +; +MSG_SAVEFILE +Zapisz +; Save +; +MSG_SAVEFILEAS +Zapisz jako... +; Save as... +; +MSG_SAVECHANGES +Zapisz zmiany +; Save changes +; +MSG_PRINTFILE +Drukuj +; Print +; +MSG_INFORMATION +Informacje... +; Information... +; +MSG_CLOSE +Zamknij +; Close +; +MSG_QUIT +Skończ +; Quit +; +MSG_EDITTITLE +Edycja +; Edit +; +MSG_CUT +Wytnij +; Cut +; +MSG_COPY +Skopiuj +; Copy +; +MSG_PASTE +Wklej +; Paste +; +MSG_MARK +Zaznacz +; Mark +; +MSG_MARKCOLUMN +Zaznacz kolumnę +; Mark column +; +MSG_SELECTALL +Zaznacz wszystko +; Select all +; +MSG_DELLINE +Usuń linię +; Delete line +; +MSG_SUBTOOLS +Narzędzia +; Tools +; +MSG_INDENT +Wcięcie +; Indent +; +MSG_UNINDENT +Cofnij wcięcie +; Unindent +; +MSG_UPPERCASE +Wielkie litery +; Upper case +; +MSG_LOWERCASE +Małe litery +; Lower case +; +MSG_TOGGLECASE +Zamień wielkość liter +; Toggle case +; +MSG_INSERTFILE +Wstaw plik... +; Insert file... +; +MSG_UNDO +Cofnij +; Undo +; +MSG_REDO +Przywróć +; Redo +; +MSG_SEARCHTITLE +Szukaj +; Search +; +MSG_FIND +Znajdź... +; Find... +; +MSG_REPLACE +Zastąp... +; Replace... +; +MSG_SUBFIND +Znajdź +; Find +; +MSG_NEXTFIND +Następny +; Next +; +MSG_PREVFIND +Poprzedni +; Previous +; +MSG_NEXTREPLACE +Zastąp +; Replace +; +MSG_PREVPAGE +Poprzednia strona +; Previous page +; +MSG_NEXTPAGE +Następna strona +; Next page +; +MSG_GOTOLINE +Przejdź do linii... +; Goto line... +; +MSG_FINDBRACKET +Pasujące nawiasy +; Matching bracket +; +MSG_LASTMODIF +Ostatnia zmiana +; Last modification +; +MSG_BEGOFLINE +Początek linii +; Start of line +; +MSG_ENDOFLINE +Koniec linii +; End of line +; +MSG_MACROTITLE +Makro +; Macro +; +MSG_STARTRECORD +Rozpocznij rejestrację +; Start recording +; +MSG_STOPRECORD +Zatrzymaj rejestrację +; Stop recording +; +MSG_PLAYMACRO +Uruchom makro +; Execute macro +; +MSG_REPEATMACRO +Powtórz makro... +; Repeat macro... +; +MSG_ENVTITLE +Środowisko +; Environment +; +MSG_SCRMODE +Tryb wyświetlania... +; Screen mode... +; +MSG_FONTS +Czcionki... +; Fonts... +; +MSG_PREFS +Główne... +; General preferences... +; +MSG_LOADPREFS +Wczytaj preferencje... +; Load preferences.. +; +MSG_SAVEPREFS +Zapisz preferencje +; Save preferences +; +MSG_SAVEPREFSAS +Zapisz preferencje jako... +; Save preferences as... +; +ERR_BADOS +Przestarzała wersja systemu. Zainstaluj wersję v2.0 lub nowszą. +; Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Nie można zaalokować komunikatu ASL! +; Cannot alloc ASL requester! +; +ERR_NOMEM +Brak pamięci! +; Out of memory! +; +ERR_NOGUI +Nie można otworzyć interfejsu programu! +; Main interface failed to open! +; +ERR_NONAME +brak nazwy +; No title +; +ERR_WRITECLIP +Błąd zapisu do schowka. +; Write error into clipboard device +; +ERR_OPENCLIP +Nie można otworzyć schowka! +; Unable to open clipboard! +; +ERR_LOADFILE +Nie można otworzyć pliku. +; Unable to load requested file +; +ERR_NOTXTINCLIP +Brak tekstu w schowku. +; No text in clipboard +; +ERR_WRONG_TYPE +Obiekt jest katalogiem! +; Object is a directory! +; +ERR_READCLIP +Operacja odczytu zakończona niepowodzeniem. +; Read operation incomplete +; +ERR_NOBRACKET +Brak nawiasu pod kursorem! +; No parenthesis under cursor! +; +ERR_NOT_FOUND +Wzorzec \"%s\" nie został znaleziony. +; Pattern `%s' not found +; +ERR_LOADFONT +Nie można otworzyć czcionki! +; Can't open desired font! +; +ERR_NOPREFEDITOR +Nie można odnaleźć edytora preferencji! +; Can't find preference editor! +; +ERR_BADPREFSFILE +Zły format pliku preferencji. +; Bad preference file format. +; +ERR_FILEMODIFIED +Plik %s został zmieniony.\nCzy rzeczywiście chcesz go zamknąć? +; %s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Zapisz|Zamknij|Poniechaj +; Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Nie podano tekstu do wyszukania! +; No text to search for! +; +ERR_FILEEXISTS +Plik istnieje. Nadpisać? +; This file already exists. Overwrite it? +; +ERR_OC +Tak|Nie +; Yes|No! +; +WARN_RECORD +Początek rejestracji makra +; Start recording macro +; +WARN_RECORDED +Makro zapisane +; Macro recorded +; +WARN_REC +[REC] +; [REC] +; +MSG_ABOUT +Informacja +; Information +; +MSG_FORMATINFO +%s\nAutorzy: T.Pierron i C.Guillaume\nCopyright (C) 2000\n\nEdytowany plik: %s\Wielkość: %iu %s, %iu %s. +; %s\nDesigned by T.Pierron and C.Guillaume Š 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Kontynuuj +; Continue +; +MSG_BYTE +bajt +; byte +; +MSG_BYTES +bajtów +; bytes +; +MSG_LINE +linia +; line +; +MSG_LINES +linii +; lines +; +MSG_SEARCHWINDOW +Wzorzec szukania +; Search pattern +; +MSG_REPLACEWINDOW +Znajdź i zamień +; Search & Replace +; +MSG_SEARCHSTRING +Znajdź: +; Locate: +; +MSG_REPLACESTRING +Zamień: +; Replace: +; +MSG_OPTCASE +Rozróżniaj wielkość znaków +; Match case +; +MSG_OPTWORDS +Całe słowa +; Whole words +; +MSG_BUTTONREPLACE +_Zamień +; _Replace +; +MSG_BUTTONREPALL +Z_amień wszystkie +; Replace _All +; +MSG_BUTTONSEARCH +Znajdź +; Search +; +MSG_NEXTSEARCH +_Poprzedni +; _Previous +; +MSG_USESEARCH +_Użyj +; _Use +; +MSG_CANCELSEARCH +Ponie_chaj +; _Cancel +; +MSG_REPLACEALL +Zmieniono %iu %s tekstu \"%s\". +; %iu %s of `%s' replaced +; +MSG_OCCURENCY +wystąpienie +; occurency +; +MSG_OCCURENCIES +wystąpienia +; occurencies +; diff --git a/workbench/tools/Edit/catalogs/portuguese.ct b/workbench/tools/Edit/catalogs/portuguese.ct new file mode 100644 index 00000000000..bfb2dd67707 --- /dev/null +++ b/workbench/tools/Edit/catalogs/portuguese.ct @@ -0,0 +1,443 @@ +## version $VER: JanoEditor.catalog 1.1 (17.03.2017). +## codeset 0 +## language português +; +; Translated by João Ralha +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Projecto +;Project +; +MSG_NEWEMPTYFILE +Novo +;New +; +MSG_OPENNEWFILE +Abrir ficheiro... +;Open file... +; +MSG_LOADINPRJ +Carregar ficheiro... +;Load file... +; +MSG_SAVEFILE +Guardar +;Save +; +MSG_SAVEFILEAS +Guardar como... +;Save as... +; +MSG_SAVECHANGES +Guardar as alterações +;Save changes +; +MSG_PRINTFILE +Imprimir +;Print +; +MSG_INFORMATION +Informação... +;Information... +; +MSG_CLOSE +Fechar +;Close +; +MSG_QUIT +Sair +;Quit +; +; Edit Menu +; +MSG_EDITTITLE +Editar +;Edit +; +MSG_CUT +Cortar +;Cut +; +MSG_COPY +Copiar +;Copy +; +MSG_PASTE +Colar +;Paste +; +MSG_MARK +Marcar parágrafo +;Mark +; +MSG_MARKCOLUMN +Marcar coluna +;Mark columnar +; +MSG_SELECTALL +Selecionar tudo +;Elegir a todos +;Select all +; +MSG_DELLINE +Apagar linha +;Del line +; +MSG_SUBTOOLS +Ferramentas +;Tools +; +MSG_INDENT +Indentação +;Indent +; +MSG_UNINDENT +Sem indentação +;Unindent +; +MSG_UPPERCASE +Maiúsculas +;Upper case +; +MSG_LOWERCASE +Minúsculas +;Lower case +; +MSG_TOGGLECASE +Alterar capitalização +;Toggle case +; +MSG_INSERTFILE +Inserir ficheiro... +;Insert file... +; +MSG_UNDO +Anular +;Undo +; +MSG_REDO +Refazer +;Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Localizar +;Search +; +MSG_FIND +Procurar por... +;Find... +; +MSG_REPLACE +Substituir... +;Replace... +; +MSG_SUBFIND +Encontrar +;Find +; +MSG_NEXTFIND +Seguinte +;Next +; +MSG_PREVFIND +Anterior +;Previous +; +MSG_NEXTREPLACE +Substituir +;Replace +; +MSG_PREVPAGE +Pág. anterior +;Prev page +; +MSG_NEXTPAGE +Pág. seguinte +;Next page +; +MSG_GOTOLINE +Ir para linha... +;Goto line... +; +MSG_FINDBRACKET +Revisar corchetes +;Matching bracket +; +MSG_LASTMODIF +Última modificação +;Last modification +; +MSG_BEGOFLINE +Inicio de linha +;Start of line +; +MSG_ENDOFLINE +Fim de linha +;End of line +; +; Macro Menu +; +MSG_MACROTITLE +Macro +; +MSG_STARTRECORD +Inicia gravação +;Start recording +; +MSG_STOPRECORD +Parar gravação +;Stop recording +; +MSG_PLAYMACRO +Executar macro +;Execute macro +; +MSG_REPEATMACRO +Repetir macro... +;Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Ambiente +;Environment +; +MSG_SCRMODE +Modo de écran... +;Screen mode... +; +MSG_FONTS +Fontes... +;Fonts... +; +MSG_PREFS +Prefs. gerais... +;General prefs... +; +MSG_LOADPREFS +Carregar prefs... +;Load prefs... +; +MSG_SAVEPREFS +Guardar prefs. +;Save prefs +; +MSG_SAVEPREFSAS +Guardar prefs. como... +;Save prefs as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +OS obsoleto. Instale la v2.0 ou superior. +;Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +Não pode iniciar requester ASL! +;Cannot alloc ASL requester! +; +ERR_NOMEM +Não há memória disponível! +;Out of memory! +; +ERR_NOGUI +O interface principal não abre! +;Main interface failed to open! +; +ERR_NONAME +Sem descrição +;No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Erro ao escrever para o dispositivo 'clipboard' +;Write error into clipboard device +; +ERR_OPENCLIP +Não foi possível abrir o 'clipboard'! +;Unable to open clipboard! +; +ERR_LOADFILE +Não foi possível abrir o ficheiro +;Unable to load requested file +; +ERR_NOTXTINCLIP +Não existe texto no 'clipboard' +;No text in clipboard +; +ERR_WRONG_TYPE +O objecto é um directório! +;Object is a directory! +; +ERR_READCLIP +Leitura incompleta - provavelmente por falta de memoria +;Read operation incomplete due to probably a lack of memory +; +ERR_NOBRACKET +¡No há un parenteses no cursor! +;No parenthesis under cursor! +; +ERR_NOT_FOUND +Padrão '%s' não encontrado +;Pattern `%s' not found +; +ERR_LOADFONT +Não foi possível abrir a fonte desejada! +;Can't open desired font! +; +ERR_NOPREFEDITOR +Não encontrou o editor de prefs.! +;Can't find preference editor! +; +ERR_BADPREFSFILE +Mau formato do ficheiro de prefs. +;Bad preference file format. +; +ERR_FILEMODIFIED +%s foi alterado.\n¿ Tem certeza que quer fechar este? +;%s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Guardar|Fechar|Cancelar +;Save|Close|Cancel +; +ERR_NOSEARCHTEXT +Texto indefinido para localizar! +;No text to search for! +; +ERR_FILEEXISTS +O ficheiro já existe. Escrever por cima? +;This file already exists. Overwrite it? +; +ERR_OC +Sim|¡Não! +;Yes|No! +; +WARN_RECORD +Inicia gravação macro +;Start recording macro +; +WARN_RECORDED +Macro gravada +;Macro recorded +; +WARN_REC +[GRAVAR] +;[REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Informação +;Information +; +MSG_FORMATINFO +%s\nProgramado por T.Pierron y C.Guillaume © 2000\n\nFicheiro editado: %s\nTamanho: %iu %s, %iu %s. +;%s\nDesigned by T.Pierron and C.Guillaume © 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Continuar +;Continue +; +MSG_BYTE +caracter +;byte +; +MSG_BYTES +caracteres +;bytes +; +MSG_LINE +linha +;line +; +MSG_LINES +linhas +;lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Padrão de procura +;Search pattern +; +MSG_REPLACEWINDOW +Localizar e substituir +;Search & Replace +; +MSG_SEARCHSTRING +Localizar: +;Locate: +; +MSG_REPLACESTRING +Substituir por: +;Replace: +; +MSG_OPTCASE +MAI./min. iguais +;Match case +; +MSG_OPTWORDS +Palavras inteiras +;Whole words +;LISTO +; +; +MSG_BUTTONREPLACE +_Substituir +;_Replace +; +MSG_BUTTONREPALL +_Substituir tudo +;Replace _All +; +MSG_BUTTONSEARCH +Procurar +;Search +; +MSG_NEXTSEARCH +_Anterior +;_Previous +; +MSG_USESEARCH +_Usar +;_Use +; +MSG_CANCELSEARCH +_Cancelar +;_Cancel +; +MSG_REPLACEALL +%iu %s de '%s' substituídos +;%iu %s of `%s' replaced +; +MSG_OCCURENCY +ocorrência +;occurency +; +MSG_OCCURENCIES +ocorrências +;occurencies +; \ No newline at end of file diff --git a/workbench/tools/Edit/catalogs/russian.ct b/workbench/tools/Edit/catalogs/russian.ct new file mode 100644 index 00000000000..e94409bcff8 --- /dev/null +++ b/workbench/tools/Edit/catalogs/russian.ct @@ -0,0 +1,334 @@ +## version $VER: JanoEditor.catalog 1.2 (17.03.2017) +## codeset 2104 +## language russian +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Проект +; +MSG_NEWEMPTYFILE +Новый +; +MSG_OPENNEWFILE +Открыть файл... +; +MSG_LOADINPRJ +Вставить файл... +; +MSG_SAVEFILE +Сохранить +; +MSG_SAVEFILEAS +Сохранить как... +; +MSG_SAVECHANGES +Сохранить изменения +; +MSG_PRINTFILE +Печать +; +MSG_INFORMATION +Информация... +; +MSG_CLOSE +Закрыть +; +MSG_QUIT +Выход +; +; Edit Menu +; +MSG_EDITTITLE +Редактирование +; +MSG_CUT +Вырезать +; +MSG_COPY +Скопировать +; +MSG_PASTE +Вставить +; +MSG_MARK +Пометить +; +MSG_MARKCOLUMN +Пометить колонку +; +MSG_SELECTALL +Выбрать все +; +MSG_DELLINE +Удалить линию +; +MSG_SUBTOOLS +Инструменты +; +MSG_INDENT +Отступить +; +MSG_UNINDENT +Отменить отступ +; +MSG_UPPERCASE +Изменить в верхний регистр +; +MSG_LOWERCASE +Изменить в нижний регистр +; +MSG_TOGGLECASE +Изменить регистр +; +MSG_INSERTFILE +Вставить из файла... +; +MSG_UNDO +Отменить +; +MSG_REDO +Восстановить +; +; Search Menu +; +MSG_SEARCHTITLE +Поиск +; +MSG_FIND +Найти... +; +MSG_REPLACE +Заменить... +; +MSG_SUBFIND +Найти +; +MSG_NEXTFIND +Следующий +; +MSG_PREVFIND +Предыдущий +; +MSG_NEXTREPLACE +Заменить +; +MSG_PREVPAGE +Предыдущая страница +; +MSG_NEXTPAGE +Следующая страница +; +MSG_GOTOLINE +Перейти на строку... +; +MSG_FINDBRACKET +Закрывающая скобка +; +MSG_LASTMODIF +Последнее изменение +; +MSG_BEGOFLINE +Начало строки +; +MSG_ENDOFLINE +Конец строки +; +; Macro Menu +; +MSG_MACROTITLE +Макро +; +MSG_STARTRECORD +Записать +; +MSG_STOPRECORD +Остановить +; +MSG_PLAYMACRO +Воспроизвести +; +MSG_REPEATMACRO +Повторить макро... +; +; Environment Menu +; +MSG_ENVTITLE +Окружение +; +MSG_SCRMODE +Режим экрана... +; +MSG_FONTS +Шрифты... +; +MSG_PREFS +Главные установки... +; +MSG_LOADPREFS +Загрузить настройки... +; +MSG_SAVEPREFS +Сохранить настройки +; +MSG_SAVEPREFSAS +Сохранить настройки как... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +Старая версия ОС. Установите версию 2.04 или выше! +; +ERR_NOASLREQ +Не могу разместить ASL-реквестер! +; +ERR_NOMEM +Не хватает памяти! +; +ERR_NOGUI +Не могу открыть главный интерфейс! +; +ERR_NONAME +Нет имени +; Not really an error but simplify translation ; +ERR_WRITECLIP +Ошибка записи в Clipboard +; +ERR_OPENCLIP +Не могу открыть Clipboard +; +ERR_LOADFILE +Не могу открыть запрошенный файл +; +ERR_NOTXTINCLIP +Нет текста в Clipboard +; +ERR_WRONG_TYPE +Объект является директорией! +; +ERR_READCLIP +Операция чтения неполная всвязи с нехваткой памяти; +; +ERR_NOBRACKET +Отсутствует скобка под курсором! +; +ERR_NOT_FOUND +Строка `%s' не найдена +; +ERR_LOADFONT +Не могу открыть выбранный шрифт! +; +ERR_NOPREFEDITOR +Редактор настроек не найден! +; +ERR_BADPREFSFILE +Неизвестный формат файла настроек +; +ERR_FILEMODIFIED +%s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Сохранить|Закрыть|Отмена +; +ERR_NOSEARCHTEXT +Отсутствует строка для поиска! +; +ERR_FILEEXISTS +Файл уже существует. Перезаписать его? +; +ERR_OC +Да|Нет +; +WARN_RECORD +Идёт запись макро +; +WARN_RECORDED +Макро записано +; +WARN_REC +[Зап] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Информация +; +MSG_FORMATINFO +%s\n Авторы: T.Pierron и C.Guillaume ? 2000\n\nРедактируемый файл:: %s\nДлина : %iu %s, %iu %s.\n +; +MSG_CONTINUE +Продолжить +; +MSG_BYTE +байт +; +MSG_BYTES +байт +; +MSG_LINE +строка +; +MSG_LINES +строки +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Поиск +; +MSG_REPLACEWINDOW +Поиск и замена +; +MSG_SEARCHSTRING +Где: +; +MSG_REPLACESTRING +Замена: +; +MSG_OPTCASE +Учитывать регистр +; +MSG_OPTWORDS +Слово целиком +; +MSG_BUTTONREPLACE +Заменить +; +MSG_BUTTONREPALL +Заменить все +; +MSG_BUTTONSEARCH +Поиск +; +MSG_NEXTSEARCH +Предыдущий +; +MSG_USESEARCH +Применить +; +MSG_CANCELSEARCH +Отмена +; +MSG_REPLACEALL +%iu %s of `%s' заменено +; +MSG_OCCURENCY +совпадение +; +MSG_OCCURENCIES +совпадений +; diff --git a/workbench/tools/Edit/catalogs/spanish.ct b/workbench/tools/Edit/catalogs/spanish.ct new file mode 100644 index 00000000000..ecfede3c7d5 --- /dev/null +++ b/workbench/tools/Edit/catalogs/spanish.ct @@ -0,0 +1,443 @@ +## version $VER: JanoEditor.catalog 1.1 (17.03.2017). +## codeset 0 +## language español +; +; Translated by ahg +; +; Catalog description for JanoEditor +; JanoEditor.cd +; +; +; ***************************** +; NewMenu strings +; ***************************** +; +; Project Menu +; +MSG_PROJECTTITLE +Proyecto +;Project +; +MSG_NEWEMPTYFILE +Nuevo +;New +; +MSG_OPENNEWFILE +Abrir el archivo... +;Open file... +; +MSG_LOADINPRJ +Cargar el archivo... +;Load file... +; +MSG_SAVEFILE +Guardar +;Save +; +MSG_SAVEFILEAS +Guardar como... +;Save as... +; +MSG_SAVECHANGES +Guardar los cambios +;Save changes +; +MSG_PRINTFILE +Imprimir +;Print +; +MSG_INFORMATION +Información... +;Information... +; +MSG_CLOSE +Cerrar +;Close +; +MSG_QUIT +Salir +;Quit +; +; Edit Menu +; +MSG_EDITTITLE +Editar +;Edit +; +MSG_CUT +Cortar +;Cut +; +MSG_COPY +Copiar +;Copy +; +MSG_PASTE +Pegar +;Paste +; +MSG_MARK +Marcar un párrafo +;Mark +; +MSG_MARKCOLUMN +Marcar en columna +;Mark columnar +; +MSG_SELECTALL +Seleccionar todo +;Elegir a todos +;Select all +; +MSG_DELLINE +Borrar el renglón +;Del line +; +MSG_SUBTOOLS +Herramientas +;Tools +; +MSG_INDENT +Poner sangría +;Indent +; +MSG_UNINDENT +Quitar sangría +;Unindent +; +MSG_UPPERCASE +Mayúsculas +;Upper case +; +MSG_LOWERCASE +Minúsculas +;Lower case +; +MSG_TOGGLECASE +Intercambiar +;Toggle case +; +MSG_INSERTFILE +Insertar el archivo... +;Insert file... +; +MSG_UNDO +Deshacer +;Undo +; +MSG_REDO +Rehacer +;Redo +; +; Search Menu +; +MSG_SEARCHTITLE +Buscar +;Search +; +MSG_FIND +Buscar por... +;Find... +; +MSG_REPLACE +Reemplazar... +;Replace... +; +MSG_SUBFIND +Buscar +;Find +; +MSG_NEXTFIND +Siguiente +;Next +; +MSG_PREVFIND +Anterior +;Previous +; +MSG_NEXTREPLACE +Reemplazar +;Replace +; +MSG_PREVPAGE +Pág. previa +;Prev page +; +MSG_NEXTPAGE +Sig. pág. +;Next page +; +MSG_GOTOLINE +Ir al renglón... +;Goto line... +; +MSG_FINDBRACKET +Revisar corchetes +;Matching bracket +; +MSG_LASTMODIF +Cambio reciente +;Last modification +; +MSG_BEGOFLINE +Inicio de renglón +;Start of line +; +MSG_ENDOFLINE +Fin de renglón +;End of line +; +; Macro Menu +; +MSG_MACROTITLE +Macro +; +MSG_STARTRECORD +Empezar a grabar +;Start recording +; +MSG_STOPRECORD +Dejar de grabar +;Stop recording +; +MSG_PLAYMACRO +Ejecutar la macro +;Execute macro +; +MSG_REPEATMACRO +Repetir la macro... +;Repeat macro... +; +; Environment Menu +; +MSG_ENVTITLE +Ambiente +;Environment +; +MSG_SCRMODE +Modo de pantalla... +;Screen mode... +; +MSG_FONTS +Fuentes... +;Fonts... +; +MSG_PREFS +Prefs. grales. ... +;General prefs... +; +MSG_LOADPREFS +Cargar prefs. ... +;Load prefs... +; +MSG_SAVEPREFS +Grabar prefs. +;Save prefs +; +MSG_SAVEPREFSAS +Grabar prefs. como... +;Save prefs as... +; +; +; +; ***************************** +; Possible error messages +; ***************************** +; +ERR_BADOS +OS obsoleto. Instale la v2.0 o superior. +;Obsolete OS. Install v2.0 or better. +; +ERR_NOASLREQ +¡No se puede asignar el requester ASL! +;Cannot alloc ASL requester! +; +ERR_NOMEM +¡No hay memoria! +;Out of memory! +; +ERR_NOGUI +¡La interfaz principal no se abre! +;Main interface failed to open! +; +ERR_NONAME +Sin descripción +;No title +; Not really an error but simplify translation +; +ERR_WRITECLIP +Error al escribir al dispositivo clipboard +;Write error into clipboard device +; +ERR_OPENCLIP +¡No se puede abrir el clipboard! +;Unable to open clipboard! +; +ERR_LOADFILE +No se puede cargar el archivo solicitado +;Unable to load requested file +; +ERR_NOTXTINCLIP +No hay texto en el clipboard +;No text in clipboard +; +ERR_WRONG_TYPE +¡El objeto es un directorio! +;Object is a directory! +; +ERR_READCLIP +Lectura incompleta quizás por falta de memoria +;Read operation incomplete due to probably a lack of memory +; +ERR_NOBRACKET +¡No hay un paréntesis en el cursor! +;No parenthesis under cursor! +; +ERR_NOT_FOUND +El patrón '%s' no se halla +;Pattern `%s' not found +; +ERR_LOADFONT +¡No se puede abrir la fuente deseada! +;Can't open desired font! +; +ERR_NOPREFEDITOR +¡No se halla al editor de prefs.! +;Can't find preference editor! +; +ERR_BADPREFSFILE +Mal formato del archivo de prefs. +;Bad preference file format. +; +ERR_FILEMODIFIED +%s ha cambiado.\n¿Estás seguro de cerrarlo? +;%s has been modified.\nAre you sure want to close it? +; +ERR_SLC +Grabar|Cerrar|Cancelar +;Save|Close|Cancel +; +ERR_NOSEARCHTEXT +¡No texto para buscar! +;No text to search for! +; +ERR_FILEEXISTS +El archivo ya existe. ¿Sobrescribirlo? +;This file already exists. Overwrite it? +; +ERR_OC +Sí|¡No! +;Yes|No! +; +WARN_RECORD +Empieza la grabación +;Start recording macro +; +WARN_RECORDED +Macro grabada +;Macro recorded +; +WARN_REC +[GRABAR] +;[REC] +; +; +; ************************************* +; Information window related messages +; ************************************* +; +MSG_ABOUT +Información +;Information +; +MSG_FORMATINFO +%s\nDiseñado por T.Pierron y C.Guillaume © 2000\n\nArchivo editdo: %s\nLongitud: %iu %s, %iu %s. +;%s\nDesigned by T.Pierron and C.Guillaume © 2000\n\nFile edited: %s\nLength: %iu %s, %iu %s. +; +MSG_CONTINUE +Seguir +;Continue +; +MSG_BYTE +caracter +;byte +; +MSG_BYTES +caracteres +;bytes +; +MSG_LINE +renglón +;line +; +MSG_LINES +renglones +;lines +; +; +; ************************* +; Search & replace window +; ************************* +; +MSG_SEARCHWINDOW +Buscar el patrón +;Search pattern +; +MSG_REPLACEWINDOW +Hallar y sustituir +;Search & Replace +; +MSG_SEARCHSTRING +Hallar: +;Locate: +; +MSG_REPLACESTRING +Cambiar por: +;Replace: +; +MSG_OPTCASE +May./min. iguales +;Match case +; +MSG_OPTWORDS +Palabras enteras +;Whole words +;LISTO +; +; +MSG_BUTTONREPLACE +_Cambiar +;_Replace +; +MSG_BUTTONREPALL +_Cambiar todas +;Replace _All +; +MSG_BUTTONSEARCH +Buscar +;Search +; +MSG_NEXTSEARCH +_Previo +;_Previous +; +MSG_USESEARCH +_Usar +;_Use +; +MSG_CANCELSEARCH +_Cancelar +;_Cancel +; +MSG_REPLACEALL +%iu %s de '%s' reemplazados +;%iu %s of `%s' replaced +; +MSG_OCCURENCY +ocurrencia +;occurency +; +MSG_OCCURENCIES +ocurrencias +;occurencies +; diff --git a/workbench/tools/HDToolBox/Env-Archive/hdtoolbox.prefs b/workbench/tools/HDToolBox/Env-Archive/hdtoolbox.prefs index 965d1739f81..02a76977360 100644 --- a/workbench/tools/HDToolBox/Env-Archive/hdtoolbox.prefs +++ b/workbench/tools/HDToolBox/Env-Archive/hdtoolbox.prefs @@ -1,174 +1,15 @@ [TableIDs] TableType = "PC-MBR" IDLen = 1 -"\000" = "Empty" -"\001" = "FAT12" -"\002" = "XENIX root" -"\003" = "XENIX user" -"\004" = "FAT16 < 32M" -"\005" = "Extended" -"\006" = "FAT16" -"\007" = "HPFS/NTFS/QNX-2 (16 bit)" -"\010" = "AIX" -"\011" = "AIX bootable" -"\012" = "OS/2 Boot Manager" -"\013" = "Win95 FAT32" -"\014" = "Win95 FAT32 (LBA)" -"\016" = "Win95 FAT16 (LBA)" -"\017" = "Win95 Ext'd (LBA)" -"\020" = "OPUS" -"\021" = "Hidden FAT12" -"\022" = "Compaq diagnost" -"\024" = "Hidden FAT16 < 32" -"\026" = "Hidden FAT16" -"\027" = "Hidden HPFS/NTFS" -"\030" = "AST SmartSleep" -"\033" = "Hidden Win95 FAT ???" -"\034" = "Hidden Win95 FAT ???" -"\036" = "Hidden Win95 FAT ???" -"\044" = "NEC DOS" -"\054" = "Old Filesystem" -"\055" = "Fast Filesystem" -"\056" = "Fast Filesystem Intl" -"\057" = "Smart Filesystem" -"\060" = "AROS RDB Partition Table" -"\071" = "Plan 9" -"\074" = "PartitionMagic" -"\100" = "Venix 80286" -"\101" = "PPC PReP Boot" -"\102" = "SFS" -"\115" = "QNX4.x" -"\116" = "QNX4.x 2nd part" -"\117" = "QNX4.x 3rd part" -"\120" = "OnTrack DM" -"\121" = "OnTrack DM6 Aux" -"\122" = "CP/M" -"\123" = "OnTrack DM6 Aux" -"\124" = "OnTrackDM6" -"\125" = "EZ-Drive" -"\126" = "Golden Bow" -"\134" = "Priam Edisk" -"\141" = "SpeedStor" -"\143" = "GNU HURD or SysV" -"\144" = "Novell Netware 2.xx" -"\145" = "Novell Netware 3.xx" -"\160" = "DiskSecure Mult" -"\165" = "PC/IX" -"\166" = "Amithlon Virtual Harddisk" -"\200" = "Old Minix" -"\201" = "Minix / old Linux" -"\202" = "Linux swap" -"\203" = "Linux" -"\204" = "OS/2 hidden C:" -"\205" = "Linux extended" -"\206" = "NTFS volume set" -"\207" = "NTFS volume set" -"\216" = "Linux LVM" -"\223" = "Amoeba" -"\224" = "Amoeba BBT" -"\237" = "BSD/OS" -"\240" = "IBM Thinkpad hi???" -"\245" = "FreeBSD" -"\246" = "OpenBSD" -"\247" = "NeXTSTEP" -"\251" = "NetBSD" -"\267" = "BSDI fs" -"\270" = "BSDI swap" -"\273" = "Boot Wizard hid" -"\301" = "DRDOS/sec (FAT-???)" -"\304" = "DRDOS/sec (FAT-???)" -"\306" = "DRDOS/sec (FAT-???)" -"\307" = "Syrinx" -"\332" = "Non-FS data" -"\333" = "CP/M / CTOS / ." -"\336" = "Dell Utility" -"\337" = "BootIt" -"\341" = "DOS access" -"\343" = "DOS R/O" -"\344" = "SpeedStor" -"\353" = "BeOS fs" -"\356" = "EFI GPT" -"\357" = "EFI (FAT-12/16/???)" -"\360" = "Linux/PA-RISC b???" -"\361" = "SpeedStor" -"\362" = "DOS secondary" -"\364" = "SpeedStor" -"\375" = "Linux raid auto" -"\376" = "LANstep" -"\377" = "BBT" -Default = "\060" +"\014" = "FAT32 (LBA)" +Default = "\014" TableType = "RDB" IDLen = 4 -"DOS\000" = "Old Filesystem" -"DOS\001" = "Fast Filesystem" -"DOS\003" = "Fast Filesystem Intl" -"DOS\005" = "Fast Filesystem DC" -"SFS\000" = "Smart Filesystem - BE" -"sfs\000" = "Smart Filesystem - LE" -"PFS\002" = "Professional File System2" -"muF\000" = "muFS Old Filesystem" -"muF\001" = "muFS Fast Filesystem" -"muF\002" = "muFS Old Filesystem Intl" -"muF\003" = "muFS Fast Filesystem Intl" -"muF\004" = "muFS Old Filesystem DC" -"muF\005" = "muFS Fast Filesystem DC" -"FAT\002" = "FAT32" -Default = "DOS\003" - -TableType = "GPT" -IDLen = 16 -C12A7328-F81F-11D2-BA4B-00A0C93EC93B = "EFI System" -21686148-6449-6E6F-744E-656564454649 = "BIOS Boot" -E3C9E316-0B5C-4DB8-817D-F92DF00215AE = "Microsoft Reserved" -EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 = "Basic data" -5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 = "Windows LDM metadata" -AF9B60A0-1431-4F62-BC68-3311714A69AD = "Windows LDM data" -DE94BBA4-06D1-4D40-A16A-BFD50179D6AC = "Windows Recovery Environment" -37AFFC90-EF7D-4E96-91C3-2D7AE055B174 = "IBM GPFS" -75894C1E-3AEB-11D3-B7C1-7B03A0000000 = "HP-UX Data" -E2A1E728-32E3-11D6-A682-7B03A0000000 = "HP-UX Service" -A19D880F-05FC-4D3B-A006-743F0F84911E = "Linux RAID" -0657FD6D-A4AB-43C4-84E5-0933C84B4F4F = "Linux Swap" -E6D6D379-F507-44C2-A23C-238F2A3DF928 = "Linux LVM" -8DA63339-0007-60C0-C436-083AC8230908 = "Linux Reserved" -83BD6B9D-7F41-11DC-BE0B-001560B84F0F = "FreeBSD Boot" -516E7CB4-6ECF-11D6-8FF8-00022D09712B = "FreeBSD Data" -516E7CB5-6ECF-11D6-8FF8-00022D09712B = "FreeBSD Swap" -516E7CB6-6ECF-11D6-8FF8-00022D09712B = "Unix File System (UFS)" -516E7CB8-6ECF-11D6-8FF8-00022D09712B = "Vinum volume manager" -516E7CBA-6ECF-11D6-8FF8-00022D09712B = "FreeBSD ZFS" -48465300-0000-11AA-AA11-00306543ECAC = "Apple HFS+" -55465300-0000-11AA-AA11-00306543ECAC = "Apple UFS" -6A898CC3-1DD2-11B2-99A6-080020736631 = "Solaris /usr / MacOS X ZFS" -52414944-0000-11AA-AA11-00306543ECAC = "Apple RAID" -52414944-5F4F-11AA-AA11-00306543ECAC = "Apple RAID, offline" -426F6F74-0000-11AA-AA11-00306543ECAC = "Apple Boot" -4C616265-6C00-11AA-AA11-00306543ECAC = "Apple Label" -5265636F-7665-11AA-AA11-00306543ECAC = "Apple TV Recovery" -6A82CB45-1DD2-11B2-99A6-080020736631 = "Solaris Boot" -6A85CF4D-1DD2-11B2-99A6-080020736631 = "Solaris Root" -6A87C46F-1DD2-11B2-99A6-080020736631 = "Solaris Swap" -6A8B642B-1DD2-11B2-99A6-080020736631 = "Solaris Backup" -6A8EF2E9-1DD2-11B2-99A6-080020736631 = "Solaris /var" -6A90BA39-1DD2-11B2-99A6-080020736631 = "Solaris /home" -6A9283A5-1DD2-11B2-99A6-080020736631 = "Solaris Alternate sector" -6A945A3B-1DD2-11B2-99A6-080020736631 = "Solaris Reserved 1" -6A9630D1-1DD2-11B2-99A6-080020736631 = "Solaris Reserved 2" -6A980767-1DD2-11B2-99A6-080020736631 = "Solaris Reserved 3" -6A96237F-1DD2-11B2-99A6-080020736631 = "Solaris Reserved 4" -6A8D2AC7-1DD2-11B2-99A6-080020736631 = "Solaris Reserved 5" -49F48D32-B10E-11DC-B99B-0019D1879648 = "NetBSD Swap" -49F48D5A-B10E-11DC-B99B-0019D1879648 = "NetBSD FFS" -49F48D82-B10E-11DC-B99B-0019D1879648 = "NetBSD LFS" -49F48DAA-B10E-11DC-B99B-0019D1879648 = "NetBSD RAID" -2DB519C4-B10F-11DC-B99B-0019D1879648 = "NetBSD Concatenated partition" -2DB519EC-B10F-11DC-B99B-0019D1879648 = "NetBSD Encrypted partition" -FE3A2A5D-4F32-41A7-B725-ACCC3285A309 = "ChromeOS kernel" -3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC = "ChromeOS rootfs" -2E0A753D-9E48-43B0-8337-B15192CB1B5E = "ChromeOS Reserved" -00000000-BB67-46C5-AA4A-F502CA018E5E = "AROS Reserved" -444F5300-BB67-46C5-AA4A-F502CA018E5E = "AROS Old Filesystem" -444F5301-BB67-46C5-AA4A-F502CA018E5E = "AROS Fast Filesystem" -444F5303-BB67-46C5-AA4A-F502CA018E5E = "AROS Fast Filesystem Intl" -53465300-BB67-46C5-AA4A-F502CA018E5E = "AROS Smart Filesystem - BE" +"DOS\000" = "Old File System (OFS)" +"DOS\001" = "Fast File System (FFS)" +"DOS\003" = "Fast File System International (FFS)" +"SFS\000" = "Smart File System (SFS)" +"SFS\002" = "Smart File System 2 (SFS2) +"PFS\003" = "Professional File System (PFS3)" +Default = "SFS\000" diff --git a/workbench/tools/HDToolBox/catalogs b/workbench/tools/HDToolBox/catalogs deleted file mode 160000 index de9cbe5ba0e..00000000000 --- a/workbench/tools/HDToolBox/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit de9cbe5ba0e5de618660611cd23ab5a98c4a072c diff --git a/workbench/tools/HDToolBox/catalogs/.gitattributes b/workbench/tools/HDToolBox/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/HDToolBox/catalogs/croatian.ct b/workbench/tools/HDToolBox/catalogs/croatian.ct new file mode 100644 index 00000000000..46ba675685f --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/croatian.ct @@ -0,0 +1,169 @@ +## version $VER: HDToolBox.catalog 1.3 (27.12.2009) +## language hrvatski +## codeset 5 +; +; +WORD_Active +Aktivno +; Active +; +WORD_AddEntry +Dodaj Ulaz +; Add Entry +; +WORD_All +Sve +; All +; +WORD_Automount +Automount +; Automount +; +WORD_Bootable +Moguče Podizanje Sustava +; Bootable +; +WORD_BootPri +Prioritet Podizanja +; Boot Priority +; +WORD_Cancel +Odustani +; Cancel +; +WORD_Changed +Promijenjeno +; Changed +; +WORD_Change_Type +Promjeni Tip +; Change Type +; +WORD_Create_Table +Stvori Table +; Create Table +; +WORD_Devices +Uređaji +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Izlaz +; Exit +; +WORD_Geometry +Geometrija +; Geometry +; +WORD_Name +Ime +; Name +; +WORD_Switches +Prekidači +; Switches +; +WORD_Ok +U redu +; Ok +; +WORD_Parent +Prethodni +; Parent +; +WORD_Partitions +Particije +; Partitions +; +WORD_Partition_Table +Table Particije +; Partition Table +; +WORD_Partition_Table_Type +Tip Table Particije +; Partition Table Type +; +WORD_Partition_Type +Tip Particije +; Partition Type +; +WORD_RemoveEntry +Ukloni Ulaz +; Remove Entry +; +WORD_Rename +Preimenuj +; Rename +; +WORD_Resize_Move +Promjeni veličinu/Pomakni +; Resize/Move +; +WORD_Save_Changes +Spremi Promjene +; Save Changes +; +WORD_Size +Veličina +; Size +; +WORD_Unit +Jedinica +; Unit +; +WORD_Units +Jedinice +; Units +; +WORD_Unknown +Nepoznato +; Unknown +; +WORD_MENU_Project +Projekt +; Project +; +WORD_MENU_About +O Programu +; About +; +WORD_MENU_Quit +Izlaz +; Quit +; +MSG_ASK_SAVE +Svi podatci da izmijenjenim particijama će bit uništeni!\nSigurno želite spremiti promjene particijske table '%s'? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Nedovoljno memorije +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Particijska tabla je puna +; Partition table full +; +MSG_Select_Empty_Area +Izaberite prazni dio +; Select empty area +; +MSG_Select_Partition_Resize_Move +Izaberite particiju i promjenite veličinu/prebacite ju +; Select a partition and resize/move it +; +MSG_Welcome +Dobrodošli u particijski alat +; Welcome to the partitioning tool +; +MSG_WriteTableError +Greška pri zapisivanju particijske table +; Error while writing partition table +; +MSG_CreateTableError +Greška pri stvaranju particijske table +; Error while creating partition table +; diff --git a/workbench/tools/HDToolBox/catalogs/czech.ct b/workbench/tools/HDToolBox/catalogs/czech.ct new file mode 100644 index 00000000000..3cf859e3b48 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/czech.ct @@ -0,0 +1,177 @@ +## version $VER: HDToolBox.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +WORD_Active +Aktivní +; Active +; +WORD_AddEntry +Přidat +; Add Entry +; +WORD_All +Vše +; All +; +WORD_Automount +Autom. připojit +; Automount +; +WORD_Bootable +Spustitelný +; Bootable +; +WORD_BootPri +Priorita +; Boot Priority +; +WORD_Cancel +Zrušit +; Cancel +; +WORD_Changed +Změněný +; Changed +; +WORD_Change_Type +Druh změny +; Change Type +; +WORD_Create_Table +Vytvořit tabulku +; Create Table +; +WORD_Devices +Zařízení +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Ukončit +; Exit +; +WORD_Geometry +Geometrie +; Geometry +; +WORD_Name +Název +; Name +; +WORD_Switches +Příznaky +; Switches +; +WORD_Ok +OK +; Ok +; +WORD_Parent +Vyšší +; Parent +; +WORD_Partitions +Oddíly +; Partitions +; +WORD_Partition_Table +Seznam oddílů +; Partition Table +; +WORD_Partition_Table_Type +Druh tabulky s oddíly +; Partition Table Type +; +WORD_Partition_Type +Druh oddílu +; Partition Type +; +WORD_RemoveEntry +Odebrat +; Remove Entry +; +WORD_Rename +Přejmenovat +; Rename +; +WORD_Resize_Move +Změnit velikost/Přesunout +; Resize/Move +; +WORD_Save_Changes +Uložit změny +; Save Changes +; +WORD_Size +Velikost +; Size +; +WORD_Unit +Jednotka +; Unit +; +WORD_Units +Jednotky +; Units +; +WORD_Unknown +neznámý +; Unknown +; +WORD_MENU_Project +Projekt +; Project +; +WORD_MENU_About +O programu +; About +; +WORD_MENU_Quit +Ukončit +; Quit +; +MSG_ASK_SAVE +Veškerá data na změněných oddílech budou ztracena!\nOpravdu chcete zapsat provedené změny do tabulky "%s"? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Není dostatek volné paměti! +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Tabulka se seznamem oddílů je zaplněna! +; Partition table full +; +MSG_Select_Empty_Area +Vyberte prázdnou oblast +; Select empty area +; +MSG_Select_Partition_Resize_Move +Vyberte oddíl a změňte jeho velikost, příp. přesuňte +; Select a partition and resize/move it +; +MSG_Welcome +Vítejte v programu pro přípravu pevného disku +; Welcome to the partitioning tool +; +MSG_WriteTableError +Chyba při zápisu do tabulky se seznamem oddílů. +; Error while writing partition table +; +MSG_CreateTableError +Chyba při vytváření tabulky se seznamem oddílů. +; Error while creating partition table +; +WORD_MENU_Partition +Oddíl +; Partition +; +WORD_MENU_CreateMountlist +Vytvořit popis... +; Create mountlist... +; diff --git a/workbench/tools/HDToolBox/catalogs/danish.ct b/workbench/tools/HDToolBox/catalogs/danish.ct new file mode 100644 index 00000000000..007bae60afe --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/danish.ct @@ -0,0 +1,170 @@ +## version $VER: hdtoolbox.catalog 1.0 (14.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +WORD_Active +Aktiv +; Active +; +WORD_AddEntry +Tilføj post +; Add Entry +; +WORD_All +Alle +; All +; +WORD_Automount +Automatisk montering +; Automount +; +WORD_Bootable +Opstartelig +; Bootable +; +WORD_BootPri +Opstartsprioritet +; Boot Priority +; +WORD_Cancel +Afbryd +; Cancel +; +WORD_Changed +Ændret +; Changed +; +WORD_Change_Type +Ændr type +; Change Type +; +WORD_Create_Table +Opret tabel +; Create Table +; +WORD_Devices +Enheder +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Afslut +; Exit +; +WORD_Geometry +Geometri +; Geometry +; +WORD_Name +Navn +; Name +; +WORD_Switches +Parametre +; Switches +; +WORD_Ok +O.k. +; Ok +; +WORD_Parent +Forælder +; Parent +; +WORD_Partitions +Partitioner +; Partitions +; +WORD_Partition_Table +Partitionstabel +; Partition Table +; +WORD_Partition_Table_Type +Partitionstabeltype +; Partition Table Type +; +WORD_Partition_Type +Partitionstype +; Partition Type +; +WORD_RemoveEntry +Fjern post +; Remove Entry +; +WORD_Rename +Omdøb +; Rename +; +WORD_Resize_Move +Ændr størrelse/flyt +; Resize/Move +; +WORD_Save_Changes +Gem ændringer +; Save Changes +; +WORD_Size +Størrelse +; Size +; +WORD_Unit +Enhed +; Unit +; +WORD_Units +Enheder +; Units +; +WORD_Unknown +Ukendt +; Unknown +; +WORD_MENU_Project +Projekt +; Project +; +WORD_MENU_About +Om +; About +; +WORD_MENU_Quit +Afslut +; Quit +; +MSG_ASK_SAVE +Alle data på ændrede partitioner vil blive ødelagt!\nVil du gennemføre ændringerne til partitionstabel '%s'? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Ikke nok hukommelse +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Partitionstabellen er fuld +; Partition table full +; +MSG_Select_Empty_Area +Vælg tomt område +; Select empty area +; +MSG_Select_Partition_Resize_Move +vælg en partition til flytning/størrelsesforandring +; Select a partition and resize/move it +; +MSG_Welcome +Velkommen til partitioneringsværktøjet +; Welcome to the partitioning tool +; +MSG_WriteTableError +Der opstod en fejl under skrivning af partitionstabel +; Error while writing partition table +; +MSG_CreateTableError +Der opstod en fejl under oprettelse af partitionstabel +; Error while creating partition table +; \ No newline at end of file diff --git a/workbench/tools/HDToolBox/catalogs/finnish.ct b/workbench/tools/HDToolBox/catalogs/finnish.ct new file mode 100644 index 00000000000..b65779cbd3a --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/finnish.ct @@ -0,0 +1,127 @@ +## version $VER: hdtoolbox.catalog 1.0 (22.05.2003) +## codeset 0 +## language suomi +; +WORD_Active +Aktiivinen +; +WORD_AddEntry +Lisää kohta +; +WORD_All +Kaikki +; +WORD_Automount +Automount +; +WORD_Bootable +Bootattava +; +WORD_BootPri +Bootti prioriteetti +; +WORD_Cancel +Peru +; +WORD_Changed +Muutettu +; +WORD_Change_Type +Muuta tyyppiä +; +WORD_Create_Table +Luo taulukko +; +WORD_Devices +Laitteet +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Poistu +; +WORD_Geometry +Geometria +; +WORD_Name +Nimi +; +WORD_Switches +Kytkimet +; +WORD_Ok +Selvä +; +WORD_Parent +Edeltäjä +; +WORD_Partitions +Osiot +; +WORD_Partition_Table +Osiotaulu +; +WORD_Partition_Table_Type +Osiotaulun tyyppi +; +WORD_Partition_Type +Osion tyyppi +; +WORD_RemoveEntry +Poista kohta +; +WORD_Rename +Nimeä uudelleen +; +WORD_Resize_Move +Muuta kokoa/siirrä +; +WORD_Save_Changes +Tallenna muutokset +; +WORD_Size +Koko +; +WORD_Unit +Laite +; +WORD_Units +Laitteet +; +WORD_Unknown +Tuntematon +; +WORD_MENU_Project +Projekti +; +WORD_MENU_About +Tietoa +; +WORD_MENU_Quit +Lopeta +; +MSG_ASK_SAVE +Kaikki tieto muokatuilla osioilla tuhoutuu!\nOletko varma että tahdot osiotaulun '%s' muutokset kirjoitettavan levylle? +; +MSG_NO_MEMORY +Muisti lopussa +; +MSG_PARTITION_TABLE_FULL +Osiotaulu täynnä +; +MSG_Select_Empty_Area +Valitse tyhjä alue +; +MSG_Select_Partition_Resize_Move +Valitse osio ja muuta sen kokoa/siirrä sitä +; +MSG_Welcome +Tervetuloa osiointityökaluun +; +MSG_WriteTableError +Virhe osiotaulua tallennettaessa +; +MSG_CreateTableError +Virhe osiotaulua luotaessa +; diff --git a/workbench/tools/HDToolBox/catalogs/french.ct b/workbench/tools/HDToolBox/catalogs/french.ct new file mode 100644 index 00000000000..9f1727e7aa4 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/french.ct @@ -0,0 +1,135 @@ +## version $VER: hdtoolbox.catalog 1.0 (19.02.2004) +## codeset 0 +## language français +; +WORD_Active +Active +; +WORD_AddEntry +Ajouter une entrée +; +WORD_All +Tout +; +WORD_Automount +Montage automatique +; +WORD_Bootable +Démarrable +; +WORD_BootPri +Priorité au démarrage +; +WORD_Cancel +Annuler +; +WORD_Changed +Modifié +; +WORD_Change_Type +Modifier le type +; +WORD_Create_Table +Créer une table +; +WORD_Devices +Périphériques +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Quitter +; +WORD_Geometry +Géométrie +; +WORD_Name +Nom +; +WORD_Switches +Échanger +; +WORD_Parent +Répertoire parent +; +WORD_Ok +Ok +; +WORD_Partitions +Partitions +; +WORD_Partition_Table +Table de partition +; +WORD_Partition_Table_Type +Type de table de partition +; +WORD_Partition_Type +Type de partition +; +WORD_RemoveEntry +Retirer l'entrée +; +WORD_Rename +Renommer +; +WORD_Resize_Move +Retailler/Déplacer +; +WORD_Save_Changes +Sauver les modifications +; +WORD_Size +Taille +; +WORD_Unit +Unité +; +WORD_Units +Unités +; +WORD_Unknown +Inconnu +; +WORD_MENU_Project +Projet +; +WORD_MENU_About +À propos +; +WORD_MENU_Quit +Quitter +; +MSG_ASK_SAVE +Toutes les données des partitions modifiées seront perdues\n Etes-vous sûr de vouloir sauvegarder la table de partition '%s' ? +;Alle Daten auf modifizierten Partitionen werden zerstört!\nBist du dir sicher die Änderungen der Partitionstabelle '%s' zu speichern? +; +MSG_NO_MEMORY +Pas assez de mémoire disponible +;Nicht genug Speicher vorhanden +; +MSG_PARTITION_TABLE_FULL +Table de partition complète +;Partitionstabelle voll +; +MSG_Select_Empty_Area +Choisir une région vide +;Wähle eine freien Bereich +; +MSG_Select_Partition_Resize_Move +Choisir une partition à retailler ou déplacer +;Wähle eine Partition und ändere die Größe bzw. bewege sie +; +MSG_Welcome +Bienvenue à l'outil de partitionnement +;Willkommen zum Partitionierungswerkzeug +; +MSG_WriteTableError +Erreur d'écriture sur la table de partition +;Fehler beim Schreiben der Partitionstabelle +; +MSG_CreateTableError +Erreur lors de la création d'une table de partition +;Fehler beim Erstellen der Partitionstabelle +; \ No newline at end of file diff --git a/workbench/tools/HDToolBox/catalogs/german.ct b/workbench/tools/HDToolBox/catalogs/german.ct new file mode 100644 index 00000000000..8165017d8da --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/german.ct @@ -0,0 +1,177 @@ +## version $VER: hdtoolbox.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +WORD_Active +Aktiv +; Active +; +WORD_AddEntry +Hinzufügen +; Add Entry +; +WORD_All +Alle +; All +; +WORD_Automount +Autoanmelden +; Automount +; +WORD_Bootable +Bootfähig +; Bootable +; +WORD_BootPri +Bootpriorität +; Boot Priority +; +WORD_Cancel +Abbrechen +; Cancel +; +WORD_Changed +Geändert +; Changed +; +WORD_Change_Type +Typ ändern +; Change Type +; +WORD_Create_Table +Tabelle erstellen +; Create Table +; +WORD_Devices +Geräte +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Beenden +; Exit +; +WORD_Geometry +Geometrie +; Geometry +; +WORD_Name +Name +; Name +; +WORD_Switches +Schalter +; Switches +; +WORD_Ok +Ok +; Ok +; +WORD_Parent +Mutterverzeichnis +; Parent +; +WORD_Partitions +Partitionen +; Partitions +; +WORD_Partition_Table +Partitionstabelle +; Partition Table +; +WORD_Partition_Table_Type +Partitionstabellentyp +; Partition Table Type +; +WORD_Partition_Type +Partitionstyp +; Partition Type +; +WORD_RemoveEntry +Entfernen +; Remove Entry +; +WORD_Rename +Namen ändern +; Rename +; +WORD_Resize_Move +Größe ändern/Verschieben +; Resize/Move +; +WORD_Save_Changes +Änderungnen speichern +; Save Changes +; +WORD_Size +Größe +; Size +; +WORD_Unit +Einheit +; Unit +; +WORD_Units +Einheiten +; Units +; +WORD_Unknown +Unbekannt +; Unknown +; +WORD_MENU_Project +Projekt +; Project +; +WORD_MENU_About +Über +; About +; +WORD_MENU_Quit +Beenden +; Quit +; +MSG_ASK_SAVE +Alle Daten auf modifizierten Partitionen werden zerstört!\nBist du dir sicher die Änderungen der Partitionstabelle '%s' zu speichern? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Nicht genug Speicher vorhanden +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Partitionstabelle voll +; Partition table full +; +MSG_Select_Empty_Area +Wähle eine freien Bereich +; Select empty area +; +MSG_Select_Partition_Resize_Move +Wähle eine Partition und ändere die Größe bzw. bewege sie +; Select a partition and resize/move it +; +MSG_Welcome +Willkommen zum Partitionierungswerkzeug +; Welcome to the partitioning tool +; +MSG_WriteTableError +Fehler beim Schreiben der Partitionstabelle +; Error while writing partition table +; +MSG_CreateTableError +Fehler beim Erstellen der Partitionstabelle +; Error while creating partition table +; +WORD_MENU_Partition +Partition +; Partition +; +WORD_MENU_CreateMountlist +Erzeuge Mountliste... +; Create mountlist... +; diff --git a/workbench/tools/HDToolBox/catalogs/hdtoolbox.cd b/workbench/tools/HDToolBox/catalogs/hdtoolbox.cd new file mode 100644 index 00000000000..a89502e8c01 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/hdtoolbox.cd @@ -0,0 +1,130 @@ +; +WORD_Active (//) +Active +; +WORD_AddEntry (//) +Add Entry +; +WORD_All (//) +All +; +WORD_Automount (//) +Automount +; +WORD_Bootable (//) +Bootable +; +WORD_BootPri (//) +Boot Priority +; +WORD_Cancel (//) +Cancel +; +WORD_Changed (//) +Changed +; +WORD_Change_Type (//) +Change Type +; +WORD_Create_Table (//) +Create Table +; +WORD_Devices (//) +Devices +; +WORD_DosEnvec (//) +DosEnvec +; +WORD_Exit (//) +Exit +; +WORD_Geometry (//) +Geometry +; +WORD_Name (//) +Name +; +WORD_Switches (//) +Switches +; +WORD_Ok (//) +Ok +; +WORD_Parent (//) +Parent +; +WORD_Partitions (//) +Partitions +; +WORD_Partition_Table (//) +Partition Table +; +WORD_Partition_Table_Type (//) +Partition Table Type +; +WORD_Partition_Type (//) +Partition Type +; +WORD_RemoveEntry (//) +Remove Entry +; +WORD_Rename (//) +Rename +; +WORD_Resize_Move (//) +Resize/Move +; +WORD_Save_Changes (//) +Save Changes +; +WORD_Size (//) +Size +; +WORD_Unit (//) +Unit +; +WORD_Units (//) +Units +; +WORD_Unknown (//) +Unknown +; +WORD_MENU_Project (//) +Project +; +WORD_MENU_About (//) +About +; +WORD_MENU_Quit (//) +Quit +; +MSG_ASK_SAVE (//) +All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY (//) +Not enough memory +; +MSG_PARTITION_TABLE_FULL (//) +Partition table full +; +MSG_Select_Empty_Area (//) +Select empty area +; +MSG_Select_Partition_Resize_Move (//) +Select a partition and resize/move it +; +MSG_Welcome (//) +Welcome to the partitioning tool +; +MSG_WriteTableError (//) +Error while writing partition table +; +MSG_CreateTableError (//) +Error while creating partition table +; +WORD_MENU_Partition (//) +Partition +; +WORD_MENU_CreateMountlist (//) +Create mountlist... +; diff --git a/workbench/tools/HDToolBox/catalogs/hungarian.ct b/workbench/tools/HDToolBox/catalogs/hungarian.ct new file mode 100644 index 00000000000..fa4e34a94c6 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/hungarian.ct @@ -0,0 +1,127 @@ +## version $VER: hdtoolbox.catalog 1.0 (22.05.2003) +## language magyar +## codeset 5 +; +WORD_Active +Aktív +; +WORD_AddEntry +Hozzáadás +; +WORD_All +Mind +; +WORD_Automount +Automount +; +WORD_Bootable +Bootolható +; +WORD_BootPri +Bootprioritás +; +WORD_Cancel +Mégsem +; +WORD_Changed +Megváltoztatva +; +WORD_Change_Type +Típus csere +; +WORD_Create_Table +Táblázat létrehozása +; +WORD_Devices +Eszközök +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Kilépés +; +WORD_Geometry +Méret +; +WORD_Name +Név +; +WORD_Switches +Kapcsolók +; +WORD_Parent +Szülő +; +WORD_Ok +Ok +; +WORD_Partitions +Partíciók +; +WORD_Partition_Table +Partíciós tábla +; +WORD_Partition_Table_Type +Partíciós tábla típusa +; +WORD_Partition_Type +Partíció típusa +; +WORD_RemoveEntry +Eltávolítás +; +WORD_Rename +Átnevezés +; +WORD_Resize_Move +Átméretez/Mozgat +; +WORD_Save_Changes +Változtatások elmentése +; +WORD_Size +Méret +; +WORD_Unit +Egység +; +WORD_Units +Egységek +; +WORD_Unknown +Ismeretlen +; +WORD_MENU_Project +Projekt +; +WORD_MENU_About +About +; +WORD_MENU_Quit +Kilépés +; +MSG_ASK_SAVE +A módosított partíción minden adat törlődik!\nBiztos, hogy írni akarja a '%s' partíciós táblázatát? +; +MSG_NO_MEMORY +Nincs elég memória a művelet végrehajtásához +; +MSG_PARTITION_TABLE_FULL +A partíció megtelt +; +MSG_Select_Empty_Area +Válasszon szabad területet +; +MSG_Select_Partition_Resize_Move +Válasszon egy partíciót az átméretezéshez vagy mozgatáshoz +; +MSG_Welcome +Üdvözöljük a Partíciószerkesztőben +; +MSG_WriteTableError +Hiba a partíciós tábla írásakor +; +MSG_CreateTableError +Hiaba a partíciós tábla létrehozásakor +; diff --git a/workbench/tools/HDToolBox/catalogs/italian.ct b/workbench/tools/HDToolBox/catalogs/italian.ct new file mode 100644 index 00000000000..384dd44b71d --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/italian.ct @@ -0,0 +1,135 @@ +## version $VER: hdtoolbox.catalog 1.0 (19.02.2004) +## codeset 0 +## language italiano +; +WORD_Active +Attiva +; +WORD_AddEntry +Aggiungi una voce +; +WORD_All +Tutte +; +WORD_Automount +Monta automaticamente +; +WORD_Bootable +Avviabile +; +WORD_BootPri +Priorità d'avvio +; +WORD_Cancel +Annulla +; +WORD_Changed +Modifica +; +WORD_Change_Type +Cambia tipo +; +WORD_Create_Table +Crea tavola +; +WORD_Devices +Unità +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Esci +; +WORD_Geometry +Geometria +; +WORD_Name +Nome +; +WORD_Switches +Proprietà +; +WORD_Parent +Indietro +; +WORD_Ok +Ok +; +WORD_Partitions +Partizioni +; +WORD_Partition_Table +Tavola delle partizioni +; +WORD_Partition_Table_Type +Tipo di tavola delle partizioni +; +WORD_Partition_Type +Tipo di partizione +; +WORD_RemoveEntry +Rimuovi voce +; +WORD_Rename +Rinomina +; +WORD_Resize_Move +Ridimensiona/Sposta +; +WORD_Save_Changes +Salva le modifiche +; +WORD_Size +Dimensioni +; +WORD_Unit +Unità +; +WORD_Units +Unità +; +WORD_Unknown +Sconosciuta +; +WORD_MENU_Project +Progetto +; +WORD_MENU_About +Informazioni +; +WORD_MENU_Quit +Esci +; +MSG_ASK_SAVE +Il contenuto delle partizioni verrà aliminato\n Siete sicuri di voler apportare le modifiche alle partizioni '%s' ? +;Alle Daten auf modifizierten Partitionen werden zerstört!\nBist du dir sicher die Änderungen der Partitionstabelle '%s' zu speichern? +; +MSG_NO_MEMORY +Non c'è abbastanza memoria +;Nicht genug Speicher vorhanden +; +MSG_PARTITION_TABLE_FULL +La tavola delle partizioni è piena +;Partitionstabelle voll +; +MSG_Select_Empty_Area +Scegliere un'area vuota +;Wähle eine freien Bereich +; +MSG_Select_Partition_Resize_Move +Scegliere la partizione da ridimensionare o spostare +;Wähle eine Partition und ändere die Größe bzw. bewege sie +; +MSG_Welcome +Benvenuti nel programma di partizionamento +;Willkommen zum Partitionierungswerkzeug +; +MSG_WriteTableError +Impossibile scrivere la tavola delle partizioni +;Fehler beim Schreiben der Partitionstabelle +; +MSG_CreateTableError +Impossibile creare la tavola delle partizioni +;Fehler beim Erstellen der Partitionstabelle +; \ No newline at end of file diff --git a/workbench/tools/HDToolBox/catalogs/mmakefile.src b/workbench/tools/HDToolBox/catalogs/mmakefile.src new file mode 100644 index 00000000000..b2805626cd5 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright @ 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech german norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-tools-hdtoolbox-catalogs \ + catalogs=$(CATALOGS) \ + name=HDToolBox subdir=System/Tools diff --git a/workbench/tools/HDToolBox/catalogs/norwegian.ct b/workbench/tools/HDToolBox/catalogs/norwegian.ct new file mode 100644 index 00000000000..f76e3c045c1 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/norwegian.ct @@ -0,0 +1,177 @@ +## version $VER: HDToolBox.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 5 +; +; +WORD_Active +Aktiver +; Active +; +WORD_AddEntry +Legg til +; Add Entry +; +WORD_All +Alle +; All +; +WORD_Automount +Monter automatisk +; Automount +; +WORD_Bootable +Oppstartsbar +; Bootable +; +WORD_BootPri +Oppstartsprioritet +; Boot Priority +; +WORD_Cancel +Avbryt +; Cancel +; +WORD_Changed +Endre +; Changed +; +WORD_Change_Type +Endringstype +; Change Type +; +WORD_Create_Table +Opprett tabell +; Create Table +; +WORD_Devices +Enheter +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Avslutt +; Exit +; +WORD_Geometry +Geometri +; Geometry +; +WORD_Name +Navn +; Name +; +WORD_Switches +Brytere +; Switches +; +WORD_Ok +Ok +; Ok +; +WORD_Parent +Opphav +; Parent +; +WORD_Partitions +Partisjoner +; Partitions +; +WORD_Partition_Table +Partisjonstabell +; Partition Table +; +WORD_Partition_Table_Type +Partisjonstabelltype +; Partition Table Type +; +WORD_Partition_Type +Partisjonstype +; Partition Type +; +WORD_RemoveEntry +Fjern oppfring +; Remove Entry +; +WORD_Rename +Endre navn +; Rename +; +WORD_Resize_Move +Endre strrelse/flytt +; Resize/Move +; +WORD_Save_Changes +Large endringer +; Save Changes +; +WORD_Size +Strrelse +; Size +; +WORD_Unit +Enhet +; Unit +; +WORD_Units +Enheter +; Units +; +WORD_Unknown +Ukjent +; Unknown +; +WORD_MENU_Project +Prosjekt +; Project +; +WORD_MENU_About +Om +; About +; +WORD_MENU_Quit +Avslutt +; Quit +; +MSG_ASK_SAVE +All date p de modifiserte partisjonene vil bli slettet!\nEr du sikker p at du nsker lagre endringene p partisjonstabell '%s'? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Ikke nok minne +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Partisjonstabellen er full +; Partition table full +; +MSG_Select_Empty_Area +Velg et tomt omrde +; Select empty area +; +MSG_Select_Partition_Resize_Move +Velg en partisjon og endre strrelsen/flytt den +; Select a partition and resize/move it +; +MSG_Welcome +Velkommen til partisjoneringsverktyet +; Welcome to the partitioning tool +; +MSG_WriteTableError +Lagring av partisjonstabellen feilet +; Error while writing partition table +; +MSG_CreateTableError +Opprettelsen av partisjonstabellen feilet +; Error while creating partition table +; +WORD_MENU_Partition +Partisjon +; Partition +; +WORD_MENU_CreateMountlist +Opprett monteringsliste +; Create mountlist... +; \ No newline at end of file diff --git a/workbench/tools/HDToolBox/catalogs/polish.ct b/workbench/tools/HDToolBox/catalogs/polish.ct new file mode 100644 index 00000000000..33c0d03e1ff --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/polish.ct @@ -0,0 +1,169 @@ +## version $VER: hdtoolbox.catalog 1.0 (29.04.2010) +## codeset 5 +## language polski +; +WORD_Active +Aktywna +; Active +; +WORD_AddEntry +Dodaj wpis +; Add Entry +; +WORD_All +Wszystkie +; All +; +WORD_Automount +Przyłączana automatycznie +; Automount +; +WORD_Bootable +Botowalna +; Bootable +; +WORD_BootPri +Priorytet botowania +; Boot Priority +; +WORD_Cancel +Poniechaj +; Cancel +; +WORD_Changed +Zmieniona +; Changed +; +WORD_Change_Type +Rodzaj zmiany +; Change Type +; +WORD_Create_Table +Utwórz tabelę +; Create Table +; +WORD_Devices +Urządzenia +; Devices +; +WORD_DosEnvec +DosEnvec +; DosEnvec +; +WORD_Exit +Wyjście +; Exit +; +WORD_Geometry +Geometria +; Geometry +; +WORD_Name +Nazwa +; Name +; +WORD_Switches +Przełączniki +; Switches +; +WORD_Ok +OK +; Ok +; +WORD_Parent +Nadrzędny +; Parent +; +WORD_Partitions +Partycje +; Partitions +; +WORD_Partition_Table +Tabela partycji +; Partition Table +; +WORD_Partition_Table_Type +Typ tabeli partycji +; Partition Table Type +; +WORD_Partition_Type +Typ partycji +; Partition Type +; +WORD_RemoveEntry +Usuń wpis +; Remove Entry +; +WORD_Rename +Zmień nazwę +; Rename +; +WORD_Resize_Move +Zmień wielkość/pzrenieś +; Resize/Move +; +WORD_Save_Changes +Zapisz zmiany +; Save Changes +; +WORD_Size +Wielkość +; Size +; +WORD_Unit +Jednostka +; Unit +; +WORD_Units +Jednostki +; Units +; +WORD_Unknown +Nieznany +; Unknown +; +WORD_MENU_Project +Projekt +; Project +; +WORD_MENU_About +O programie +; About +; +WORD_MENU_Quit +Skończ +; Quit +; +MSG_ASK_SAVE +Wszystkie dane na modyfikowanych parycjach zostaną usunięte!\n\ +Czy na pewno zapisać zmiany w tabeli partycji \"%s\"? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Brak pamięci +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Tabela partycji pełna +; Partition table full +; +MSG_Select_Empty_Area +Wybierz pusty obszar +; Select empty area +; +MSG_Select_Partition_Resize_Move +Wybierz partycję i zmień jej rozmiar/przenieś ją +; Select a partition and resize/move it +; +MSG_Welcome +Witamy w programie do partycjonowania +; Welcome to the partitioning tool +; +MSG_WriteTableError +Błąd podczas odczytu tabeli partycji +; Error while writing partition table +; +MSG_CreateTableError +Błąd podczas tworzenia tabeli partycji +; Error while creating partition table +; diff --git a/workbench/tools/HDToolBox/catalogs/russian.ct b/workbench/tools/HDToolBox/catalogs/russian.ct new file mode 100644 index 00000000000..9b70ee4ee7a --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/russian.ct @@ -0,0 +1,135 @@ +## version $VER: hdtoolbox.catalog 1.1 (24.11.2008) +## codeset 2104 +## language russian +; +WORD_Active +Активный +; +WORD_AddEntry +Добавить +; +WORD_All +Все +; +WORD_Automount +Automount +; +WORD_Bootable +Загрузочный +; +WORD_BootPri +Порядок загрузки +; +WORD_Cancel +Отмена +; +WORD_Changed +Изменен +; +WORD_Change_Type +Изменить тип +; +WORD_Create_Table +Создать таблицу +; +WORD_Devices +Устройства +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Выход +; +WORD_Geometry +Геометрия +; +WORD_Name +Имя +; +WORD_Switches +Установки +; +WORD_Parent +Выше +; +WORD_Ok +Ok +; +WORD_Partitions +Разделы +; +WORD_Partition_Table +Таблица разделов +; +WORD_Partition_Table_Type +Тип таблицы разделов +; +WORD_Partition_Type +Тип раздела +; +WORD_RemoveEntry +Удалить +; +WORD_Rename +Переименовать +; +WORD_Resize_Move +Размер/Место +; +WORD_Save_Changes +Записать изменения +; +WORD_Size +Размер +; +WORD_Unit +Устройство +; +WORD_Units +Устройств +; +WORD_Unknown +Неизвестно +; +WORD_MENU_Project +Проект +; +WORD_MENU_About +О программе +; +WORD_MENU_Quit +Выход +; +MSG_ASK_SAVE +Все данные на измененных разделах будут уничтожены!\n Вы уверены, что пора записать изменения таблицы разделов '%s' ? +; All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +Недостаточно памяти +; Not enough memory +; +MSG_PARTITION_TABLE_FULL +Таблица разделов заполнена +; Partition table full +; +MSG_Select_Empty_Area +Выберите свободное место +; Select empty area +; +MSG_Select_Partition_Resize_Move +Выберите раздел для изменения размера или перемещения +; Select a partition and resize/move it +; +MSG_Welcome +Инструмент для управления разделами +; Welcome to the partitioning tool +; +MSG_WriteTableError +Ошибка при записи таблицы разделов +; Error while writing partition table +; +MSG_CreateTableError +Ошибка при создании таблицы разделов +; Error while creating partition table +; diff --git a/workbench/tools/HDToolBox/catalogs/spanish.ct b/workbench/tools/HDToolBox/catalogs/spanish.ct new file mode 100644 index 00000000000..205d9255dc7 --- /dev/null +++ b/workbench/tools/HDToolBox/catalogs/spanish.ct @@ -0,0 +1,174 @@ +## version $VER: hdtoolbox.catalog 1.0 (13.08.2006)) +## codeset 0 +## language español +; +; Translated by ahg - (30.09.2007) +; +WORD_Active +Activa +;Active +; +WORD_AddEntry +Agregar Entrada +;Agregar +;Add Entry +; +WORD_All +Todo +;All +; +WORD_Automount +Montaje automático +;Automontaje +;Automount +; +WORD_Bootable +Para arrancar +;Bootable +; +WORD_BootPri +Prioridad de arranque +;Boot Priority +; +WORD_Cancel +Cancelar +;Cancel +; +WORD_Changed +Modificado +;Changed +; +WORD_Change_Type +Cambiar Tipo +;Change Type +; +WORD_Create_Table +Crear Tabla +;Create Table +; +WORD_Devices +Dispositivos +;Periféricos +;Unidades +;Devices +; +WORD_DosEnvec +DosEnvec +; +WORD_Exit +Salir +;Exit +; +WORD_Geometry +Geometría +;Geometry +; +WORD_Name +Nombre +;Name +; +WORD_Switches +Switches +; +WORD_Ok +Aceptar +;Ok +; +WORD_Parent +Atrás +;Volver +;Nivel previo +;Parent +; +WORD_Partitions +Particiones +;Partitions +; +WORD_Partition_Table +Tabla de Partición +;Partition Table +; +WORD_Partition_Table_Type +Tipo de Tabla +;Partition Table Type +; +WORD_Partition_Type +Tipo de Partición +;Partition Type +; +WORD_RemoveEntry +Quitar Entrada +;Remove Entry +; +WORD_Rename +Renombrar +;Rename +; +WORD_Resize_Move +Ajustar/Mover +;Resize/Move +; +WORD_Save_Changes +Grabar los Cambios +;Save Changes +; +WORD_Size +Tamaño +;Size +; +WORD_Unit +Unidad +;Unit +; +WORD_Units +Unidades +;Units +; +WORD_Unknown +Desconocida +;Unknown +; +WORD_MENU_Project +Proyecto +;Project +; +WORD_MENU_About +Acerca de... +;About +; +WORD_MENU_Quit +Salir +;Quit +; +MSG_ASK_SAVE +¡Todos los datos en las particiones modificadas\nse borrarán! ¿Estás seguro en escribir los cambios\n a la tabla de partición '%s'? +;All Data on modified partitions will be destroyed!\nAre you sure to write changes of partition table '%s'? +; +MSG_NO_MEMORY +No hay memoria suficiente +;Not enough memory +; +MSG_PARTITION_TABLE_FULL +Tabla de partición llena +;Partition table full +; +MSG_Select_Empty_Area +Elige un área vacía +;Select empty area +; +MSG_Select_Partition_Resize_Move +Elige una partición y ajusta su tamaño o muévela +;Select a partition and resize/move it +; +MSG_Welcome +¡Bienvenido a la herramienta para particiones! +;Welcome to the partitioning tool +; +MSG_WriteTableError +Error al escribir en la tabla de partición +;Error while writing partition table +; +MSG_CreateTableError +Error al crear la tabla de partición +;Error while creating partition table +; diff --git a/workbench/tools/HDToolBox/debug.h b/workbench/tools/HDToolBox/debug.h index 11d5c0ad6ea..5e69de7da3d 100644 --- a/workbench/tools/HDToolBox/debug.h +++ b/workbench/tools/HDToolBox/debug.h @@ -28,4 +28,8 @@ void kprintf(char *, ...); #endif #endif +//Enable for Apollo Serial Debug +//#define D(x) x +//#define bug kprintf + #endif /* PDEBUG_H */ diff --git a/workbench/tools/HDToolBox/gui.c b/workbench/tools/HDToolBox/gui.c index 033ead5fc33..fc5e36cdbee 100644 --- a/workbench/tools/HDToolBox/gui.c +++ b/workbench/tools/HDToolBox/gui.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2015, The AROS Development Team. All rights reserved. + Copyright � 1995-2015, The AROS Development Team. All rights reserved. $Id$ */ @@ -1803,16 +1803,31 @@ LONG initGUI(void) MUIMasterBase = OpenLibrary("muimaster.library", 0); if (!MUIMasterBase) + { + D(bug("[HDToolBox] initGUI() - ERROR muimaster\n")); return ERR_MUIMASTER; + } else { + D(bug("[HDToolBox] initGUI() - SUCCESS muimaster\n")); + } ptclass = makePTClass(); if (ptclass == NULL) + { + D(bug("[HDToolBox] initGUI() - ERROR makePTClass\n")); return ERR_GADGETS; + } else { + D(bug("[HDToolBox] initGUI() - SUCCESS makePTClass\n")); + } listcc = MUI_CreateCustomClass(NULL, MUIC_Listview, NULL, sizeof(struct LeftListview__Data), LeftListview_Dispatcher); if (listcc == NULL) + { + D(bug("[HDToolBox] initGUI() - ERROR MUI_CreateCustomClass\n")); return ERR_GADGETS; + } else { + D(bug("[HDToolBox] initGUI() - SUCCESS MUI_CreateCustomClass\n")); + } hook_display.h_Entry = (HOOKFUNC)display_function; hook_buttons.h_Entry = (HOOKFUNC)buttons_function; @@ -1821,6 +1836,8 @@ LONG initGUI(void) hook_lv_click.h_Entry = (HOOKFUNC)lv_click; partitiontypegadgets.hook_hexidedit.h_Entry = (HOOKFUNC)hexidedit_function; + D(bug("[HDToolBox] initGUI() - Opening APP\n")); + app = ApplicationObject, MUIA_Application_Title , "HDToolBox", MUIA_Application_Version , "$VER: HDToolBox 0.5 (19.5.2015)", @@ -1828,6 +1845,7 @@ LONG initGUI(void) MUIA_Application_Author , "Bearly, Ogun, Fats and others at AROS", MUIA_Application_Description, "Partition your disks.", MUIA_Application_Base , "HDTOOLBOX", + MUIA_Application_Menustrip, MenustripObject, MUIA_Family_Child, MenuObject, MUIA_Menu_Title, MSG(WORD_MENU_Project), @@ -1838,29 +1856,28 @@ LONG initGUI(void) quit_item = MenuitemObject, MUIA_Menuitem_Title, MSG(WORD_MENU_Quit), End, End, - MUIA_Family_Child, - part_item = MenuObject, + MUIA_Family_Child, part_item = MenuObject, MUIA_Menu_Title, MSG(WORD_MENU_Partition), - MUIA_Menu_Enabled, FALSE, + MUIA_Menu_Enabled, FALSE, MUIA_Family_Child, - createml_item = MenuitemObject, - MUIA_Menuitem_Title, MSG(WORD_MENU_CreateMountlist), + createml_item = MenuitemObject, MUIA_Menuitem_Title, MSG(WORD_MENU_CreateMountlist), End, End, End, + SubWindow, mainwin = WindowObject, MUIA_Window_Title, "HDToolBox", MUIA_Window_ID, MAKE_ID('H','D','T','B'), MUIA_Window_Activate, TRUE, MUIA_Window_Height, MUIV_Window_Height_Visible(50), MUIA_Window_Width, MUIV_Window_Width_Visible(60), + WindowContents, VGroup, - Child, VGroup, - GroupFrame, - Child, gadgets.text = TextObject, - TextFrame, - MUIA_Text_Contents, MSG(MSG_Welcome), + + Child, VGroup, GroupFrame, + Child, gadgets.text = TextObject, TextFrame, MUIA_Text_Contents, MSG(MSG_Welcome), End, + Child, HGroup, Child, (gadgets.leftlv = NewObject(listcc->mcc_Class, NULL, MUIA_Listview_List, ListObject, @@ -1882,39 +1899,45 @@ LONG initGUI(void) End, End, End, - Child, VGroup, - GroupFrame, - Child, HGroup, - Child, VGroup, - Child, gadgets.buttons[GB_ADD_ENTRY] = SIMPLEBUTTON(WORD_AddEntry), - Child, gadgets.buttons[GB_REMOVE_ENTRY] = SIMPLEBUTTON(WORD_RemoveEntry), - End, - Child, VGroup, - Child, gadgets.buttons[GB_CREATE_TABLE] = SIMPLEBUTTON(WORD_Create_Table), - Child, gadgets.buttons[GB_CHANGE_TYPE] = SIMPLEBUTTON(WORD_Change_Type), - End, - Child, VGroup, - Child, gadgets.buttons[GB_RESIZE_MOVE] = SIMPLEBUTTON(WORD_Resize_Move), - Child, gadgets.buttons[GB_PARENT] = SIMPLEBUTTON(WORD_Parent), - End, - Child, VGroup, - Child, gadgets.buttons[GB_RENAME] = SIMPLEBUTTON(WORD_Rename), - Child, gadgets.buttons[GB_DOSENVEC] = SIMPLEBUTTON(WORD_DosEnvec), - End, - Child, VGroup, - Child, gadgets.buttons[GB_SWITCHES] = SIMPLEBUTTON(WORD_Switches), - Child, HVSpace, - End, - End, + + Child, VGroup, GroupFrame, Child, HGroup, - MUIA_Group_SameWidth, TRUE, - MUIA_FixHeight, 1, - Child, gadgets.buttons[GB_SAVE_CHANGES] = IMAGEBUTTON(WORD_Save_Changes, COOL_SAVEIMAGE_ID), - Child, gadgets.buttons[GB_EXIT] = IMAGEBUTTON(WORD_Exit, COOL_CANCELIMAGE_ID), - End, - End, + Child, VGroup, + Child, gadgets.buttons[GB_ADD_ENTRY] = SIMPLEBUTTON(WORD_AddEntry), + Child, gadgets.buttons[GB_REMOVE_ENTRY] = SIMPLEBUTTON(WORD_RemoveEntry), + End, + Child, VGroup, + Child, gadgets.buttons[GB_CREATE_TABLE] = SIMPLEBUTTON(WORD_Create_Table), + Child, gadgets.buttons[GB_CHANGE_TYPE] = SIMPLEBUTTON(WORD_Change_Type), + End, + Child, VGroup, + Child, gadgets.buttons[GB_RESIZE_MOVE] = SIMPLEBUTTON(WORD_Resize_Move), + Child, gadgets.buttons[GB_PARENT] = SIMPLEBUTTON(WORD_Parent), + End, + Child, VGroup, + Child, gadgets.buttons[GB_RENAME] = SIMPLEBUTTON(WORD_Rename), + Child, gadgets.buttons[GB_DOSENVEC] = SIMPLEBUTTON(WORD_DosEnvec), + End, + Child, VGroup, + Child, gadgets.buttons[GB_SWITCHES] = SIMPLEBUTTON(WORD_Switches), + Child, HVSpace, + End, + + Child, HGroup, + MUIA_Group_SameWidth, TRUE, + MUIA_FixHeight, 1, + Child, gadgets.buttons[GB_SAVE_CHANGES] = SIMPLEBUTTON(WORD_Save_Changes), //COOL_SAVEIMAGE_ID), + Child, gadgets.buttons[GB_EXIT] = SIMPLEBUTTON(WORD_Exit), //COOL_CANCELIMAGE_ID), + End, + + End, + + End, End, End, + + + SubWindow, adddevicegadgets.win = WindowObject, MUIA_Window_Title, MSG(WORD_Devices), MUIA_Window_Activate, TRUE, @@ -1928,8 +1951,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, adddevicegadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, adddevicegadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, adddevicegadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, adddevicegadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -1957,8 +1980,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, addpartitiongadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, addpartitiongadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, addpartitiongadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, addpartitiongadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -1988,8 +2011,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, partitiontypegadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, partitiontypegadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, partitiontypegadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, partitiontypegadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -2008,8 +2031,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, partitiontabletypegadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, partitiontabletypegadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, partitiontabletypegadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, partitiontabletypegadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -2076,8 +2099,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, resizemovegadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, resizemovegadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, resizemovegadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, resizemovegadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -2091,8 +2114,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, renamegadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, renamegadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, renamegadgets.ok = SIMPLEBUTTON(WORD_Ok), //COOL_USEIMAGE_ID), + Child, renamegadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -2180,8 +2203,8 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, dosenvecgadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, dosenvecgadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, dosenvecgadgets.ok = SIMPLEBUTTON(WORD_Ok), // COOL_USEIMAGE_ID), + Child, dosenvecgadgets.cancel = SIMPLEBUTTON(WORD_Cancel), //COOL_CANCELIMAGE_ID), End, End, End, @@ -2227,15 +2250,20 @@ LONG initGUI(void) Child, HGroup, MUIA_Group_SameWidth, TRUE, MUIA_FixHeight, 1, - Child, mountbootgadgets.ok = IMAGEBUTTON(WORD_Ok, COOL_USEIMAGE_ID), - Child, mountbootgadgets.cancel = IMAGEBUTTON(WORD_Cancel, COOL_CANCELIMAGE_ID), + Child, mountbootgadgets.ok = SIMPLEBUTTON(WORD_Ok), // COOL_USEIMAGE_ID), + Child, mountbootgadgets.cancel = SIMPLEBUTTON(WORD_Cancel), // COOL_CANCELIMAGE_ID), End, End, End, End; if (!app) + { + D(bug("[HDToolBox] initGUI() - ERROR opening APP\n")); return ERR_GADGETS; + } else { + D(bug("[HDToolBox] initGUI() - SUCCESS opening APP\n")); + } /* Main Window */ DoMethod diff --git a/workbench/tools/HDToolBox/prefs.c b/workbench/tools/HDToolBox/prefs.c index 4b8a86925d1..78575ec51f5 100644 --- a/workbench/tools/HDToolBox/prefs.c +++ b/workbench/tools/HDToolBox/prefs.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2011, The AROS Development Team. All rights reserved. + Copyright � 1995-2011, The AROS Development Team. All rights reserved. $Id$ */ @@ -204,7 +204,7 @@ LONG parsePrefs(char *buffer, LONG size) DB2(bug("[parsePrefs] Cur %d, Length %d\n", csrc.CS_CurChr, csrc.CS_Length)); res = ReadItem(ident, 256, &csrc); - DB2(bug("[parsePrefs] Got item %d (%s)\n", res, ident)); + DB2(bug("[parsePrefs] Got item %d (%s)\n", res, ident)); switch (res) { diff --git a/workbench/tools/HDToolBox/ptclass.c b/workbench/tools/HDToolBox/ptclass.c index 6c4d533c2d2..1b08297139c 100644 --- a/workbench/tools/HDToolBox/ptclass.c +++ b/workbench/tools/HDToolBox/ptclass.c @@ -1,5 +1,5 @@ /* - Copyright 1995-2008, The AROS Development Team. All rights reserved. + Copyright � 1995-2008, The AROS Development Team. All rights reserved. $Id$ */ @@ -1138,6 +1138,8 @@ Class *makePTClass(void) ptcl->cl_Dispatcher.h_Entry = AROS_ASMSYMNAME(dispatch_ptclass); ptcl->cl_Dispatcher.h_SubEntry = NULL; ptcl->cl_UserData = (IPTR)NULL; + } else { + D(bug("[HDToolBox] makePTClass() FAILED\n")); } } return ptcl; diff --git a/workbench/tools/InstallAROS/catalogs b/workbench/tools/InstallAROS/catalogs deleted file mode 160000 index acf2db448fd..00000000000 --- a/workbench/tools/InstallAROS/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit acf2db448fd27dff82acc1899e4e261860d535af diff --git a/workbench/tools/InstallAROS/catalogs/.gitattributes b/workbench/tools/InstallAROS/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/InstallAROS/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/InstallAROS/catalogs/installaros.cd b/workbench/tools/InstallAROS/catalogs/installaros.cd new file mode 100644 index 00000000000..3fcc6e76c6b --- /dev/null +++ b/workbench/tools/InstallAROS/catalogs/installaros.cd @@ -0,0 +1,271 @@ +; +MSG_TITLE (//) +AROS Installer +; +MSG_DESCRIPTION (//) +Installs AROS on to a Drive. +; +MSG_WELCOME (//) +\033b\nWelcome to the AROS Research OS installer.\n\n\033nThis program allows you to install AROS\non your computer's hard disk or an attached USB drive.\n\nPlease be aware that the stability of this software\ncannot be guaranteed.\nIt is possible that \033bloss of data\033n may occur\non any drive in your system, including those\nused by other operating systems.\n +; +MSG_INSTALLOPTIONS (//) +\nPlease choose your installation options.\n\n +; +MSG_DESTOPTIONS (//) +\nPlease choose where to install AROS.\n\nIf you are unsure, then use the defaults +; +MSG_ACCEPT (//) +Accept License Agreement? +; +MSG_DRIVE (//) +\033bDrive:\033n +; +MSG_TYPE (//) +Type: +; +MSG_DEVICE (//) +Device: +; +MSG_UNIT (//) +Unit: +; +MSG_NAME (//) +Name: +; +MSG_FILESYSTEM (//) +Filesystem: +; +MSG_SIZE (//) +Size: +; +MSG_MENUMODE (//) +Menu Mode: +; +MSG_CREATE (//) +Create +; +MSG_SPECIFYSIZE (//) +Specify Size +; +MSG_DESTVOLUME (//) +Destination Partition +; +MSG_WORKVOLUME (//) +Work Partition +; +MSG_CHOOSELANG (//) +Choose Language Options +; +MSG_INSTALLCORE (//) +Install AROS Core System +; +MSG_INSTALLEXTRA (//) +Install Extra Software +; +MSG_INSTALLDEVEL (//) +Install Debugging tools and Developer Software +; +MSG_INSTALLBOOT (//) +Install Bootloader +; +MSG_FORMATPART (//) +Format Partition +; +MSG_USEWORK (//) +Use 'Work' Partition +; +MSG_USEWORKFOR (//) +Use 'Work' Partition for Extras and Developer Files +; +MSG_BEGINWITHPARTITION (//) +OK, we are ready to begin.\n\nSince you've chosen to format at least one partition,\nyou will no longer be able to undo changes\nafter this point.\n\nSelect Proceed to begin installation. +; +MSG_BEGINWITHOUTPARTITION (//) +OK, we are ready to begin...\n\nWe have collected enough information\nto begin installation on this computer.\n\n\nSelect Proceed to begin installation. +; +MSG_PARTITIONOPTIONS (//) +We will now create AROS partitions on the destination drive.\n\nPlease select how you would like to proceed.\n +; +MSG_DESTPARTITION (//) +\033bSystem Partition:\033n +; +MSG_WORKPARTITION (//) +\033bWork Partition:\033n +; +MSG_USEFREE (//) +Only use free space +; +MSG_WIPEDISK (//) +Wipe disk +; +MSG_USEEXISTING (//) +Use existing AROS partitions (on any drive) +; +MSG_PARTITIONTOOBIG (//) +The partition sizes you have requested are too large.\nThe maximum size of an SFS partition is %ld GB (%ld MB),\nwhile the maximum size of an FFS partition is %ld GB (%ld MB).\nPlease reduce the size of the affected partitions.\n +; +MSG_GRUBOPTIONS (//) +AROS uses the GRUB bootloader.\n\nIn most cases, GRUB's bootblock should\nbe installed on the first drive in your system.\nIf the Installer detects a Microsoft Windows installation,\nit will be included as a choice in GRUB's boot menu.\n +; +MSG_GRUBDRIVE (//) +Drive to install Bootloader's bootblock on: +; +MSG_GRUBGOPTIONS (//) +GRUB Settings +; +MSG_GRUBGRUB (//) +Path to GRUB files: +; +MSG_NOGRUBDEVICE (//) +Please enter the device name and unit number for\nthe drive GRUB's bootblock should be installed on.\n +; +MSG_PARTITIONING (//) +Partitioning your drives...\n\n +; +MSG_FORMATTING (//) +Formatting '%s'... +; +MSG_INSTALL (//) +Copying files to the destination drive.\n\nThis may take some time...\n +; +MSG_COPYCORE (//) +Copying Core System files... +; +MSG_COPYEXTRA (//) +Copying Extra Software... +; +MSG_COPYDEVEL (//) +Copying Developer Files... +; +MSG_COPYBOOT (//) +Copying BOOT files... +; +MSG_BOOTLOADER (//) +Copying the bootloader to your\ndestination drive, and installing...\n +; +MSG_POSTINSTALL (//) +Running post-install script... +; +MSG_POSTINSTALL2 (//) +Running the external post-install\nscript. Please wait.\n +; +MSG_DONEREBOOT (//) +AROS partitions have now been created!\nTo continue installation, you must\nreboot AROS, and re-run\nthis installer application\n\nSelect Proceed to finish\n +; +MSG_DONEUSB (//) +AROS partitions have now been created!\nTo continue installation, you must remove\nand re-attach your USB drive, and re-run\nthis installer application\n\nSelect Proceed to finish\n +; +MSG_INSTALLING (//) +Installing AROS... +; +MSG_INSTALLINGBOOT (//) +Installing Bootloader... +; +MSG_DONE (//) +Congratulations, you now have AROS installed!\n\nTo boot AROS from the destination drive,\nremove the installation media and\nrestart your computer using the\npower switch or reset button.\n\nSelect Proceed to finish\n +; +MSG_CANCELOK (//) +Are you sure you wish to cancel\nthis installation?\n +; +MSG_CANCELDANGER (//) +Irreversible changes have been made\nto your system.\n\nCancelling now may leave your PC in an\nunbootable state\n\nAre you sure you wish to cancel\nthis installation?\n +; +MSG_BACK (//) +<< _Back... +; +MSG_PROCEED (//) +_Proceed +; +MSG_NOTALLFILESCOPIED (//) +Not all files in '%s'\nwere copied.\nShould the installation continue?\n +; +MSG_PARTITIONINGFAILED (//) +Partitioning of disk failed. InstallAROS\nwill now quit. +; +MSG_GRUBNONFFSWARNING (//) +You have selected a filesystem different\nthan FFS-Intl for the system partition. Since\nthis distribution of AROS is compiled with the\noriginal GRUB bootloader, you will not be able to\nboot the system after installation.\n\nShould the partitioning continue?\n +; +MSG_CANCELINSTALL (//) +Cancel Installation... +; +MSG_CONTINUECANCELINST (//) +*Continue Install|Cancel Install +; +MSG_CONTINUECANCELPART (//) +Continue Partitioning|*Cancel Partitionin +; +MSG_CONTINUEQUIT (//) +Continue|*Quit +; +MSG_EXISTSRETRY (//) +File Already Exists\nReplace %s? +; +MSG_RETRY (//) +Retry +; +MSG_SCANRETRY (//) +Error scanning %s\nRetry? +; +MSG_FINDRETRY (//) +Could not find %s\nRetry? +; +MSG_COULDNTOPEN (//) +Couldn't Open %s +; +MSG_COULDNTWRITE (//) +Couldn't Write to %s +; +MSG_DISKFULL (//) +Couldn't Write to %s\nDisk Full! +; +MSG_TEXT (//) +Text +; +MSG_GFX (//) +Graphics +; +MSG_YES (//) +Yes +; +MSG_YESALWAYS (//) +Yes [Always] +; +MSG_NO (//) +No +; +MSG_SKIP (//) +Skip +; +MSG_OK (//) +OK +; +MSG_CANCEL (//) +Cancel +; +MSG_CANCEL2 (//) +_Cancel +; +MSG_QUIT (//) +Quit +; +MSG_QUIT2 (//) +QUIT +; +MSG_ERROR (//) +Error +; +MSG_WARNING (//) +Warning +; +MSG_REBOOT (//) +Reboot AROS now +; +MSG_IOERROR (//) +IO Error has occured +; +MSG_NOTFILESYSTEM (//) +device '%s' doesn't contain a file system\n +; +MSG_NOTDEVICE (//) +'%s' doesn't contain a device name\n +; \ No newline at end of file diff --git a/workbench/tools/InstallAROS/catalogs/mmakefile.src b/workbench/tools/InstallAROS/catalogs/mmakefile.src new file mode 100644 index 00000000000..9d2f0d0ea7f --- /dev/null +++ b/workbench/tools/InstallAROS/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2020, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:= + +%build_catalogs mmake=workbench-tools-installaros-catalogs \ + catalogs=$(CATALOGS) \ + name=installaros subdir=System/Tools/ diff --git a/workbench/tools/KeyShow/catalogs b/workbench/tools/KeyShow/catalogs deleted file mode 160000 index 07466400b19..00000000000 --- a/workbench/tools/KeyShow/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 07466400b19a44e0312b20456e47de96acbe0451 diff --git a/workbench/tools/KeyShow/catalogs/.gitattributes b/workbench/tools/KeyShow/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/KeyShow/catalogs/czech.ct b/workbench/tools/KeyShow/catalogs/czech.ct new file mode 100644 index 00000000000..a86c2804e2e --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/czech.ct @@ -0,0 +1,120 @@ +## version $VER: KeyShow.catalog 1.0 (30.08.2016) +## language czech +## codeset 5 +; +MSG_AppDescription +Zobrazení naložení kláves +; Show Keyboard Layout +; +MSG_AppCopyright +Copyright \xa9 2012 The AROS Development Team +; Copyright \xa9 2012 The AROS Development Team +; +MSG_WI_TITLE +KeyShow +; KeyShow +; +MSG_OK +OK +; _OK +; +; Error messages +; +MSG_ERR +Chyba +; Error +; +MSG_ERR_NO_APPLICATION +Nelze vytvořit aplikaci +; Can't create application +; +MSG_ERR_NO_MEM +Nedostatek paměti +; Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT +Shift +; Shift +; +MSG_KEY_CTRL +Ctrl +; Ctrl +; +MSG_KEY_ALT +Alt +; Alt +; +MSG_KEY_LOCK +Lock +; Lock +; +MSG_KEY_HELP +Help +; Help +; +MSG_KEY_A +Amiga +; A +; +MSG_KEY_INSERT +Insert +; Insert +; +MSG_KEY_HOME +Home +; Home +; +MSG_KEY_PAGEUP +PgUp +; Page ^ +; +MSG_KEY_DELETE +Delete +; Delete +; +MSG_KEY_END +End +; End +; +MSG_KEY_PAGEDOWN +PgDown +; Page v +; +MSG_KEY_NUM +Num +; Num +; +MSG_KEY_RETURN +Enter +; ^M +; +MSG_KEY_BACKSP +BackSP +; ^H +; +MSG_KEY_TAB +Tab +; ^I +; +MSG_KEY_ESC +Esc +; ^[ +; +MSG_KEY_NUM_ENTER +Ent +; ^M +; +MSG_KEY_PRTSCREEN +Print +; Print +; +MSG_KEY_SCRLOCK +ScrLock +; ScrLock +; +MSG_KEY_PAUSE +Pause +; Pause +; diff --git a/workbench/tools/KeyShow/catalogs/french.ct b/workbench/tools/KeyShow/catalogs/french.ct new file mode 100644 index 00000000000..ab648be4e1c --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/french.ct @@ -0,0 +1,96 @@ +## version $VER: KeyShow.catalog 1.1 (26.02.2012) +## language français +## codeset 0 +; +MSG_AppDescription +Disposition du clavier +;Show Keyboard Layout +; +MSG_AppCopyright +Copyright © 2012 The AROS Development Team +; +MSG_WI_TITLE +KeyShow +; +MSG_OK +_OK +; +; Error messages +; +MSG_ERR +Erreur +;Error +; +MSG_ERR_NO_APPLICATION +Impossible de créer l'application +;Can't create application +; +MSG_ERR_NO_MEM +Plus de mémoire +;Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT +Shift +; +MSG_KEY_CTRL +Ctrl +; +MSG_KEY_ALT +Alt +; +MSG_KEY_LOCK +Verrou +; +MSG_KEY_HELP +Aide +; +MSG_KEY_A +A +; +MSG_KEY_INSERT +Insérer +; +MSG_KEY_HOME +Home +; +MSG_KEY_PAGEUP +Page ^ +; +MSG_KEY_DELETE +Effacer +; +MSG_KEY_END +Fin +; +MSG_KEY_PAGEDOWN +Page v +; +MSG_KEY_NUM +Num +; +MSG_KEY_RETURN +^M +; +MSG_KEY_BACKSP +^H +; +MSG_KEY_TAB +^I +; +MSG_KEY_ESC +^[ +; +MSG_KEY_NUM_ENTER +^M +; +MSG_KEY_PRTSCREEN +Imp écr +; +MSG_KEY_SCRLOCK +arr déf +; +MSG_KEY_PAUSE +Pause +; diff --git a/workbench/tools/KeyShow/catalogs/german.ct b/workbench/tools/KeyShow/catalogs/german.ct new file mode 100644 index 00000000000..246240c7b5f --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/german.ct @@ -0,0 +1,120 @@ +## version $VER: KeyShow.catalog 1.0 (20.03.2012) +## language deutsch +## codeset 0 +; +MSG_AppDescription +Zeige Tastaturanordnung +; Show Keyboard Layout +; +MSG_AppCopyright +Copyright © 2012 The AROS Development Team +; Copyright \xa9 2012 The AROS Development Team +; +MSG_WI_TITLE +KeyShow +; KeyShow +; +MSG_OK +OK +; _OK +; +; Error messages +; +MSG_ERR +Fehler +; Error +; +MSG_ERR_NO_APPLICATION +Kann Application nicht erzeugen +; Can't create application +; +MSG_ERR_NO_MEM +Speichermangel +; Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT +Shift +; Shift +; +MSG_KEY_CTRL +Strg +; Ctrl +; +MSG_KEY_ALT +Alt +; Alt +; +MSG_KEY_LOCK +Lock +; Lock +; +MSG_KEY_HELP +Hilfe +; Help +; +MSG_KEY_A +A +; A +; +MSG_KEY_INSERT +Einfg +; Insert +; +MSG_KEY_HOME +Pos1 +; Home +; +MSG_KEY_PAGEUP +Seite ^ +; Page ^ +; +MSG_KEY_DELETE +Entf +; Delete +; +MSG_KEY_END +Ende +; End +; +MSG_KEY_PAGEDOWN +Seite v +; Page v +; +MSG_KEY_NUM +Num +; Num +; +MSG_KEY_RETURN +^M +; ^M +; +MSG_KEY_BACKSP +^H +; ^H +; +MSG_KEY_TAB +^I +; ^I +; +MSG_KEY_ESC +^[ +; ^[ +; +MSG_KEY_NUM_ENTER +^M +; ^M +; +MSG_KEY_PRTSCREEN +Druck +; Print +; +MSG_KEY_SCRLOCK +Rollen +; ScrLock +; +MSG_KEY_PAUSE +Pause +; Pause +; diff --git a/workbench/tools/KeyShow/catalogs/keyshow.cd b/workbench/tools/KeyShow/catalogs/keyshow.cd new file mode 100644 index 00000000000..cb17e96517f --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/keyshow.cd @@ -0,0 +1,88 @@ +MSG_AppDescription (//) +Show Keyboard Layout +; +MSG_AppCopyright (//) +Copyright \xa9 2012 The AROS Development Team +; +MSG_WI_TITLE (//) +KeyShow +; +MSG_OK (//) +_OK +; +; Error messages +; +MSG_ERR (//) +Error +; +MSG_ERR_NO_APPLICATION (//) +Can't create application +; +MSG_ERR_NO_MEM (//) +Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT (//) +Shift +; +MSG_KEY_CTRL (//) +Ctrl +; +MSG_KEY_ALT (//) +Alt +; +MSG_KEY_LOCK (//) +Lock +; +MSG_KEY_HELP (//) +Help +; +MSG_KEY_A (//) +A +; +MSG_KEY_INSERT (//) +Insert +; +MSG_KEY_HOME (//) +Home +; +MSG_KEY_PAGEUP (//) +Page ^ +; +MSG_KEY_DELETE (//) +Delete +; +MSG_KEY_END (//) +End +; +MSG_KEY_PAGEDOWN (//) +Page v +; +MSG_KEY_NUM (//) +Num +; +MSG_KEY_RETURN (//) +^M +; +MSG_KEY_BACKSP (//) +^H +; +MSG_KEY_TAB (//) +^I +; +MSG_KEY_ESC (//) +^[ +; +MSG_KEY_NUM_ENTER (//) +^M +; +MSG_KEY_PRTSCREEN (//) +Print +; +MSG_KEY_SCRLOCK (//) +ScrLock +; +MSG_KEY_PAUSE (//) +Pause +; diff --git a/workbench/tools/KeyShow/catalogs/mmakefile.src b/workbench/tools/KeyShow/catalogs/mmakefile.src new file mode 100644 index 00000000000..c2885f2fd5b --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2012, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=french german czech polish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-tools-keyshow-catalogs \ + catalogs=$(CATALOGS) \ + name=KeyShow subdir=System/Tools diff --git a/workbench/tools/KeyShow/catalogs/norwegian.ct b/workbench/tools/KeyShow/catalogs/norwegian.ct new file mode 100644 index 00000000000..1c1452f35ba --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/norwegian.ct @@ -0,0 +1,120 @@ +## version $VER: KeyShow.catalog 1.0 (21.07.219) +## language norwegian +## codeset 0 +; +MSG_AppDescription +Vis tastaturoppsett +; Show Keyboard Layout +; +MSG_AppCopyright +Copyright © 2012 The AROS Development Team +; Copyright \xa9 2012 The AROS Development Team +; +MSG_WI_TITLE +KeyShow +; KeyShow +; +MSG_OK +OK +; _OK +; +; Error messages +; +MSG_ERR +Feil +; Error +; +MSG_ERR_NO_APPLICATION +Klarte ikke opprette applikasjonen +; Can't create application +; +MSG_ERR_NO_MEM +Tom for minne +; Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT +Skift +; Shift +; +MSG_KEY_CTRL +Kontroll +; Ctrl +; +MSG_KEY_ALT +Alt +; Alt +; +MSG_KEY_LOCK +Lås +; Lock +; +MSG_KEY_HELP +Hjelp +; Help +; +MSG_KEY_A +A +; A +; +MSG_KEY_INSERT +Sett inn +; Insert +; +MSG_KEY_HOME +Hjem +; Home +; +MSG_KEY_PAGEUP +Side ^ +; Page ^ +; +MSG_KEY_DELETE +Slette +; Delete +; +MSG_KEY_END +Slutt +; End +; +MSG_KEY_PAGEDOWN +Side v +; Page v +; +MSG_KEY_NUM +Num +; Num +; +MSG_KEY_RETURN +^M +; ^M +; +MSG_KEY_BACKSP +^H +; ^H +; +MSG_KEY_TAB +^I +; ^I +; +MSG_KEY_ESC +^[ +; ^[ +; +MSG_KEY_NUM_ENTER +^M +; ^M +; +MSG_KEY_PRTSCREEN +Skriv +; Print +; +MSG_KEY_SCRLOCK +ScrLock +; ScrLock +; +MSG_KEY_PAUSE +Pause +; Pause +; \ No newline at end of file diff --git a/workbench/tools/KeyShow/catalogs/polish.ct b/workbench/tools/KeyShow/catalogs/polish.ct new file mode 100644 index 00000000000..e6c638eb1bb --- /dev/null +++ b/workbench/tools/KeyShow/catalogs/polish.ct @@ -0,0 +1,120 @@ +## version $VER: KeyShow.catalog 1.0 (08.03.2019) +## language polski +## codeset 5 +; +MSG_AppDescription +Pokaż układ klawiatury +; Show Keyboard Layout +; +MSG_AppCopyright +Copyright \xa9 2012 The AROS Development Team +; Copyright \xa9 2012 The AROS Development Team +; +MSG_WI_TITLE +KeyShow +; KeyShow +; +MSG_OK +OK +; _OK +; +; Error messages +; +MSG_ERR +Błąd +; Error +; +MSG_ERR_NO_APPLICATION +Nie można utworzyc aplikacji +; Can't create application +; +MSG_ERR_NO_MEM +Brak pamięci +; Out of memory +; +; Key descriptions +; +MSG_KEY_SHIFT +Shift +; Shift +; +MSG_KEY_CTRL +Ctrl +; Ctrl +; +MSG_KEY_ALT +Alt +; Alt +; +MSG_KEY_LOCK +Lock +; Lock +; +MSG_KEY_HELP +Help +; Help +; +MSG_KEY_A +Amiga +; A +; +MSG_KEY_INSERT +Insert +; Insert +; +MSG_KEY_HOME +Home +; Home +; +MSG_KEY_PAGEUP +PgUp +; Page ^ +; +MSG_KEY_DELETE +Delete +; Delete +; +MSG_KEY_END +End +; End +; +MSG_KEY_PAGEDOWN +PgDown +; Page v +; +MSG_KEY_NUM +Num +; Num +; +MSG_KEY_RETURN +Enter +; ^M +; +MSG_KEY_BACKSP +BackSP +; ^H +; +MSG_KEY_TAB +Tab +; ^I +; +MSG_KEY_ESC +Esc +; ^[ +; +MSG_KEY_NUM_ENTER +Ent +; ^M +; +MSG_KEY_PRTSCREEN +Print +; Print +; +MSG_KEY_SCRLOCK +ScrLock +; ScrLock +; +MSG_KEY_PAUSE +Pause +; Pause +; diff --git a/workbench/tools/ScreenGrabber/catalogs b/workbench/tools/ScreenGrabber/catalogs deleted file mode 160000 index 5122a54bb93..00000000000 --- a/workbench/tools/ScreenGrabber/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5122a54bb933412fb0a0017253e5c32901f94c2e diff --git a/workbench/tools/ScreenGrabber/catalogs/.gitattributes b/workbench/tools/ScreenGrabber/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/ScreenGrabber/catalogs/croatian.ct b/workbench/tools/ScreenGrabber/catalogs/croatian.ct new file mode 100644 index 00000000000..0db0afad7de --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/croatian.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 5 +; +; +MSG_WINDOW_TITLE +ScreenGrabber +; ScreenGrabber +; +MSG_REFRESH +Obnovi listu +; Refresh list +; +MSG_SCREEN_INFO +Informacije o zaslonu +; Screen info +; +MSG_SIZE +Veličina +; Size +; +MSG_TITLE +Naslov +; Title +; +MSG_DEFAULT_TITLE +Postavljeni naslov +; Default title +; +MSG_GRABBING_OPTIONS +Opcije +; Grabbing options +; +MSG_DELAY +Kašnjenje (s) +; Delay (s) +; +MSG_HIDE +Sakrij prozor snimatelja +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Spremi opcije +; Save options +; +MSG_SAVE_FILE +Spremi datoteku +; Save file +; +MSG_SCREENSHOT +Snimi +; Screenshot +; +MSG_SCREEN_PARM + %d x %d, dubina=%d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Datoteka '%s' več postoji.\nŽelite li ju prepisati? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Screengrabber Greška +; Screengrabber Error +; +MSG_GAD_OK +U redu +; _OK +; +MSG_GAD_YESNO +DA|NE +; YES|NO +; +MSG_ERR_DATATYPE +Ne mogu stoviti datatype object! +; Can't create datatype object! +; +MSG_NORAM +Nedovoljno memorije! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Zapisivanje '%s' neuspjelo sa IO pogreškom %ld! +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Ne mogu otvoriti datoteku '%s' za izlaz! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Ne mogu stvoriti objekt aplikacije! +; Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/czech.ct b/workbench/tools/ScreenGrabber/catalogs/czech.ct new file mode 100644 index 00000000000..d164d033c6c --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/czech.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_WINDOW_TITLE +ScreenGrabber +; ScreenGrabber +; +MSG_REFRESH +Aktualizovat +; Refresh list +; +MSG_SCREEN_INFO +Informace o obrazovce +; Screen info +; +MSG_SIZE +Velikost: +; Size +; +MSG_TITLE +Text záhlaví: +; Title +; +MSG_DEFAULT_TITLE +Výchozí text: +; Default title +; +MSG_GRABBING_OPTIONS +Možnosti snímání +; Grabbing options +; +MSG_DELAY +Zpoždění (sek.): +; Delay (s) +; +MSG_HIDE +Při snímání skrýt okno programu +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Možnosti ukládání +; Save options +; +MSG_SAVE_FILE +Uložit do souboru +; Save file +; +MSG_SCREENSHOT +Pořídit snímek +; Screenshot +; +MSG_SCREEN_PARM +%d x %d / %d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Soubor "%s" již existuje.\nOpravdu chcete tento soubor přepsat? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Screengrabber :: Chyba +; Screengrabber Error +; +MSG_GAD_OK +_OK +; _OK +; +MSG_GAD_YESNO +Ano|Ne +; YES|NO +; +MSG_ERR_DATATYPE +Nelze vytvořit požadovaný objekt! +; Can't create datatype object! +; +MSG_NORAM +Není dostatek volné paměti! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Chyba při zápisu do souboru "%s"!\nČíslo chyby: %ld. +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Nelze zapsat do souboru "%s"! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Nelze vytvořit objekt application! +; Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/finnish.ct b/workbench/tools/ScreenGrabber/catalogs/finnish.ct new file mode 100644 index 00000000000..416ae3089b2 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/finnish.ct @@ -0,0 +1,57 @@ +## version $VER: ScreenGrabber.catalog 1.0 (03.02.2005) +## language suomi +## codeset 0 +; +; +MSG_WINDOW_TITLE +Ruutukaappari +; ScreenGrabber +; +MSG_REFRESH +Päivitä lista +; Refresh list +; +MSG_SCREEN_INFO +Näyttötiedot +; Screen info +; +MSG_SIZE +Koko +; Size +; +MSG_TITLE +Otsikko +; Title +; +MSG_DEFAULT_TITLE +Oletusotsikko +; Default title +; +MSG_GRABBING_OPTIONS +Kaappausasetukset +; Grabbing options +; +MSG_DELAY +Viive (sek.) +; Delay (s) +; +MSG_HIDE +Piilota kaappari-ikkuna +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Tallenna aseutkset +; Save options +; +MSG_SAVE_FILE +Tallenna tiedosto +; Save file +; +MSG_SCREENSHOT +Kaappaa näyttö +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, syvyys=%d +; %d x %d, depth=%d +; diff --git a/workbench/tools/ScreenGrabber/catalogs/french.ct b/workbench/tools/ScreenGrabber/catalogs/french.ct new file mode 100644 index 00000000000..2d809abcfee --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/french.ct @@ -0,0 +1,82 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language français +## codeset 0 +; +MSG_WINDOW_TITLE +Capture d'écran +; ScreenGrabber +MSG_REFRESH +Rafraîchir +; +MSG_SCREEN_INFO +Écran +; Screen info +MSG_SIZE +Taille +; Size +MSG_TITLE +Titre +; Title +MSG_DEFAULT_TITLE +Écran par défaut +; Default title +MSG_GRABBING_OPTIONS +Options de capture +; Grabbing options +MSG_DELAY +Delai (s) +; Delay (s) +MSG_HIDE +Cacher la fenêtre de capture +;Hide the grabber window +MSG_SAVE_OPTIONS +Sauvegarde +;Save options +MSG_SAVE_FILE +Sauver le fichier +;Save file +; +MSG_SCREENSHOT +Capturer +;Screenshot +; +MSG_SCREEN_PARM +%d x %d, profondeur=%d +;%d x %d, depth=%d +; +MSG_OVERWRITE +Le fichier %s existe déjà.\nVoulez-vous vraiment l'écraser ? +;File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Screengrabber : Erreur +;Screengrabber Error +; +MSG_GAD_OK +_OK +;_OK +; +MSG_GAD_YESNO +OUI|NON +;YES|NO +; +MSG_ERR_DATATYPE +Impossible de créer le datatype objet ! +;Can't create datatype object! +; +MSG_NORAM +Impossible d'allouer de la mémoire ! +;Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +L'écriture de '%s' a échoué avec une erreur d'entrée sortie %ld ! +;Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Impossible d'ouvrir le fichier '%s' en sortie ! +;Can't open file '%s' for output! +; +MSG_ERR_APP +Impossible de créer l'objet application ! +;Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/german.ct b/workbench/tools/ScreenGrabber/catalogs/german.ct new file mode 100644 index 00000000000..ed1c10855e3 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/german.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_WINDOW_TITLE +Screen Abbild +; ScreenGrabber +; +MSG_REFRESH +Aktualisieren +; Refresh list +; +MSG_SCREEN_INFO +Screen Info +; Screen info +; +MSG_SIZE +Größe +; Size +; +MSG_TITLE +Titel +; Title +; +MSG_DEFAULT_TITLE +Standard Titel +; Default title +; +MSG_GRABBING_OPTIONS +Abbildungs-Optionen +; Grabbing options +; +MSG_DELAY +Zeitverzögerung (s) +; Delay (s) +; +MSG_HIDE +dieses Fenster verstecken +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Optionen Speichern +; Save options +; +MSG_SAVE_FILE +Datei Speichern +; Save file +; +MSG_SCREENSHOT +Abbild +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, Tiefe=%d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Datei '%s' existiert bereits.\nWollen Sie sie wirklich überschreiben? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Screengrabber Fehler +; Screengrabber Error +; +MSG_GAD_OK +_OK +; _OK +; +MSG_GAD_YESNO +Ja|Nein +; YES|NO +; +MSG_ERR_DATATYPE +Kann Datatype Objekt nicht erzeugen! +; Can't create datatype object! +; +MSG_NORAM +Kann keinen Speicher anfordern! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Schreiben von '%s' schlug fehl mit IO Fehler %ld! +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Kann Datei '%s' nicht für Ausgabe öffnen! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Kann Application Objekt nicht erzeugen! +; Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/hungarian.ct b/workbench/tools/ScreenGrabber/catalogs/hungarian.ct new file mode 100644 index 00000000000..655ae077d01 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/hungarian.ct @@ -0,0 +1,57 @@ +## version $VER: ScreenGrabber.catalog 1.0 (03.02.2005) +## language magyar +## codeset 5 +; +; +MSG_WINDOW_TITLE +Képlopó +; ScreenGrabber +; +MSG_REFRESH +Frissítés lista +; Refresh list +; +MSG_SCREEN_INFO +Képernyő információ +; Screen info +; +MSG_SIZE +Méret +; Size +; +MSG_TITLE +Fejléc +; Title +; +MSG_DEFAULT_TITLE +Alap fejléc +; Default title +; +MSG_GRABBING_OPTIONS +Képlopás opciók +; Grabbing options +; +MSG_DELAY +Késleltetés (mp) +; Delay (s) +; +MSG_HIDE +Képlopó ablak elrejtése +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Mentési beállítások +; Save options +; +MSG_SAVE_FILE +Fájl +; Save file +; +MSG_SCREENSHOT +Képernyőkép +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, színek=%d +; %d x %d, depth=%d +; diff --git a/workbench/tools/ScreenGrabber/catalogs/italian.ct b/workbench/tools/ScreenGrabber/catalogs/italian.ct new file mode 100644 index 00000000000..f06d8cf2ee4 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/italian.ct @@ -0,0 +1,54 @@ +## version $VER: ScreenGrabber.catalog 1.0 (27.01.2005) +## language italiano +## codeset 0 +; +MSG_WINDOW_TITLE +Cattura Schermo +; ScreenGrabber +; +MSG_REFRESH +Aggiorna +; +MSG_SCREEN_INFO +Informazioni schermo +; Screen info +; +MSG_SIZE +Dimensioni +; Size +; +MSG_TITLE +Titolo +; Title +; +MSG_DEFAULT_TITLE +Titolo predefinito +; Default title +; +MSG_GRABBING_OPTIONS +Opzioni di cattura +; Grabbing options +; +MSG_DELAY +Ritardo (s) +; Delay (s) +; +MSG_HIDE +Nascondi finestra di cattura +;Hide the grabber window +; +MSG_SAVE_OPTIONS +Salva opzioni +;Save options +; +MSG_SAVE_FILE +Salva file +;Save file +; +MSG_SCREENSHOT +Cattura +;Screenshot +; +MSG_SCREEN_PARM +%d x %d, tiefe=%d +;%d x %d, depth=%d diff --git a/workbench/tools/ScreenGrabber/catalogs/mmakefile.src b/workbench/tools/ScreenGrabber/catalogs/mmakefile.src new file mode 100644 index 00000000000..d329473f0d3 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech french german polish portuguese russian spanish norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-tools-screengrabber-catalogs \ + catalogs=$(CATALOGS) \ + name=ScreenGrabber subdir=System/Tools diff --git a/workbench/tools/ScreenGrabber/catalogs/norwegian.ct b/workbench/tools/ScreenGrabber/catalogs/norwegian.ct new file mode 100644 index 00000000000..e6322b5cbd1 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/norwegian.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenGrabber.catalog 2.0 (21.07.2019) +## language norwegian +## codeset 0 +; +; +MSG_WINDOW_TITLE +ScreenGrabber +; ScreenGrabber +; +MSG_REFRESH +Oppdater liste +; Refresh list +; +MSG_SCREEN_INFO +Skjerminfo +; Screen info +; +MSG_SIZE +Størrelse +; Size +; +MSG_TITLE +Tittel +; Title +; +MSG_DEFAULT_TITLE +Standardtittel +; Default title +; +MSG_GRABBING_OPTIONS +Skjermskuddsvalg +; Grabbing options +; +MSG_DELAY +Forsinkelse (s) +; Delay (s) +; +MSG_HIDE +Gjem vindu +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Valg ved lagring +; Save options +; +MSG_SAVE_FILE +Lagre fil +; Save file +; +MSG_SCREENSHOT +Skjermskudd +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, dybde=%d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Filen '%s' eksisterer allerde.\nØnsker du virkelig å overskrive? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Screengrabber feil +; Screengrabber Error +; +MSG_GAD_OK +_OK +; _OK +; +MSG_GAD_YESNO +Ja|Nei +; YES|NO +; +MSG_ERR_DATATYPE +Klarte ikke opprette datatype objektet! +; Can't create datatype object! +; +MSG_NORAM +Klarte ikke allokere nok minne! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Skriving av filen '%s' feilet med IO feil %ld! +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Klarte ikke åpne '%s' for skriving! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Klarte ikke opprette applikasjonsobjektet! +; Can't create application object! +; \ No newline at end of file diff --git a/workbench/tools/ScreenGrabber/catalogs/polish.ct b/workbench/tools/ScreenGrabber/catalogs/polish.ct new file mode 100644 index 00000000000..9a7259f747d --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/polish.ct @@ -0,0 +1,93 @@ +## version $VER: screengrabber.catalog 2.0 (30.03.2016) +## codeset 5 +## language polski +; +MSG_WINDOW_TITLE +ScreenGrabber +; ScreenGrabber +; +MSG_REFRESH +Odśwież listę +; Refresh list +; +MSG_SCREEN_INFO +Informacje o ekranie +; Screen info +; +MSG_SIZE +Wielkość +; Size +; +MSG_TITLE +Nazwa +; Title +; +MSG_DEFAULT_TITLE +Domyślna nazwa +; Default title +; +MSG_GRABBING_OPTIONS +Opcje zrzucania +; Grabbing options +; +MSG_DELAY +Opóźnienie (s) +; Delay (s) +; +MSG_HIDE +Ukryj okno grabbera +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Zapisz opcje +; Save options +; +MSG_SAVE_FILE +Zapisz plik +; Save file +; +MSG_SCREENSHOT +Zrzut ekranu +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, głębia=%d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Plik \"%s\" już istnieje.\n\ +Czy na pewno chcesz go nadpisać? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Błąd programu ScreenGrabber +; Screengrabber Error +; +MSG_GAD_OK +_OK +; _OK +; +MSG_GAD_YESNO +TAK|NIE +; YES|NO +; +MSG_ERR_DATATYPE +Nie można utworzyć obiektu datatype! +; Can't create datatype object! +; +MSG_NORAM +Nie można przydzielić pamięci RAM! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Zapisywanie \"%s\" zakończone błędem we/wy %ld! +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Nie można otworzyć pliku \"%s\" do zapisu! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Nie można utworzyć obiektu aplikacji! +; Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/portuguese.ct b/workbench/tools/ScreenGrabber/catalogs/portuguese.ct new file mode 100644 index 00000000000..c9ce875a691 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/portuguese.ct @@ -0,0 +1,100 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language português +## codeset 0 +; +; Translated by João Ralha +; +MSG_WINDOW_TITLE +Capturador de Écran +;ScreenGrabber +; +MSG_REFRESH +Actualizar lista +;Refresh list +; +MSG_SCREEN_INFO +Informação de écran +;Info. de la pantalla +;Screen info +; +MSG_SIZE +Tamanho +;Dimensiones +;Talla +;Size +; +MSG_TITLE +Título +;Title +; +MSG_DEFAULT_TITLE +Título por defeito +;Título predefinido +;Default title +; +MSG_GRABBING_OPTIONS +Opções de captura +;Grabbing options +; +MSG_DELAY +Atraso (s) +;Delay (s) +; +MSG_HIDE +Ocultar a janela do capturador +;Ocultar la ventana del grabber +;Hide the grabber window +; +MSG_SAVE_OPTIONS +Guardas as opções +;Save options +; +MSG_SAVE_FILE +Guardar em ficheiro +;Save file +; +MSG_SCREENSHOT +Capturar écran +;Screenshot +; +MSG_SCREEN_PARM +%d x %d, depth=%d +; +MSG_OVERWRITE +O ficheiro '%s' já existe.\nQuer substituí-lo? +;File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Erro: Capturador écran +;Error del Screengrabber +;Screengrabber Error +; +MSG_GAD_OK +_Aceitar +;_OK +; +MSG_GAD_YESNO +SIM|NÃO +;YES|NO +; +MSG_ERR_DATATYPE +Não foi possível criar o objeto datatype! +;Can't create datatype object! +; +MSG_NORAM +Não foi possível disponibilizar RAM! +;Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Escrever '%s' falhou com\n\ +o erro de I/O %ld! +;Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Não pode escrever para o ficheiro '%s'! +;Can't open file '%s' for output! +; +MSG_ERR_APP +Não foi possível criar a aplicação! +;Can't create application object! +; \ No newline at end of file diff --git a/workbench/tools/ScreenGrabber/catalogs/russian.ct b/workbench/tools/ScreenGrabber/catalogs/russian.ct new file mode 100644 index 00000000000..4b4a55df1cc --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/russian.ct @@ -0,0 +1,93 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language russian +## codeset 2104 +; +; +MSG_WINDOW_TITLE +Снимок экрана +; ScreenGrabber +; +MSG_REFRESH +Обновить список +; Refresh list +; +MSG_SCREEN_INFO +Screen Info +; Screen info +; +MSG_SIZE +Размер +; Size +; +MSG_TITLE +Заголовок +; Title +; +MSG_DEFAULT_TITLE +Заголовок по умолчанию +; Default title +; +MSG_GRABBING_OPTIONS +Настройки снимков +; Grabbing options +; +MSG_DELAY +Задержка (с.) (s) +; Delay (s) +; +MSG_HIDE +Спрятать окно +; Hide the grabber window +; +MSG_SAVE_OPTIONS +Сохранить настройки +; Save options +; +MSG_SAVE_FILE +Сохранить снимок +; Save file +; +MSG_SCREENSHOT +Снимок +; Screenshot +; +MSG_SCREEN_PARM +%d x %d, Tiefe=%d +; %d x %d, depth=%d +; +MSG_OVERWRITE +Файл '%s' уже существует.\nПерезаписать его? +; File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Ошибка при съёмке +; Screengrabber Error +; +MSG_GAD_OK +_OK +; _OK +; +MSG_GAD_YESNO +Да|Нет +; YES|NO +; +MSG_ERR_DATATYPE +Не могу создать объект данных! +; Can't create datatype object! +; +MSG_NORAM +Не могу выделить память! +; Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Запись файла '%s' невозможна из-за ошибки ввода-вывода %ld! +; Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +Не могу открыть файл '%s' для записи! +; Can't open file '%s' for output! +; +MSG_ERR_APP +Ошибка создания объекта приложения! +; Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/screengrabber.cd b/workbench/tools/ScreenGrabber/catalogs/screengrabber.cd new file mode 100644 index 00000000000..223a1b508b4 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/screengrabber.cd @@ -0,0 +1,67 @@ +; +MSG_WINDOW_TITLE (//) +ScreenGrabber +; +MSG_REFRESH (//) +Refresh list +; +MSG_SCREEN_INFO (//) +Screen info +; +MSG_SIZE (//) +Size +; +MSG_TITLE (//) +Title +; +MSG_DEFAULT_TITLE (//) +Default title +; +MSG_GRABBING_OPTIONS (//) +Grabbing options +; +MSG_DELAY (//) +Delay (s) +; +MSG_HIDE (//) +Hide the grabber window +; +MSG_SAVE_OPTIONS (//) +Save options +; +MSG_SAVE_FILE (//) +Save file +; +MSG_SCREENSHOT (//) +Screenshot +; +MSG_SCREEN_PARM (//) +%d x %d, depth=%d +; +MSG_OVERWRITE (//) +File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE (//) +Screengrabber Error +; +MSG_GAD_OK (//) +_OK +; +MSG_GAD_YESNO (//) +YES|NO +; +MSG_ERR_DATATYPE (//) +Can't create datatype object! +; +MSG_NORAM (//) +Can't allocate RAM! +; +MSG_ERR_DATATYPEIO (//) +Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE (//) +Can't open file '%s' for output! +; +MSG_ERR_APP (//) +Can't create application object! +; diff --git a/workbench/tools/ScreenGrabber/catalogs/spanish.ct b/workbench/tools/ScreenGrabber/catalogs/spanish.ct new file mode 100644 index 00000000000..bd102c55cd2 --- /dev/null +++ b/workbench/tools/ScreenGrabber/catalogs/spanish.ct @@ -0,0 +1,100 @@ +## version $VER: ScreenGrabber.catalog 2.0 (30.03.2016) +## language español +## codeset 0 +; +; Translated by ahg - (30.09.2007) +; +MSG_WINDOW_TITLE +Capturador de Pantalla +;ScreenGrabber +; +MSG_REFRESH +Rehacer la lista +;Refresh list +; +MSG_SCREEN_INFO +Información de la Pantalla +;Info. de la pantalla +;Screen info +; +MSG_SIZE +Tamaño +;Dimensiones +;Talla +;Size +; +MSG_TITLE +Título +;Title +; +MSG_DEFAULT_TITLE +Título inicial +;Título predefinido +;Default title +; +MSG_GRABBING_OPTIONS +Opciones de captura +;Grabbing options +; +MSG_DELAY +Retardo (s) +;Delay (s) +; +MSG_HIDE +Ocultar la ventana del capturador +;Ocultar la ventana del grabber +;Hide the grabber window +; +MSG_SAVE_OPTIONS +Grabar las opciones +;Save options +; +MSG_SAVE_FILE +Grabar en el archivo +;Save file +; +MSG_SCREENSHOT +Captura de pantalla +;Screenshot +; +MSG_SCREEN_PARM +%d x %d, depth=%d +; +MSG_OVERWRITE +El archivo '%s' ya existe.\n¿Quieres sobrescribirlo? +;File '%s' already exists.\nDo you really want to overwrite it? +; +MSG_ERROR_TITLE +Error del Capturador de Pantalla +;Error del Screengrabber +;Screengrabber Error +; +MSG_GAD_OK +_Aceptar +;_OK +; +MSG_GAD_YESNO +SÍ|NO +;YES|NO +; +MSG_ERR_DATATYPE +¡No se puede crear el objeto datatype! +;Can't create datatype object! +; +MSG_NORAM +¡No se puede asignar RAM! +;Can't allocate RAM! +; +MSG_ERR_DATATYPEIO +Escribir '%s' falló con\n\ +el Error de E/S %ld! +;Writing of '%s' failed with IO Error %ld! +; +MSG_ERR_OPENFILE +¡El archivo '%s' no se puede abrir para salida! +;Can't open file '%s' for output! +; +MSG_ERR_APP +¡No se puede crear la aplicación! +;Can't create application object! +; diff --git a/workbench/tools/SysExplorer/catalogs b/workbench/tools/SysExplorer/catalogs deleted file mode 160000 index cfb33593fe7..00000000000 --- a/workbench/tools/SysExplorer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cfb33593fe76b50a61df1988c0343318d5f07cc6 diff --git a/workbench/tools/SysExplorer/catalogs/.gitattributes b/workbench/tools/SysExplorer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/SysExplorer/catalogs/czech.ct b/workbench/tools/SysExplorer/catalogs/czech.ct new file mode 100644 index 00000000000..d77e99e502b --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/czech.ct @@ -0,0 +1,177 @@ +## version $VER: sysexplorer.catalog 2.0 (26.08.2016) +## language czech +## codeset 5 +; +; +MSG_TITLE +Systémový průzkumník +; System Explorer +; +MSG_WINTITLE +Průzkumník zařízení +; System Explorer +; +MSG_DESCRIPTION +Informace o zařízení a sytému +; System and hardware information tool +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROPERTIES +Podrobnosti o zařízení +; Properties +; +MSG_MENU_EXPANDALL +Rozvinout položky +; Expand All +; +MSG_MENU_COLLAPSEALL +Zavinout položky +; Collapse All +; +MSG_MENU_QUIT +Ukončit +; Quit +; +MSG_HIDD_TREE +HIDD +; HIDD Tree +; +MSG_PROPERTIES +Informace +; Properties +; +MSG_LABEL_DRIVER +Jméno zařízení +; Driver instance name +; +MSG_LABEL_HW_DESCRIPTION +Popis zařízení +; Hardware description +; +MSG_LABEL_VENDOR +Informace o výrobci +; Vendor information +; +MSG_SYSTEM_PROPERTIES +Informace o systému +; System properties +; +MSG_VERSION +Verze +; Version +; +MSG_PROCESSORS +Procesor(y) +; Processors +; +MSG_HPET +HPET +; HPET +; +MSG_RAM +Paměť +; Memory +; +MSG_BOOTLOADER +Zavaděč +; Boot loader +; +MSG_ARGUMENTS +Argumenty zavaděče +; Boot Arguments +; +MSG_AVAILABLE +Lze použít +; Available for use +; +MSG_GENERAL +Informace +; General +; +MSG_NAME +Jméno +; Name +; +MSG_HARDWARE_NAME +Název zařízení +; Hardware Name +; +MSG_PRODUCT_ID +Produkt ID +; Product ID +; +MSG_PRODUCER_NAME +Jméno výrobce +; Vendor Name +; +MSG_PRODUCER_ID +ID výrobce +; Vendor ID +; +MSG_DEVICE_PROPERTIES +Podrobnosti o zařízení +; Device properties +; +MSG_ATA_PROPERTIES +Informace o IDE sběrnici +; IDE bus properties +; +MSG_ATA +IDE +; IDE +; +MSG_USE_IOALT +Podpora alternativníh registrů +; Supports alternate registers +; +MSG_USE_32BIT +Podpora 32-bit PIO +; Supports 32-bit PIO +; +MSG_USE_DMA +Podpora DMA +; Supports DMA +; +MSG_USE_80WIRE +80 žílový kabel +; 80-wire cable +; +MSG_ATA_UNIT_PROPERTIES +Vlastnosti IDE zařízení +; IDE device properties +; +MSG_UNIT_NUMBER +Číslo zařízení +; Unit number +; +MSG_MODEL +Model +; Model +; +MSG_REVISION +Revize +; Revision +; +MSG_SERIAL +Serial +; Serial +; +MSG_TRANSFER_MODES +Podporované módy +; Supported modes +; +MSG_MULTISECTOR +Multisektorový limit +; Multisector limit +; +MSG_REMOVABLE +Odebrat +; Removable +; +MSG_CONFIG_MODES +Konfigurované módy +; Configured modes +; diff --git a/workbench/tools/SysExplorer/catalogs/french.ct b/workbench/tools/SysExplorer/catalogs/french.ct new file mode 100644 index 00000000000..f03a55b99bc --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/french.ct @@ -0,0 +1,175 @@ +## version $VER: SysExplorer.catalog 2.0 (03.01.2018) +## language français +## codeset 0 +; +; +MSG_TITLE +Explorateur système +; +MSG_WINTITLE +Explorateur système +; +MSG_DESCRIPTION +Outil d'information matériel et système +;System and hardware information tool +; +MSG_MENU_PROJECT +Projet +;Project +; +MSG_MENU_PROPERTIES +Propriétés +;Properties +; +MSG_MENU_EXPANDALL +Tout développer +;Expand All +; +MSG_MENU_COLLAPSEALL +Tout réduire +;Collapse All +; +MSG_MENU_QUIT +Quitter +;Quit +; +MSG_HIDD_TREE +Arborescence des pilotes +;HIDD Tree +; +MSG_PROPERTIES +Propriétés +;Properties +; +MSG_LABEL_DRIVER +Nom du pilote +;Driver instance name +; +MSG_LABEL_HW_DESCRIPTION +Description du matériel +;Hardware description +; +MSG_LABEL_VENDOR +Information Distributeur +;Vendor information +; +MSG_SYSTEM_PROPERTIES +Propriétés Système +;System properties +; +MSG_VERSION +Version +;Version +; +MSG_PROCESSORS +Processeurs +;Processors +; +MSG_HPET +HPET +;HPET +; +MSG_RAM +Mémoire +;Memory +; +MSG_BOOTLOADER +Chargeur de démarrage +;Boot loader +; +MSG_ARGUMENTS +Arguments du chargeur de démarrage +;Arguments +; +MSG_AVAILABLE +Disponible +;Available for use +; +MSG_GENERAL +Général +;General +; +MSG_NAME +Nom +;Name +; +MSG_HARDWARE_NAME +Nom matériel +;Hardware Name +; +MSG_PRODUCT_ID +ID du produit +;Product ID +; +MSG_PRODUCER_NAME +Nom du constructeur +;Vendor Name +; +MSG_PRODUCER_ID +ID du constructeur +;Vendor ID +; +MSG_DEVICE_PROPERTIES +Propriétés du périphérique +;Device properties +; +MSG_ATA_PROPERTIES +Propriétés du bus IDE +;IDE bus properties +; +MSG_ATA +IDE +;IDE +; +MSG_USE_IOALT +Supporte les registres étendus +;Supports alternate registers +; +MSG_USE_32BIT +Supporte le mode PIO 32 bits +;Supports 32-bit PIO +; +MSG_USE_DMA +Supporte le DMA +;Supports DMA +; +MSG_USE_80WIRE +Câble 80 fils +;80-wire cable +; +MSG_ATA_UNIT_PROPERTIES +Propriétés du périphérique IDE +;IDE device properties +; +MSG_UNIT_NUMBER +Numéro de l'unité +;Unit number +; +MSG_MODEL +Modèle +;Model +; +MSG_REVISION +Révision +;Revision +; +MSG_SERIAL +Numéro de série +;Serial +; +MSG_TRANSFER_MODES +Modes supportés +;Supported modes +; +MSG_MULTISECTOR +Limite secteurs multiples +;Multisector limit +; +MSG_REMOVABLE +Éjectable +;Removable +; +MSG_CONFIG_MODES +Modes configurés +;Configured modes +; diff --git a/workbench/tools/SysExplorer/catalogs/german.ct b/workbench/tools/SysExplorer/catalogs/german.ct new file mode 100644 index 00000000000..9e0ce28d572 --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/german.ct @@ -0,0 +1,177 @@ +## version $VER: SysExplorer.catalog 2.0 (06.01.2020) +## language deutsch +## codeset 0 +; +; +MSG_TITLE +System Explorer +; System Explorer +; +MSG_WINTITLE +System Explorer +; System Explorer +; +MSG_DESCRIPTION +System- und Hardware-Informations-Werkzeug +; System and hardware information tool +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROPERTIES +Eigenschaften +; Properties +; +MSG_MENU_EXPANDALL +Alles erweitern +; Expand All +; +MSG_MENU_COLLAPSEALL +Alles zusammemklappen +; Collapse All +; +MSG_MENU_QUIT +Beenden +; Quit +; +MSG_HIDD_TREE +HIDD-Baum +; HIDD Tree +; +MSG_PROPERTIES +Eigenschaften +; Properties +; +MSG_LABEL_DRIVER +Treiber-Instanzname +; Driver instance name +; +MSG_LABEL_HW_DESCRIPTION +Hardware-Beschreibung +; Hardware description +; +MSG_LABEL_VENDOR +Häerstellerinformation +; Vendor information +; +MSG_SYSTEM_PROPERTIES +Systemeigenschaften +; System properties +; +MSG_VERSION +Version +; Version +; +MSG_PROCESSORS +Prozessoren +; Processors +; +MSG_HPET +HPET +; HPET +; +MSG_RAM +Speicher +; Memory +; +MSG_BOOTLOADER +Bootlader +; Boot loader +; +MSG_ARGUMENTS +Bootparameter +; Boot Arguments +; +MSG_AVAILABLE +Verfügbar zur Anwendung +; Available for use +; +MSG_GENERAL +Allgemein +; General +; +MSG_NAME +Name +; Name +; +MSG_HARDWARE_NAME +Hardware-Name +; Hardware Name +; +MSG_PRODUCT_ID +Produkt-ID +; Product ID +; +MSG_PRODUCER_NAME +Herstellername +; Vendor Name +; +MSG_PRODUCER_ID +Hersteller-ID +; Vendor ID +; +MSG_DEVICE_PROPERTIES +Geräteeigenschaften +; Device properties +; +MSG_ATA_PROPERTIES +IDE-Bus-Eigenschaften +; IDE bus properties +; +MSG_ATA +IDE +; IDE +; +MSG_USE_IOALT +Unterstützt alternative Register +; Supports alternate registers +; +MSG_USE_32BIT +Unterstützt 32-Bit PIO +; Supports 32-bit PIO +; +MSG_USE_DMA +Unterstützt DMA +; Supports DMA +; +MSG_USE_80WIRE +80-adriges Kabel +; 80-wire cable +; +MSG_ATA_UNIT_PROPERTIES +IDE-Geräteeigenschaften +; IDE device properties +; +MSG_UNIT_NUMBER +Gerätenummer +; Unit number +; +MSG_MODEL +Modell +; Model +; +MSG_REVISION +Revision +; Revision +; +MSG_SERIAL +Seriell +; Serial +; +MSG_TRANSFER_MODES +Unterstützte Modi +; Supported modes +; +MSG_MULTISECTOR +Mehrsektorengrenze +; Multisector limit +; +MSG_REMOVABLE +Entfernbar +; Removable +; +MSG_CONFIG_MODES +Eingestellte Modi +; Configured modes +; diff --git a/workbench/tools/SysExplorer/catalogs/mmakefile.src b/workbench/tools/SysExplorer/catalogs/mmakefile.src new file mode 100644 index 00000000000..e83e9b2d794 --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright @ 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french polish norwegian german + +%build_catalogs mmake=workbench-tools-sysexplorer-catalogs \ + catalogs=$(CATALOGS) \ + name=SysExplorer subdir=System/Tools/ diff --git a/workbench/tools/SysExplorer/catalogs/norwegian.ct b/workbench/tools/SysExplorer/catalogs/norwegian.ct new file mode 100644 index 00000000000..b3d4c2e7900 --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/norwegian.ct @@ -0,0 +1,175 @@ +## version $VER: SysExplorer.catalog 2.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_TITLE +Systemutforsker +; +MSG_WINTITLE +Systemutforsker +; +MSG_DESCRIPTION +System og maskinvareinformasjonsverkty +;System and hardware information tool +; +MSG_MENU_PROJECT +Prosjekt +;Project +; +MSG_MENU_PROPERTIES +Egenskaper +;Properties +; +MSG_MENU_EXPANDALL +Utvid alle +;Expand All +; +MSG_MENU_COLLAPSEALL +Kollaps alle +;Collapse All +; +MSG_MENU_QUIT +Avslutt +;Quit +; +MSG_HIDD_TREE +HIDD tre +;HIDD Tree +; +MSG_PROPERTIES +Egenskaper +;Properties +; +MSG_LABEL_DRIVER +Drivernavn +;Driver instance name +; +MSG_LABEL_HW_DESCRIPTION +Maskinvarebeskrivlse +;Hardware description +; +MSG_LABEL_VENDOR +Informasjon om produsent +;Vendor information +; +MSG_SYSTEM_PROPERTIES +Systemegenskaper +;System properties +; +MSG_VERSION +Versjon +;Version +; +MSG_PROCESSORS +Prosessorer +;Processors +; +MSG_HPET +HPET +;HPET +; +MSG_RAM +Minne +;Memory +; +MSG_BOOTLOADER +Oppstartslaster +;Boot loader +; +MSG_ARGUMENTS +Argumenter +;Arguments +; +MSG_AVAILABLE +Tilgjenglige for bruk +;Available for use +; +MSG_GENERAL +Generelt +;General +; +MSG_NAME +Navn +;Name +; +MSG_HARDWARE_NAME +Maskinvarenavn +;Hardware Name +; +MSG_PRODUCT_ID +Produktid +;Product ID +; +MSG_PRODUCER_NAME +Navn p produsent +;Vendor Name +; +MSG_PRODUCER_ID +ID p produsent +;Vendor ID +; +MSG_DEVICE_PROPERTIES +Enhetsegenskaper +;Device properties +; +MSG_ATA_PROPERTIES +IDE bus egenskaper +;IDE bus properties +; +MSG_ATA +IDE +;IDE +; +MSG_USE_IOALT +Sttter alternative registre +;Supports alternate registers +; +MSG_USE_32BIT +Sttter 32-bit PIO +;Supports 32-bit PIO +; +MSG_USE_DMA +Sttter DMA +;Supports DMA +; +MSG_USE_80WIRE +80-ledningskabel +;80-wire cable +; +MSG_ATA_UNIT_PROPERTIES +IDE enhetsegenskaper +;IDE device properties +; +MSG_UNIT_NUMBER +Enhetsnummer +;Unit number +; +MSG_MODEL +Modell +;Model +; +MSG_REVISION +Revisjon +;Revision +; +MSG_SERIAL +Seriell +;Serial +; +MSG_TRANSFER_MODES +Stttede moduser +;Supported modes +; +MSG_MULTISECTOR +Multisector begrensning +;Multisector limit +; +MSG_REMOVABLE +Kan fjernes +;Removable +; +MSG_CONFIG_MODE +Konfigurert modus +;Configured modes +; \ No newline at end of file diff --git a/workbench/tools/SysExplorer/catalogs/polish.ct b/workbench/tools/SysExplorer/catalogs/polish.ct new file mode 100644 index 00000000000..502bbdf6eb3 --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/polish.ct @@ -0,0 +1,177 @@ +## version $VER: sysexplorer.catalog 2.0 (21.04.2019) +## language polski +## codeset 5 +; +; +MSG_TITLE +Przegląd Systemu +; System Explorer +; +MSG_WINTITLE +Przegląd Systemu +; System Explorer +; +MSG_DESCRIPTION +Informacje o systemie i sprzęcie +; System and hardware information tool +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_PROPERTIES +Cechy +; Properties +; +MSG_MENU_EXPANDALL +Rozwiń wszystko +; Expand All +; +MSG_MENU_COLLAPSEALL +Zwiń wszystko +; Collapse All +; +MSG_MENU_QUIT +Skończ +; Quit +; +MSG_HIDD_TREE +Hierarchia HIDD +; HIDD Tree +; +MSG_PROPERTIES +Cechy +; Properties +; +MSG_LABEL_DRIVER +Nazwa jednostki sterownika +; Driver instance name +; +MSG_LABEL_HW_DESCRIPTION +Opis sprzętu +; Hardware description +; +MSG_LABEL_VENDOR +Informacje o producencie +; Vendor information +; +MSG_SYSTEM_PROPERTIES +Cechy systemu +; System properties +; +MSG_VERSION +Wersja +; Version +; +MSG_PROCESSORS +Procesor(y) +; Processors +; +MSG_HPET +HPET +; HPET +; +MSG_RAM +Pamięć +; Memory +; +MSG_BOOTLOADER +Program rozruchowy +; Boot loader +; +MSG_ARGUMENTS +Argumenty rozruchu +; Boot Arguments +; +MSG_AVAILABLE +Dostępny do użytku +; Available for use +; +MSG_GENERAL +Ogólne +; General +; +MSG_NAME +Nazwa +; Name +; +MSG_HARDWARE_NAME +Nazwa sprzętu +; Hardware Name +; +MSG_PRODUCT_ID +ID produktu +; Product ID +; +MSG_PRODUCER_NAME +Nazwa producenta +; Vendor Name +; +MSG_PRODUCER_ID +ID producenta +; Vendor ID +; +MSG_DEVICE_PROPERTIES +Cechy urządzenia +; Device properties +; +MSG_ATA_PROPERTIES +Cechy portu IDE +; IDE bus properties +; +MSG_ATA +Port IDE +; IDE +; +MSG_USE_IOALT +Wsparcie alternatywnych rejestrów +; Supports alternate registers +; +MSG_USE_32BIT +Wsparcie 32-bit PIO +; Supports 32-bit PIO +; +MSG_USE_DMA +Wsparcie DMA +; Supports DMA +; +MSG_USE_80WIRE +Kabel 80cio-żylowy +; 80-wire cable +; +MSG_ATA_UNIT_PROPERTIES +Cechy portu IDE +; IDE device properties +; +MSG_UNIT_NUMBER +Numer jednostki +; Unit number +; +MSG_MODEL +Model +; Model +; +MSG_REVISION +Rewizja +; Revision +; +MSG_SERIAL +Port szeregowy +; Serial +; +MSG_TRANSFER_MODES +Wspierane tryby +; Supported modes +; +MSG_MULTISECTOR +Limit wielosektorowy +; Multisector limit +; +MSG_REMOVABLE +Urządzenie wymienne +; Removable +; +MSG_CONFIG_MODES +Skonfigurowane tryby +; Configured modes +; diff --git a/workbench/tools/SysExplorer/catalogs/sysexplorer.cd b/workbench/tools/SysExplorer/catalogs/sysexplorer.cd new file mode 100644 index 00000000000..934cd0c7c2b --- /dev/null +++ b/workbench/tools/SysExplorer/catalogs/sysexplorer.cd @@ -0,0 +1,130 @@ +; +MSG_TITLE (//) +System Explorer +; +MSG_WINTITLE (//) +System Explorer +; +MSG_DESCRIPTION (//) +System and hardware information tool +; +MSG_MENU_PROJECT (//) +Project +; +MSG_MENU_PROPERTIES (//) +Properties +; +MSG_MENU_EXPANDALL (//) +Expand All +; +MSG_MENU_COLLAPSEALL (//) +Collapse All +; +MSG_MENU_QUIT (//) +Quit +; +MSG_HIDD_TREE (//) +HIDD Tree +; +MSG_PROPERTIES (//) +Properties +; +MSG_LABEL_DRIVER (//) +Driver instance name +; +MSG_LABEL_HW_DESCRIPTION (//) +Hardware description +; +MSG_LABEL_VENDOR (//) +Vendor information +; +MSG_SYSTEM_PROPERTIES (//) +System properties +; +MSG_VERSION (//) +Version +; +MSG_PROCESSORS (//) +Processors +; +MSG_HPET (//) +HPET +; +MSG_RAM (//) +Memory +; +MSG_BOOTLOADER (//) +Boot loader +; +MSG_ARGUMENTS (//) +Boot Arguments +; +MSG_AVAILABLE (//) +Available for use +; +MSG_GENERAL (//) +General +; +MSG_NAME (//) +Name +; +MSG_HARDWARE_NAME (//) +Hardware Name +; +MSG_PRODUCT_ID (//) +Product ID +; +MSG_PRODUCER_NAME (//) +Vendor Name +; +MSG_PRODUCER_ID (//) +Vendor ID +; +MSG_DEVICE_PROPERTIES (//) +Device properties +; +MSG_ATA_PROPERTIES (//) +IDE bus properties +; +MSG_ATA (//) +IDE +; +MSG_USE_IOALT (//) +Supports alternate registers +; +MSG_USE_32BIT (//) +Supports 32-bit PIO +; +MSG_USE_DMA (//) +Supports DMA +; +MSG_USE_80WIRE (//) +80-wire cable +; +MSG_ATA_UNIT_PROPERTIES (//) +IDE device properties +; +MSG_UNIT_NUMBER (//) +Unit number +; +MSG_MODEL (//) +Model +; +MSG_REVISION (//) +Revision +; +MSG_SERIAL (//) +Serial +; +MSG_TRANSFER_MODES (//) +Supported modes +; +MSG_MULTISECTOR (//) +Multisector limit +; +MSG_REMOVABLE (//) +Removable +; +MSG_CONFIG_MODES (//) +Configured modes +; diff --git a/workbench/tools/WiMP/catalogs b/workbench/tools/WiMP/catalogs deleted file mode 160000 index 6033eaa32a4..00000000000 --- a/workbench/tools/WiMP/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6033eaa32a41c522cb542ee1aa8414b7f34bb361 diff --git a/workbench/tools/WiMP/catalogs/.gitattributes b/workbench/tools/WiMP/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/WiMP/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/WiMP/catalogs/WiMP.cd b/workbench/tools/WiMP/catalogs/WiMP.cd new file mode 100644 index 00000000000..15208b2c260 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/WiMP.cd @@ -0,0 +1,259 @@ +; +MSG_APP_NAME (//) +WiMP +; +MSG_APP_TITLE (//) +Window Manipulator +; +MSG_APP_ABOUT (//) +WiMP - The Window Manipulation Program\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; +MSG_APP_COPYRIGHT (//) +Copyright \xa9 1995-2019, The AROS Development Team +; +MSG_APP_AUTOR (//) +The AROS Development Team +; +MSG_APP_BASE (//) +WIMP +; +MSG_WINDOW_TITLE (//) +WiMP - The Window Manipulation Program +; +MSG_INFO_TITLE (//) +WiMP - InfoWindow +; +MSG_CLOSE_SCREEN (//) +Do you really want to Close the selected Screen? +; +MSG_CLOSE_WINDOW (//) +Do you really want to Close the selected Window? +; +MSG_YES_NO (//) +Yes.|No! +; +MSG_CONTINUE (//) +Continue +; +MSG_BTN_KILL (//) +\033iKill +; +MSG_BTN_FRONT (//) +To _Front +; +MSG_BTN_BACK (//) +To _Back +; +MSG_BTN_MOVE (//) +Move to _Origin +; +MSG_BTN_ACTIVATE (//) +_Activate +; +MSG_BTN_ZIP (//) +_Zip +; +MSG_BTN_HIDE (//) +_Hide +; +MSG_BTN_SHOW (//) +_Show +; +MSG_BTN_UPDATE_LIST (//) +_Update List +; +MSG_BTN_RESCUE_ALL (//) +_Rescue all Windows +; +MSG_BTN_SHOW_ALL (//) +Show all Windows +; +MSG_BTN_RETHING (//) +Rethink Display +; +MSG_BTN_ABOUT (//) +About +; +MSG_SCREEN_WINDOW_LIST (//) +Screen/Window List +; +MSG_MENU_PROJECT (//) +Project +; +MSG_MENU_ABOUT (//) +About... +; +MSG_MENU_QUIT (//) +Quit +; +MSG_MENU_WIN_LIST (//) +Window List +; +MSG_MENU_UPDATE_LIST (//) +Update List +; +MSG_MENU_KILL (//) +Kill +; +MSG_MENU_TO_FRONT (//) +To Front +; +MSG_MENU_TO_BACK (//) +To Back +; +MSG_MENU_TO_ORIGIN (//) +To Origin +; +MSG_MENU_ACTIVATE (//) +Activate +; +MSG_MENU_ZIP (//) +Zip +; +MSG_MENU_HIDE (//) +Hide +; +MSG_MENU_SHOW (//) +Show +; +MSG_MENU_INFO (//) +Info +; +MSG_MENU_GENERIC (//) +Generic +; +MSG_MENU_RESCUE_ALL (//) +Rescue All +; +MSG_MENU_SHOW_ALL (//) +Show All +; +MSG_MENU_RETHINGDISPLAY (//) +RethinkDisplay +; +MSG_ARRAY_WINDOW (//) + \033bWindow +; +MSG_ARRAY_SCREEN (//) +\033b\033uScreen +; +MSG_ARRAY_0_TYPE (//) +Type +; +MSG_ARRAY_1_ADDRESS (//) +Address +; +MSG_ARRAY_2_SIZE (//) +Size +; +MSG_ARRAY_3_POSITION (//) +Position +; +MSG_ARRAY_4_STATUS (//) +Status +; +MSG_ARRAY_5_TITLE (//) +Title +; +MSG_COL_SCREEN (//) +Screen +; +MSG_COL_SCR_ADDRESS (//) +Address +; +MSG_COL_SCR_LEFTEDGE (//) +LeftEdge +; +MSG_COL_SCR_TOPEDGE (//) +TopEdge +; +MSG_COL_SCR_WIDTH (//) +Width +; +MSG_COL_SCR_HEIGHT (//) +Height +; +MSG_COL_SCR_FLAGS (//) +Flags +; +MSG_COL_SCR_TITLE (//) +Title +; +MSG_COL_SCR_DEFAULTIT (//) +DefaultTitle +; +MSG_COL_SCR_FRSTWIN (//) +FirstWindow +; +MSG_COL_WIDOW (//) +Window +; +MSG_COL_WIN_ADDRESS (//) +Address +; +MSG_COL_WIN_NEXTWIN (//) +NextWindow +; +MSG_COL_WIN_LEFTEDGE (//) +LeftEdge +; +MSG_COL_WIN_TOPEDGE (//) +TopEdge +; +MSG_COL_WIN_WIDTH (//) +Width +; +MSG_COL_WIN_HEIGHT (//) +Height +; +MSG_COL_WIN_MINWIDTH (//) +MinWidth +; +MSG_COL_WIN_MINHEIGHT (//) +MinHeight +; +MSG_COL_WIN_MAXWIDTH (//) +MaxWidth +; +MSG_COL_WIN_MAXHEIGHT (//) +MaxHeight +; +MSG_COL_WIN_FLAGS (//) +Flags +; +MSG_COL_WIN_IDCMPFLAGS (//) +IDCMPFlags +; +MSG_COL_WIN_TITLE (//) +Title +; +MSG_COL_WIN_REQCOUNT (//) +ReqCount +; +MSG_COL_WIN_WSCREEN (//) +WScreen +; +MSG_COL_WIN_BORDERLEFT (//) +BorderLeft +; +MSG_COL_WIN_BORDERTOP (//) +BorderTop +; +MSG_COL_WIN_BORDERRIGHT (//) +BorderRight +; +MSG_COL_WIN_BORDERBOTTOM (//) +BoderBottom +; +MSG_COL_WIN_PARENTWIN (//) +Parent Window +; +MSG_COL_WIN_FIRSTCHILD (//) +First Child +; +MSG_COL_WIN_PARENT (//) +Parent +; +MSG_COL_WIN_DESCENDANT (//) +Descendant +; \ No newline at end of file diff --git a/workbench/tools/WiMP/catalogs/czech.ct b/workbench/tools/WiMP/catalogs/czech.ct new file mode 100644 index 00000000000..7d465fdf8aa --- /dev/null +++ b/workbench/tools/WiMP/catalogs/czech.ct @@ -0,0 +1,349 @@ +## version $VER: wimp.catalog 1.0 (06.10.2016) +## language czech +## codeset 5 +; +; +MSG_APP_NAME +WiMP +; WiMP +; +MSG_APP_TITLE +Window Manipulator +; Window Manipulator +; +MSG_APP_ABOUT +WiMP - Program pro manipulaci s okny\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; WiMP - The Window Manipulation Program\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; +MSG_APP_COPYRIGHT +Copyright \xa9 1995-2019, The AROS Development Team +; Copyright \xa9 1995-2019, The AROS Development Team +; +MSG_APP_AUTOR +The AROS Development Team +; The AROS Development Team +; +MSG_APP_BASE +WIMP +; WIMP +; +MSG_WINDOW_TITLE +WiMP - Program pro manipulaci s okny +; WiMP - The Window Manipulation Program +; +MSG_INFO_TITLE +WiMP - Informační okno +; WiMP - InfoWindow +; +MSG_CLOSE_SCREEN +Opravdu si přejete zavřít vybranou obrazovku? +; Do you really want to Close the selected Screen? +; +MSG_CLOSE_WINDOW +Opravdu si přejete zavřít vybrané okno? +; Do you really want to Close the selected Window? +; +MSG_YES_NO +Ano|Ne! +; Yes.|No! +; +MSG_CONTINUE +Pokračovat +; Continue +; +MSG_BTN_KILL +\033i_Odstranit +; \033iKill +; +MSG_BTN_FRONT +_Dopředu +; To _Front +; +MSG_BTN_BACK +Dozadu +; To _Back +; +MSG_BTN_MOVE +_Ukázat originál +; Move to _Origin +; +MSG_BTN_ACTIVATE +_Aktivovat +; _Activate +; +MSG_BTN_ZIP +Zmenšit +; _Zip +; +MSG_BTN_HIDE +_Skrýt +; _Hide +; +MSG_BTN_SHOW +_Zobrazit +; _Show +; +MSG_BTN_UPDATE_LIST +Aktual. seznam +; _Update List +; +MSG_BTN_RESCUE_ALL +Zachránit veškerá okna +; _Rescue all Windows +; +MSG_BTN_SHOW_ALL +Zobrazit veškerá okna +; Show all Windows +; +MSG_BTN_RETHING +Přehodnotit displej +; Rethink Display +; +MSG_BTN_ABOUT +O programu +; About +; +MSG_SCREEN_WINDOW_LIST +Seznam - obrazovky/okna +; Screen/Window List +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_ABOUT +O programu... +; About... +; +MSG_MENU_QUIT +Ukončit +; Quit +; +MSG_MENU_WIN_LIST +Seznam oken +; Window List +; +MSG_MENU_UPDATE_LIST +Aktualizace seznamu +; Update List +; +MSG_MENU_KILL +Odstranit +; Kill +; +MSG_MENU_TO_FRONT +Dopředu +; To Front +; +MSG_MENU_TO_BACK +Dozadu +; To Back +; +MSG_MENU_TO_ORIGIN +K originálu +; To Origin +; +MSG_MENU_ACTIVATE +Aktivovat +; Activate +; +MSG_MENU_ZIP +Zmenšit +; Zip +; +MSG_MENU_HIDE +Skrýt +; Hide +; +MSG_MENU_SHOW +Zobrazit +; Show +; +MSG_MENU_INFO +Informace +; Info +; +MSG_MENU_GENERIC +Obecné +; Generic +; +MSG_MENU_RESCUE_ALL +Zachránit vše +; Rescue All +; +MSG_MENU_SHOW_ALL +Zobrazit vše +; Show All +; +MSG_MENU_RETHINGDISPLAY +Přehodnotit displej +; RethinkDisplay +; +MSG_ARRAY_WINDOW + \033bOkno +; \033bWindow +; +MSG_ARRAY_SCREEN +\033b\033uObraz +; \033b\033uScreen +; +MSG_ARRAY_0_TYPE +Typ +; Type +; +MSG_ARRAY_1_ADDRESS +Adresa +; Address +; +MSG_ARRAY_2_SIZE +Velikost +; Size +; +MSG_ARRAY_3_POSITION +Pozice +; Position +; +MSG_ARRAY_4_STATUS +Status +; Status +; +MSG_ARRAY_5_TITLE +Název +; Title +; +MSG_COL_SCREEN +Obraz +; Screen +; +MSG_COL_SCR_ADDRESS +Adresa +; Address +; +MSG_COL_SCR_LEFTEDGE +Levá hrana +; LeftEdge +; +MSG_COL_SCR_TOPEDGE +Vrchní hrana +; TopEdge +; +MSG_COL_SCR_WIDTH +Šířka +; Width +; +MSG_COL_SCR_HEIGHT +Výška +; Height +; +MSG_COL_SCR_FLAGS +Příznak +; Flags +; +MSG_COL_SCR_TITLE +Název +; Title +; +MSG_COL_SCR_DEFAULTIT +Obecný název +; DefaultTitle +; +MSG_COL_SCR_FRSTWIN +První okno +; FirstWindow +; +MSG_COL_WIDOW +Okno +; Window +; +MSG_COL_WIN_ADDRESS +Adresa +; Address +; +MSG_COL_WIN_NEXTWIN +Další okno +; NextWindow +; +MSG_COL_WIN_LEFTEDGE +Levá hrana +; LeftEdge +; +MSG_COL_WIN_TOPEDGE +Vrchní hrana +; TopEdge +; +MSG_COL_WIN_WIDTH +Šířka +; Width +; +MSG_COL_WIN_HEIGHT +Výška +; Height +; +MSG_COL_WIN_MINWIDTH +Min. šířka +; MinWidth +; +MSG_COL_WIN_MINHEIGHT +Min. výška +; MinHeight +; +MSG_COL_WIN_MAXWIDTH +Max. šířka +; MaxWidth +; +MSG_COL_WIN_MAXHEIGHT +Max. výška +; MaxHeight +; +MSG_COL_WIN_FLAGS +příznaky +; Flags +; +MSG_COL_WIN_IDCMPFLAGS +Příznaky IDCMP +; IDCMPFlags +; +MSG_COL_WIN_TITLE +Název +; Title +; +MSG_COL_WIN_REQCOUNT +ReqCount +; ReqCount +; +MSG_COL_WIN_WSCREEN +WScreen +; WScreen +; +MSG_COL_WIN_BORDERLEFT +Levý okraj +; BorderLeft +; +MSG_COL_WIN_BORDERTOP +Vrchní okraj +; BorderTop +; +MSG_COL_WIN_BORDERRIGHT +Pravý okraj +; BorderRight +; +MSG_COL_WIN_BORDERBOTTOM +Spodní okraj +; BoderBottom +; +MSG_COL_WIN_PARENTWIN +Okno (rodič) +; Parent Window +; +MSG_COL_WIN_FIRSTCHILD +První potomek +; First Child +; +MSG_COL_WIN_PARENT +Rodič +; Parent +; +MSG_COL_WIN_DESCENDANT +Potomek +; Descendant +; diff --git a/workbench/tools/WiMP/catalogs/french.ct b/workbench/tools/WiMP/catalogs/french.ct new file mode 100644 index 00000000000..00eb83d6381 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/french.ct @@ -0,0 +1,349 @@ +## version $VER: wimp.catalog 1.0 (03.01.2018) +## language français +## codeset 0 +; +; +MSG_APP_NAME +WiMP +; WiMP +; +MSG_APP_TITLE +Manipulateur de Fenêtres +; Window Manipulator +; +MSG_APP_ABOUT +WiMP - Le programme de manipulation de fenêtres\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; WiMP - The Window Manipulation Program\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; +MSG_APP_COPYRIGHT +Copyright \xa9 1995-2019, The AROS Development Team +; Copyright \xa9 1995-2019, The AROS Development Team +; +MSG_APP_AUTOR +The AROS Development Team +; The AROS Development Team +; +MSG_APP_BASE +WIMP +; WIMP +; +MSG_WINDOW_TITLE +WiMP - Le programme de manipulation de fenêtres +; WiMP - The Window Manipulation Program +; +MSG_INFO_TITLE +WiMP - Fenêtre d'informations +; WiMP - InfoWindow +; +MSG_CLOSE_SCREEN +Souhaitez-vous vraiment fermer l'écran sélectionné ? +; Do you really want to Close the selected Screen? +; +MSG_CLOSE_WINDOW +Souhaitez-vous vraiment fermer la fenêtre sélectionnée ? +; Do you really want to Close the selected Window? +; +MSG_YES_NO +Oui.|Non! +; Yes.|No! +; +MSG_CONTINUE +Continuer +; Continue +; +MSG_BTN_KILL +\033iTuer +; \033iKill +; +MSG_BTN_FRONT +_Avant plan +; To _Front +; +MSG_BTN_BACK +A_rrière plan +; To _Back +; +MSG_BTN_MOVE +_Déplacer vers l'origine +; Move to _Origin +; +MSG_BTN_ACTIVATE +Acti_ver +; _Activate +; +MSG_BTN_ZIP +_Fermer +; _Zip +; +MSG_BTN_HIDE +_Cacher +; _Hide +; +MSG_BTN_SHOW +_Montrer +; _Show +; +MSG_BTN_UPDATE_LIST +Act_ualiser la liste +; _Update List +; +MSG_BTN_RESCUE_ALL +_Secourir toutes les fenêtres +; _Rescue all Windows +; +MSG_BTN_SHOW_ALL +Montrer _toutes les fenêtres +; Show all Windows +; +MSG_BTN_RETHING +Repenser l'afficha_ge +; Rethink Display +; +MSG_BTN_ABOUT +A propos +; About +; +MSG_SCREEN_WINDOW_LIST +Liste des écrans et des fenêtres +; Screen/Window List +; +MSG_MENU_PROJECT +Projet +; Project +; +MSG_MENU_ABOUT +A propos... +; About... +; +MSG_MENU_QUIT +Quitter +; Quit +; +MSG_MENU_WIN_LIST +List des fenêtres +; Window List +; +MSG_MENU_UPDATE_LIST +Actualiser la liste +; Update List +; +MSG_MENU_KILL +Tuer +; Kill +; +MSG_MENU_TO_FRONT +Avant plan +; To Front +; +MSG_MENU_TO_BACK +Arrière plan +; To Back +; +MSG_MENU_TO_ORIGIN +Vers l'origine +; To Origin +; +MSG_MENU_ACTIVATE +Activer +; Activate +; +MSG_MENU_ZIP +Fermer +; Zip +; +MSG_MENU_HIDE +Cacher +; Hide +; +MSG_MENU_SHOW +Montrer +; Show +; +MSG_MENU_INFO +Informations +; Info +; +MSG_MENU_GENERIC +Générique +; Generic +; +MSG_MENU_RESCUE_ALL +Tout secourir +; Rescue All +; +MSG_MENU_SHOW_ALL +Tout montrer +; Show All +; +MSG_MENU_RETHINGDISPLAY +Repenser l'affichage +; RethinkDisplay +; +MSG_ARRAY_WINDOW + \033bFenêtre +; \033bWindow +; +MSG_ARRAY_SCREEN +\033b\033uÉcran +; \033b\033uScreen +; +MSG_ARRAY_0_TYPE +Type +; Type +; +MSG_ARRAY_1_ADDRESS +Adresse +; Address +; +MSG_ARRAY_2_SIZE +Taille +; Size +; +MSG_ARRAY_3_POSITION +Position +; Position +; +MSG_ARRAY_4_STATUS +Statut +; Status +; +MSG_ARRAY_5_TITLE +Titre +; Title +; +MSG_COL_SCREEN +Écran +; Screen +; +MSG_COL_SCR_ADDRESS +Adresse +; Address +; +MSG_COL_SCR_LEFTEDGE +Bord gauche +; LeftEdge +; +MSG_COL_SCR_TOPEDGE +Bord du haut +; TopEdge +; +MSG_COL_SCR_WIDTH +Largeur +; Width +; +MSG_COL_SCR_HEIGHT +Hauteur +; Height +; +MSG_COL_SCR_FLAGS +États +; Flags +; +MSG_COL_SCR_TITLE +Titre +; Title +; +MSG_COL_SCR_DEFAULTIT +Titre par défaut +; DefaultTitle +; +MSG_COL_SCR_FRSTWIN +Première fenêtre +; FirstWindow +; +MSG_COL_WIDOW +Fenêtre +; Window +; +MSG_COL_WIN_ADDRESS +Adresse +; Address +; +MSG_COL_WIN_NEXTWIN +Prochaine fenêtre +; NextWindow +; +MSG_COL_WIN_LEFTEDGE +Bord gauche +; LeftEdge +; +MSG_COL_WIN_TOPEDGE +Bord du haut +; TopEdge +; +MSG_COL_WIN_WIDTH +Largeur +; Width +; +MSG_COL_WIN_HEIGHT +Hauteur +; Height +; +MSG_COL_WIN_MINWIDTH +Largeur minimale +; MinWidth +; +MSG_COL_WIN_MINHEIGHT +Hauteur minimale +; MinHeight +; +MSG_COL_WIN_MAXWIDTH +Largeur maximale +; MaxWidth +; +MSG_COL_WIN_MAXHEIGHT +Hauteur maximale +; MaxHeight +; +MSG_COL_WIN_FLAGS +États +; Flags +; +MSG_COL_WIN_IDCMPFLAGS +États IDCMP +; IDCMPFlags +; +MSG_COL_WIN_TITLE +Titre +; Title +; +MSG_COL_WIN_REQCOUNT +ReqCount +; ReqCount +; +MSG_COL_WIN_WSCREEN +Écran +; WScreen +; +MSG_COL_WIN_BORDERLEFT +Bord gauche +; BorderLeft +; +MSG_COL_WIN_BORDERTOP +Bord du haut +; BorderTop +; +MSG_COL_WIN_BORDERRIGHT +Bord droit +; BorderRight +; +MSG_COL_WIN_BORDERBOTTOM +Bord du bas +; BoderBottom +; +MSG_COL_WIN_PARENTWIN +Fenêtre parente +; Parent Window +; +MSG_COL_WIN_FIRSTCHILD +Première fille +; First Child +; +MSG_COL_WIN_PARENT +Parente +; Parent +; +MSG_COL_WIN_DESCENDANT +Descendante +; Descendant +; diff --git a/workbench/tools/WiMP/catalogs/mmakefile.src b/workbench/tools/WiMP/catalogs/mmakefile.src new file mode 100644 index 00000000000..e241e423db9 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright � 20168, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french norwegian + +%build_catalogs mmake=workbench-tools-wimp-catalogs \ + catalogs=$(CATALOGS) \ + name=WiMP subdir=System/Tools diff --git a/workbench/tools/WiMP/catalogs/norwegian.ct b/workbench/tools/WiMP/catalogs/norwegian.ct new file mode 100644 index 00000000000..cf53a735de1 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/norwegian.ct @@ -0,0 +1,349 @@ +## version $VER: wimp.catalog 1.0 (20.05.2019) +## language norwegian +## codeset 0 +; +; +MSG_APP_NAME +WiMP +; WiMP +; +MSG_APP_TITLE +Vindusmanipulator +; Window Manipulator +; +MSG_APP_ABOUT +WiMP - Vindusmanipuleringsprogram\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; WiMP - The Window Manipulation Program\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; +MSG_APP_COPYRIGHT +Copyright \xa9 1995-2019, The AROS Development Team +; Copyright \xa9 1995-2019, The AROS Development Team +; +MSG_APP_AUTOR +The AROS Development Team +; The AROS Development Team +; +MSG_APP_BASE +WIMP +; WIMP +; +MSG_WINDOW_TITLE +WiMP - Vindusmanipuleringsprogram +; WiMP - The Window Manipulation Program +; +MSG_INFO_TITLE +WiMP - Informasjonsvindu +; WiMP - InfoWindow +; +MSG_CLOSE_SCREEN +Ønsker du virkelig å lukke valgt skjerm? +; Do you really want to Close the selected Screen? +; +MSG_CLOSE_WINDOW +Ønsker du virkelig å lukke valgt vindu? +; Do you really want to Close the selected Window? +; +MSG_YES_NO +Ja.|Nei! +; Yes.|No! +; +MSG_CONTINUE +Fortsett +; Continue +; +MSG_BTN_KILL +\033iDrep +; \033iKill +; +MSG_BTN_FRONT +_Flytt forran +; To _Front +; +MSG_BTN_BACK +Flytt _bak +; To _Back +; +MSG_BTN_MOVE +_Flytt til startposisjon +; Move to _Origin +; +MSG_BTN_ACTIVATE +_Aktiver +; _Activate +; +MSG_BTN_ZIP +_Zip +; _Zip +; +MSG_BTN_HIDE +_Gjem +; _Hide +; +MSG_BTN_SHOW +_Vis +; _Show +; +MSG_BTN_UPDATE_LIST +Oppdater liste +; _Update List +; +MSG_BTN_RESCUE_ALL +_Redd alle vinduer +; _Rescue all Windows +; +MSG_BTN_SHOW_ALL +Vis alle vinduer +; Show all Windows +; +MSG_BTN_RETHING +Oppdater visning +; Rethink Display +; +MSG_BTN_ABOUT +Om +; About +; +MSG_SCREEN_WINDOW_LIST +Skjerm-/vindusliste +; Screen/Window List +; +MSG_MENU_PROJECT +Prosjekt +; Project +; +MSG_MENU_ABOUT +Om... +; About... +; +MSG_MENU_QUIT +Avslutt +; Quit +; +MSG_MENU_WIN_LIST +Vindusliste +; Window List +; +MSG_MENU_UPDATE_LIST +Oppdateringsliste +; Update List +; +MSG_MENU_KILL +Drep +; Kill +; +MSG_MENU_TO_FRONT +Til forgrunn +; To Front +; +MSG_MENU_TO_BACK +Til bakgrunn +; To Back +; +MSG_MENU_TO_ORIGIN +Til startposisjon +; To Origin +; +MSG_MENU_ACTIVATE +Aktiver +; Activate +; +MSG_MENU_ZIP +Zip +; Zip +; +MSG_MENU_HIDE +Gjem +; Hide +; +MSG_MENU_SHOW +Vis +; Show +; +MSG_MENU_INFO +Informasjon +; Info +; +MSG_MENU_GENERIC +Generelt +; Generic +; +MSG_MENU_RESCUE_ALL +Redd alle +; Rescue All +; +MSG_MENU_SHOW_ALL +Vis alle +; Show All +; +MSG_MENU_RETHINGDISPLAY +Oppdater visning +; RethinkDisplay +; +MSG_ARRAY_WINDOW +\033bVindu +; \033bWindow +; +MSG_ARRAY_SCREEN +\033b\033uSkjerm +; \033b\033uScreen +; +MSG_ARRAY_0_TYPE +Type +; Type +; +MSG_ARRAY_1_ADDRESS +Adresse +; Address +; +MSG_ARRAY_2_SIZE +Størrelse +; Size +; +MSG_ARRAY_3_POSITION +Posisjon +; Position +; +MSG_ARRAY_4_STATUS +Status +; Status +; +MSG_ARRAY_5_TITLE +Tittel +; Title +; +MSG_COL_SCREEN +Skjerm +; Screen +; +MSG_COL_SCR_ADDRESS +Adresse +; Address +; +MSG_COL_SCR_LEFTEDGE +Kant venstre +; LeftEdge +; +MSG_COL_SCR_TOPEDGE +Kant øverst +; TopEdge +; +MSG_COL_SCR_WIDTH +Bredde +; Width +; +MSG_COL_SCR_HEIGHT +Høyde +; Height +; +MSG_COL_SCR_FLAGS +Flagg +; Flags +; +MSG_COL_SCR_TITLE +Tittel +; Title +; +MSG_COL_SCR_DEFAULTIT +Standardtittel +; DefaultTitle +; +MSG_COL_SCR_FRSTWIN +Første vindu +; FirstWindow +; +MSG_COL_WIDOW +Vindu +; Window +; +MSG_COL_WIN_ADDRESS +Adresse +; Address +; +MSG_COL_WIN_NEXTWIN +Neste vindu +; NextWindow +; +MSG_COL_WIN_LEFTEDGE +Venstre kant +; LeftEdge +; +MSG_COL_WIN_TOPEDGE +Kant øverst +; TopEdge +; +MSG_COL_WIN_WIDTH +Bredde +; Width +; +MSG_COL_WIN_HEIGHT +Høyde +; Height +; +MSG_COL_WIN_MINWIDTH +Minimum bredde +; MinWidth +; +MSG_COL_WIN_MINHEIGHT +Mininum høyde +; MinHeight +; +MSG_COL_WIN_MAXWIDTH +Maks bredde +; MaxWidth +; +MSG_COL_WIN_MAXHEIGHT +Maks høyde +; MaxHeight +; +MSG_COL_WIN_FLAGS +Flagg +; Flags +; +MSG_COL_WIN_IDCMPFLAGS +?IDCMP flagg +; IDCMPFlags +; +MSG_COL_WIN_TITLE +Tittel +; Title +; +MSG_COL_WIN_REQCOUNT +ReqCount +; ReqCount +; +MSG_COL_WIN_WSCREEN +WSkjerm +; WScreen +; +MSG_COL_WIN_BORDERLEFT +Kant venstre +; BorderLeft +; +MSG_COL_WIN_BORDERTOP +Kant øverst +; BorderTop +; +MSG_COL_WIN_BORDERRIGHT +Kant høyre +; BorderRight +; +MSG_COL_WIN_BORDERBOTTOM +Kant nederst +; BoderBottom +; +MSG_COL_WIN_PARENTWIN +Opphavsvindu +; Parent Window +; +MSG_COL_WIN_FIRSTCHILD +Første underelement +; First Child +; +MSG_COL_WIN_PARENT +Opphav +; Parent +; +MSG_COL_WIN_DESCENDANT +Synkende +; Descendant +; \ No newline at end of file diff --git a/workbench/tools/WiMP/catalogs/polish.ct b/workbench/tools/WiMP/catalogs/polish.ct new file mode 100644 index 00000000000..9aefbcfaf95 --- /dev/null +++ b/workbench/tools/WiMP/catalogs/polish.ct @@ -0,0 +1,349 @@ +## version $VER: wimp.catalog 1.0 (03.01.2018) +## language polski +## codeset 0 +; +; +MSG_APP_NAME +WiMP +; WiMP +; +MSG_APP_TITLE +Kontrola okien +; Window Manipulator +; +MSG_APP_ABOUT +WiMP - Program kontroli okien\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; WiMP - The Window Manipulation Program\n\nCopyright \xa9 2000-2019 by The AROS Development Team +; +MSG_APP_COPYRIGHT +Copyright \xa9 1995-2019, The AROS Development Team +; Copyright \xa9 1995-2019, The AROS Development Team +; +MSG_APP_AUTOR +The AROS Development Team +; The AROS Development Team +; +MSG_APP_BASE +WIMP +; WIMP +; +MSG_WINDOW_TITLE +WiMP - Program kontroli okien +; WiMP - The Window Manipulation Program +; +MSG_INFO_TITLE +WiMP - Okno informacyjne +; WiMP - InfoWindow +; +MSG_CLOSE_SCREEN +Czy rzeczywiście chcesz zamknąć wybrany ekran? +; Do you really want to Close the selected Screen? +; +MSG_CLOSE_WINDOW +Czy rzeczywiście chcesz zamknąć wybrane okno? +; Do you really want to Close the selected Window? +; +MSG_YES_NO +Tak.|Nie! +; Yes.|No! +; +MSG_CONTINUE +Kontynuuj +; Continue +; +MSG_BTN_KILL +\033iZamknij +; \033iKill +; +MSG_BTN_FRONT +Do przodu +; To _Front +; +MSG_BTN_BACK +Do tylu +; To _Back +; +MSG_BTN_MOVE +Pwróć do _oryginalłu +; Move to _Origin +; +MSG_BTN_ACTIVATE +U_aktywnij +; _Activate +; +MSG_BTN_ZIP +_Zamknij +; _Zip +; +MSG_BTN_HIDE +Ukryj +; _Hide +; +MSG_BTN_SHOW +Pokaż +; _Show +; +MSG_BTN_UPDATE_LIST +Zaktualiz_uj listę +; _Update List +; +MSG_BTN_RESCUE_ALL +Zachowaj wszystkie okna +; _Rescue all Windows +; +MSG_BTN_SHOW_ALL +Pokaż wszystkie okna +; Show all Windows +; +MSG_BTN_RETHING +Przemyśl Układ +; Rethink Display +; +MSG_BTN_ABOUT +O programie +; About +; +MSG_SCREEN_WINDOW_LIST +Lista ekranów i okien +; Screen/Window List +; +MSG_MENU_PROJECT +Projekt +; Project +; +MSG_MENU_ABOUT +Przy okazji... +; About... +; +MSG_MENU_QUIT +Zakończ +; Quit +; +MSG_MENU_WIN_LIST +Lista okien +; Window List +; +MSG_MENU_UPDATE_LIST +Zaktualizuj listę +; Update List +; +MSG_MENU_KILL +Zamknij +; Kill +; +MSG_MENU_TO_FRONT +Na przód +; To Front +; +MSG_MENU_TO_BACK +Do tyłu +; To Back +; +MSG_MENU_TO_ORIGIN +Wróc +; To Origin +; +MSG_MENU_ACTIVATE +Uaktywnij +; Activate +; +MSG_MENU_ZIP +Zamknij +; Zip +; +MSG_MENU_HIDE +Ukryj +; Hide +; +MSG_MENU_SHOW +Pokaż +; Show +; +MSG_MENU_INFO +Informacje +; Info +; +MSG_MENU_GENERIC +Podstawowe +; Generic +; +MSG_MENU_RESCUE_ALL +Zachowaj wszystko +; Rescue All +; +MSG_MENU_SHOW_ALL +Pokaż wszystko +; Show All +; +MSG_MENU_RETHINGDISPLAY +Repenser l'affichage +; RethinkDisplay +; +MSG_ARRAY_WINDOW + \033bOkno +; \033bWindow +; +MSG_ARRAY_SCREEN +\033b\033uEkran +; \033b\033uScreen +; +MSG_ARRAY_0_TYPE +Typ +; Type +; +MSG_ARRAY_1_ADDRESS +Adres +; Address +; +MSG_ARRAY_2_SIZE +Wymiar +; Size +; +MSG_ARRAY_3_POSITION +Pozycja +; Position +; +MSG_ARRAY_4_STATUS +Status +; Status +; +MSG_ARRAY_5_TITLE +Tytuł +; Title +; +MSG_COL_SCREEN +Ekran +; Screen +; +MSG_COL_SCR_ADDRESS +Adres +; Address +; +MSG_COL_SCR_LEFTEDGE +Lewy brzeg +; LeftEdge +; +MSG_COL_SCR_TOPEDGE +Górny brzeg +; TopEdge +; +MSG_COL_SCR_WIDTH +Szerokosść +; Width +; +MSG_COL_SCR_HEIGHT +Wysokość +; Height +; +MSG_COL_SCR_FLAGS +Atrybuty +; Flags +; +MSG_COL_SCR_TITLE +Tytuł +; Title +; +MSG_COL_SCR_DEFAULTIT +Tytuł défaut +; DefaultTitle +; +MSG_COL_SCR_FRSTWIN +Pierwsze okno +; FirstWindow +; +MSG_COL_WIDOW +Okno +; Window +; +MSG_COL_WIN_ADDRESS +Adres +; Address +; +MSG_COL_WIN_NEXTWIN +Następne okno +; NextWindow +; +MSG_COL_WIN_LEFTEDGE +Lewy brzeg +; LeftEdge +; +MSG_COL_WIN_TOPEDGE +Górny brzeg +; TopEdge +; +MSG_COL_WIN_WIDTH +Szerokość +; Width +; +MSG_COL_WIN_HEIGHT +Wysokość +; Height +; +MSG_COL_WIN_MINWIDTH +Minimalna szerokość +; MinWidth +; +MSG_COL_WIN_MINHEIGHT +Minimalna wysokość +; MinHeight +; +MSG_COL_WIN_MAXWIDTH +Maksymalna szerokość +; MaxWidth +; +MSG_COL_WIN_MAXHEIGHT +Maksymalna wysokość +; MaxHeight +; +MSG_COL_WIN_FLAGS +Atrybuty +; Flags +; +MSG_COL_WIN_IDCMPFLAGS +Atrybuty IDCMP +; IDCMPFlags +; +MSG_COL_WIN_TITLE +Tytuł +; Title +; +MSG_COL_WIN_REQCOUNT +ReqCount +; ReqCount +; +MSG_COL_WIN_WSCREEN +Ekran +; WScreen +; +MSG_COL_WIN_BORDERLEFT +Lewy brzeg +; BorderLeft +; +MSG_COL_WIN_BORDERTOP +Górny brzeg +; BorderTop +; +MSG_COL_WIN_BORDERRIGHT +Prawy brzeg +; BorderRight +; +MSG_COL_WIN_BORDERBOTTOM +Dolny brzeg +; BoderBottom +; +MSG_COL_WIN_PARENTWIN +Nadrzędne okno +; Parent Window +; +MSG_COL_WIN_FIRSTCHILD +Pierwsze okno +; First Child +; +MSG_COL_WIN_PARENT +Nadrzędne +; Parent +; +MSG_COL_WIN_DESCENDANT +Podrzędne +; Descendant +; diff --git a/workbench/tools/commodities/catalogs b/workbench/tools/commodities/catalogs deleted file mode 160000 index 0593a94040f..00000000000 --- a/workbench/tools/commodities/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0593a94040fab21709b531fabc9ed8a48520faa2 diff --git a/workbench/tools/commodities/catalogs/.gitattributes b/workbench/tools/commodities/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/tools/commodities/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/tools/commodities/catalogs/commodities.cd b/workbench/tools/commodities/catalogs/commodities.cd new file mode 100644 index 00000000000..f1e362828b4 --- /dev/null +++ b/workbench/tools/commodities/catalogs/commodities.cd @@ -0,0 +1,274 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE (//) +Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE (//) +Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR (//) +Can't lock public screen!\n +; +MSG_CANT_GET_VI (//) +Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET (//) +Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS (//) +Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS (//) +Can't layout menus!\n +; +MSG_CANT_CREATE_WIN (//) +Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM (//) +Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT (//) +Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL (//) +Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER (//) +Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM (//) +Can't create CxCustom object!\n +; +MSG_OK (//) +Ok +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_HIDE (//) +H\0Hide +; +MSG_MEN_PROJECT_ICONIFY (//) +I\0Iconify +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME (//23) +Exchange +; +MSG_EXCHANGE_CXTITLE (//39) +Commodities Exchange +; +MSG_EXCHANGE_CXDESCR (//39) +Controls system commodities +; +MSG_EXCHANGE_WINTITLE (//) +Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW (//) +Available commodities +; +MSG_EXCHANGE_INFO (//) +Information +; +MSG_EXCHANGE_GAD_SHOW (//) +Show +; +MSG_EXCHANGE_GAD_HIDE (//) +Hide +; +MSG_EXCHANGE_GAD_REMOVE (//) +Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE (//) +Active +; +MSG_EXCHANGE_CYCLE_INACTIVE (//) +Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME (//23) +Blanker +; +MSG_BLANKER_CXTITLE (//39) +System Screen Blanker +; +MSG_BLANKER_CXDESCR (//39) +Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME (//23) +ClickToFront +; +MSG_CLICK2FNT_CXTITLE (//39) +Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR (//39) +Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME (//23) +Opaque +; +MSG_OPAQUE_CXTITLE (//39) +Solid Windows +; +MSG_OPAQUE_CXDESCR (//39) +Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME (//23) +AutoPoint +; +MSG_AUTOPOINT_CXTITLE (//39) +Autopointer +; +MSG_AUTOPOINT_CXDESCR (//39) +Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME (//23) +StartMenu +; +MSG_STARTMENU_CXTITLE (//39) +System Program Starter +; +MSG_STARTMENU_CXDESCR (//39) +Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME (//23) +FKey +; +MSG_FKEY_CXTITLE (//39) +Function To Keys: +; +MSG_FKEY_CXDESCR (//39) +Attach special functions to keys +; +MSG_FKEY_WINTITLE (//) +FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS (//) +Defined Keys +; +MSG_FKEY_NEW_KEY (//) +_New Key +; +MSG_FKEY_DELETE_KEY (//) +_Delete Key +; +MSG_FKEY_SAVE_KEY (//) +Save Defined Keys +; +MSG_FKEY_COMMAND (//) +Command +; +MSG_FKEY_COMMAND_PARAMS (//) +Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN (//) +Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR (//) +Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN (//) +Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN (//) +Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE (//) +Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN (//) +Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT (//) +Insert Text +; +MSG_FKEY_CMD_RUN_PROG (//) +Run Program +; +MSG_FKEY_CMD_RUN_AREXX (//) +Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE (//) +S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME (//23) +NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE (//39) +NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR (//39) +Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME (//23) +DepthMenu +; +MSG_DEPTHMENU_CXTITLE (//39) +DepthMenu: +; +MSG_DEPTHMENU_CXDESCR (//39) +Popup menu for depth gadgets +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME (//23) +AltKeyQ +; +MSG_ALTKEYQ_CXTITLE (//39) +Character input by number +; +MSG_ALTKEYQ_CXDESCR (//39) +MS-DOS Style Alt key usage +; +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME (//23) +ASCIITable +; +MSG_ASCIITABLE_CXTITLE (//39) +ASCIITable: +; +MSG_ASCIITABLE_CXDESCR (//39) +Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE (//) +ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY (//) +Copy +; +MSG_ASCIITABLE_GAD_CLEAR (//) +Clear +; diff --git a/workbench/tools/commodities/catalogs/croatian.ct b/workbench/tools/commodities/catalogs/croatian.ct new file mode 100644 index 00000000000..3e0d9030695 --- /dev/null +++ b/workbench/tools/commodities/catalogs/croatian.ct @@ -0,0 +1,358 @@ +## version $VER: Commodities.catalog 1.5 (27.12.2009) +## language hrvatski +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Ne mogu otvoriti 'input.device' +; Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE +Ne mogu otvoriti 'clipboard.device' +; Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR +Ne mogu zaključati javni zaslon!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Ne mogu dobiti VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Ne mogu stvoriti gadgete!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Ne mogu stvoriti izbornike!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Ne mogu posložiti izbornike!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Ne mogu stvoriti prozor!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Nedovoljno memorije!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Ne mogu stvoriti port za poruke!\n +; Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL +Ne mogu locirati signal!\n +; Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER +Ne mogu stvoriti CxBroker objekt!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Ne mogu stvoriti CxCustom objekt!\n +; Can't create CxCustom object!\n +; +MSG_OK +U redu +; Ok +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_HIDE +H\0Sakrij +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +I\0Ikonificiraj +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Razmjena Komoditija +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Upravlja Komoditijima +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Razmjena: Tipkovnički Prečac = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Dostupni Komoditiji +; Available commodities +; +MSG_EXCHANGE_INFO +Informacija +; Information +; +MSG_EXCHANGE_GAD_SHOW +Prikaži +; Show +; +MSG_EXCHANGE_GAD_HIDE +Sakrij +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Ukloni +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktiviraj +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Deaktiviaj +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Zaštitnik Zaslona +; Blanker +; +MSG_BLANKER_CXTITLE +Zaštitnik Zaslona Sustava +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Zatamljivanje zaslona pri neaktivnosti sustava +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +KlikZaNaprijed +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Klik za Naprijed alat +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Prebaciva prozore naprijed +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Cjelokupan Prozor +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Pomicanje prozora u realnom vremenu +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Autopointer +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktivira prozor pod mišem +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +System Program Starter +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Pokretač programa +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Funkcije tipkama: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Dodaj posebne funkcije tipkama +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Tipkovnički Prečac = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Definiraj Ključeve +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Novi Ključ +; _New Key +; +MSG_FKEY_DELETE_KEY +Obriši Ključ +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Spremi Definirane Ključeve +; Save Defined Keys +; +MSG_FKEY_COMMAND +Komanda +; Command +; +MSG_FKEY_COMMAND_PARAMS +Parametri +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Kruži Prozorima +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Kruži Zaslonima +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Povečaj Prozor +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Smanji Prozor +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Mjenjaj Veličinu Prozora +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Izbavi Prozor +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Ubaci Tekst +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Pokreni Program +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Dodaj ARexx Skriptu +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Spremi Definirane Ključeve +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +BezCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +BezCapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Isključuje CAPS LOCK +; Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +DubinskiIzbornik +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +DubinskiIzbornik: +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Popup izbornik za dugme dubine +; Popup menu for depth gadgets +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +; AltKeyQ +; +MSG_ALTKEYQ_CXTITLE +Ulaz znakova po broju +; Character input by number +; +MSG_ALTKEYQ_CXDESCR +Koristi Alt tipku u MS-DOS stilu +; MS-DOS Style Alt key usage +; +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; ASCIITable +; +MSG_ASCIITABLE_CXTITLE +ASCIITable: +; ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Izaberi ključ iz GUI-a +; Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE +ASCIITable: Tipkovnički Prečac = <%s> +; ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY +Kopiraj +; Copy +; +MSG_ASCIITABLE_GAD_CLEAR +Ukloni +; Clear +; diff --git a/workbench/tools/commodities/catalogs/czech.ct b/workbench/tools/commodities/catalogs/czech.ct new file mode 100644 index 00000000000..29c7a77ec9a --- /dev/null +++ b/workbench/tools/commodities/catalogs/czech.ct @@ -0,0 +1,358 @@ +## version $VER: Commodities.catalog 3.0 (27.1.2010) +## language czech +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Nelze otevřít zařízení input.device. +; Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE +Nelze otevřít zařízení clipboard.device. +; Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR +Nelze zamknout veřejnou obrazovku!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Nelze načíst strukturu VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Nelze vytvořit tlačítka!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Nelze vytvořit menu!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Nelze sestavit menu!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Nelze vytvořit okno!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Není dostatek volné paměti!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Nelze vytvořit message port!\n +; Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL +Nelze alokovat požadovaný signál!\n +; Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER +Nelze vytvořit objekt CxBroker!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Nelze vytvořit objekt CxCustom!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_HIDE +H\0Skrýt +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +I\0Ikonifikovat +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Správce komodit +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Správce programů typu komodita +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange: klávesová zkratka = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Přehled spuštěných komodit +; Available commodities +; +MSG_EXCHANGE_INFO +Informace +; Information +; +MSG_EXCHANGE_GAD_SHOW +Zobrazit +; Show +; +MSG_EXCHANGE_GAD_HIDE +Skrýt +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Odstranit +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktivní +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Neaktivní +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Šetřič obrazovky +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Spustí standardní šetřič obrazovky +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Přesun oken do popředí +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Umožní přenést okno do popředí +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Přesun oken s obsahem +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Umožní přesouvat okna i s obsahem +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Automatická aktivace oken +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktivuje okno pod šipkou myši +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Spouštěcí menu +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Umožní pohodlné spouštění programů +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Klávesové zkratky +; Function To Keys: +; +MSG_FKEY_CXDESCR +Umožní klávesám přiřadit různé funkce +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: klávesová zkratka = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Přehled definovaných zkratek +; Defined Keys +; +MSG_FKEY_NEW_KEY +Přid_at +; _New Key +; +MSG_FKEY_DELETE_KEY +Odeb_rat +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Uložit +; Save Defined Keys +; +MSG_FKEY_COMMAND +Příkaz +; Command +; +MSG_FKEY_COMMAND_PARAMS +Argumenty příkazu +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Procházet okny +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Procházet obrazovky +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Zvětšit okno +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Zmenšit okno +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Přepnout velikost okna +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Vrátit okno na plochu +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Vložit text +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Spustit program +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Spustit skript (Arexx) +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Uložit +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +CapsLock? Už ne! +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Vypíná funkci klávesy Caps Lock +; Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +DepthMenu +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +Seznam oken a obrazovek +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Přesune okno nebo obrazovku do popředí +; Popup menu for depth gadgets +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +; AltKeyQ +; +MSG_ALTKEYQ_CXTITLE +AltKeyQ +; Character input by number +; +MSG_ALTKEYQ_CXDESCR +Zadání požadovaného znaku jeho číslem +; MS-DOS Style Alt key usage +; +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; ASCIITable +; +MSG_ASCIITABLE_CXTITLE +Tabulka ASCII +; ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Výběr požadovaného znaku z tabulky +; Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE +ASCIITable: klávesová zkratka = <%s> +; ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY +Zkopírovat +; Copy +; +MSG_ASCIITABLE_GAD_CLEAR +Vymazat +; Clear +; diff --git a/workbench/tools/commodities/catalogs/finnish.ct b/workbench/tools/commodities/catalogs/finnish.ct new file mode 100644 index 00000000000..338156ad8ce --- /dev/null +++ b/workbench/tools/commodities/catalogs/finnish.ct @@ -0,0 +1,304 @@ +## version $VER: Commodities.catalog 1.0 (12.08.2006) +## language suomi +## codeset 0 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +En voi avata %s v%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE + +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +En voi lukita näyttöä!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +En saa VisualInfo:a!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +En voi luoda nappeja!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +En voi luoda valikkoja!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +En voi sijoittaa valikkoja!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +En voi luoda ikkunaa!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Muisti lopussa!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +En voi luoda viestiporttia!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +En voi luoda CxBroker-objektia!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +En voi luoda CxCustom-objektia!\n +; Can't create CxCustom object!\n +; +MSG_OK +Selvä +; Ok +; +MSG_MEN_PROJECT +Projekti +; Project +; +MSG_MEN_PROJECT_HIDE + +; H\0Hide +; +; ***NEW*** +; +MSG_MEN_PROJECT_ICONIFY + +; I\0Iconify +; +; ***NEW*** +; +MSG_MEN_PROJECT_QUIT +Q\0Lopeta +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Hallintajärjestelmän commodities +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Saatavilla olevat commodities:it +; Available commodities +; +MSG_EXCHANGE_INFO +Tiedot +; Information +; +MSG_EXCHANGE_GAD_SHOW +Näytä +; Show +; +MSG_EXCHANGE_GAD_HIDE +Piilota +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Poista +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktiivinen +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Epäaktiivinen +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Järjestelmän näytön tyhjennin +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Tyhjentää näytön kun järjestelmä ei ole aktiivinen +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +"Klikkauksella eteen"-työkalu +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Klikkaa ikkunat eteen +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Läpinäkymätön +; Opaque +; +MSG_OPAQUE_CXTITLE +Läpinäkymättömät ikkunat +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Ikkunoiden reaaliaikainen näyttö +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Automaattinen ikkunoiden aktivoija +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktivoi hiiren alla olevan ikkunan +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Järjestelmän ohjelmakäynnistin +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Ohjelmien käynnistin +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Toiminto näppäimille: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Asettaa erityistoimintoja näppäimille +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Määritetyt näppäimet +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Uusi näppäin +; _New Key +; +MSG_FKEY_DELETE_KEY +_Poista näppäin +; _Delete Key +; +MSG_FKEY_SAVE_KEY + +; Save Defined Keys +; +; ***NEW*** +; +MSG_FKEY_COMMAND +Komento +; Command +; +MSG_FKEY_COMMAND_PARAMS +Komennon parametrit +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Kierrätä ikkunoita +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Kierrätä näyttöjä +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Suurenna ikkuna +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Kutista ikkuna +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Vaihda ikkunan kokoa +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN + +; Rescue Window +; +; ***NEW*** +; +MSG_FKEY_CMD_INSERT_TEXT +Lisää tekstiä +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Aja ohjelma +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Aja Arexx -skripti +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Tallenna määritetyt näppäimet +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +NoCapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Poistaa CAPS LOCK-näppäimen käytöstä +; Renders the CAPS LOCK key ineffective +; diff --git a/workbench/tools/commodities/catalogs/french.ct b/workbench/tools/commodities/catalogs/french.ct new file mode 100644 index 00000000000..a00c1e5415c --- /dev/null +++ b/workbench/tools/commodities/catalogs/french.ct @@ -0,0 +1,358 @@ +## version $VER: Commodities.catalog 3.1 (04.11.2011) +## language français +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld !\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Impossible d'ouvrir 'input.device' +; Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE +Impossible d'ouvrir 'clipboard.device' +; Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR +Impossible de verrouiller l'écran public !\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Impossible d'obtenir la structure VisualInfo !\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Impossible de créer les Gadgets !\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Impossible de créer les Menus !\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Impossible de dessiner les Menus !\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Impossible de créer la fenêtre !\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Impossible d'allouer de la mémoire !\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Impossible de créer un port de message !\n +; Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL +Impossible d'allouer un signal !\n +; Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER +Impossible de créer un objet CxBroker !\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Impossible de créer un objet CxCustom !\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Projet +; Project +; +MSG_MEN_PROJECT_HIDE +H\0Cacher +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +I\0Iconifier +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Contrôle les Utilités système +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange: Hot Key = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Utilités disponibles +; Available commodities +; +MSG_EXCHANGE_INFO +Information +; Information +; +MSG_EXCHANGE_GAD_SHOW +Montrer +; Show +; +MSG_EXCHANGE_GAD_HIDE +Cacher +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Retirer +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Active +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inactive +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Economiseur d'écran système +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Eteind l'écran si inactif +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Cliquer en avant +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Cliquer amène la fenêtre devant +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Fenêtres opaques +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Rend opaque le fond des fenêtres +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Auto-focus +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Active la fenêtre sous la souris +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Lanceur d'application système +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Menu lanceur d'applications +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Fonctions et touches: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Attache des fonctions aux touches +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Touche = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Touches définies +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Nouvelle touche +; _New Key +; +MSG_FKEY_DELETE_KEY +_Effacer la touche +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Sauver les touches définies +; Save Defined Keys +; +MSG_FKEY_COMMAND +Commande +; Command +; +MSG_FKEY_COMMAND_PARAMS +Paramètres de la commande +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Cycler les fenêtres +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Cycler les écrans +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Aggrandir la fenêtre +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Rétrécir la fenêtre +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Alterner la taille de fenêtre +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Restaurer la fenêtre +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Insérer un texte +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Lancer un programme +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Lancer un script Arexx +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Sauver les touches définies +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +Pas de Verrouillage Majuscule : +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Bloque le verrouillage majuscule +; Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +DepthMenu +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +DepthMenu : +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Menu popup pour la profondeur d'écran +; Popup menu for depth gadgets +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +; AltKeyQ +; +MSG_ALTKEYQ_CXTITLE +Insertion de caractères +; Character input by number +; +MSG_ALTKEYQ_CXDESCR +Usage de la touche Alt comme MSDOS +; MS-DOS Style Alt key usage +; +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; ASCIITable +; +MSG_ASCIITABLE_CXTITLE +Table ASCII : +; ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Choisir les touches +; Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE +Table ASCII : Touche = <%s> +; ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY +Copier +; Copy +; +MSG_ASCIITABLE_GAD_CLEAR +Effacer +; Clear +; diff --git a/workbench/tools/commodities/catalogs/german.ct b/workbench/tools/commodities/catalogs/german.ct new file mode 100644 index 00000000000..c36c0ef78a5 --- /dev/null +++ b/workbench/tools/commodities/catalogs/german.ct @@ -0,0 +1,358 @@ +## version $VER: Commodities.catalog 3.0 (24.05.2009) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Kann 'input.device' nicht öffnen +; Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE +Kann 'clipboard.device' nicht öffnen +; Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR +Kann public Screen nicht locken!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Kann VisualInfo nicht ermitteln!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Kann Gadgets nicht erzeugen!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Kann Menüs nicht erzeugen!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Kann Menüs nicht layouten!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Kann Fenster nicht erzeugen!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Kann Speicher nicht allozieren\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Kann MessagePort nicht erzeugen!\n +; Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL +Kann Signal nicht allozieren!\n +; Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER +Kann CxBroker-Objekt nicht erzeugen!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Kann CxCustom-Objekt nicht erzeugen!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_HIDE +H\0Verbergen +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +I\0Ikonifizieren +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Kontrolliert System Commodities +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange: Tastenbefehl = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Verfügbare Commodities +; Available commodities +; +MSG_EXCHANGE_INFO +Information +; Information +; +MSG_EXCHANGE_GAD_SHOW +Zeige +; Show +; +MSG_EXCHANGE_GAD_HIDE +Verstecke +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Entferne +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +aktiv +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +inaktiv +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +System Bildschirmschoner +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Schwärzt Bildschirm wenn System inaktiv +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +ClickToFront +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Fenster in den Vordergrund holen +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Opaque Fenster +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Echtzeit Verschieben von Fenstern +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Autofokus +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktiviert Fenster unter Mauszeiger +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +System Programm Starter +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Startet Programme von Menü +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Tastenfunktionen +; Function To Keys: +; +MSG_FKEY_CXDESCR +Tasten spezielle Funktionen zuweisen +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Tastenbefehl = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Definierte Tasten +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Neue Taste +; _New Key +; +MSG_FKEY_DELETE_KEY +Taste _löschen +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Belegung speichern +; Save Defined Keys +; +MSG_FKEY_COMMAND +Befehl +; Command +; +MSG_FKEY_COMMAND_PARAMS +Befehlsargumente +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Durch Fenster blättern +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Durch Schirme blättern +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Fenster vergrößern +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Fenster verkleinern +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Fenstergröße umschalten +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Fenster retten +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Text einfügen +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Programm starten +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +ARexx-Skript starten +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Belegung speichern +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +Kein Caps Lock +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Deaktiviert CAPS LOCK Taste +; Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +DepthMenu +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +DepthMenu: +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Popup-Menü für Tiefengadgets +; Popup menu for depth gadgets +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +; AltKeyQ +; +MSG_ALTKEYQ_CXTITLE +Zeicheneingabe per Nummer +; Character input by number +; +MSG_ALTKEYQ_CXDESCR +Alt-Tasten-Gebrauch wie unter MS-DOS +; MS-DOS Style Alt key usage +; +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; ASCIITable +; +MSG_ASCIITABLE_CXTITLE +ASCIITable: +; ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Zeichen über GUI eingeben +; Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE +ASCIITable: Tastenbefehl = <%s> +; ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY +Kopieren +; Copy +; +MSG_ASCIITABLE_GAD_CLEAR +Löschen +; Clear +; diff --git a/workbench/tools/commodities/catalogs/hungarian.ct b/workbench/tools/commodities/catalogs/hungarian.ct new file mode 100644 index 00000000000..bebe7749076 --- /dev/null +++ b/workbench/tools/commodities/catalogs/hungarian.ct @@ -0,0 +1,304 @@ +## version $VER: Commodities.catalog 1.0 (12.08.2006) +## language magyar +## codeset 5 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +Nem lehet a %s V%ld -t megnyitni!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE + +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +Nem lehet a megnyitott ablakot bezárni!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Nem lehet a VisualInfo-t felvenni!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Nem lehet létrehozni a gadget-eket!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Nem lehet létrehozni a menüket!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Nem lehet a menüket elrendezni!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Nem lehet az ablakot létrehozni!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Nem lehet memóriát kiosztani az alkalmazáshoz!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Nem lehet a MessagePort-ot létrehozni!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Nem lehet a CxBroker objektet létrehozni!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Nem lehet a CxCustom objektet létrehozni!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_HIDE + +; H\0Hide +; +; ***NEW*** +; +MSG_MEN_PROJECT_ICONIFY + +; I\0Iconify +; +; ***NEW*** +; +MSG_MEN_PROJECT_QUIT +Q\0Kilép +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commoditie csere +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +A irnyító commodities-ek beállítása +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Csere +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Elérhetô Commodities-ek +; Available commodities +; +MSG_EXCHANGE_INFO +Információ +; Information +; +MSG_EXCHANGE_GAD_SHOW +Mutat +; Show +; +MSG_EXCHANGE_GAD_HIDE +Rejt +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Eltávolít +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktív +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inaktív +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Képernyôpihentetô +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Elsötéti a monitort ha nincs használva a rendszer +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +ClickToFront +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Ablak elôrehozás klikkeléssel +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Opaque Ablakok +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Ablakok valós idejű mozgatása +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Autofókusz +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktíválja az egérpointer alatti ablakot +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Rendszer Program Indító +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Program indítás menüből +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Function To Keys: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Attach Special Functions To Keys +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Defined Keys +; Defined Keys +; +MSG_FKEY_NEW_KEY +_New Key +; _New Key +; +MSG_FKEY_DELETE_KEY +_Delete Key +; _Delete Key +; +MSG_FKEY_SAVE_KEY + +; Save Defined Keys +; +; ***NEW*** +; +MSG_FKEY_COMMAND +Command +; Command +; +MSG_FKEY_COMMAND_PARAMS +Command Parameters +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Cycle Windows +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Cycle Screens +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Enlarge Window +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Shrink Window +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Toggle Window Size +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN + +; Rescue Window +; +; ***NEW*** +; +MSG_FKEY_CMD_INSERT_TEXT +Insert Text +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Run Program +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Run Arexx Script +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Save Defined Keys +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +NoCapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Renders the CAPS LOCK key ineffective +; Renders the CAPS LOCK key ineffective +; diff --git a/workbench/tools/commodities/catalogs/italian.ct b/workbench/tools/commodities/catalogs/italian.ct new file mode 100644 index 00000000000..96cce1c4243 --- /dev/null +++ b/workbench/tools/commodities/catalogs/italian.ct @@ -0,0 +1,294 @@ +## version $VER: Commodities.catalog 2.0 (17.08.2006) +## language italiano +## codeset 0 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld !\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Impossibile aprire 'input.device' +; Can't open 'input.device' +; +MSG_CANT_LOCK_SCR +Impossibile accedere allo schermo pubblico! +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Impossibile aprire la struttura VisualInfo! +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Impossibile creare i gadget! +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Impossibile creare i menu! +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Impossibile disegnare i menu!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Impossibile creare la finestra!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Impossibile allocare la memoria!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Impossibile creare porta messaggio!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Impossibile creare oggetto CxBroker!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Impossibile creare oggetto CxCustom!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Progetto +; Project +; +MSG_MEN_PROJECT_HIDE +Nascondi +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +Riduci a icona +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Controlla commodity di sistema +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Commodity disponibili +; Available commodities +; +MSG_EXCHANGE_INFO +Informazioni +; Information +; +MSG_EXCHANGE_GAD_SHOW +Mostra +; Show +; +MSG_EXCHANGE_GAD_HIDE +Nascondi +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Rimuovi +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Attiva +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Disattiva +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Salvaschermo +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Attiva il Salvaschermo quando il sistema è a riposo +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Porta avanti +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Porta in primo piano la finestra su cui si clicca +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Finestre complete +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Sposta le finestre con tutto il contenuto +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Auto-focus +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Attiva la finestra su cui si trova il puntatore +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Esecutore di applicazioni +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Lancia le applicazioni preferite +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Tasti funzione: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Assegna funzioni speciali ai tasti +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Tasti definiti +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Nuovo tasto +; _New Key +; +MSG_FKEY_DELETE_KEY +_Elimina tasto +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Salva i tasti definiti +; Save Defined Keys +; +MSG_FKEY_COMMAND +Comando +; Command +; +MSG_FKEY_COMMAND_PARAMS +Parametri del comando +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Mostra ciclicamente le finestre +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Mostra ciclicamente gli schermi +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Allarga la finestra +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Comprimi la finestra +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Modifica la dimensione della finestra +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Recupera la finestra +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Inserisci testo +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Lancia applicazione +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Lancia script Arexx +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Salva i tasti definiti +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +Elimina blocca maiuscole: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Disattiva il tasto BlocMaiusc +; Renders the CAPS LOCK key ineffective +; diff --git a/workbench/tools/commodities/catalogs/mmakefile.src b/workbench/tools/commodities/catalogs/mmakefile.src new file mode 100644 index 00000000000..50aff8c1873 --- /dev/null +++ b/workbench/tools/commodities/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2003, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=czech french german polish norwegian +# other catalogs need update to version 3 + +%build_catalogs mmake=workbench-tools-commodities-catalogs \ + catalogs=$(CATALOGS) \ + name=Commodities subdir=System/Tools diff --git a/workbench/tools/commodities/catalogs/norwegian.ct b/workbench/tools/commodities/catalogs/norwegian.ct new file mode 100644 index 00000000000..74572c1bc36 --- /dev/null +++ b/workbench/tools/commodities/catalogs/norwegian.ct @@ -0,0 +1,289 @@ +## version $VER: Commodities.catalog 3.0 (20.05.2019) +## language norwegian +## codeset 0 +; +MSG_CANT_OPEN_LIB +Kan ikke åpne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Kan ikke åpne 'input.device' +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +Kan ikke låse offentlig skjerm!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Kan ikke hente VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Kan ikke lage knapper!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Kan ikke lage menyer!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Kan ikke plassere menyer!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Kan ikke åpne vindu!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Kan ikke allokere programminne!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Kan ikke opprette meldingsport!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Kan ikke opprette CxBroker-objekt!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Kan ikke opprette CxCustom-objekt!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Prosjekt +; Project +; +MSG_MEN_PROJECT_HIDE +Gjem +; H\0Hide +MSG_MEN_PROJECT_ICONIFY +Minimer +; I\0Iconify +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Kontrollerer systemets commodities +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Tilgjengelige commodities +; Available commodities +; +MSG_EXCHANGE_INFO +Informasjon +; Information +; +MSG_EXCHANGE_GAD_SHOW +Vis +; Show +; +MSG_EXCHANGE_GAD_HIDE +Gjem +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Fjern +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktiv +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inaktiv +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Systemets skjermsparer +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Gjør skjermen blank ved inaktivitet +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Klikk til front-verktøy +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Løfter vinduer til forgrunnen +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Ugjennomsiktig +; Opaque +; +MSG_OPAQUE_CXTITLE +Ensfargede vinduer +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Sanntids vindusflytting +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Autopeker +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktiverer vinduet under muspilen +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Systemets programstarter +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Starter program fra meny +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Funksjon: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Fest spesialfunksjoner til taster +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hurtigtast = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Definerte taster +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Ny tast +; _New Key +; +MSG_FKEY_DELETE_KEY +_Slett tast +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Lagre definerte taster +; Save Defined Keys +; +MSG_FKEY_COMMAND +Kommando +; Command +; +MSG_FKEY_COMMAND_PARAMS +Kommandoparametre +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Bytt mellom vinduer +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Bytt mellom skjermer +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Forstørr vindu +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Krymp vindu +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Velg vindusstørrelse +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Redd vindu +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Sett inn tekst +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Kjør program +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Kjør Arexx script +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Lagre definerte taster +; S\0Save Defined Keys +; +MSG_NOCAPSLOCK_CXNAME +Ingen CapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +Ingen CapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Gjør CAPS LOCK tasten virkningsløs +; Renders the CAPS LOCK key ineffective +; \ No newline at end of file diff --git a/workbench/tools/commodities/catalogs/polish.ct b/workbench/tools/commodities/catalogs/polish.ct new file mode 100644 index 00000000000..121b390ac10 --- /dev/null +++ b/workbench/tools/commodities/catalogs/polish.ct @@ -0,0 +1,324 @@ +## version $VER: commodities.catalog 3.0 (30.03.2016) +## codeset 5 +## language polski +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Nie można otworzyć \"input.device\" +; Can't open 'input.device' +; +MSG_CANT_OPEN_CLIPDEVICE +Nie można otworzyć \"clipboard.device\" +; Can't open 'clipboard.device' +; +MSG_CANT_LOCK_SCR +Nie można uzyskać dostępu do ekranu!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Nie można pobrać VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Nie można utworzyć gadżetów!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Nie można utworzyć menu!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Nie można utworzyć układu menu!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Nie można utworzyć okna!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Nie można zaalokować pamięci aplikacji!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Nie można utworzyć portu wiadomości!\n +; Can't create message port!\n +; +MSG_CANT_ALLOCATE_SIGNAL +Nie można zaalokować sygnałów!\n +; Can't allocate signal!\n +; +MSG_CANT_CREATE_BROKER +Nie można utworzyć obiektu CxBroker!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Nie można utworzyć obiektu CxCustom!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_HIDE +H\0Ukryj +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +I\0Ikonifikuj +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Menedżer programów typu commodity. +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange: klawisz wywołujący = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Dostępne programy +; Available commodities +; +MSG_EXCHANGE_INFO +Informacje +; Information +; +MSG_EXCHANGE_GAD_SHOW +Pokaż +; Show +; +MSG_EXCHANGE_GAD_HIDE +Ukryj +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Usuń +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktywny +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Nieaktywny +; Inactive +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Systemowy wygaszacz ekranu +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Wygasza ekran gdy system nieaktywny +; Blanks screen when system inactive +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +ClickToFront +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Kliknięcie przenosi okienka do przodu. +; Click windows to front +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Wypełnione okna +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Przesuwanie pełnych okien +; Realtime moving of windows +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Automatyczny aktywator okienek +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktywuje okno pod wskaźnikiem myszki. +; Activates the window under the mouse +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Systemowe menu start +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Program uruchoamiający inne programy. +; Program launch commodity +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Funkcje klawiszy: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Dodaje specjalne funkcje klawiszom. +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: klawisz wywołujący = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Zdefiniowane klawisze +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Nowy klawisz +; _New Key +; +MSG_FKEY_DELETE_KEY +Usuń _klawisz +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Zapisz zdefiniowane klawisze +; Save Defined Keys +; +MSG_FKEY_COMMAND +Polecenie +; Command +; +MSG_FKEY_COMMAND_PARAMS +Parametry polecenia +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Przełączanie okien +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Przełączanie ekranów +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Powiększanie okien +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Zmniejszanie okien +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Przełączanie wymiarów okna +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Okno ratunkowe +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Wprowadzanie tekstu +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Uruchamianie programu +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Uruchamianie skryptu ARexx'a +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Zapisz definicję klawiszy +; S\0Save Defined Keys +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +NoCapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Dezaktywuje klawisz CapsLock. +; Renders the CAPS LOCK key ineffective +; +MSG_DEPTHMENU_CXNAME +DepthMenu +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +SepthMenu: +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Menu podręczne ga gadżecie głębii. +; Popup menu for depth gadgets +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +; AltKeyQ +; +MSG_ALTKEYQ_CXTITLE +Wprowadzanie znaków przy pomocy cyfr +; Character input by number +; +MSG_ALTKEYQ_CXDESCR +Używanie klawisza Alt w stylu MS-DOS. +; MS-DOS Style Alt key usage +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; ASCIITable +; +MSG_ASCIITABLE_CXTITLE +ASCIITable: +; ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Wybiera klawisze z GUI. +; Select keys from a GUI +; +MSG_ASCIITABLE_WINTITLE +ASCIITable: klawisz wywołujący = <%s> +; ASCIITable: Hot Key = <%s> +; +MSG_ASCIITABLE_GAD_COPY +Skopiuj +; Copy +; +MSG_ASCIITABLE_GAD_CLEAR +Wyczyść +; Clear +; diff --git a/workbench/tools/commodities/catalogs/portuguese.ct b/workbench/tools/commodities/catalogs/portuguese.ct new file mode 100644 index 00000000000..5c51837d8c0 --- /dev/null +++ b/workbench/tools/commodities/catalogs/portuguese.ct @@ -0,0 +1,344 @@ +## version $VER: Commodities.catalog 1.2 (29.09.2008) +## language português +## codeset 0 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +Não foi possível abrir %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Não foi possível abrir 'input.device' +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +Não foi possível utilizar o écran público!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +¡No puedo tomar la información visual!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Não foi possível criar os botões!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Não foi possível criar os menus!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Não foi possível acomodar os menus!\n +;!No puedo layout los menús!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Não foi possível criar a janela!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Não foi possível disponibilizar memória para a aplicação\n +;¡No puedo reservar memory para la aplicación\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Não foi possível criar a porta de mensagens!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Não foi possível criar o objeto CxBroker!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Não foi possível criar o objeto CxCustom!\n +; Can't create CxCustom object!\n +; +MSG_OK +Aceitar +;OK +; Ok +; +MSG_MEN_PROJECT +Projecto +; Project +; +MSG_MEN_PROJECT_HIDE +O\0Ocultar +; H\0Hide +; +; ***NEW*** +; +MSG_MEN_PROJECT_ICONIFY +I\0Iconificar +; I\0Iconify +; +; ***NEW*** +; +MSG_MEN_PROJECT_QUIT +Q\0Sair +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Cambia Commodities +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Controla as comodidades de sistema +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Cambio: Tecla designada = <%s> +;Cambio +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Commodidades disponíveis +; Available commodities +; +MSG_EXCHANGE_INFO +Informação +; Information +; +MSG_EXCHANGE_GAD_SHOW +Mostra +; Show +; +MSG_EXCHANGE_GAD_HIDE +Oculta +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Remove +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Activo +;activo +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inactivo +;inactivo +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Protecção de écran do sistema +;System Screen Blanker +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +A inactividade de sistema aciona a protecção de écran +;Ennegrece pantalla cuando el system esta inactivo +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Trazer para a frente +;ClickToFront +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Coloca a janela em primeiro plano com apenas por selecção desta +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Janelas sólidas +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Move as janelas em tempo real +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Auto selecção +;Foco automatico +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Activa automaticamente a janela abaixo do ponteiro do rato +;Activa la ventana debajo de la mouse +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +Menu Iniciar +;StartMenú +; StartMenu +; +MSG_STARTMENU_CXTITLE +Menu de arranque de programas +;System Programm Starter +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Inicia os programas a partir do menu +;Lanza programas del menú +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Designa funções a teclas +; Function To Keys: +; +MSG_FKEY_CXDESCR +Designa funções especiais lançadas a partir do teclado +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Tecla Funcional = <%s> +;FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Teclas definidas +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Nova tecla +; _New Key +; +MSG_FKEY_DELETE_KEY +_Apagar tecla +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Guardar as Teclas Definidas +; Save Defined Keys +; +; ***NEW*** +; +MSG_FKEY_COMMAND +Comando +; Command +; +MSG_FKEY_COMMAND_PARAMS +Parâmetros do comando +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Circula ventanas +; Alternar janelas +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Alternar écrans +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Aumentar janela +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Diminuir janela +;Empqueñecer ventana +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Alterar a dimensão da janela +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Resgatar Janela +; Rescue Window +; +; ***NEW*** +; +MSG_FKEY_CMD_INSERT_TEXT +Inserir texto +;Rellenar texto +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Lançar programa +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Lança um ARexx-script +;Lanza ARexx-Script +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +G\0Guardar teclas +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +Sem_CAPS-LOCK +; NoCapsLock +; +; ***NEW*** +; +MSG_NOCAPSLOCK_CXTITLE +Sem bloqueio de maiúsculas +; NoCapsLock: +; +; ***NEW*** +; +MSG_NOCAPSLOCK_CXDESCR +Desactiva a tecla CAPS-LOCK +; Renders the CAPS LOCK key ineffective +; +; ***NEW*** +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +Menu Profundidade +;DepthMenu +; +MSG_DEPTHMENU_CXTITLE +Menu Profundidade: +;DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Providencia um menu Pop-up para os botões de profundidade +;Popup menu for depth gadgets +; \ No newline at end of file diff --git a/workbench/tools/commodities/catalogs/russian.ct b/workbench/tools/commodities/catalogs/russian.ct new file mode 100644 index 00000000000..b91cf258d45 --- /dev/null +++ b/workbench/tools/commodities/catalogs/russian.ct @@ -0,0 +1,344 @@ +## version $VER: Commodities.catalog 3.0 (25.06.2009) +## language russian +## codeset 2104 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +Не могу открыть 'input.device' +; Can't open 'input.device' +; +MSG_CANT_LOCK_SCR +Не могу занять общий экран!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Не могу получить VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Не могу создать гр. элементы!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Не могу создать меню!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Не могу заполнить меню!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Ошибка создания окна!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Не могу выделить память под приложение!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Ошибка передачи сообщения!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Объект CxBroker не может быть создан!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Объект CxCustom не может быть создан!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Проект +; Project +; +MSG_MEN_PROJECT_HIDE +C\0Спрятать +; H\0Hide +; +MSG_MEN_PROJECT_ICONIFY +И\0В Иконку +; I\0Iconify +; +MSG_MEN_PROJECT_QUIT +В\0Выход +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Управляет Удобствами системы +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange: Hot Key = <%s> +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Доступные Удобства +; Available commodities +; +MSG_EXCHANGE_INFO +Информация +; Information +; +MSG_EXCHANGE_GAD_SHOW +Показать +; Show +; +MSG_EXCHANGE_GAD_HIDE +Спрятать +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Убрать +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +включено +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +выключено +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Хранитель экрана +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Очищает экран при неактивности системы +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Click To Front Utility +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Двойной щелчок, и окно на переднем плане +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +НЕпрозрачные окна +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Двигайте окна с показом содержимого +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Автофокус окон +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +При наведении курсора мыши на окно делает его активным +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Запуск программ +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Удобство для простого запуска программ +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Назначение функций клавишам +; Function To Keys: +; +MSG_FKEY_CXDESCR +Назначает клавишам специальные функции (см. Показать) +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Назначенные сочетания +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Новое +; _New Key +; +MSG_FKEY_DELETE_KEY +_Удалить +; _Удалить +; +MSG_FKEY_SAVE_KEY +Сохранить настройки +; Save Defined Keys +; +MSG_FKEY_COMMAND +Команда +; Command +; +MSG_FKEY_COMMAND_PARAMS +Параметры команды +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Переключение окон +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Переключение экранов +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Развернуть окно +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Свернуть окно +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Переключить размер окна +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN +Подложить окно +; Rescue Window +; +MSG_FKEY_CMD_INSERT_TEXT +Вставить текст +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Запустить программу +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Запустить скрипт ARexx +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +С\0Сохранить клавиши +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +Отключение CapsLock +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Отключает клавишу CAPS LOCK +; Renders the CAPS LOCK key ineffective +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +DepthMenu +; DepthMenu +; +MSG_DEPTHMENU_CXTITLE +Список открытых окон +; DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Всплывающий (по RMB) список открытых окон для быстрого переключения +; Popup menu for depth gadgets +; +; +; =============================================== +; AltKeyQ +; +MSG_ALTKEYQ_CXNAME +AltKeyQ +;AltKeyQ +MSG_ALTKEYQ_CXTITLE +Ввод символов по номеру +;Character input by number +MSG_ALTKEYQ_CXDESCR +Использование клавиши ALT в стиле MS-DOS для ввода символов +;MS-DOS Style Alt key usage +; =============================================== +; ASCIITable +; +MSG_ASCIITABLE_CXNAME +ASCIITable +; +MSG_ASCIITABLE_CXTITLE +ASCIITable: +; +MSG_ASCIITABLE_CXDESCR +Выбор символов из таблицы +;Select keys from a GUI +MSG_ASCIITABLE_WINTITLE +ASCIITable: Вызов = <%s> +;ASCIITable: Hot Key = <%s> +MSG_ASCIITABLE_GAD_COPY +Копировать +;Copy +MSG_ASCIITABLE_GAD_CLEAR +Очистить +;Clear +; diff --git a/workbench/tools/commodities/catalogs/spanish.ct b/workbench/tools/commodities/catalogs/spanish.ct new file mode 100644 index 00000000000..9a38b381732 --- /dev/null +++ b/workbench/tools/commodities/catalogs/spanish.ct @@ -0,0 +1,345 @@ +## version $VER: Commodities.catalog 1.2 (29.09.2007) +## language español +## codeset 0 +; +; FIXME: This file requires updating. When done, bump version to 3 +; FIXME: Aún faltan unos renglones y hacer concordar las personas (ahg) +; +; +MSG_CANT_OPEN_LIB +¡No puedo abrir %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE +No puedo abrir 'input.device' +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +¡No puedo fijar la pantalla publica!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +¡No puedo tomar la información visual!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +¡No puedo crear los gadgets!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +¡No puedo crear los menús!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +¡No puedo acomodar los menús!\n +;!No puedo layout los menús!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +¡No puedo abrir la ventana!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +¡No puedo reservar memoria para la aplicación\n +;¡No puedo reservar memory para la aplicación\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +¡No puedo crear el puerto de mensajes!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +¡No puedo crear el objeto CxBroker!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +¡No puedo crear el objeto CxCustom!\n +; Can't create CxCustom object!\n +; +MSG_OK +Aceptar +;OK +; Ok +; +MSG_MEN_PROJECT +Proyecto +; Project +; +MSG_MEN_PROJECT_HIDE +O\0Ocultar +; H\0Hide +; +; ***NEW*** +; +MSG_MEN_PROJECT_ICONIFY +I\0Convertir en ícono +; I\0Iconify +; +; ***NEW*** +; +MSG_MEN_PROJECT_QUIT +Q\0Salir +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Cambio +; Exchange +; +MSG_EXCHANGE_CXTITLE +Cambia Commodities +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Controla system commodities +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Cambio: Tecla asignada = <%s> +;Cambio +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Commodities disponibles +; Available commodities +; +MSG_EXCHANGE_INFO +Información +; Information +; +MSG_EXCHANGE_GAD_SHOW +Muestra +; Show +; +MSG_EXCHANGE_GAD_HIDE +Oculta +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Quita +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Activo +;activo +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inactivo +;inactivo +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Oscurecedor de la Pantalla del Sistema +;System Screen Blanker +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Oscurece la pantalla durante la inactividad +;Ennegrece pantalla cuando el system esta inactivo +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Traer al Frente +;ClickToFront +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Poner la ventana al primer plano con un mouse click +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Opacar ventanas +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Mover ventanas en tiempo real +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Enfoque automático +;Foco automatico +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Activa la ventana debajo del ratón +;Activa la ventana debajo de la mouse +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +Menú Iniciar +;StartMenú +; StartMenu +; +MSG_STARTMENU_CXTITLE +Iniciador de Programas +;System Programm Starter +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Lanza programas desde el menú +;Lanza programas del menú +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Asigna funciones a teclas +; Function To Keys: +; +MSG_FKEY_CXDESCR +Asignar funciones a teclas +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Tecla Funcional = <%s> +;FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Teclas definidas +; Defined Keys +; +MSG_FKEY_NEW_KEY +_Nueva tecla +; _New Key +; +MSG_FKEY_DELETE_KEY +_Borrar tecla +; _Delete Key +; +MSG_FKEY_SAVE_KEY +Guardar las Teclas Definidas +; Save Defined Keys +; +; ***NEW*** +; +MSG_FKEY_COMMAND +Comando +; Command +; +MSG_FKEY_COMMAND_PARAMS +Parametros del comando +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Circula ventanas +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Circula pantallas +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Agrandar ventana +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Encoger ventana +;Empqueñecer ventana +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Conmutar dimensión de la ventana +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN + +; Rescue Window +; +; ***NEW*** +; +MSG_FKEY_CMD_INSERT_TEXT +Intercalar texto +;Rellenar texto +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Lanza programa +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Lanza un Guión ARexx +;Lanza ARexx-Script +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +G\0Grabar teclas +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +Sin bloqueo en mayúsculas +; NoCapsLock +; +; ***NEW*** +; +MSG_NOCAPSLOCK_CXTITLE +Sin bloqueo en mayúsculas +; NoCapsLock: +; +; ***NEW*** +; +MSG_NOCAPSLOCK_CXDESCR +Desactiva la tecla BLOQ-MAYÚS +; Renders the CAPS LOCK key ineffective +; +; ***NEW*** +; +; =============================================== +; DepthMenu +; +MSG_DEPTHMENU_CXNAME +Menú Profundidad +;DepthMenu +; +MSG_DEPTHMENU_CXTITLE +Menú Profundidad: +;DepthMenu: +; +MSG_DEPTHMENU_CXDESCR +Menú de los gadgets profundidad +;Popup menu for depth gadgets +; diff --git a/workbench/tools/commodities/catalogs/swedish.ct b/workbench/tools/commodities/catalogs/swedish.ct new file mode 100644 index 00000000000..2366c4a86b2 --- /dev/null +++ b/workbench/tools/commodities/catalogs/swedish.ct @@ -0,0 +1,304 @@ +## version $VER: Commodities.catalog 1.0 (12.08.2006) +## language svenska +## codeset 0 +; +; FIXME: This file requires updating. When done, bump version to 3 +; +MSG_CANT_OPEN_LIB +Kan inte öppna %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_OPEN_INPUTDEVICE + +; Can't open 'input.device' +; +; ***NEW*** +; +MSG_CANT_LOCK_SCR +Kan inte låsa allmän skärm!\n +; Can't lock public screen!\n +; +MSG_CANT_GET_VI +Kan inte läsa VisualInfo!\n +; Can't get VisualInfo!\n +; +MSG_CANT_CREATE_GADGET +Kan inte skapa knappar!\n +; Can't create gadgets!\n +; +MSG_CANT_CREATE_MENUS +Kan inte skapa menyer!\n +; Can't create menus!\n +; +MSG_CANT_LAYOUT_MENUS +Kan inte placera menyer!\n +; Can't layout menus!\n +; +MSG_CANT_CREATE_WIN +Kan inte skapa fönster!\n +; Can't create window!\n +; +MSG_CANT_ALLOCATE_MEM +Kan inte allokera programminne!\n +; Can't allocate application memory!\n +; +MSG_CANT_CREATE_MSGPORT +Kan inte skapa meddelandeport!\n +; Can't create message port!\n +; +MSG_CANT_CREATE_BROKER +Kan inte skapa CxBroker-objekt!\n +; Can't create CxBroker object!\n +; +MSG_CANT_CREATE_CUSTOM +Kan inte skapa CxCustom-objekt!\n +; Can't create CxCustom object!\n +; +MSG_OK +OK +; Ok +; +MSG_MEN_PROJECT +Redigera +; Project +; +MSG_MEN_PROJECT_HIDE + +; H\0Hide +; +; ***NEW*** +; +MSG_MEN_PROJECT_ICONIFY + +; I\0Iconify +; +; ***NEW*** +; +MSG_MEN_PROJECT_QUIT +Q\0Avsluta +; Q\0Quit +; +; =============================================== +; EXCHANGE +; +MSG_EXCHANGE_CXNAME +Exchange +; Exchange +; +MSG_EXCHANGE_CXTITLE +Commodities Exchange +; Commodities Exchange +; +MSG_EXCHANGE_CXDESCR +Kontrollerar systemets commodities +; Controls system commodities +; +MSG_EXCHANGE_WINTITLE +Exchange +; Exchange: Hot Key = <%s> +; +MSG_EXCHANGE_LISTVIEW +Tillgängliga commodities +; Available commodities +; +MSG_EXCHANGE_INFO +Information +; Information +; +MSG_EXCHANGE_GAD_SHOW +Visa +; Show +; +MSG_EXCHANGE_GAD_HIDE +Göm +; Hide +; +MSG_EXCHANGE_GAD_REMOVE +Ta bort +; Remove +; +MSG_EXCHANGE_CYCLE_ACTIVE +Aktiv +; Active +; +MSG_EXCHANGE_CYCLE_INACTIVE +Inaktiv +; Inactive +; +; =============================================== +; BLANKER +; +MSG_BLANKER_CXNAME +Blanker +; Blanker +; +MSG_BLANKER_CXTITLE +Systemets skärmsläckare +; System Screen Blanker +; +MSG_BLANKER_CXDESCR +Släcker skärmen vid inaktivitet +; Blanks screen when system inactive +; +; =============================================== +; CLICK2FNT +; +MSG_CLICK2FNT_CXNAME +ClickToFront +; ClickToFront +; +MSG_CLICK2FNT_CXTITLE +Fönsterlyftare +; Click To Front Utility +; +MSG_CLICK2FNT_CXDESCR +Lyfter fönster längst fram +; Click windows to front +; +; =============================================== +; OPAQUE +; +MSG_OPAQUE_CXNAME +Opaque +; Opaque +; +MSG_OPAQUE_CXTITLE +Solida fönster +; Solid Windows +; +MSG_OPAQUE_CXDESCR +Realtids fönsterförflyttning +; Realtime moving of windows +; +; =============================================== +; AUTOPOINT +; +MSG_AUTOPOINT_CXNAME +AutoPoint +; AutoPoint +; +MSG_AUTOPOINT_CXTITLE +Autopekare +; Autopointer +; +MSG_AUTOPOINT_CXDESCR +Aktiverar fönstret under muspilen +; Activates the window under the mouse +; +; =============================================== +; STARTMENU +; +MSG_STARTMENU_CXNAME +StartMenu +; StartMenu +; +MSG_STARTMENU_CXTITLE +Systemets programstartare +; System Program Starter +; +MSG_STARTMENU_CXDESCR +Startar program från meny +; Program launch commodity +; +; =============================================== +; FKEY +; +MSG_FKEY_CXNAME +FKey +; FKey +; +MSG_FKEY_CXTITLE +Function To Keys: +; Function To Keys: +; +MSG_FKEY_CXDESCR +Attach Special Functions To Keys +; Attach special functions to keys +; +MSG_FKEY_WINTITLE +FKey: Hot Key = <%s> +; FKey: Hot Key = <%s> +; +MSG_FKEY_DEFINED_KEYS +Defined Keys +; Defined Keys +; +MSG_FKEY_NEW_KEY +_New Key +; _New Key +; +MSG_FKEY_DELETE_KEY +_Delete Key +; _Delete Key +; +MSG_FKEY_SAVE_KEY + +; Save Defined Keys +; +; ***NEW*** +; +MSG_FKEY_COMMAND +Command +; Command +; +MSG_FKEY_COMMAND_PARAMS +Command Parameters +; Command Parameters +; +MSG_FKEY_CMD_CYCLE_WIN +Cycle Windows +; Cycle Windows +; +MSG_FKEY_CMD_CYCLE_SCR +Cycle Screens +; Cycle Screens +; +MSG_FKEY_CMD_ENLARGE_WIN +Enlarge Window +; Enlarge Window +; +MSG_FKEY_CMD_SHRINK_WIN +Shrink Window +; Shrink Window +; +MSG_FKEY_CMD_TOGGLE_WIN_SIZE +Toggle Window Size +; Toggle Window Size +; +MSG_FKEY_CMD_RESCUE_WIN + +; Rescue Window +; +; ***NEW*** +; +MSG_FKEY_CMD_INSERT_TEXT +Insert Text +; Insert Text +; +MSG_FKEY_CMD_RUN_PROG +Run Program +; Run Program +; +MSG_FKEY_CMD_RUN_AREXX +Run Arexx Script +; Run Arexx Script +; +MSG_FKEY_MEN_PROJECT_SAVE +S\0Save Defined Keys +; S\0Save Defined Keys +; +; =============================================== +; NOCAPSLOCK +; +MSG_NOCAPSLOCK_CXNAME +NoCapsLock +; NoCapsLock +; +MSG_NOCAPSLOCK_CXTITLE +NoCapsLock: +; NoCapsLock: +; +MSG_NOCAPSLOCK_CXDESCR +Renders the CAPS LOCK key ineffective +; Renders the CAPS LOCK key ineffective +; diff --git a/workbench/utilities/Clock/catalogs b/workbench/utilities/Clock/catalogs deleted file mode 160000 index 17511e911c1..00000000000 --- a/workbench/utilities/Clock/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 17511e911c13b38589d757b516acd5a9065a9f0a diff --git a/workbench/utilities/Clock/catalogs/.gitattributes b/workbench/utilities/Clock/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/utilities/Clock/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/utilities/Clock/catalogs/clock.cd b/workbench/utilities/Clock/catalogs/clock.cd new file mode 100644 index 00000000000..987591acbde --- /dev/null +++ b/workbench/utilities/Clock/catalogs/clock.cd @@ -0,0 +1,16 @@ +; +MSG_ERROR_CANT_CREATE_APPLICATION (//) +Error: Can't create application object. +; +MSG_WINDOW_TITLE (//) +Clock +; +MSG_DESCRIPTION (//) +Wanderer Clock +; +MSG_OK (//) +Ok +; +MSG_ERROR_DISKOBJECT (//) +Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/croatian.ct b/workbench/utilities/Clock/catalogs/croatian.ct new file mode 100644 index 00000000000..01d3278dd63 --- /dev/null +++ b/workbench/utilities/Clock/catalogs/croatian.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 5 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +Pogreška: Ne mogu stvoriti objekt aplikacije. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Sat +; Clock +; +MSG_DESCRIPTION +Sat +; Wanderer Clock +; +MSG_OK +U redu +; Ok +; +MSG_ERROR_DISKOBJECT +Pogreška: Ne mogu stvoriti diskobject +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/czech.ct b/workbench/utilities/Clock/catalogs/czech.ct new file mode 100644 index 00000000000..5630a7b331e --- /dev/null +++ b/workbench/utilities/Clock/catalogs/czech.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +Nelze vytvořit objekt application. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Hodiny +; Clock +; +MSG_DESCRIPTION +Hodiny pro Wanderer +; Wanderer Clock +; +MSG_OK +OK +; Ok +; +MSG_ERROR_DISKOBJECT +Nelze vytvořit objekt disk. +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/danish.ct b/workbench/utilities/Clock/catalogs/danish.ct new file mode 100644 index 00000000000..c81ed7878b2 --- /dev/null +++ b/workbench/utilities/Clock/catalogs/danish.ct @@ -0,0 +1,26 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language dansk +## codeset 0 +; +;Initial danish translation by Kristian Poul Herkild +; +MSG_ERROR_CANT_CREATE_APPLICATION +Fejl: Kan ikke oprette programobjekt. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Ur +; Clock +; +MSG_DESCRIPTION +Wanderer-ur +; Wanderer Clock +; +MSG_OK +O.k. +; Ok +; +MSG_ERROR_DISKOBJECT +Fejl: Kan ikke oprette diskobjekt +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/french.ct b/workbench/utilities/Clock/catalogs/french.ct new file mode 100644 index 00000000000..505a1bebef6 --- /dev/null +++ b/workbench/utilities/Clock/catalogs/french.ct @@ -0,0 +1,24 @@ +## version $VER: clock.catalog 2.0 (03.01.2018) +## codeset 0 +## language français +; +MSG_ERROR_CANT_CREATE_APPLICATION +Erreur: Impossible de créer l'objet de l'application. +;Error: Can't create application object. +; +MSG_WINDOW_TITLE +Horloge +; Clock +; +MSG_DESCRIPTION +Une Horloge pour Wanderer +;Wanderer Clock +; +MSG_OK +Ok +; Ok +; +MSG_ERROR_DISKOBJECT +Erreur: Impossible de créer l'objet disque. +;Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/german.ct b/workbench/utilities/Clock/catalogs/german.ct new file mode 100644 index 00000000000..1c67efc8bdd --- /dev/null +++ b/workbench/utilities/Clock/catalogs/german.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +Kann Application-Objekt nicht erzeugen. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Uhr +; Clock +; +MSG_DESCRIPTION +Wanderer Uhr +; Wanderer Clock +; +MSG_OK +Ok +; Ok +; +MSG_ERROR_DISKOBJECT +Kann DiskObject nicht erzeugen +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/italian.ct b/workbench/utilities/Clock/catalogs/italian.ct new file mode 100644 index 00000000000..56792008fcd --- /dev/null +++ b/workbench/utilities/Clock/catalogs/italian.ct @@ -0,0 +1,16 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## codeset 0 +## language italiano +; +MSG_ERROR_CANT_CREATE_APPLICATION +*** Errore: impossibile aprire l'applicazione. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Ora corrente +; Clock +; +MSG_OK +Ok +; Ok +; diff --git a/workbench/utilities/Clock/catalogs/mmakefile.src b/workbench/utilities/Clock/catalogs/mmakefile.src new file mode 100644 index 00000000000..2ef9e159cce --- /dev/null +++ b/workbench/utilities/Clock/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german polish portuguese russian french norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-utilities-clock-catalogs \ + catalogs=$(CATALOGS) \ + name=Clock subdir=System/Utilities diff --git a/workbench/utilities/Clock/catalogs/norwegian.ct b/workbench/utilities/Clock/catalogs/norwegian.ct new file mode 100644 index 00000000000..5c3cb9e4a2e --- /dev/null +++ b/workbench/utilities/Clock/catalogs/norwegian.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +Klarte ikke opprette applikasjonsobjektet. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Klokke +; Clock +; +MSG_DESCRIPTION +Wanderer klokke +; Wanderer Clock +; +MSG_OK +Ok +; Ok +; +MSG_ERROR_DISKOBJECT +Klarte ikke opprettet diskobjektet +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/polish.ct b/workbench/utilities/Clock/catalogs/polish.ct new file mode 100644 index 00000000000..59be2413e76 --- /dev/null +++ b/workbench/utilities/Clock/catalogs/polish.ct @@ -0,0 +1,24 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language polski +## codeset 5 +; +MSG_ERROR_CANT_CREATE_APPLICATION +Błąd: Nie można utworzyć aplikacji. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Zegar +; Clock +; +MSG_DESCRIPTION +Zegar Wanderer'a +; Wanderer Clock +; +MSG_OK +OK +; Ok +; +MSG_ERROR_DISKOBJECT +Błąd: nie można utworzyć tarczy zegara +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/portuguese.ct b/workbench/utilities/Clock/catalogs/portuguese.ct new file mode 100644 index 00000000000..60f2d97c39d --- /dev/null +++ b/workbench/utilities/Clock/catalogs/portuguese.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language português +## codeset 0 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +*** Erro: Não foi possível criar objeto da aplicação! +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Relógio +; Clock +; +MSG_DESCRIPTION +Relógio do Wanderer +; Wanderer Clock +; +MSG_OK +Ok +; Ok +; +MSG_ERROR_DISKOBJECT +Erro: Não foi possível criar objecto no disco! +; Error: Can't create diskobject +; \ No newline at end of file diff --git a/workbench/utilities/Clock/catalogs/russian.ct b/workbench/utilities/Clock/catalogs/russian.ct new file mode 100644 index 00000000000..18626d0244d --- /dev/null +++ b/workbench/utilities/Clock/catalogs/russian.ct @@ -0,0 +1,25 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## language russian +## codeset 2104 +; +; +MSG_ERROR_CANT_CREATE_APPLICATION +Не могу создать объект приложения +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Часы +; Clock +; +MSG_DESCRIPTION +Часы Wanderer +; Wanderer Clock +; +MSG_OK +Ok +; Ok +; +MSG_ERROR_DISKOBJECT +Не могу создать дисковый объект +; Error: Can't create diskobject +; diff --git a/workbench/utilities/Clock/catalogs/spanish.ct b/workbench/utilities/Clock/catalogs/spanish.ct new file mode 100644 index 00000000000..a7b90f89edc --- /dev/null +++ b/workbench/utilities/Clock/catalogs/spanish.ct @@ -0,0 +1,16 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## codeset 0 +## language español +; +MSG_ERROR_CANT_CREATE_APPLICATION +*** Error: ¡No puedo crear objeto de aplicación! +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Reloj +; Clock +; +MSG_OK +Ok +; Ok +; diff --git a/workbench/utilities/Clock/catalogs/swedish.ct b/workbench/utilities/Clock/catalogs/swedish.ct new file mode 100644 index 00000000000..4ba7438cacb --- /dev/null +++ b/workbench/utilities/Clock/catalogs/swedish.ct @@ -0,0 +1,16 @@ +## version $VER: clock.catalog 2.0 (30.03.2016) +## codeset 0 +## language svenska +; +MSG_ERROR_CANT_CREATE_APPLICATION +Fel: Kan inte skapa applikationsobjekt. +; Error: Can't create application object. +; +MSG_WINDOW_TITLE +Klocka +; Clock +; +MSG_OK +Okej +; Ok +; diff --git a/workbench/utilities/Installer/catalogs b/workbench/utilities/Installer/catalogs deleted file mode 160000 index 8bfb2d54bdb..00000000000 --- a/workbench/utilities/Installer/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8bfb2d54bdb91d7988e921e8c8dcd1efc0f7c5eb diff --git a/workbench/utilities/Installer/catalogs/.gitattributes b/workbench/utilities/Installer/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/utilities/Installer/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/utilities/Installer/catalogs/Installer.cd b/workbench/utilities/Installer/catalogs/Installer.cd new file mode 100644 index 00000000000..26ca5e887ec --- /dev/null +++ b/workbench/utilities/Installer/catalogs/Installer.cd @@ -0,0 +1,20 @@ +; +; +MSG_OK (//) +OK +; +MSG_CANCEL (//) +Cancel +; +MSG_MESSAGE (//) +Message +; +MSG_PROMPT (//) +Prompt +; +MSG_YES (//) +Yes +; +MSG_NO (//) +No +; \ No newline at end of file diff --git a/workbench/utilities/Installer/catalogs/croatian.ct b/workbench/utilities/Installer/catalogs/croatian.ct new file mode 100644 index 00000000000..4cf31c1d5c8 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/croatian.ct @@ -0,0 +1,30 @@ +## version $VER: installer.catalog 1.0 (21.12.2009) +## language hrvatski +## codeset 5 +; +; +; +MSG_OK +U redu +; OK +; +MSG_CANCEL +Odustani +; Cancel +; +MSG_MESSAGE +Poruka +; Message +; +MSG_PROMPT +Prompt +; Prompt +; +MSG_YES +Da +; Yes +; +MSG_NO +Ne +; No +; diff --git a/workbench/utilities/Installer/catalogs/czech.ct b/workbench/utilities/Installer/catalogs/czech.ct new file mode 100644 index 00000000000..60cb3276cbe --- /dev/null +++ b/workbench/utilities/Installer/catalogs/czech.ct @@ -0,0 +1,30 @@ +## version $VER: installer.catalog 1.0 (21.11.2007) +## language czech +## codeset 5 +; +; +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Zrušit +; Cancel +; +MSG_MESSAGE +Zpráva +; Message +; +MSG_PROMPT +Otázka +; Prompt +; +MSG_YES +Ano +; Yes +; +MSG_NO +Ne +; No +; diff --git a/workbench/utilities/Installer/catalogs/danish.ct b/workbench/utilities/Installer/catalogs/danish.ct new file mode 100644 index 00000000000..317e526db97 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/danish.ct @@ -0,0 +1,30 @@ +## version $VER: installer.catalog 1.0 (18.07.2010) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_OK +O.k. +; OK +; +MSG_CANCEL +Afbryd +; Cancel +; +MSG_MESSAGE +Besked +; Message +; +MSG_PROMPT +Prompt +; Prompt +; +MSG_YES +Ja +; Yes +; +MSG_NO +Nej +; No +; diff --git a/workbench/utilities/Installer/catalogs/finnish.ct b/workbench/utilities/Installer/catalogs/finnish.ct new file mode 100644 index 00000000000..a4aa4fe970f --- /dev/null +++ b/workbench/utilities/Installer/catalogs/finnish.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 1.0 (14.9.2003) +## language suomi +## codeset 0 +; +MSG_OK +Selvä +; +MSG_CANCEL +Peru +; +MSG_MESSAGE +Viesti +; +MSG_PROMPT +Kehote +; +MSG_YES +Kyllä +; +MSG_NO +Ei +; diff --git a/workbench/utilities/Installer/catalogs/french.ct b/workbench/utilities/Installer/catalogs/french.ct new file mode 100644 index 00000000000..62f26a5311f --- /dev/null +++ b/workbench/utilities/Installer/catalogs/french.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 2.0 (03.01.2018) +## language français +## codeset 0 +; +MSG_OK +OK +; +MSG_CANCEL +Annuler +; +MSG_MESSAGE +Message +; +MSG_PROMPT +Question +; +MSG_YES +Oui +; +MSG_NO +Non +; diff --git a/workbench/utilities/Installer/catalogs/german.ct b/workbench/utilities/Installer/catalogs/german.ct new file mode 100644 index 00000000000..08649ffaeec --- /dev/null +++ b/workbench/utilities/Installer/catalogs/german.ct @@ -0,0 +1,30 @@ +## version $VER: Installer.catalog 1.0 (14.9.2003) +## language deutsch +## codeset 0 +; +; +; +MSG_OK +Ok +; OK +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_MESSAGE +Mitteilung +; Message +; +MSG_PROMPT +Eingabeaufforderung +; Prompt +; +MSG_YES +Ja +; Yes +; +MSG_NO +Nein +; No +; diff --git a/workbench/utilities/Installer/catalogs/hungarian.ct b/workbench/utilities/Installer/catalogs/hungarian.ct new file mode 100644 index 00000000000..b094ce97e67 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/hungarian.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 1.0 (21.1.2005) +## language magyar +## codeset 5 +; +MSG_OK +Rendben +; +MSG_CANCEL +Mégsem +; +MSG_MESSAGE +Üzenet +; +MSG_PROMPT +Prompt +; +MSG_YES +Igen +; +MSG_NO +Nem +; diff --git a/workbench/utilities/Installer/catalogs/italian.ct b/workbench/utilities/Installer/catalogs/italian.ct new file mode 100644 index 00000000000..2dcdfda7bd1 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/italian.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 1.0 (14.9.2003) +## language italiano +## codeset 0 +; +MSG_OK +OK +; +MSG_CANCEL +Annulla +; +MSG_MESSAGE +Messaggio +; +MSG_PROMPT +Richiesta +; +MSG_YES +Sì +; +MSG_NO +No +; diff --git a/workbench/utilities/Installer/catalogs/mmakefile.src b/workbench/utilities/Installer/catalogs/mmakefile.src new file mode 100644 index 00000000000..7ee43f94634 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/mmakefile.src @@ -0,0 +1,10 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish finnish french german hungarian italian polish portuguese russian spanish french norwegian + +%build_catalogs mmake=workbench-utilities-installer-catalogs \ + catalogs=$(CATALOGS) \ + name=Installer subdir=System/Utilities diff --git a/workbench/utilities/Installer/catalogs/norwegian.ct b/workbench/utilities/Installer/catalogs/norwegian.ct new file mode 100644 index 00000000000..64ca45f69af --- /dev/null +++ b/workbench/utilities/Installer/catalogs/norwegian.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 1.0 (21.07.2019) +## language norwegian +## codeset 0 +; +MSG_OK +Ok +; +MSG_CANCEL +Avbryt +; +MSG_MESSAGE +Melding +; +MSG_PROMPT +Markør +; +MSG_YES +Ja +; +MSG_NO +Nei +; \ No newline at end of file diff --git a/workbench/utilities/Installer/catalogs/polish.ct b/workbench/utilities/Installer/catalogs/polish.ct new file mode 100644 index 00000000000..6fb92d88819 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/polish.ct @@ -0,0 +1,28 @@ +## version $VER: installer.catalog 1.0 (29.04.2010) +## language polski +## codeset 5 +; +MSG_OK +OK +; OK +; +MSG_CANCEL +Poniechaj +; Cancel +; +MSG_MESSAGE +Wiadomość +; Message +; +MSG_PROMPT +Zapytanie +; Prompt +; +MSG_YES +Tak +; Yes +; +MSG_NO +Nie +; No +; diff --git a/workbench/utilities/Installer/catalogs/portuguese.ct b/workbench/utilities/Installer/catalogs/portuguese.ct new file mode 100644 index 00000000000..f613a9cafa6 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/portuguese.ct @@ -0,0 +1,23 @@ +## version $VER: Installer.catalog 1.0 (14.9.2008) +## language português +## codeset 0 +; +MSG_OK +Aceitar +; OK +; +MSG_CANCEL +Cancelar +; +MSG_MESSAGE +Mensagem +; +MSG_PROMPT +Pergunta +; +MSG_YES +Sim +; +MSG_NO +Não +; \ No newline at end of file diff --git a/workbench/utilities/Installer/catalogs/russian.ct b/workbench/utilities/Installer/catalogs/russian.ct new file mode 100644 index 00000000000..498d65fed28 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/russian.ct @@ -0,0 +1,22 @@ +## version $VER: Installer.catalog 1.0 (12.8.2006) +## language russian +## codeset 2104 +; +MSG_OK +OK +; +MSG_CANCEL +Отмена +; +MSG_MESSAGE +Сообщение +; +MSG_PROMPT +Вопрос +; +MSG_YES +Да +; +MSG_NO +Нет +; diff --git a/workbench/utilities/Installer/catalogs/spanish.ct b/workbench/utilities/Installer/catalogs/spanish.ct new file mode 100644 index 00000000000..fb1c197fcd7 --- /dev/null +++ b/workbench/utilities/Installer/catalogs/spanish.ct @@ -0,0 +1,23 @@ +## version $VER: Installer.catalog 1.0 (14.9.2003) +## language español +## codeset 0 +; +MSG_OK +Aceptar +; OK +; +MSG_CANCEL +Cancelar +; +MSG_MESSAGE +Mensaje +; +MSG_PROMPT +Pregunta +; +MSG_YES +Sí +; +MSG_NO +No +; diff --git a/workbench/utilities/More/catalogs b/workbench/utilities/More/catalogs deleted file mode 160000 index b3b0f099e07..00000000000 --- a/workbench/utilities/More/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b3b0f099e073653c3daade4500052fbd5f1a6108 diff --git a/workbench/utilities/More/catalogs/.gitattributes b/workbench/utilities/More/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/utilities/More/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/utilities/More/catalogs/croatian.ct b/workbench/utilities/More/catalogs/croatian.ct new file mode 100644 index 00000000000..8b8529061fb --- /dev/null +++ b/workbench/utilities/More/catalogs/croatian.ct @@ -0,0 +1,161 @@ +## version $VER: More.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld! +; Can't open %s V%ld! +; +MSG_NO_MEM +Nedovoljno memorije! +; Out of memory! +; +MSG_CANT_LOCK_SCR +Ne mogu zaključat javni ekran! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Ne mogu dobiti DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Ne mogu dobiti VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Ne mogu stvoriti SYSICLASS slike! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Ne mogu stvoriti gadgete! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Ne mogu stvoriti izbornike! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Ne mogu stvoriti prozor! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Ne mogu stvoriti port za poruke! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Ne mogu transformirat prozor u AppWindow! +; Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otvori... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Sspremi kao... +; A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Ispis +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O Programu... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0izlaz +; Q\0Quit +; +MSG_MEN_NAVIGATION +Navigacija +; Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Traži... +; F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Traži Dalje +; .\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Traži Nazad +; ,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +J\0Idi Na... +; J\0Jump... +; +MSG_ASL_OPEN_TITLE +Izaberite Datoteku koju Želite Otvoriti +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Izaberite Datoteku u koju Želite Spremiti +; Select File to Save to +; +MSG_ABOUT +Čitač V%ld.%ld\n (%s)\nCopyright Œ %s by %s +; More V%ld.%ld\n (%s)\nCopyright Š %s by %s +; +MSG_ABOUT_TITLE +Čitač +; More +; +MSG_CONTINUE +Nastavi +; Continue +; +MSG_JUMP_TITLE +Idi na Liniju... +; Go to Line ... +; +MSG_FIND_TITLE +Traži +; Search +; +MSG_OK +U redu +; Ok +; +MSG_CANCEL +Odustani +; Cancel +; +MSG_WIN_TITLE +Čitač: %s (%ld Linija - %ld Bajtova) +; More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; T +; +MSG_SHORTCUT_BOTTOM +B +; B +; +MSG_SHORTCUT_JUMP +GJ +; GJ +; +MSG_SHORTCUT_FIND +FS +; FS +; +MSG_SHORTCUT_NEXT +N +; N +; +MSG_SHORTCUT_PREV +P +; P +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/More/catalogs/czech.ct b/workbench/utilities/More/catalogs/czech.ct new file mode 100644 index 00000000000..5d30dbcca37 --- /dev/null +++ b/workbench/utilities/More/catalogs/czech.ct @@ -0,0 +1,161 @@ +## version $VER: More.catalog 2.0 (30.03.2016) +## language czech +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld! +; Can't open %s V%ld! +; +MSG_NO_MEM +Není dostatek volné paměti! +; Out of memory! +; +MSG_CANT_LOCK_SCR +Nelze zamknout veřejnou obrazovku! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nelze načíst strukturu DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nelze načíst strukturu VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Nelze vytvořit obrázky třídy SysIClass! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Nelze vytvořit tlačítka! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nelze vytvořit menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nelze vytvořit okno! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Nelze vytvořit message port! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Nelze nastavit okno typu AppWindow! +; Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otevřít... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Uložit jako... +; A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Tisknout +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O programu... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +MSG_MEN_NAVIGATION +Hledání +; Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Najít... +; F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Najít další +; .\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Najít předchozí +; ,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +J\0Přejít na řádek... +; J\0Jump... +; +MSG_ASL_OPEN_TITLE +Otevření souboru +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Uložení souboru +; Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright (C) %s %s +; More V%ld.%ld\n (%s)\nCopyright Š %s by %s +; +MSG_ABOUT_TITLE +More +; More +; +MSG_CONTINUE +Pokračovat +; Continue +; +MSG_JUMP_TITLE +Přejít na řádek... +; Go to Line ... +; +MSG_FIND_TITLE +Hledat +; Search +; +MSG_OK +OK +; Ok +; +MSG_CANCEL +Zrušit +; Cancel +; +MSG_WIN_TITLE +More: %s (řádků: %ld, velikost: %ld B) +; More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; T +; +MSG_SHORTCUT_BOTTOM +B +; B +; +MSG_SHORTCUT_JUMP +GJ +; GJ +; +MSG_SHORTCUT_FIND +FS +; FS +; +MSG_SHORTCUT_NEXT +N +; N +; +MSG_SHORTCUT_PREV +P +; P +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/More/catalogs/danish.ct b/workbench/utilities/More/catalogs/danish.ct new file mode 100644 index 00000000000..fbc3f485d0a --- /dev/null +++ b/workbench/utilities/More/catalogs/danish.ct @@ -0,0 +1,162 @@ +## version $VER: more.catalog 2.0 (30.03.2016) +## language dansk +## codeset 0 +; +; Initial Danish translation by Kristian Poul Herkild +; +MSG_CANT_OPEN_LIB +Kan ikke åbne %s V%ld! +; Can't open %s V%ld! +; +MSG_NO_MEM +For lidt hukommelse! +; Out of memory! +; +MSG_CANT_LOCK_SCR +Kan ikke låse offentlig skærm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kan ikke indhente DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kan ikke indhente VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kan ikke oprette SYSICLASS-billeder! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Kan ikke oprette gadgets! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kan ikke oprette menuer! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kan ikke oprette vindue! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Kan ikke oprette beskedport! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Kan ikke gøre vinduet til et programvindue! +; Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Åbn... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Gem som... +; A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Udskriv +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Om... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Afslut +; Q\0Quit +; +MSG_MEN_NAVIGATION +Navigering +; Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Find... +; F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Find næste +; .\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Find forrige +; ,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +J\0Hop... +; J\0Jump... +; +MSG_ASL_OPEN_TITLE +Vælg fil til åbning +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Vælg fil at gemme til +; Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; More V%ld.%ld\n (%s)\nCopyright © %s by %s +; +MSG_ABOUT_TITLE +More +; More +; +MSG_CONTINUE +Fortsæt +; Continue +; +MSG_JUMP_TITLE +Gå til linie ... +; Go to Line ... +; +MSG_FIND_TITLE +Søg +; Search +; +MSG_OK +O.k. +; Ok +; +MSG_CANCEL +Afbryd +; Cancel +; +MSG_WIN_TITLE +More: %s (%ld linier - %ld Byte) +; More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; T +; +MSG_SHORTCUT_BOTTOM +B +; B +; +MSG_SHORTCUT_JUMP +GJ +; GJ +; +MSG_SHORTCUT_FIND +FS +; FS +; +MSG_SHORTCUT_NEXT +N +; N +; +MSG_SHORTCUT_PREV +P +; P +; +MSG_SHORTCUT_EDITOR +E +; E +; \ No newline at end of file diff --git a/workbench/utilities/More/catalogs/finnish.ct b/workbench/utilities/More/catalogs/finnish.ct new file mode 100644 index 00000000000..ffd6e65cdff --- /dev/null +++ b/workbench/utilities/More/catalogs/finnish.ct @@ -0,0 +1,112 @@ +## version $VER: more.catalog 1.0 (14.10.2001) +## codeset 0 +## language suomi +; +MSG_CANT_OPEN_LIB +En voi avata %s v%ld! +; +MSG_NO_MEM +Muisti lopussa! +; +MSG_CANT_LOCK_SCR +En voi lukita näyttöä! +; +MSG_CANT_GET_DRI +En saa DrawInfo:a! +; +MSG_CANT_GET_VI +En saa VisualInfo:a! +; +MSG_CANT_CREATE_SYSIMAGE +En voi luoda SYSICLASS kuvia! +; +MSG_CANT_CREATE_GADGET +En voi luoda nappeja! +; +MSG_CANT_CREATE_MENUS +En voi luoda valikkoja! +; +MSG_CANT_CREATE_WIN +En voi luoda ikkunaa! +; +MSG_MEN_PROJECT +Projekti +; +MSG_MEN_PROJECT_OPEN +O\0Avaa... +; +MSG_MEN_PROJECT_SAVEAS +A\0Tallenna nimellä... +; +MSG_MEN_PROJECT_PRINT +P\0Tulosta +; +MSG_MEN_PROJECT_ABOUT +?\0Tietoa... +; +MSG_MEN_PROJECT_QUIT +Q\0Lopeta +; +MSG_MEN_NAVIGATION +Navigointi +; +MSG_MEN_NAVIGATION_FIND +F\0Etsi... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Etsi seuraava +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Etsi edellinen +; +MSG_MEN_NAVIGATION_JUMP +J\0Hyppää... +; +MSG_ASL_OPEN_TITLE +Valitse avattava tiedosto +; +MSG_ASL_SAVE_TITLE +Valitse tallennustiedosto +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s av %s +; +MSG_ABOUT_TITLE +More +; +MSG_CONTINUE +Jatka +; +MSG_JUMP_TITLE +Mene riville... +; +MSG_FIND_TITLE +Etsi +; +MSG_OK +Selvä +; +MSG_CANCEL +Peru +; +MSG_WIN_TITLE +More: %s (%ld riviä - %ld tavua) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; diff --git a/workbench/utilities/More/catalogs/french.ct b/workbench/utilities/More/catalogs/french.ct new file mode 100644 index 00000000000..6a34f1c4b5f --- /dev/null +++ b/workbench/utilities/More/catalogs/french.ct @@ -0,0 +1,121 @@ +## version $VER: more.catalog 2.0 (03.01.2018) +## codeset 0 +## language français +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld ! +; +MSG_NO_MEM +Plus de mémoire ! +; +MSG_CANT_LOCK_SCR +Impossible de vérouiller l'écran ! +; +MSG_CANT_GET_DRI +Impossible d'obtenir la structure DrawInfo ! +; +MSG_CANT_GET_VI +Impossible d'obtenir la structure VisualInfo ! +; +MSG_CANT_CREATE_SYSIMAGE +Impossible de créer les images SYSICLASS ! +; +MSG_CANT_CREATE_GADGET +Impossible de créer les Gadgets ! +; +MSG_CANT_CREATE_MENUS +Impossible de créer les Menus ! +; +MSG_CANT_CREATE_WIN +Impossible de créer la fenêtre ! +; +MSG_CANT_CREATE_MSGPORT +Impossible de créer le port message ! +; +MSG_CANT_ADD_APPWINDOW +Impossible de promouvoir la fenêtre en AppWindow ! +; +MSG_MEN_PROJECT +Projet +; +MSG_MEN_PROJECT_OPEN +O\0Ouvrir ... +; +MSG_MEN_PROJECT_SAVEAS +A\0Sauver sous ... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimer +; +MSG_MEN_PROJECT_ABOUT +?\0À propos ... +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +; +MSG_MEN_NAVIGATION +Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Chercher ... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Chercher suivant +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Chercher précédent +; +MSG_MEN_NAVIGATION_JUMP +G\0Aller à la ligne ... +; +MSG_ASL_OPEN_TITLE +Ouvrir le fichier +; +MSG_ASL_SAVE_TITLE +Enregistrer le fichier +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; +MSG_ABOUT_TITLE +À propos de More +; +MSG_CONTINUE +Continuer +; +MSG_JUMP_TITLE +Aller à la ligne ... +; +MSG_FIND_TITLE +Chercher +; +MSG_OK +Ok +; +MSG_CANCEL +Annuler +; +MSG_WIN_TITLE +More: %s (%ld Lignes - %ld Octets) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; +MSG_SHORTCUT_EDITOR +E +; diff --git a/workbench/utilities/More/catalogs/german.ct b/workbench/utilities/More/catalogs/german.ct new file mode 100644 index 00000000000..a079c8e70a3 --- /dev/null +++ b/workbench/utilities/More/catalogs/german.ct @@ -0,0 +1,161 @@ +## version $VER: more.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen! +; Can't open %s V%ld! +; +MSG_NO_MEM +Speichermangel! +; Out of memory! +; +MSG_CANT_LOCK_SCR +Kann public Screen nicht locken! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kann DrawInfo nicht ermitteln! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kann VisualInfo nicht ermitteln! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kann SYSICLASS Images nicht erzeugen! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Kann Gadgets nicht erzeugen! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kann Menus nicht erzeugen! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kann Fenster nicht erzeugen! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Kann Messageport nicht erzeugen! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Kann das Fenster nicht in ein AppWindow wandeln! +; Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Öffnen ... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Speichern als ... +; A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Drucken +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Über ... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; Q\0Quit +; +MSG_MEN_NAVIGATION +Navigation +; Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Finden ... +; F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Finde nächsten +; .\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Finde vorherigen +; ,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +G\0Gehe zu Zeile ... +; J\0Jump... +; +MSG_ASL_OPEN_TITLE +Eingabedatei auswählen +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Ausgabedatei auswählen +; Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; More V%ld.%ld\n (%s)\nCopyright \xa9 %s by %s +; +MSG_ABOUT_TITLE +More - Textanzeiger +; More +; +MSG_CONTINUE +Weiter +; Continue +; +MSG_JUMP_TITLE +Gehe zu Zeile ... +; Go to Line ... +; +MSG_FIND_TITLE +Suchen +; Search +; +MSG_OK +Ok +; Ok +; +MSG_CANCEL +Abbrechen +; Cancel +; +MSG_WIN_TITLE +More: %s (%ld Zeilen - %ld Bytes) +; More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; T +; +MSG_SHORTCUT_BOTTOM +B +; B +; +MSG_SHORTCUT_JUMP +GJ +; GJ +; +MSG_SHORTCUT_FIND +FS +; FS +; +MSG_SHORTCUT_NEXT +N +; N +; +MSG_SHORTCUT_PREV +P +; P +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/More/catalogs/italian.ct b/workbench/utilities/More/catalogs/italian.ct new file mode 100644 index 00000000000..71ec1512636 --- /dev/null +++ b/workbench/utilities/More/catalogs/italian.ct @@ -0,0 +1,112 @@ +## version $VER: more.catalog 1.0 (13.09.2000) +## codeset 0 +## language italiano +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld ! +; +MSG_NO_MEM +Non c'è abbastanza memoria! +; +MSG_CANT_LOCK_SCR +Impossibile accedere allo schermo pubblico! +; +MSG_CANT_GET_DRI +Impossibile aprire la struttura DrawInfo! +; +MSG_CANT_GET_VI +Impossibile aprire la struttura VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Impossibile creare oggetto SYSICLASS! +; +MSG_CANT_CREATE_GADGET +Impossibile creare i gadget! +; +MSG_CANT_CREATE_MENUS +Impossibile creare i menu! +; +MSG_CANT_CREATE_WIN +Impossibile creare la finestra! +; +MSG_MEN_PROJECT +Documento +; +MSG_MEN_PROJECT_OPEN +O\0Apri... +; +MSG_MEN_PROJECT_SAVEAS +A\0Salva come... +; +MSG_MEN_PROJECT_PRINT +P\0Stampa +; +MSG_MEN_PROJECT_ABOUT +?\0Informazioni... +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +; +MSG_MEN_NAVIGATION +Testo +; +MSG_MEN_NAVIGATION_FIND +F\0Trova... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Trova successivo +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Trova precedente +; +MSG_MEN_NAVIGATION_JUMP +G\0Vai alla riga... +; +MSG_ASL_OPEN_TITLE +Apri file +; +MSG_ASL_SAVE_TITLE +Salva file +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; +MSG_ABOUT_TITLE +Info su More +; +MSG_CONTINUE +Continua +; +MSG_JUMP_TITLE +Vai al titolo... +; +MSG_FIND_TITLE +Cerca titolo +; +MSG_OK +Ok +; +MSG_CANCEL +Annulla +; +MSG_WIN_TITLE +More: %s (%ld linee - %ld byte) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; diff --git a/workbench/utilities/More/catalogs/mmakefile.src b/workbench/utilities/More/catalogs/mmakefile.src new file mode 100644 index 00000000000..bdcfe3f7930 --- /dev/null +++ b/workbench/utilities/More/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech danish german polish french norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-utilities-more-catalogs \ + catalogs=$(CATALOGS) \ + name=More subdir=System/Utilities diff --git a/workbench/utilities/More/catalogs/more.cd b/workbench/utilities/More/catalogs/more.cd new file mode 100644 index 00000000000..4acea904399 --- /dev/null +++ b/workbench/utilities/More/catalogs/more.cd @@ -0,0 +1,118 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld! +; +MSG_NO_MEM (//) +Out of memory! +; +MSG_CANT_LOCK_SCR (//) +Can't lock public screen! +; +MSG_CANT_GET_DRI (//) +Can't get DrawInfo! +; +MSG_CANT_GET_VI (//) +Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE (//) +Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET (//) +Can't create gadgets! +; +MSG_CANT_CREATE_MENUS (//) +Can't create menus! +; +MSG_CANT_CREATE_WIN (//) +Can't create window! +; +MSG_CANT_CREATE_MSGPORT (//) +Can't create message port! +; +MSG_CANT_ADD_APPWINDOW (//) +Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_OPEN (//) +O\0Open... +; +MSG_MEN_PROJECT_SAVEAS (//) +A\0Save as... +; +MSG_MEN_PROJECT_PRINT (//) +P\0Print +; +MSG_MEN_PROJECT_ABOUT (//) +?\0About... +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +MSG_MEN_NAVIGATION (//) +Navigation +; +MSG_MEN_NAVIGATION_FIND (//) +F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT (//) +.\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV (//) +,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP (//) +J\0Jump... +; +MSG_ASL_OPEN_TITLE (//) +Select File to Open +; +MSG_ASL_SAVE_TITLE (//) +Select File to Save to +; +MSG_ABOUT (//) +More V%ld.%ld\n (%s)\nCopyright \xa9 %s by %s +; +MSG_ABOUT_TITLE (//) +More +; +MSG_CONTINUE (//) +Continue +; +MSG_JUMP_TITLE (//) +Go to Line ... +; +MSG_FIND_TITLE (//) +Search +; +MSG_OK (//) +Ok +; +MSG_CANCEL (//) +Cancel +; +MSG_WIN_TITLE (//) +More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP (//) +T +; +MSG_SHORTCUT_BOTTOM (//) +B +; +MSG_SHORTCUT_JUMP (//) +GJ +; +MSG_SHORTCUT_FIND (//) +FS +; +MSG_SHORTCUT_NEXT (//) +N +; +MSG_SHORTCUT_PREV (//) +P +; +MSG_SHORTCUT_EDITOR (//) +E +; diff --git a/workbench/utilities/More/catalogs/norwegian.ct b/workbench/utilities/More/catalogs/norwegian.ct new file mode 100644 index 00000000000..d3293dcd8de --- /dev/null +++ b/workbench/utilities/More/catalogs/norwegian.ct @@ -0,0 +1,121 @@ +## version $VER: more.catalog 1.0 (21.07.2019) +## codeset 0 +## language norwegian +; +MSG_CANT_OPEN_LIB +Kan ikke åpne %s V%1d! +; +MSG_NO_MEM +Ikke nok minne! +; +MSG_CANT_LOCK_SCR +Kan ikke låse offentlig skjerm! +; +MSG_CANT_GET_DRI +Kan ikke hente DrawInfo! +; +MSG_CANT_GET_VI +Kan ikke hente VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kan ikke opprette SYSICLASS-bilder! +; +MSG_CANT_CREATE_GADGET +Kan ikke opprette knapper! +; +MSG_CANT_CREATE_MENUS +Kan ikke opprette menyer! +; +MSG_CANT_CREATE_WIN +Kan ikke opprette vindu! +; +MSG_CANT_CREATE_MSGPORT +Kan ikke opprette meldingsport! +; +MSG_CANT_ADD_APPWINDOW +Kabn ikke omvandle vinduet til et applikasjons vindu! +; +MSG_MEN_PROJECT +Fil +; +MSG_MEN_PROJECT_OPEN +O\0Åpne... +; +MSG_MEN_PROJECT_SAVEAS +A\0Lagre som... +; +MSG_MEN_PROJECT_PRINT +P\0Skriv ut +; +MSG_MEN_PROJECT_ABOUT +?\0Om... +; +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; +MSG_MEN_NAVIGATION +Navigering +; +MSG_MEN_NAVIGATION_FIND +F\0Finn... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Finn neste +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Finn forrige +; +MSG_MEN_NAVIGATION_JUMP +J\0Hopp... +; +MSG_ASL_OPEN_TITLE +Velg fil å åpne +; +MSG_ASL_SAVE_TITLE +Velg fil å lagre til +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s av %s +; +MSG_ABOUT_TITLE +More +; +MSG_CONTINUE +Fortsett +; +MSG_JUMP_TITLE +Gå til linje... +; +MSG_FIND_TITLE +Søk +; +MSG_OK +OK +; +MSG_CANCEL +Avbryt +; +MSG_WIN_TITLE +More: %s (%ld Linjer - %ld Byte) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; +MSG_SHORTCUT_EDITOR +E +; \ No newline at end of file diff --git a/workbench/utilities/More/catalogs/polish.ct b/workbench/utilities/More/catalogs/polish.ct new file mode 100644 index 00000000000..0c1e510deae --- /dev/null +++ b/workbench/utilities/More/catalogs/polish.ct @@ -0,0 +1,160 @@ +## version $VER: more.catalog 2.0 (30.03.2016) +## language polski +## codeset 5 +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld! +; Can't open %s V%ld! +; +MSG_NO_MEM +Brak pamięci! +; Out of memory! +; +MSG_CANT_LOCK_SCR +Nie można uzyskać dostępu do ekranu! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nie można pobrać DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nie można pobrać VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Nie można utowrzyć obrazów SYSICLASS! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Nie można utworzyć gadżetów! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nie można utowrzyć menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nie można utworzyć okna! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Nie można utworzyć portu wiadomości +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Nie można przekształcić okna w okno AppWindow! +; Can't turn the window into an AppWindow! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otwórz... +; O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +A\0Zapisz jako... +; A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Drukuj +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O programie... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_MEN_NAVIGATION +Nawigacja +; Navigation +; +MSG_MEN_NAVIGATION_FIND +F\0Znajdź... +; F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Następny +; .\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Poprzedni +; ,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +J\0Skocz... +; J\0Jump... +; +MSG_ASL_OPEN_TITLE +Wybierz plik do otworzenia +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Wybierz plik do zapisania +; Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright (c) %s by %s +; More V%ld.%ld\n (%s)\nCopyright Š %s by %s +; +MSG_ABOUT_TITLE +More +; More +; +MSG_CONTINUE +Kontynuuj +; Continue +; +MSG_JUMP_TITLE +Skocz do linii... +; Go to Line ... +; +MSG_FIND_TITLE +Szukaj +; Search +; +MSG_OK +OK +; Ok +; +MSG_CANCEL +Poniechaj +; Cancel +; +MSG_WIN_TITLE +More: %s (%ld Linii - %ld Bajtów) +; More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; T +; +MSG_SHORTCUT_BOTTOM +B +; B +; +MSG_SHORTCUT_JUMP +GJ +; GJ +; +MSG_SHORTCUT_FIND +FS +; FS +; +MSG_SHORTCUT_NEXT +N +; N +; +MSG_SHORTCUT_PREV +P +; P +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/More/catalogs/portuguese.ct b/workbench/utilities/More/catalogs/portuguese.ct new file mode 100644 index 00000000000..66d7f8bff6b --- /dev/null +++ b/workbench/utilities/More/catalogs/portuguese.ct @@ -0,0 +1,140 @@ +## version $VER: more.catalog 1.0 (13.08.2008) +## codeset 0 +## language português +; +; Translated by João Ralha +; +MSG_CANT_OPEN_LIB +Não conseguiu abrir %s V%ld! +;Can't open %s V%ld! +; +MSG_NO_MEM +Sem memória disponível! +;Out of memory! +; +MSG_CANT_LOCK_SCR +Não é possível bloquear\no écran público! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Não obteve a estrutura DrawInfo! +; +MSG_CANT_GET_VI +Não obteve VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Não foi possível criar as imagens SYSICLASS! +;Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Não foi possível criar os botões! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Não foi possível criar os menus! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +Não foi possível criar a janela! +;Can't create window! +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimir +;P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Sobre... +;?\0About... +; +MSG_MEN_PROJECT_QUIT +S\0Sair +;Q\0Quit +; +MSG_MEN_NAVIGATION +Navegação +;Navigation +; +MSG_MEN_NAVIGATION_FIND +B\0Localizar... +;F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Localizar Seg. +;.\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Localizar Ant. +;,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +S\0Saltar... +;J\0Jump... +; +MSG_ASL_OPEN_TITLE +Selecionar o ficheiro para Abrir +;Select File to Open +; +MSG_ASL_SAVE_TITLE +Selecionar o ficheiro para Guardar +;Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; +MSG_ABOUT_TITLE +More +; +MSG_CONTINUE +Prosseguir +;Continue +; +MSG_JUMP_TITLE +Ir para linha... +;Go to Line ... +; +MSG_FIND_TITLE +Localizar +;Search +; +MSG_OK +Aceitar +;Ok +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_WIN_TITLE +More: %s (%ld linhas - %ld Bytes) +;More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; \ No newline at end of file diff --git a/workbench/utilities/More/catalogs/russian.ct b/workbench/utilities/More/catalogs/russian.ct new file mode 100644 index 00000000000..41bd62e8441 --- /dev/null +++ b/workbench/utilities/More/catalogs/russian.ct @@ -0,0 +1,112 @@ +## version $VER: more.catalog 1.0 (13.08.2006) +## codeset 2104 +## language russian +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld! +; +MSG_NO_MEM +Мало памяти! +; +MSG_CANT_LOCK_SCR +Не могу занять общий экран! +; +MSG_CANT_GET_DRI +Не могу получить DrawInfo ! +; +MSG_CANT_GET_VI +Не могу получить VisualInfo ! +; +MSG_CANT_CREATE_SYSIMAGE +Не могу создать изображения SYSICLASS! +; +MSG_CANT_CREATE_GADGET +Не могу создать гр. элементы! +; +MSG_CANT_CREATE_MENUS +Не могу создать меню! +; +MSG_CANT_CREATE_WIN +Не могу создать окно! +; +MSG_MEN_PROJECT +Проект +; +MSG_MEN_PROJECT_OPEN +O\0Открыть ... +; +MSG_MEN_PROJECT_SAVEAS +A\0Сохранить как ... +; +MSG_MEN_PROJECT_PRINT +P\0Печать +; +MSG_MEN_PROJECT_ABOUT +?\0О программе ... +; +MSG_MEN_PROJECT_QUIT +Q\0Выход +; +MSG_MEN_NAVIGATION +Навигация +; +MSG_MEN_NAVIGATION_FIND +F\0Найти ... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Найти следущее +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Найти предыдущее +; +MSG_MEN_NAVIGATION_JUMP +G\0Перейти ... +; +MSG_ASL_OPEN_TITLE +Выберите файл для открытия +; +MSG_ASL_SAVE_TITLE +Выберите файл для сохранения +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright щ %s by %s +; +MSG_ABOUT_TITLE +More - Просмотр теста +; +MSG_CONTINUE +Weiter +; +MSG_JUMP_TITLE +Перейти к строке ... +; +MSG_FIND_TITLE +Поиск +; +MSG_OK +Ok +; +MSG_CANCEL +Отмена +; +MSG_WIN_TITLE +More: %s (%ld строк - %ld Байт) +; +MSG_SHORTCUT_TOP +В +; +MSG_SHORTCUT_BOTTOM +Н +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +С +; +MSG_SHORTCUT_PREV +П +; diff --git a/workbench/utilities/More/catalogs/spanish.ct b/workbench/utilities/More/catalogs/spanish.ct new file mode 100644 index 00000000000..b6dfe173b71 --- /dev/null +++ b/workbench/utilities/More/catalogs/spanish.ct @@ -0,0 +1,140 @@ +## version $VER: more.catalog 1.0 (13.08.2006) +## codeset 0 +## language español +; +; Translated by ahg - (30.09.2007) +; +MSG_CANT_OPEN_LIB +¡No se puede abrir %s V%ld! +;Can't open %s V%ld! +; +MSG_NO_MEM +¡No hay memoria! +;Out of memory! +; +MSG_CANT_LOCK_SCR +¡No se puede bloquear\nla pantalla pública! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Can't get DrawInfo! +; +MSG_CANT_GET_VI +Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +¡No se pudieron crear\nlas imágenes SYSICLASS! +;Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +¡No se pudieron crear los gadgets! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +¡No se pudieron crear los menús! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +¡No se pudo crear la ventana! +;Can't create window! +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_SAVEAS +G\0Guardar como... +;A\0Save as... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimir +;P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Acerca de... +;?\0About... +; +MSG_MEN_PROJECT_QUIT +S\0Salir +;Q\0Quit +; +MSG_MEN_NAVIGATION +Navegación +;Navigation +; +MSG_MEN_NAVIGATION_FIND +B\0Buscar... +;F\0Find... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Buscar el Sig. +;.\0Find Next +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Buscar el Ant. +;,\0Find Prev +; +MSG_MEN_NAVIGATION_JUMP +S\0Saltar... +;J\0Jump... +; +MSG_ASL_OPEN_TITLE +Elegir el Archivo para Abrir +;Select File to Open +; +MSG_ASL_SAVE_TITLE +Elegir el Archivo dónde Guardar +;Select File to Save to +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s by %s +; +MSG_ABOUT_TITLE +More +; +MSG_CONTINUE +Proseguir +;Continue +; +MSG_JUMP_TITLE +Ir al renglón... +;Go to Line ... +; +MSG_FIND_TITLE +Buscar +;Search +; +MSG_OK +Aceptar +;Ok +; +MSG_CANCEL +Cancelar +;Cancel +; +MSG_WIN_TITLE +More: %s (%ld renglones - %ld Bytes) +;More: %s (%ld Lines - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; diff --git a/workbench/utilities/More/catalogs/swedish.ct b/workbench/utilities/More/catalogs/swedish.ct new file mode 100644 index 00000000000..df5af0fdbd7 --- /dev/null +++ b/workbench/utilities/More/catalogs/swedish.ct @@ -0,0 +1,112 @@ +## version $VER: more.catalog 1.0 (14.10.2001) +## codeset 0 +## language svenska +; +MSG_CANT_OPEN_LIB +Kan inte öppna %s V%ld! +; +MSG_NO_MEM +Slut på minne! +; +MSG_CANT_LOCK_SCR +Kan inte låsa allmän skärm! +; +MSG_CANT_GET_DRI +Kan inte läsa DrawInfo! +; +MSG_CANT_GET_VI +Kan inte läsa VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kan inte skapa SYSICLASS-bilder! +; +MSG_CANT_CREATE_GADGET +Kan inte skapa knappar! +; +MSG_CANT_CREATE_MENUS +Kan inte skapa menyer! +; +MSG_CANT_CREATE_WIN +Kan inte skapa fönster! +; +MSG_MEN_PROJECT +Projekt +; +MSG_MEN_PROJECT_OPEN +O\0Öppna... +; +MSG_MEN_PROJECT_SAVEAS +A\0Spara som... +; +MSG_MEN_PROJECT_PRINT +P\0Skriv ut +; +MSG_MEN_PROJECT_ABOUT +?\0Om... +; +MSG_MEN_PROJECT_QUIT +Q\0Avsluta +; +MSG_MEN_NAVIGATION +Förflyttning +; +MSG_MEN_NAVIGATION_FIND +F\0Hitta... +; +MSG_MEN_NAVIGATION_FIND_NEXT +.\0Hitta nästa +; +MSG_MEN_NAVIGATION_FIND_PREV +,\0Hitta föregående +; +MSG_MEN_NAVIGATION_JUMP +J\0Hoppa... +; +MSG_ASL_OPEN_TITLE +Välj fil att öppna +; +MSG_ASL_SAVE_TITLE +Välj fil att spara till +; +MSG_ABOUT +More V%ld.%ld\n (%s)\nCopyright © %s av %s +; +MSG_ABOUT_TITLE +More +; +MSG_CONTINUE +Fortsätt +; +MSG_JUMP_TITLE +Gå till rad... +; +MSG_FIND_TITLE +Sök +; +MSG_OK +OK +; +MSG_CANCEL +Avbryt +; +MSG_WIN_TITLE +More: %s (%ld Rader - %ld Bytes) +; +MSG_SHORTCUT_TOP +T +; +MSG_SHORTCUT_BOTTOM +B +; +MSG_SHORTCUT_JUMP +GJ +; +MSG_SHORTCUT_FIND +FS +; +MSG_SHORTCUT_NEXT +N +; +MSG_SHORTCUT_PREV +P +; diff --git a/workbench/utilities/MultiView/catalogs b/workbench/utilities/MultiView/catalogs deleted file mode 160000 index fcc86072532..00000000000 --- a/workbench/utilities/MultiView/catalogs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fcc86072532f9dcc551e5b879811e0fe67dc8386 diff --git a/workbench/utilities/MultiView/catalogs/.gitattributes b/workbench/utilities/MultiView/catalogs/.gitattributes new file mode 100644 index 00000000000..5f60db6216b --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/.gitattributes @@ -0,0 +1,60 @@ +# AROS repository git attributes. +# + +# +# Localised files +# +# These languages traditionally use ISO-8859-1 in AmigaOS +# do not change them, and do not use symbols in their catalogs +# that cannot be displayed by ISO-8859-1 +# +*.cd text encoding=ISO-8859-1 + +albanian.ct text encoding=ISO-8859-1 +catalan.ct text encoding=ISO-8859-1 +danish.ct text encoding=ISO-8859-1 +dutch.ct text encoding=ISO-8859-1 +faroese.ct text encoding=ISO-8859-1 +finnish.ct text encoding=ISO-8859-1 +french.ct text encoding=ISO-8859-1 +german.ct text encoding=ISO-8859-1 +irish.ct text encoding=ISO-8859-1 +icelandic.ct text encoding=ISO-8859-1 +italian.ct text encoding=ISO-8859-1 +norwegian.ct text encoding=ISO-8859-1 +portuguese.ct text encoding=ISO-8859-1 +spanish.ct text encoding=ISO-8859-1 +swedish.ct text encoding=ISO-8859-1 + +# ISO-8859-2 +# +bosnian.ct text encoding=ISO-8859-2 +croatian.ct text encoding=ISO-8859-2 +czech.ct text encoding=ISO-8859-2 +hungarian.ct text encoding=ISO-8859-2 +rumanian.ct text encoding=ISO-8859-2 +slovak.ct text encoding=ISO-8859-2 +slovene.ct text encoding=ISO-8859-2 +# Polish is stored as ISO-8859-2 but used as AmigaPL +polish.ct text encoding=ISO-8859-2 + +# ISO-8859-3 +# +maltese.ct text encoding=ISO-8859-3 +turkish.ct text encoding=ISO-8859-3 + +# ISO-8859-4 +# +estonian.ct text encoding=ISO-8859-4 +latvian.ct text encoding=ISO-8859-4 +lithuanian.ct text encoding=ISO-8859-4 + +# ISO-8859-5 +# +bulgarian.ct text encoding=ISO-8859-5 +macedonian.ct text encoding=ISO-8859-5 +serbian.ct text encoding=ISO-8859-5 +ukrainian.ct text encoding=ISO-8859-5 + +# Russian is stored as WINDOWS-1251 but used as Amiga-1251 +russian.ct text encoding=WINDOWS-1251 diff --git a/workbench/utilities/MultiView/catalogs/croatian.ct b/workbench/utilities/MultiView/catalogs/croatian.ct new file mode 100644 index 00000000000..a7fcf2c3033 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/croatian.ct @@ -0,0 +1,209 @@ +## version $VER: multiview.catalog 2.0 (30.03.2016) +## language hrvatski +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Ne mogu otvoriti %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Ne mogu otvoriti objekte međupovezivanja! +; Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Ne mogu zaključati javni ekran! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Ne mogu dobiti DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Ne mogu dobiti VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Ne mogu stvoriti SYSICLASS slike! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Ne mogu stvoriti gadgete! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Ne mogu stvoriti izbornike! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Ne mogu stvoriti prozor! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Ne mogu otvoriti port za poruke! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Ne mogu unaprijediti prozor u AppWindow! +; Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +Neuspjeh pri spremanju u datoteku! +; Saving to file failed! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otvori... +; O\0Open... +; +MSG_MEN_PROJECT_EXPORT +A\0Spremi kao... +; A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Spremi kao IFF... +; I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Ispis +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O Programu... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Izlaz +; Q\0Quit +; +MSG_MEN_EDIT +Uredi +; Edit +; +MSG_MEN_EDIT_MARK +B\0Označi +; B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Kopiraj +; C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Izaberi Sve +; [\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Ukloni Oznaku Selekcije +; ]\0Clear Selected +; +MSG_MEN_WINDOW +Prozor +; Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0UKoristi Odvojeni Ekran +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Smanji +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normalno +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Povečaj +; \0Maximize +; +MSG_MEN_SETTINGS +Opcije +; Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Spremi kao Postavljeno +; D\0Save As Defaults +; +MSG_MEN_PICT +Slika +; Picture +; +MSG_MEN_PICT_ZOOM_IN + \0Povečaj +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Smanji +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0 Vrati u Početnu Veličinu +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Popuni Prozor +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Zadrži Omjer Širine i Visine +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Prisili Mapiranje Palete +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Dithering +; \0Dithering +; +MSG_MEN_TEXT +Tekst +; Text +; +MSG_MEN_TEXT_WORDWRAP + \0Omoguči Word Wrap +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Traži... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Traži nazad +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Traži naprijed +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Izaberite Datoteku koju Želite Otvoriti +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Izaberite Datoteku u koju Želite Spremiti +; Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +Multipreglednik +; MultiView +; +MSG_CONTINUE +Nastavi +; Continue +; +MSG_OK +U redu +; Ok +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/MultiView/catalogs/czech.ct b/workbench/utilities/MultiView/catalogs/czech.ct new file mode 100644 index 00000000000..bcf9baa8e62 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/czech.ct @@ -0,0 +1,209 @@ +## version $VER: Multiview.catalog 1.1 (28.1.2010) +## language czech +## codeset 5 +; +; +MSG_CANT_OPEN_LIB +Nelze otevřít knihovnu %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Nelze vytvořit požadované objekty! +; Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Nelze zamknout veřejnou obrazovku! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nelze načíst strukturu DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nelze načíst strukturu VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Nelze vytvořit obrázky třídy SysIClass! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Nelze vytvořit tlačítka! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nelze vytvořit menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nelze vytvořit okno! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Nelze vytvořit message port! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Nelze nastavit okno typu AppWindow! +; Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +Chyba při ukládání souboru! +; Saving to file failed! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otevřít... +; O\0Open... +; +MSG_MEN_PROJECT_EXPORT +A\0Uložit jako... +; A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Uložit jako IFF... +; I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Tisknout +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O programu... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Ukončit +; Q\0Quit +; +MSG_MEN_EDIT +Úpravy +; Edit +; +MSG_MEN_EDIT_MARK +B\0Označit +; B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Zkopírovat +; C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Označit vše +; [\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Zrušit označení +; ]\0Clear Selected +; +MSG_MEN_WINDOW +Okno +; Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Použít vlastní obrazovku +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimalizovat +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normální velikost +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maximalizovat +; \0Maximize +; +MSG_MEN_SETTINGS +Nastavení +; Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Uložit jako výchozí +; D\0Save As Defaults +; +MSG_MEN_PICT +Obrázek +; Picture +; +MSG_MEN_PICT_ZOOM_IN + \0Zvětšit +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Zmenšit +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Výchozí velikost +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Velikost dle okna +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Dodržet poměr stran +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Upravit v rámci palety +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Vylepšit přechody barev +; \0Dithering +; +MSG_MEN_TEXT +Text +; Text +; +MSG_MEN_TEXT_WORDWRAP + \0Zapnout zalomení textu +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Hledat... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Hledat předchozí +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Hledat další +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Otevření souboru +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Uložení souboru +; Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; MultiView +; +MSG_CONTINUE +OK +; Continue +; +MSG_OK +OK +; Ok +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/MultiView/catalogs/finnish.ct b/workbench/utilities/MultiView/catalogs/finnish.ct new file mode 100644 index 00000000000..97520e8f73b --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/finnish.ct @@ -0,0 +1,144 @@ +## version $VER: multiview.catalog 1.0 (18.10.2000) +## codeset 0 +## language suomi +; +MSG_CANT_OPEN_LIB +En voi avata %s V%ld!\n +; +MSG_CANT_CREATE_IC +En voi luoda yhteysobjekteja! +; +MSG_CANT_LOCK_SCR +En voi lukita julkista näyttöä! +; +MSG_CANT_GET_DRI +En saa DrawInfo:a! +; +MSG_CANT_GET_VI +En saa VisualInfo:a! +; +MSG_CANT_CREATE_SYSIMAGE +En voi luoda SYSICLASS kuvia! +; +MSG_CANT_CREATE_GADGET +En voi luoda nappeja! +; +MSG_CANT_CREATE_MENUS +En voi luoda valikkoja! +; +MSG_CANT_CREATE_WIN +En voi luoda ikkunaa! +; +MSG_SAVE_FAILED +Tiedostoon tallennus epäonnistui! +; +MSG_MEN_PROJECT +Projekti +; +MSG_MEN_PROJECT_OPEN +O\0Avaa... +; +MSG_MEN_PROJECT_EXPORT +A\0Tallenna nimellä... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\OTallenna IFF:nä... +MSG_MEN_PROJECT_PRINT +P\0Tulosta +; +MSG_MEN_PROJECT_ABOUT +?\0Tietoa... +; +MSG_MEN_PROJECT_QUIT +Q\0Lopeta +; +MSG_MEN_EDIT +Muokkaus +; +MSG_MEN_EDIT_MARK +M\0Merkitse +; +MSG_MEN_EDIT_COPY +C\0Kopioi +; +MSG_MEN_EDIT_SELECTALL +[\0Valitse kaikki +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Poista valinnat +; +MSG_MEN_WINDOW +Ikkuna +; +MSG_MEN_WINDOW_SEPSCREEN + \0Käytä erillistä näyttöä? +; +MSG_MEN_WINDOW_MINIMIZE + \0Pienennä +; +MSG_MEN_WINDOW_NORMAL + \0Normaali +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maksimoi +; +MSG_MEN_SETTINGS +Asetukset +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Tallenna oletuksiksi +; +MSG_MEN_PICT +Kuva +; +MSG_MEN_PICT_ZOOM_IN + \0Lähennä +; +MSG_MEN_PICT_ZOOM_OUT + \0Loitonna +; +MSG_MEN_PICT_RESET + \0Palauta koko +; +MSG_MEN_PICT_FIT_WIN + \0Mahduta ikkunaan +; +MSG_MEN_PICT_KEEP_ASPECT + \0Pidä muoto +; +MSG_MEN_PICT_FORCE_MAP + \0Pakota paletin kartoitus +; +MSG_MEN_TEXT +Teksti +; +MSG_MEN_TEXT_WORDWRAP + \0Salli rivin vaihto +; +MSG_MEN_TEXT_SEARCH + \0Etsi... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Etsi edellinen +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Etsi seuraava +; +MSG_ASL_OPEN_TITLE +Valitse avattava tiedosto +; +MSG_ASL_SAVE_TITLE +Valitse tallennuskohde +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; +MSG_CONTINUE +Jatka +; +MSG_OK +Selvä +; diff --git a/workbench/utilities/MultiView/catalogs/french.ct b/workbench/utilities/MultiView/catalogs/french.ct new file mode 100644 index 00000000000..a72bfd98055 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/french.ct @@ -0,0 +1,159 @@ +## version $VER: multiview.catalog 2.1 (31.3.2019) +## codeset 0 +## language français +; +MSG_CANT_OPEN_LIB +Impossible d'ouvrir %s V%ld !\n +; +MSG_CANT_CREATE_IC +Impossible de créer les objets d'interconnexion ! +; +MSG_CANT_LOCK_SCR +Impossible de verrouiller l'écran public ! +; +MSG_CANT_GET_DRI +Impossible d'obtenir la structure DrawInfo ! +; +MSG_CANT_GET_VI +Impossible de créer la structure VisualInfo ! +; +MSG_CANT_CREATE_SYSIMAGE +Impossible de créer les images SYSICLASS ! +; +MSG_CANT_CREATE_GADGET +Impossible de créer les gadgets ! +; +MSG_CANT_CREATE_MENUS +Impossible de créer les menus ! +; +MSG_CANT_CREATE_WIN +Impossible de créer une fenêtre ! +; +MSG_CANT_CREATE_MSGPORT +Impossible de créer le port de messages ! +;Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Impossible de promouvoir la fenêtre en AppWindow ! +;Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +La sauvegarde a échoué ! +; +MSG_MEN_PROJECT +Projet +; +MSG_MEN_PROJECT_OPEN +O\0Ouvrir... +; +MSG_MEN_PROJECT_EXPORT +S\0Sauver sous... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Sauver en tant que IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimer +; +MSG_MEN_PROJECT_ABOUT +?\0À propos... +; +MSG_MEN_PROJECT_QUIT +Q\0Quitter +; +MSG_MEN_EDIT +Édition +; +MSG_MEN_EDIT_MARK +B\0Marquer +; +MSG_MEN_EDIT_COPY +C\0Copier +; +MSG_MEN_EDIT_SELECTALL +A\0Tout sélectionner +; +MSG_MEN_EDIT_CLEARSELECTED +H\0Annuler la sélection +; +MSG_MEN_WINDOW +Fenêtre +; +MSG_MEN_WINDOW_SEPSCREEN +F\0Plein écran +; +MSG_MEN_WINDOW_MINIMIZE +I\0Diminuer +; +MSG_MEN_WINDOW_NORMAL +N\0Normale +; +MSG_MEN_WINDOW_MAXIMIZE +U\0Agrandir +; +MSG_MEN_SETTINGS +Configuration +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Sauver comme configuration par défaut +; +MSG_MEN_PICT +Image +; +MSG_MEN_PICT_ZOOM_IN ++\0Zoom + +; +MSG_MEN_PICT_ZOOM_OUT +-\0Zoom - +; +MSG_MEN_PICT_RESET +Z\0Taille par défaut +; +MSG_MEN_PICT_FIT_WIN +T\0Correspondre à la fenêtre +; +MSG_MEN_PICT_KEEP_ASPECT +E\0Conserver l'aspect +; +MSG_MEN_PICT_FORCE_MAP +G\0Forcer la palette +; +MSG_MEN_PICT_DITHER +L\0Lissage +; +MSG_MEN_TEXT +Texte +; +MSG_MEN_TEXT_WORDWRAP +W\0Réarranger +; +MSG_MEN_TEXT_SEARCH +S\0Chercher... +; +MSG_MEN_TEXT_SEARCH_PREV +H\0Chercher précédent +; +MSG_MEN_TEXT_SEARCH_NEXT +J\0Chercher suivant +; +MSG_ASL_OPEN_TITLE +Ouvrir le fichier +; +MSG_ASL_SAVE_TITLE +Sauver le fichier +; +MSG_ABOUT +MultiView %ld.%ld (%s)\n\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView - L'afficheur universel +; +MSG_CONTINUE +Continuer +; +MSG_OK +Ok +; +MSG_SHORTCUT_EDITOR +E +; diff --git a/workbench/utilities/MultiView/catalogs/german.ct b/workbench/utilities/MultiView/catalogs/german.ct new file mode 100644 index 00000000000..6ac29f6c38f --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/german.ct @@ -0,0 +1,209 @@ +## version $VER: multiview.catalog 2.0 (30.03.2016) +## language deutsch +## codeset 0 +; +; +MSG_CANT_OPEN_LIB +Kann %s V%ld nicht öffnen!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Kann Interconnection Objekte nicht erzeugen! +; Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Kann public Screen nicht locken! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kann DrawInfo nicht ermitteln! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kann VisualInfo nicht ermitteln! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kann SYSICLASS Images nicht erzeugen! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Kann Gadgets nicht erzeugen! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kann Menus nicht erzeugen! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kann Fenster nicht erzeugen! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Kann Message-Port nicht erzeugen! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Kann Fenster nicht zum AppWindow befördern! +; Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +Datei speichern fehlgeschlagen! +; Saving to file failed! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Öffnen ... +; O\0Open... +; +MSG_MEN_PROJECT_EXPORT +A\0Speichern als ... +; A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Speichern als IFF... +; I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Drucken +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Über ... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Beenden +; Q\0Quit +; +MSG_MEN_EDIT +Bearbeiten +; Edit +; +MSG_MEN_EDIT_MARK +B\0Markieren +; B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Kopieren +; C\0Copy +; +MSG_MEN_EDIT_SELECTALL +L\0Alles auswählen +; [\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +H\0Auswahl löschen +; ]\0Clear Selected +; +MSG_MEN_WINDOW +Fenster +; Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Eigenen Schirm öffnen +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimal +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normal +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maximal +; \0Maximize +; +MSG_MEN_SETTINGS +Einstellungen +; Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Als Vorgabe speichern +; D\0Save As Defaults +; +MSG_MEN_PICT +Bild +; Picture +; +MSG_MEN_PICT_ZOOM_IN +Z\0Hereinzoomen +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Herauszoomen +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Orginalgröße +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Auf Fenstergröße +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Festes Seitenverhältnis +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Farbpalette benutzen +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Dithering +; \0Dithering +; +MSG_MEN_TEXT +Text +; Text +; +MSG_MEN_TEXT_WORDWRAP + \0Wortumbruch einschalten +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Suchen nach... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Vorheriges suchen +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Nächstes suchen +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Eingabedatei auswählen +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Ausgabedatei auswählen +; Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +; +MSG_ABOUT_TITLE +MultiView - Universelles Anzeigeprogramm +; MultiView +; +MSG_CONTINUE +Weiter +; Continue +; +MSG_OK +Ok +; Ok +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/MultiView/catalogs/italian.ct b/workbench/utilities/MultiView/catalogs/italian.ct new file mode 100644 index 00000000000..31a42409c36 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/italian.ct @@ -0,0 +1,148 @@ +## version $VER: multiview.catalog 1.0 (23.09.2000) +## codeset 0 +## language italiano +; +MSG_CANT_OPEN_LIB +Impossibile aprire %s V%ld!\n +; +MSG_CANT_CREATE_IC +Impossibile creare oggetti di interconnessione! +; +MSG_CANT_LOCK_SCR +Impossibile lockare il public screen! +; +MSG_CANT_GET_DRI +Impossibile ottenere la DrawInfo! +; +MSG_CANT_GET_VI +Impossibile ottenere la VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Impossibile creare le immagini di sistema! +; +MSG_CANT_CREATE_GADGET +Impossibilie creare i gadgets! +; +MSG_CANT_CREATE_MENUS +Impossibile creare i menu! +; +MSG_CANT_CREATE_WIN +Impossibile creare la finestra! +; +MSG_SAVE_FAILED +Salvataggio fallito! +; +MSG_MEN_PROJECT +Progetto +; +MSG_MEN_PROJECT_OPEN +O\0Apri... +; +MSG_MEN_PROJECT_EXPORT +A\0Salva come... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Salva come IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Stampa +; +MSG_MEN_PROJECT_ABOUT +?\0Informazioni... +; +MSG_MEN_PROJECT_QUIT +Q\0Esci +; +MSG_MEN_EDIT +Modifica +; +MSG_MEN_EDIT_MARK +M\0Marca +; +MSG_MEN_EDIT_COPY +C\0Copia +; +MSG_MEN_EDIT_SELECTALL +S\0Seleziona tutto +; +MSG_MEN_EDIT_CLEARSELECTED +Z\0Annulla selezione +; +MSG_MEN_WINDOW +Finestra +; +MSG_MEN_WINDOW_SEPSCREEN + \0Usa schermo autonomo +; +MSG_MEN_WINDOW_MINIMIZE + \0Dimensione minima +; +MSG_MEN_WINDOW_NORMAL + \0Dimensione normale +; +MSG_MEN_WINDOW_MAXIMIZE + \0Dimensione massima +; +MSG_MEN_SETTINGS +Impostazioni +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Salva come predefinite +; +MSG_MEN_PICT +Immagine +; +MSG_MEN_PICT_ZOOM_IN +Z\0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Zoom Out +; +MSG_MEN_PICT_RESET + \0Ripristina originale +; +MSG_MEN_PICT_FIT_WIN + \0Grandezza finestra +; +MSG_MEN_PICT_KEEP_ASPECT + \0Mantieni proporzioni +; +MSG_MEN_PICT_FORCE_MAP + \0Forza colori +; +MSG_MEN_PICT_DITHER + \0Dithering +; +MSG_MEN_TEXT +Testo +; +MSG_MEN_TEXT_WORDWRAP + \0A capo automatico +; +MSG_MEN_TEXT_SEARCH + \0Cerca testo... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Occorrenza precedente +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Occorrenza successiva +; +MSG_ASL_OPEN_TITLE +Scegli fila da caricare +; +MSG_ASL_SAVE_TITLE +Scegli file in cui salvare +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; +MSG_CONTINUE +Continua +; +MSG_OK +Ok +; diff --git a/workbench/utilities/MultiView/catalogs/mmakefile.src b/workbench/utilities/MultiView/catalogs/mmakefile.src new file mode 100644 index 00000000000..8cbe5ea6939 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/mmakefile.src @@ -0,0 +1,11 @@ +# Copyright 2019, The AROS Development Team. All rights reserved. +# $Id$ + +include $(SRCDIR)/config/aros.cfg + +CATALOGS:=croatian czech german polish french norwegian +# other catalogs need update to version 2 + +%build_catalogs mmake=workbench-utilities-multiview-catalogs \ + catalogs=$(CATALOGS) \ + name=MultiView subdir=System/Utilities diff --git a/workbench/utilities/MultiView/catalogs/multiview.cd b/workbench/utilities/MultiView/catalogs/multiview.cd new file mode 100644 index 00000000000..ba5614d1ac4 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/multiview.cd @@ -0,0 +1,154 @@ +; +MSG_CANT_OPEN_LIB (//) +Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC (//) +Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR (//) +Can't lock public screen! +; +MSG_CANT_GET_DRI (//) +Can't get DrawInfo! +; +MSG_CANT_GET_VI (//) +Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE (//) +Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET (//) +Can't create gadgets! +; +MSG_CANT_CREATE_MENUS (//) +Can't create menus! +; +MSG_CANT_CREATE_WIN (//) +Can't create window! +; +MSG_CANT_CREATE_MSGPORT (//) +Can't create message port! +; +MSG_CANT_ADD_APPWINDOW (//) +Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED (//) +Saving to file failed! +; +MSG_MEN_PROJECT (//) +Project +; +MSG_MEN_PROJECT_OPEN (//) +O\0Open... +; +MSG_MEN_PROJECT_EXPORT (//) +A\0Export... +; +MSG_MEN_PROJECT_SAVEAS_IFF (//) +I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT (//) +P\0Print +; +MSG_MEN_PROJECT_ABOUT (//) +?\0About... +; +MSG_MEN_PROJECT_QUIT (//) +Q\0Quit +; +MSG_MEN_EDIT (//) +Edit +; +MSG_MEN_EDIT_MARK (//) +B\0Mark +; +MSG_MEN_EDIT_COPY (//) +C\0Copy +; +MSG_MEN_EDIT_SELECTALL (//) +[\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED (//) +]\0Clear Selected +; +MSG_MEN_WINDOW (//) +Window +; +MSG_MEN_WINDOW_SEPSCREEN (//) + \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE (//) + \0Minimize +; +MSG_MEN_WINDOW_NORMAL (//) + \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE (//) + \0Maximize +; +MSG_MEN_SETTINGS (//) +Settings +; +MSG_MEN_SETTINGS_SAVEDEF (//) +D\0Save As Defaults +; +MSG_MEN_PICT (//) +Picture +; +MSG_MEN_PICT_ZOOM_IN (//) + \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT (//) + \0Zoom out +; +MSG_MEN_PICT_RESET (//) + \0Reset Size +; +MSG_MEN_PICT_FIT_WIN (//) + \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT (//) + \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP (//) + \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER (//) + \0Dithering +; +MSG_MEN_TEXT (//) +Text +; +MSG_MEN_TEXT_WORDWRAP (//) + \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH (//) + \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV (//) + \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT (//) + \0Search for next +; +MSG_ASL_OPEN_TITLE (//) +Select File to Open +; +MSG_ASL_SAVE_TITLE (//) +Select File to Save to +; +MSG_ABOUT (//) + +; +MSG_ABOUT_TITLE (//) +MultiView +; +MSG_CONTINUE (//) +Continue +; +MSG_OK (//) +Ok +; +MSG_SHORTCUT_EDITOR (//) +E +; diff --git a/workbench/utilities/MultiView/catalogs/norwegian.ct b/workbench/utilities/MultiView/catalogs/norwegian.ct new file mode 100644 index 00000000000..a4496bb8900 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/norwegian.ct @@ -0,0 +1,209 @@ +## version $VER: multiview.catalog 2.0 (21.07.2019) +## codeset 0 +## language norsk +; +; +MSG_CANT_OPEN_LIB +Kan ikke åpne %s V%ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Kan ikke lage sammenkoblingsobjekt! +; Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Kan ikke låse offentlig skjerm! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Kan ikke hente DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Kan ikke hente VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kan ikke lage SYSICLASS-bilder! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Kan ikke lage knapper! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Kan ikke lage menyer! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Kan ikke åpne vinduet! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Kan ikke opprette meldings porten! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Kan ikke omvandle vinduet til et applikasjons vindu! +; Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +Feilet under lagring til fil! +; Saving to file failed! +; +MSG_MEN_PROJECT +Prosjekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Åpne... +; O\0Open... +; +MSG_MEN_PROJECT_EXPORT +A\0Lagre som... +; A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Lagre som IFF... +; I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Skriv ut +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Om... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Avslutt +; Q\0Quit +; +MSG_MEN_EDIT +Rediger +; Edit +; +MSG_MEN_EDIT_MARK +M\0Marker +; B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Kopier +; C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Merk alt +; [\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Fjern merking +; ]\0Clear Selected +; +MSG_MEN_WINDOW +Vindu +; Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Bruk separat skjerm? +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimer +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normal +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maksimer +; \0Maximize +; +MSG_MEN_SETTINGS +Innstillninger +; Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Lagre som standardverdier +; D\0Save As Defaults +; +MSG_MEN_PICT +Bilde +; Picture +; +MSG_MEN_PICT_ZOOM_IN +Z\0Zoom inn +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Zoom ut +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Orginalstørrelse +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Juster til vindu +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Behold størrelsesforholdet +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Benytt fargepalette +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Utjamning +; \0Dithering +; +MSG_MEN_TEXT +Tekst +; Text +; +MSG_MEN_TEXT_WORDWRAP + \0Skru på tekstbrytning +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Søk for... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Søk etter forrige +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Søk etter neste +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Velg fil å åpne +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Velg fil å lagre til +; Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +; +MSG_ABOUT_TITLE +MultiView +; MultiView +; +MSG_CONTINUE +Fortsett +; Continue +; +MSG_OK +OK +; Ok +; +MSG_SHORTCUT_EDITOR +E +; E +; \ No newline at end of file diff --git a/workbench/utilities/MultiView/catalogs/polish.ct b/workbench/utilities/MultiView/catalogs/polish.ct new file mode 100644 index 00000000000..d42f62ae9c6 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/polish.ct @@ -0,0 +1,208 @@ +## version $VER: multiview.catalog 2.0 (30.03.2016) +## language polski +## codeset 5 +; +MSG_CANT_OPEN_LIB +Nie można otworzyć %s w wersji %ld!\n +; Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Nie można utworzyć połączonych wewnętrznie obiektów! +; Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Nie można uzyskać dostępu do ekranu! +; Can't lock public screen! +; +MSG_CANT_GET_DRI +Nie można pobrać DrawInfo! +; Can't get DrawInfo! +; +MSG_CANT_GET_VI +Nie można pobrać VisualInfo! +; Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Nie można utowrzyć obrazów SYSICLASS! +; Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Nie można utworzyć gadżetów! +; Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Nie można utowrzyć menu! +; Can't create menus! +; +MSG_CANT_CREATE_WIN +Nie można utworzyć okna! +; Can't create window! +; +MSG_CANT_CREATE_MSGPORT +Nie można utworzyć portu wiadomości! +; Can't create message port! +; +MSG_CANT_ADD_APPWINDOW +Nie można wypromować okna jako okno AppWindow! +; Can't promote window as an AppWindow! +; +MSG_SAVE_FAILED +Zapis pliku zakończony błędem! +; Saving to file failed! +; +MSG_MEN_PROJECT +Projekt +; Project +; +MSG_MEN_PROJECT_OPEN +O\0Otwórz... +; O\0Open... +; +MSG_MEN_PROJECT_EXPORT +A\0Zapisz jako... +; A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Zapisz plik jako IFF... +; I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Drukuj +; P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0O programie... +; ?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Skończ +; Q\0Quit +; +MSG_MEN_EDIT +Edycja +; Edit +; +MSG_MEN_EDIT_MARK +B\0Zaznacz +; B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Skopiuj +; C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Zaznacz wszystko +; [\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Usuń zaznaczenie +; ]\0Clear Selected +; +MSG_MEN_WINDOW +Okno +; Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Użyj osobnego ekranu +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimalizuj +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normalny +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maksymalizuj +; \0Maximize +; +MSG_MEN_SETTINGS +Ustawienia +; Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Zapisz jako domyślne +; D\0Save As Defaults +; +MSG_MEN_PICT +Obrazek +; Picture +; +MSG_MEN_PICT_ZOOM_IN + \0Powiększ +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Oddal +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Przywróć rozmiar +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Dopasowanie do rozmiaru okna +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Zachowaj proporcje +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Wymuszone mapowanie palety +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Rozproszenie +; \0Dithering +; +MSG_MEN_TEXT +Tekst +; Text +; +MSG_MEN_TEXT_WORDWRAP + \0Zawijanie wierszy +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Szukaj... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Wyszukaj poprzednie +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Wyszukaj następne +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Wybierz plik do otworzenia +; Select File to Open +; +MSG_ASL_SAVE_TITLE +Zapisz plik jako +; Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; MultiView +; +MSG_CONTINUE +Kontynuuj +; Continue +; +MSG_OK +OK +; Ok +; +MSG_SHORTCUT_EDITOR +E +; E +; diff --git a/workbench/utilities/MultiView/catalogs/portuguese.ct b/workbench/utilities/MultiView/catalogs/portuguese.ct new file mode 100644 index 00000000000..cfe4a6391c7 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/portuguese.ct @@ -0,0 +1,195 @@ +## version $VER: multiview.catalog 1.0 (13.08.2008) +## codeset 0 +## language português +; +; Translated by João Ralha (hardwired) +; +; +MSG_CANT_OPEN_LIB +Não conseguiu abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +Não foi possível criar os objetos de interconexão! +;Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +Não é possível bloquear\no écran público! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Não foi possível obter DrawInfo! +; +MSG_CANT_GET_VI +Não foi possível obter VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Não foi possível criar as imagens SYSICLASS! +;Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +Não foi possível criar os botões! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +Não foi possível criar os menus! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +Não foi possível criar a janela! +;Can't create window! +; +MSG_SAVE_FAILED +Guardar para ficheiro falhou! +;Saving to file failed! +; +MSG_MEN_PROJECT +Projecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_EXPORT +G\0Guardar como... +;A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Guardar como IFF... +;I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimir +;P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Sobre... +;?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Sair +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_MARK +M\0Marcar +;B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Copiar +;C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Selecionar todos +;[\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Limpar a selecção +;]\0Clear Selected +; +MSG_MEN_WINDOW +Janela +;Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Usar écran próprio +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimizar +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normal +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maximizar +; \0Maximize +; +MSG_MEN_SETTINGS +Configurações +;Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Guardar como defeito +;D\0Save As Defaults +; +MSG_MEN_PICT +Imagem +;Picture +; +MSG_MEN_PICT_ZOOM_IN + \0Aproximar +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Afastar +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Al Tamanho Original +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Ajustar à janela +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Conservar as proporções +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Forçar mapeamento de cores +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Dithering +; +MSG_MEN_TEXT +Texto +;Text +; +MSG_MEN_TEXT_WORDWRAP + \0Permitir quebra de frase +; \0Ajustar a la ventana +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Localizar... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Localizar ant. +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Localizar seg. +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Selecionar ficheiro para Abrir +;Select File to Open +; +MSG_ASL_SAVE_TITLE +Selecionar ficheiro para guardar +;Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; +MSG_CONTINUE +Continuar +;Continue +; +MSG_OK +Aceitar +;Ok +; \ No newline at end of file diff --git a/workbench/utilities/MultiView/catalogs/russian.ct b/workbench/utilities/MultiView/catalogs/russian.ct new file mode 100644 index 00000000000..ad57977128d --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/russian.ct @@ -0,0 +1,148 @@ +## version $VER: multiview.catalog 1.0 (13.08.2006) +## codeset 2104 +## language russian +; +MSG_CANT_OPEN_LIB +Не могу открыть %s V%ld +; +MSG_CANT_CREATE_IC +Не могу создать объекты связи! +; +MSG_CANT_LOCK_SCR +Не могу занять общий экран! +; +MSG_CANT_GET_DRI +Не могу получить DrawInfo! +; +MSG_CANT_GET_VI +Не могу получить VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Не могу создать изображения SYSICLASS! +; +MSG_CANT_CREATE_GADGET +Не могу создать гр. элементы! +; +MSG_CANT_CREATE_MENUS +Не могу создать меню! +; +MSG_CANT_CREATE_WIN +Не могу создать окно! +; +MSG_SAVE_FAILED +Ошибка сохранения в файл! +; +MSG_MEN_PROJECT +Проект +; +MSG_MEN_PROJECT_OPEN +O\0Открыть ... +; +MSG_MEN_PROJECT_EXPORT +A\0Сохранить как ... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Сохранить как IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Печать +; +MSG_MEN_PROJECT_ABOUT +?\0О программе ... +; +MSG_MEN_PROJECT_QUIT +Q\0Выход +; +MSG_MEN_EDIT +Правка +; +MSG_MEN_EDIT_MARK +B\0Отметить +; +MSG_MEN_EDIT_COPY +C\0Копировать +; +MSG_MEN_EDIT_SELECTALL +L\0Отметить всё +; +MSG_MEN_EDIT_CLEARSELECTED +H\0Очистить выделение +; +MSG_MEN_WINDOW +Окно +; +MSG_MEN_WINDOW_SEPSCREEN + \0Разделить экран +; +MSG_MEN_WINDOW_MINIMIZE + \0Минимум +; +MSG_MEN_WINDOW_NORMAL + \0Норма +; +MSG_MEN_WINDOW_MAXIMIZE + \0Максимум +; +MSG_MEN_SETTINGS +Настройки +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Сохранить по умолчанию +; +MSG_MEN_PICT +Изображение +; +MSG_MEN_PICT_ZOOM_IN +Z\0Увеличить +; +MSG_MEN_PICT_ZOOM_OUT + \0Уменьшить +; +MSG_MEN_PICT_RESET + \0Изначальный размер +; +MSG_MEN_PICT_FIT_WIN + \0По размеру окна +; +MSG_MEN_PICT_KEEP_ASPECT + \0Сохранять пропорции +; +MSG_MEN_PICT_FORCE_MAP + \0Force Palette mapping +; +MSG_MEN_PICT_DITHER + \0Dithering +; +MSG_MEN_TEXT +Текст +; +MSG_MEN_TEXT_WORDWRAP + \0Перенос строк +; +MSG_MEN_TEXT_SEARCH + \0Поиск ... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Искать ранее +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Искать далее +; +MSG_ASL_OPEN_TITLE +Выберите файл для открытия +; +MSG_ASL_SAVE_TITLE +Выберите файл для сохранения +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView - Универсальный просмотрщик +; +MSG_CONTINUE +Далее +; +MSG_OK +Ok +; diff --git a/workbench/utilities/MultiView/catalogs/spanish.ct b/workbench/utilities/MultiView/catalogs/spanish.ct new file mode 100644 index 00000000000..4d75c5ce310 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/spanish.ct @@ -0,0 +1,197 @@ +## version $VER: multiview.catalog 1.0 (13.08.2006) +## codeset 0 +## language español +; +; Translated by ahg - (30.09.2007) +; +; FIXME : Revisar las trad. de dithering, wordwarp, +; forcemapping +; +MSG_CANT_OPEN_LIB +¡No se pudo abrir %s V%ld!\n +;Can't open %s V%ld!\n +; +MSG_CANT_CREATE_IC +¡No se pudieron crear los objetos de interconexión! +;Can't create interconnection objects! +; +MSG_CANT_LOCK_SCR +¡No se pudo bloquear la pantalla pública! +;Can't lock public screen! +; +MSG_CANT_GET_DRI +Can't get DrawInfo! +; +MSG_CANT_GET_VI +Can't get VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +¡No se pudieron crear las imágenes SYSICLASS! +;Can't create SYSICLASS images! +; +MSG_CANT_CREATE_GADGET +¡No se pudieron crear los gadgets! +;Can't create gadgets! +; +MSG_CANT_CREATE_MENUS +¡No se pudieron crear los menús! +;Can't create menus! +; +MSG_CANT_CREATE_WIN +¡No se pudo crear la ventana! +;Can't create window! +; +MSG_SAVE_FAILED +¡El guardar falló! +;Saving to file failed! +; +MSG_MEN_PROJECT +Proyecto +;Project +; +MSG_MEN_PROJECT_OPEN +A\0Abrir... +;O\0Open... +; +MSG_MEN_PROJECT_EXPORT +G\0Guardar como... +;A\0Save as... +; +MSG_MEN_PROJECT_SAVEAS_IFF +I\0Guardar como IFF... +;I\0Save as IFF... +; +MSG_MEN_PROJECT_PRINT +P\0Imprimir +;P\0Print +; +MSG_MEN_PROJECT_ABOUT +?\0Acerca de ... +;?\0About... +; +MSG_MEN_PROJECT_QUIT +Q\0Salir +;Q\0Quit +; +MSG_MEN_EDIT +Editar +;Edit +; +MSG_MEN_EDIT_MARK +M\0Marcar +;B\0Mark +; +MSG_MEN_EDIT_COPY +C\0Copiar +;C\0Copy +; +MSG_MEN_EDIT_SELECTALL +[\0Elegir a Todos +;[\0Select All +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Quitar la selección +;]\0Clear Selected +; +MSG_MEN_WINDOW +Ventana +;Window +; +MSG_MEN_WINDOW_SEPSCREEN + \0Usar una Pantalla propia +; \0Use Separate Screen +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimizar +; \0Minimize +; +MSG_MEN_WINDOW_NORMAL + \0Normal +; \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maximizar +; \0Maximize +; +MSG_MEN_SETTINGS +Configuraciones +;Settings +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Guardar como Predet. +;D\0Save As Defaults +; +MSG_MEN_PICT +Imagen +;Picture +; +MSG_MEN_PICT_ZOOM_IN + \0Acercar +; \0Zoom in +; +MSG_MEN_PICT_ZOOM_OUT + \0Alejar +; \0Zoom out +; +MSG_MEN_PICT_RESET + \0Al Tamaño Original +; \0Reset Size +; +MSG_MEN_PICT_FIT_WIN + \0Ajustar a la Ventana +; \0Fit to Window +; +MSG_MEN_PICT_KEEP_ASPECT + \0Conservar las proporciones +; \0Keep Aspect Ratio +; +MSG_MEN_PICT_FORCE_MAP + \0Conversión de colores forzada +; \0Force Palette Mapping +; +MSG_MEN_PICT_DITHER + \0Dithering +; +MSG_MEN_TEXT +Texto +;Text +; +MSG_MEN_TEXT_WORDWRAP + \0Cortar los renglones +; \0Ajustar a la ventana +; \0Enable Word Wrap +; +MSG_MEN_TEXT_SEARCH + \0Buscar por... +; \0Search for... +; +MSG_MEN_TEXT_SEARCH_PREV + \0Buscar por el ant. +; \0Search for previous +; +MSG_MEN_TEXT_SEARCH_NEXT + \0Buscar por el sig. +; \0Search for next +; +MSG_ASL_OPEN_TITLE +Elegir el Archivo para Abrir +;Select File to Open +; +MSG_ASL_SAVE_TITLE +Elegir el Archivo dónde Guardar +;Select File to Save to +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; +MSG_CONTINUE +Proseguir +;Continue +; +MSG_OK +Aceptar +;Ok +; diff --git a/workbench/utilities/MultiView/catalogs/swedish.ct b/workbench/utilities/MultiView/catalogs/swedish.ct new file mode 100644 index 00000000000..7fe21eb4099 --- /dev/null +++ b/workbench/utilities/MultiView/catalogs/swedish.ct @@ -0,0 +1,103 @@ +## version $VER: multiview.catalog 1.0 (18.10.2000) +## codeset 0 +## language svenska +; +MSG_CANT_OPEN_LIB +Kunde inte öppna %s V%ld!\n +; +MSG_CANT_CREATE_IC +Kunde inte skapa sammankopplingsobjekt! +; +MSG_CANT_LOCK_SCR +Kunde inte låse den publika skärmen! +; +MSG_CANT_GET_DRI +Kunde inte få DrawInfo! +; +MSG_CANT_GET_VI +Kunde inte få VisualInfo! +; +MSG_CANT_CREATE_SYSIMAGE +Kunde inte skapa SYSICLASS bilder! +; +MSG_CANT_CREATE_GADGET +Kunde inte skapa knappar! +; +MSG_CANT_CREATE_MENUS +Kunde inte skapa menyerna! +; +MSG_CANT_CREATE_WIN +Kunde inte öppna fönstret! +; +MSG_MEN_PROJECT +Arkiv +; +MSG_MEN_PROJECT_OPEN +O\0Öppna... +; +MSG_MEN_PROJECT_EXPORT +A\0Spara som... +; +MSG_MEN_PROJECT_PRINT +P\0Skriv ut +; +MSG_MEN_PROJECT_ABOUT +?\0Om... +; +MSG_MEN_PROJECT_QUIT +Q\0Avsluta +; +MSG_MEN_EDIT +Redigera +; +MSG_MEN_EDIT_MARK +M\0Markera +; +MSG_MEN_EDIT_COPY +C\0Kopiera +; +MSG_MEN_EDIT_SELECTALL +[\0Välj allt +; +MSG_MEN_EDIT_CLEARSELECTED +]\0Välj bort +; +MSG_MEN_WINDOW +Fönster +; +MSG_MEN_WINDOW_SEPSCREEN + \0Använd separat skärm? +; +MSG_MEN_WINDOW_MINIMIZE + \0Minimera +; +MSG_MEN_WINDOW_NORMAL + \0Normal +; +MSG_MEN_WINDOW_MAXIMIZE + \0Maximera +; +MSG_MEN_SETTINGS +Inställningar +; +MSG_MEN_SETTINGS_SAVEDEF +D\0Spara som standard +; +MSG_ASL_OPEN_TITLE +Välj fil att öppna +; +MSG_ASL_SAVE_TITLE +Välj fil att spara till +; +MSG_ABOUT +MultiView %ld.%ld (%s)\ndatatypes.library %s\n\n%s %s +; +MSG_ABOUT_TITLE +MultiView +; +MSG_CONTINUE +Fortsätt +; +MSG_OK +OK +;