Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 01 Mar 2004 11:23:57

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Menukill

C' est un petit executable qui permet de tuer le menu, et de tomber ainsi sur minicmd!

Executable:
http://thunderboom.free.fr/menukill.exe

Fichier source:
http://thunderboom.free.fr/menukill.c

Fonctionnement:
D' abbord il faut savoir que l' execution d' un executable le fait charger en mémoire.

Au démarrage, si on simplifie, command.com est lancé, puis l' executable qui se charge du menu, launcher.exe il me semble.

Ca se fait par couche:

[COMMAND.COM]
[LAUNCHER.EXE]

command.com et launcher.exe utilise une fonction spécial d' execution, qui, lorsque l' executable désiré est chargé, stop leur execution pour passer le relais au processus enfant.
Si le processus enfant est quitté via l' interruption correspondante, le processus parent, dans la majorité des cas LAUNCHER.EXE (donc le menu principal) repprend la main.

Faut savoir aussi que l' execution du menu prend de la place, qui aurait pu par exemple ètre utilisée à d' autre fin, comme les programmes en limite de taille tel SCORCH sur G100+!

Maintenant, ce que j' ai fait:
J' ai utilisé une fonction(setclock), qui se charge d' attacher une fonction newint1C(), à l' interruption 1C ( appellée a peu près 50 fois par seconde).

Cette fonction, incrémente la variable clock, jusqu' a que celle ci atteigne 10, et alors appelle exit(0), qui quitte le programme courant.

En gros, ce qui se passe lors de l' execution du programme:
1- mettre en place de l' interruption ( programme courant: menukill.exe)
2- revenir au programme précédent
3- le menu principale de la G100 (programme courant: LAUNCHER.EXE)

Au bout des 10 appels de l' int 1C, bam!
exit() est appelée, et le programme courant, qui était LAUNCHER.EXE, est quitté, ce qui redonne l' execution à COMMAND.COM.
Pour éviter que ça le fasse tout le temps, l' interruption se désinstalle elle meme.

Effet: mémoire libérée!

Application:
1- on lance enter.com
2- on lance menukill.exe
Et hop!

C' est compatible G100+, faudrait voir pour les autres modêles.

D' ailleurs sur certains modèles ça devrait ptet pas fonctionner!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#2 01 Mar 2004 12:07:20

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: Menukill

ahhh j'ai compris ! lol
ca marche sous rom 1.02


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#3 01 Mar 2004 12:09:53

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Menukill

au passage, ayez de l' observation!

Regardez si quelque chose n' a pas été écrit sur le menu principal (puisque j' ai pas mis de routines d' éffacement dedans)


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#4 03 Mar 2004 09:36:21

[neo]f4kill
Programmeur Graph100
Lieu: montauban
Date d'inscription: 05 Oct 2003
Messages: 678
Site web

Re: Menukill

c cool sa!  big_smile
é donc les gros jeu comme scorch, falcon, etc sa marche maintenant?
dans se cas la sa doit être possible lanC un compilo comme roe non?


=> Auteur de : Code, Hot-dog (v alpha), Aspirin v1.2, Memory v1.0, Slider v1.0 + 2 ou 3 progs à la noi wink


http://www.danasoft.com/sig-fre.jpg

Hors ligne

 

#5 03 Mar 2004 12:08:52

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Menukill

faut faire le test si ça libère suffisement de mémoire... ceci dit, j' ai réussi à remplacer, avec menukill, le command.com executée par la calc par un autre executable, qui pourrait ètre donc un autre shell... conclusion, avec cette méthode, peut ètre qu' on aura enfin des explos qui reviennent au meme état après qu' on ai fini d' executer un jeu...
Exemple pr ceux qu'  auraient pas compris:
vous lancez (allez on va faire plaisir à superna) dirxplor, vous executez un jeu, et quand vous quitter le jeu, ça revient tout seul à dirxplor... comme l' explorateur windows en somme!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#6 03 Mar 2004 15:33:20

[neo]f4kill
Programmeur Graph100
Lieu: montauban
Date d'inscription: 05 Oct 2003
Messages: 678
Site web

Re: Menukill

c kewl sa!
en tout cas c'est plus simple que la méthode a roe pour à peut près les mêmes résultats!


=> Auteur de : Code, Hot-dog (v alpha), Aspirin v1.2, Memory v1.0, Slider v1.0 + 2 ou 3 progs à la noi wink


http://www.danasoft.com/sig-fre.jpg

Hors ligne

 

#7 03 Mar 2004 17:38:54

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Menukill

j' arrive à lancer n' importe quel executable sur le meme lecteur à present automatiquement après avoir viré LAUNCHER.EXE ( le menu) et COMMAND.COM (l' interpréteur de commande) ce qui signifie que je peut lancer un autre SHELL!!!!

j' ai lancé touche par exemple, et il fonctionne niquel!

-edit-
Maintenant on lance n' importe quelle executable, suffit de l' entrer en ligne de commande tel que ceci:
MENUKILL.EXE N:TOUCHE2.EXE

2 problèmes ( évidemment):
-quand l' executable en question est quitté, bin on doit rebooter puisqu' on peut plus rien faire d' autre
-si on appuie sur des touches pendant que menukill est en fonctionnement, ça mettre une mauvaise ligne de commande (voir comment je fait pour executer ceci)

Comment je fait(programme principal):

J' utilise toujours mon système d' interruption, sauf que voici les actions executées à la suite:
-Je pointe avec un pointeur de portée globale sur l' argument 1 (pour obtenir l' execution)
-Je met en place l' interruption
-Je quitte

Interruption:
-Je quitte>ça  enleve le menu
-Je quitte>ça enleve l' interpréteur de commande, ROMDOS indique qu' il n' y a pas de Shell executé couremment et demande le chemin d' un nouveau Shell à executer
-Avec la fonction de swifter pour entrer une touche dans le buffer du clavier, je simule la frappe du 1er argument et je valide en entrant la meme valeur que RETURN, à savoir 0x0D(13)
-Je desinstalle l' interruption

Entre chaque action de l' interruption se trouve une attente, pour permettre à romdos de réfléchir quand meme ( car sinon ya forte probabilité de plantage)

Voila l' executable:

http://thunderboom.free.fr/chgshell.exe

Attention: le fait de mettre ceci:
chgshell.exe X:chgshell.exe (ou X est le lecteur ou vous l' avez mis)
conduit certainement au plantage lol


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#8 03 Mar 2004 20:50:54

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: Menukill

Super smile Mais ce serait encore mieux si tu le mettais dans le File Sharing en .rar avec un petit readme à côté wink


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#9 04 Mar 2004 08:35:35

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Menukill

2072: mdr ça va venir!

tiens oué au passage: jvais tester un nouveau truc marrant cette aprem: spawnv()

et si ça fonctionne correctement, je pourrait faire en sorte que les explos soit réexecutés après...

en fait faudra alors 3 executables:
chgshell (arg: chemin de l' executé)
executor (arg: chemin de l' executé en boucle)
votre explo

Il suffira, en théorie, de faire:

chgshell.exe executor.exe dirxplor.exe ( si dirxplor est l' executé)

pour que dirxplor soit réexecuté à chaque fois!

vais m' y mettre maintenant  :P


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#10 26 Mar 2004 08:07:35

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: Menukill

tu as des news ?
ca peut etre interessant.
pour les explo je sais pas trop si c utile. je n'ai pa d'exemple en tete. mais bon ki sait.
j'espère ke ca marche.


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr