Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 329 530

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Y-a-t'il possibilité de faire une library système en C sur Os4

Y-a-t'il possibilité de faire une library système en C sur Os4#1975

9Contributeur(s)
SharynnsinisrusElwoodzzd10hthellierastrofrabigdancritonsgate
3 Modérateur(s)
K-LElwoodcorto
astrofra astrofraicon_post
C'est dommage que tu n'aies pas versionné ton source sur BitBucket ou sur le repo privé d'un Amigaiste ami (il y'en a sur ANG qui peuvent héberger ton source gracieusement, peut être ?)

Tu n'aurais pas à craindre ce genre d'accident qui fait régresser ton projet.

Bon courage pour la suite.
A1200 en Rack 1U custom | Pas de machine NG.
fra.planet-d.net
Sharynn Sharynnicon_post
Oui grosse déception mais j'en repart plus motivé !!!

Je reprends les commande et j'essaie d'améliorer le noyau de gestion  du système..
J'ai plein d'idée pour gagné du temps de gestion et de la vitesse...

Merci à toi...
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
thellier thelliericon_post
>Avec l'information Où se trouve le LIB_Init pour que j'y mette mes librairies utilisées et le Expunge pour libérer le tout et aussi où je met mes fonctions.

Je te l'ai déjà dit regarde dans sur aminet/SimpleDT library dans simpleDT6.c
Il s'y trouve le LIB_Init(void *exec) qui fait appel à ton OpenAmigaLibraries()
Idem pour LIB_Expunge() qui fait appel à ton CloseAmigaLibraries();

réécris juste OpenAmigaLibraries() et CloseAmigaLibraries(); selon tes besoins

tu peut utiliser le SimpleDT_lib.c comme header de ta library sans changements
sauf
#define NAMETXT "SimpleDT"
#define VERSION 1
#define REVISION 0
#define DATETXT "18.04.2013"
#define VERSTXT "1.0"
à adapter à ta library

Alain

/*=================================================================*/
BOOL OpenAmigaLibraries()
{
/* Initialize the needed libraries */

#if !defined(__AROS__)
LIBOPEN(DOSBase,dos.library,36)

LIBOPEN(UtilityBase,utility.library,0);
LIBOPEN(DataTypesBase,datatypes.library,39)
if (OpenDevice(TIMERNAME, UNIT_MICROHZ, (struct IORequest *)&tr, 0L) != 0)
return(FALSE);
TimerBase = (struct Device *) tr.tr_node.io_Device;
__UtilityBase=UtilityBase;
#ifdef OS4
LIBOPEN4(IExec,SysBase)

LIBOPEN(NewlibBase,newlib.library, 52)
LIBOPEN4(INewlib,NewlibBase)

LIBOPEN4(IDOS,DOSBase)
LIBOPEN4(IUtility,UtilityBase)
LIBOPEN4(IDataTypes,DataTypesBase)

LIBOPEN4(ITimer,TimerBase);
#endif

#endif
return(TRUE);
}
/*======================================================================================*/
void CloseAmigaLibraries()
{
#ifdef OS4
LIBCLOSE4(INewlib)
LIBCLOSE(NewlibBase)

LIBCLOSE4(IDOS)
LIBCLOSE4(IDataTypes)
LIBCLOSE4(IUtility)

LIBCLOSE4(ITimer)
#endif

LIBCLOSE(DOSBase)
LIBCLOSE(UtilityBase)
CloseDevice((struct IORequest *)&tr);
}
/*=================================================================*/
void LIB_Open()
{
;
}
/*=================================================================*/
BOOL LIB_Init(void *exec)
{

#ifdef __amigaos4__
IExec =exec;
if (IExec ==NULL) return(FALSE);
SysBase =(void*)IExec->Data.LibBase;
#else
SysBase =exec;
#endif

if(OpenAmigaLibraries()==FALSE) return(FALSE);
REM(LIB_Init...)
return(TRUE);
}
/*=================================================================*/
void LIB_Close()
{
;
}
/*=================================================================*/
void LIB_Expunge()
{
CloseAmigaLibraries();
}
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Sharynn Sharynnicon_post
Cool ou Re cool Thellier..

Merci pour ta ré information, c'est marrant mais je commence a comprendre, je lance ça ce soir pour faire des testes.


Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
Elwood Elwoodicon_post
Sinon il y a l'ex-Amigaïste Imré Antal qui a une société Chronodisk que je vous recommande pour récupération de données sur n'importe quel disque, avec n'importe quel système de fichier, oui même FFS (SFS, JXFS je sais pas).
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
bigdan bigdanicon_post
Si c'est un Seagate ou Maxtor plus reconnu, vérifier auparavant que ce n'est pas juste le dur qui est brické (état "busy" un gros problème de firmware sur certaines séries des 7200.10 et 7200.11).

Cf https://sites.google.com/site/seagatefix/
ou
https://www.youtube.com/watch?v=ZrmtU3F40Qc par exemple

J'ai déjà fait la manip plus d'une demi-douzaine de fois en quelques mois. Tous avaient les même symptômes ... que ce soit chez Seagate ou chez Maxtor (même usine).

2 n'ont jamais voulu ressusciter soit environ 25 à 30% de disques bons pour un passage chez Chronodisk et consors (plus onéreux donc à mettre en balance avec les données à récupérer).

Arnaud
qui installe de préférence du WD et du HGST au taff depuis un moment... (eux aussi peuvent planter à tout moment, vive les sauvegardes redondantes et le RAID5/RAID10)


PS : le reste du fil de discussion m'intéresse aussi... même si je bricole sous MorphOS ;)

Message édité par : bigdan / 27-05-2015 19:19
thellier thelliericon_post
Aussi il y a des outils PC (comme undelete-plus ou qque chose comme ça) qui permettent de récupérer des fichiers effacés sur clef usb (cas fréquent dans le cas de transfert de sources de machine à machine) ou même carte SD (photos perdues sur le disque dur mais à retrouver sur la carte)

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
critonsgate critonsgateicon_post
Les sauvegardes sont très importantes, c'est pourquoi j'utilise git sur un serveur de fichier pour mes sources (virtualisé) et  une sauvegarde sur clé usb puis sur une autre système de stockage (dropbox, google drive, box) avec les sources zippées et cryptées.
Au moins je suis sûr à 100% de récupérer mes sources même en cas de force majeure ;-).

CritonSgate ~ Pegasos 2 G4 ~ Morphos 3.9
Ibook g4 - morphos 3.9
SAM 440 EP - 667 - os4 Final Édition
Sharynn Sharynnicon_post
Hello All...

La bibliothèque se compile et s'ouvre avec OpenLibrary() de l'Exec...

Mais le retour d'information sur la commande TEST n'est pas correct. Surement une erruer de ma part.

La commande est:
int COM1(int n1,int n2)
{
int A=n1+n2
return (int)A
}


Si je donne =COM1(10,4);
Cette commande retourne un chiffre qui semble être un pointeur (>1400000).

Si je modifie comme tel:
int COM1(int n1,int n2)
{
int A=10;
int B=4;
return (int)A+B
}


Elle retournera 14..

Comment dois-je déclarer ma commande dans la bibliothèque ?. Le soucis ne peux que venir de là...
Tout part du fichier Amos4.sfd (les "includes" sont générés automatiquement..)...

....
ça avance bien pour le moment et si je trouve la manière de régler ce petit soucis, l'exécutable de la source AmOS4 en sera bien réduit !!!
j'ai bien bossé et recherché sur mes autres sources sur lesquelles j'utilisais mes commandes AMOS4 directement copiées dans la source et ....
J'ai récupéré environ 95% de mon travail sur ma bibliothèque AMOS4... COOOL !!!
....

j'attends vos réponses si possible !!!
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
thellier thelliericon_post
C'est déjà expliqué page 1...
Attention les include ont sauté à l'édition sur le web

dans include/clib#ifndef __CLIB_SIMPLEDT_PROTOS_H
#define __CLIB_SIMPLEDT_PROTOS_H
#include

LONG mafonction(LONG n1,LONG n2);

#endif

dans le .sfd

==n1 $n1: SimpleDT_lib.sfd,v 1.0 2012/10/12 13:30:00 noname Exp $
==base _SimpleDTBase
==basetype struct Library *
==libname SimpleDT.library
==bias 30
==public
==include

LONG mafonction(LONG n1,LONG n2) (d0,d1)

==end

dans le function_glue_ppc.h

#include

LONG VARARGS68K Libmafonction(void *Self,LONG n1,LONG n2) {return(mafonction(n1,n2)); }

/*jump table */
STATIC CONST APTR main_vectors[] =
{
LibObtain,
LibRelease,
NULL,
NULL,

Libmafonction,

(APTR)-1
};

dans le function_glue.h (library 68k)

#include

ASM(LONG) Libmafonction(D0(LONG n1),D1(LONG n2)) {return(mafonction(n1,n2)); }

/*jump table */

static const APTR LibVectors[] ={
(APTR) LibOpen,
(APTR) LibClose,
(APTR) LibExpunge,
(APTR) LibReserved,

(APTR) Libmafonction,

(APTR) -1
};


Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme