[#1] wrapper do whdload
Na aminecie jest juz taki program, ale nie jest taki jaki bym chciał.
Najbardziej zbliżony do tego upragnionego szeroki uśmiech jest iconx.
Po małej modyfikacji iconx potrafi wykonać skrypt jaki ma zaszyty w sobie.
FailAt 100\nExecute \"%s\"\n

To źródła podobnego programu.
/*                                                                            */

/*----------------------------------------------------------------------------*/
/*                                                                            */
/*----------------------------------------------------------------------------*/

	#include <proto/exec.h>
	#include <proto/dos.h>
	#include <proto/icon.h>

	#include <dos/dostags.h>
	#include <workbench/startup.h>

	#include <stdlib.h>
	#include <stdio.h>

/*----------------------------------------------------------------------------*/
/*                                                                            */
/*----------------------------------------------------------------------------*/

	int main (int argc,struct WBStartup *wbmsg)

	{
	if (argc)
		{
		Printf ("This program cannot be run in DOS mode :-)\n");
		return (RETURN_ERROR);
		}

	if (wbmsg->sm_NumArgs > 1)
		{
		struct WBArg *wbarg = &wbmsg->sm_ArgList[1];
		BPTR oldcd = CurrentDir (wbarg->wa_Lock);
		struct DiskObject *dob = GetDiskObject (wbarg->wa_Name);
		char *win = "CON:0/50//80/NewIconX/AUTO";
		long stack = 4096;
		long delay = 3*TICKS_PER_SECOND;
		char cmd[256];
		BPTR out;

		if (dob)
			{
			char **tt = dob->do_ToolTypes;
			char *val;
			if (val = FindToolType (tt,"WINDOW"))
				win = val;
			if (val = FindToolType (tt,"STACK"))
				stack = atoi(val);
			if (val = FindToolType (tt,"WAIT"))
				delay = atoi(val) * TICKS_PER_SECOND;
			if (val = FindToolType (tt,"DELAY"))
				delay = atoi(val);
			}

		sprintf (cmd,"FailAt 100\nExecute \"%s\"\n",wbarg->wa_Name);

		out = Open (win,MODE_NEWFILE);

		if (stack < 1024) stack = 1024;

		SystemTags (cmd,
			SYS_Output,out,
			SYS_Input,0,
			NP_StackSize,stack,
			TAG_END);

		if (delay)
			Delay (delay);
		Close (out);

		if (dob)
			FreeDiskObject (dob);

		CurrentDir (oldcd);
		}

	return (RETURN_OK);
	}

/*----------------------------------------------------------------------------*/
/* Start from Workbench (Dice C only)                                         */
/*----------------------------------------------------------------------------*/
#ifdef _DCC
	int wbmain (struct WBStartup *wbmsg)

	{
	return (main (0,wbmsg));
	}
#endif
/*----------------------------------------------------------------------------*/
/*                                                                            */
/*----------------------------------------------------------------------------*/


Pod zmienna %s jest nazwa ikony w której jest wsadzony iconx

Czy jest możliwość tak zmodyfikowania tego programu aby pojawila sie zmienna która jest ścieżką dostępu do katalogu w jakim znajduje się ikona z iconx?

Jak ten program skompilowac na Mosie na m68k i ppc
Jak ma wyglądać makefile?

Ostatnia aktualizacja: 30.03.2017 20:17:36 przez Norbert

Ostatnia aktualizacja: 30.03.2017 20:18:34 przez Norbert
[#2] Re: wrapper do whdload

@Norbert, post #1

[#3] Re: wrapper do whdload

@Norbert, post #1

A co taki wrapper ma dokładnie robić?
[#4] Re: wrapper do whdload

@Krashan, post #3

Ma
- przygotować user - startup do uruchomienia gry whdload pod euae
- uruchomić euae i podmontowac katalog jako partycje z grą

Te dwie rzeczy mają być wykona jako skrypt, tak jak to zrobione jest w dołączonych źródłach iconx

Oczywiście potrzebny jest katalog jako partycja z minimalnym systemem pod emulator i euae.exe

W ten sposób nie jest potrzebny arexx czy dodatkowe skrypty, czy dodatkowa konfiguracja w MIME.
Zwykły dwuklik na ikonę whdload pod MOSem, OS4, Amithlon czy klasycznej Amidze spowoduje odpalenie euae i gry pod emulatorem
,
Mam już coś takiego przetestowane. Tylko brak tego programu.
Gdyby iconx udostępniał jeszcze ścieżkę dostępu to miałbym juz to gotowe do pokazania i udostępnienia.

Ostatnia aktualizacja: 31.03.2017 10:09:30 przez Norbert
[#5] Re: wrapper do whdload

@Norbert, post #4

IconX zmienia katalog bieżący na ten, w którym jest kliknięta ikona. Dlatego nie potrzebuje ścieżki. Ścieżkę oczywiście można "zorganizować" ale co z nią później zrobić?
[#6] Re: wrapper do whdload

@Krashan, post #5

A ja właśnie potrzebuje ścieżki dostępu do katalogu w jakim znajduje się ikona.
I dlatego iconx się nie nadaje.
Ale gdy udało ci się zorganizować ścieżkę, to wtedy juz z górki.
Jeszcze potrzebuje więcej miejsca na skrypt w programie jaki chce uruchomić. (analogicznie jak w podanych źródłach).
Euae ma możliwość podawania parametrów startowych w cli i właśnie po to potrzebuje ścieżkę.
Bez tego to nie zadziała.

Ostatnia aktualizacja: 31.03.2017 11:51:45 przez Norbert
[#7] Re: wrapper do whdload

@Norbert, post #4

Tutaj jest gotowe środowisko wykonywalne do odpalania whdload na podobnej zasadzie z uae4all/uae4arm/amiberry i emulationstation. Same binaria są amigowe, może da się je zmusić do współpracy z euae.

Ostatnia aktualizacja: 31.03.2017 16:21:18 przez mdx
[#8] Re: wrapper do whdload

@mdx, post #7

Binarki sie nie przydadzą, za to inne pliki tak.
[#9] Re: wrapper do whdload

@amilator, post #2

To jest podobne do źródeł umieszczonych wyżej.
Tylko z różnica ze jest pełną ścieżka dostępu do pliku/ikony, a nie nazwę pliku
Jak nalezaloby to zmodyfikować aby jako %s byla pelna ścieżka dostępu do katalogu w którym jest plik/ikona
[#10] Re: wrapper do whdload

@Norbert, post #9

pole wa_Lock zawiera lock do ikony, więc użycie funkcji dos.lib NameFromLock (coś w ten deseń) pozwoli na otrzymanie nazwy ikony ze pełną ścieżką.
[#11] Re: wrapper do whdload

@cholok, post #10

Pełną ścieżkę dostępu do ikonu juz mam .
Potrzebuje pełną ścieżkę do katalogu gdzie jest ikona.
[#12] Re: wrapper do whdload

@Norbert, post #11

No to trzeba usunąć z pełnej ścieżki nazwę pliku i ewentualnie /. Skopiować nazwę do jakiejś zmiennej i wyszukiwać od tyłu : i /. Wtedy wpisać 0 za : lub w miejsce /.
[#13] Re: wrapper do whdload

@cholok, post #12

Tak tez o tym myślałem.
Znając nazwę pliku, wiem ile to znaków i mogę o tyle skrócić pełną ścieżkę dostępu.
Tez powinno zadziałać.
[#14] Re: wrapper do whdload

@Norbert, post #13

Sprawdź funkcję PathPart()
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem