Autor Thema: Veröffentlichung: GEMLIB für AHCC  (Gelesen 6160 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline m0n0

  • Benutzer
  • Beiträge: 984
Veröffentlichung: GEMLIB für AHCC
« am: Di 23.04.2013, 00:04:13 »
GEMLIB for AHCC

 - m68k-020 and coldfire compatible binary
 - compiled for 32bit

Gemlib is the glue layer between applications and the low-level AES interface.
It is the de facto standard for GEM applications developed with GCC.
Now you can build all the software which requieres a more or less recent GEMLIB (For example cflib) with AHCC.

http://freeshell.de/~monokrom/geeklog/downloads/index.php?id=gemlib_ahcc_rc1

Es ist auch ein kleines Beispiel GEMLIB Programm dabei, für die Leute die Anfangen etwas in GEM zu machen evtl. noch halbwegs übersichtlich:


#include <gem.h>
#include <mt_gem.h>
#include <string.h>
#include <stdio.h>

#include <test.h>

int main(void)
{
short appid, quit = 0;
short gl_xaaes;
short a,b,c,d, aes_msg[8];
OBJECT *menu, *dialog, *obj;
char aes_name[128];
char msg[257], msg2[257], msg3[257];
char *aes_language[] = {"En", "De", "Fr", "res.", "Sp", "It", "Se"};

// Init application and load GUI resource File:
appid = appl_init();
if (rsrc_load("test.rsc") == 0){
sprintf(msg, "[1][Failed to load resource File:| |%s][Whoops!]", "test.rsc");
form_alert(3, msg);
return(1);
}

// Load specific Resource Objects:
rsrc_gaddr(R_TREE, DESKMENU, &menu);
rsrc_gaddr(R_TREE, TEST1, &dialog);

// Draw deskmenu:
menu_bar(menu, 100);
menu_bar(menu, 1);

do{
evnt_mesag(aes_msg);

switch(aes_msg[0]){

case MN_SELECTED:

switch(aes_msg[4]){

case MNU_ABOUT:

// Show About Dialog

// Get OS Info:
appl_getinfo(AES_LANGUAGE, &a, &b, &c, &d);
appl_getinfo_str(AES_VERSION, aes_name, msg, msg2, msg3);

// Start Dialog:
wind_update(BEG_UPDATE);
sprintf(dialog[LBL_LANGUAGE].ob_spec.tedinfo->te_ptext,
" AES Language: %s",
aes_language[a]);
sprintf(dialog[LBL_AES_VERSION].ob_spec.tedinfo->te_ptext,
" AES Name: %s", aes_name);
form_center(dialog, &a, &b, &c, &d);
form_dial(FMD_START, a, b, c, d, a, b, c, d);

// Draw & Handle Dialog until user presses a dialog button:
objc_draw(dialog, 0, 8, a, b, c, d);
form_do(dialog, 0);

// Exit Dialog:
form_dial(FMD_FINISH, a, b, c, d, a, b, c, d);
wind_update(END_UPDATE);

break;

case MNU_INFO_ALERT:

// Get OS Info:
appl_getinfo(AES_LANGUAGE, &a, &b, &c, &d);
appl_getinfo_str(AES_VERSION, aes_name, msg, msg2, msg3);

// Prepare Message Box Info:
sprintf(msg,
"[1]"
"[AHCC GEMLIB for m68k + Coldfire|"
"AES Version : %s|"
"AES Language: %s (%d)][OK]",
aes_name, aes_language[a], a);

// Show Info alert:
form_alert(1, msg);
break;

case MNU_QUIT:
quit = 1;
break;

default: break;
}

// Reset menu selection state:
menu_tnormal(menu, aes_msg[4], 1);
menu_tnormal(menu, aes_msg[3], 1);

default: break;
}
} while(!quit);


// Exit Application:
menu_bar(menu, 0);
rsrc_free();
appl_exit();
return(0);
}




Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.798
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #1 am: Di 23.04.2013, 18:47:45 »
Feine Sache, besteht die Möglichkeit auch einen 68000er Port zu machen, oder benutzt die GEMLIB float?
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #2 am: Mi 24.04.2013, 11:54:45 »
Ich probiers mal und geb dann bescheid.

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #3 am: Do 25.04.2013, 23:40:59 »
Hallo,

hat anscheinend Problemlos geklappt :)

Im Archiv sollte nun alles enthalten sein um die GEMLIB mit AHCC für m68k zu kompilieren,
aber natürlich ist auch die .lib Datei für eine "plain 68000" CPU enthalten.

Bitte bedenken das es eine 32Bit library ist und daher int auf 32 Bit gesetzt sein muss,
ausserdem sollte der AHCC include Folder "include" verwendet werden (wie immer ;)).

Download:
http://freeshell.de/~monokrom/geeklog/downloads/index.php?id=gemlib_ahcc_latest

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.798
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #4 am: Fr 26.04.2013, 17:26:21 »
Danke! Mit welcher Compileroption im AHCC stellt man dann die 32Bit int ein?
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #5 am: Fr 26.04.2013, 21:44:59 »
Hm, das müsste "32 bit int's" oder so sein - ist nicht sooo schwer in den Optionen zu finden ;)

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.798
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #6 am: Fr 26.04.2013, 22:19:11 »
Ich benutze die GUI nicht, aber ich kann da mal nachschauen.

*EDIT* -*i ist die Option
« Letzte Änderung: Sa 27.04.2013, 08:03:19 von simonsunnyboy »
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline AngelikaZ

  • Benutzer
  • Beiträge: 140
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #7 am: Sa 03.05.2014, 16:19:30 »
Hallo!

So habe mir mal die Lib geholt, um auf der FB mal anzufangen zu coden.

Leider geht der Test so nicht!

1. gem.h und mt_gem.h fehlen im src/test Verzeichnis. Ich musste erst die Gemlib lattice mir holen. Stand aber nirgends!
2. Mit AHCC 5.0 compiliert (Option -i, sowie -7 Coldfire), aber es kommen zwei Fehler
Error in Stddef.h L15 long long not available yet
Error in stddef.h  L0 no declarator for : 'unsigned long'.

???

Ach ja, und wofür ist die CFLIB ?

Für sachdienliche Hinweise bin ich dankbar!


Gruss Angelika

gstoll

  • Gast
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #8 am: So 04.05.2014, 10:14:46 »
2. Mit AHCC 5.0 compiliert (Option -i, sowie -7 Coldfire), aber es kommen zwei Fehler
Error in Stddef.h L15 long long not available yet
Error in stddef.h  L0 no declarator for : 'unsigned long'.
Hast Du auch mal die Option -2 noch zusätzlich gesetzt?

wofür ist die CFLIB ?
Die CFLIB wurde von Christian Felsch entwickelt und stellt eine Reihe von Funktionen zur Verfügung, die man
in GEM-Programmen immer wieder benötigt, insbesondere sind das app-modale und non-modale Dialoge und Alerts in Fenstern. Die Dialogverwaltung basiert auf den erweiterten Objekttypen von MagiC und
emuliert diese, falls MagiC nicht aktiv ist. [1]

[1] http://highwire.atari-users.net/cgi-bin/cvsweb/lib/cflib/LiesMich?rev=1.1&content-type=text/x-cvsweb-markup

Offline AngelikaZ

  • Benutzer
  • Beiträge: 140
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #9 am: So 04.05.2014, 14:02:12 »
Danke für die Antwort zu CFlib! Habe gestern noch lange gesucht, wo ich Infos finden kann. Gar nicht so einfach!
Jedenfalls dachte ich erst, CFLib steht für Coldfire-Lib! Okay, war nur der Name des damaligen Entwicklers.!

Nein, -2 hatte ich nicht gesetzt. Nun gerade getan, aber auch mit -2 gibt es die gleichen Fehler!

Aber es war schon richtig, die Header aus dem lattice-Zip der Gemlib zu nehmen?

Jetzt habe ich an Optionen: -c -*i -2 -7 -*u -e 25 -i inlcude
 

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #10 am: So 04.05.2014, 23:25:42 »
Zitat
1. gem.h und mt_gem.h fehlen im src/test Verzeichnis. Ich musste erst die Gemlib lattice mir holen. Stand aber nirgends!

Hm, ist im Archiv kein Ordner "Headers" enthalten? Wenn nein, dann habe ich das vergessen und das Archiv müsste nochmal aktualisiert werden.

Zitat
Error in Stddef.h L15 long long not available yet
Error in stddef.h  L0 no declarator for : 'unsigned long'.

Oops. kann sein das ich die includes bei AHCC gepatcht hatte (die Zeile die Fehler machte einfach auskommentiert... oder so...) und das dann vergessen hatte.

Zitat
Danke für die Antwort zu CFlib! Habe gestern noch lange gesucht, wo ich Infos finden kann. Gar nicht so einfach!

Also dafür gibt es ein deutsches ST-Guide Dokument.
« Letzte Änderung: So 04.05.2014, 23:36:22 von m0n0 »

Offline AngelikaZ

  • Benutzer
  • Beiträge: 140
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #11 am: Mo 05.05.2014, 07:00:52 »
Das wäre sehr nett, wenn du das Archiv aktualisieren könntest. Danke!
Und was ist mit den Errors, hast du in den includes von AHCC die entsprechenden Zeilen auskommentiert ? Könntest du diese Dateien auch ins Archiv packen.

Ja. Das mit der CFlib habe ich nun auch gefunden. Ist alles ein bisschen Dezental zu finden.
Meine Link Liste ist für Prog- Info Seiten auch schon ziemlich groß, mal auf einer Seite, mal nur im Forum, mal in einem Archiv, mal FTP,... Ist schon schwer irgendwelche Ordnung rein zu bekommen.
Auch was mit was geht, welche Libs, warum wieso, das wieder nicht mit dem, und dann der Patch zu dem und jenem. Aber was solls, davon hängt ja mein Einkommen nicht ab und ist nur zum Fun und dann dauert es eben länger bis man an Ziel kommt.

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Veröffentlichung: GEMLIB für AHCC
« Antwort #12 am: Mo 05.05.2014, 22:01:17 »
Zitat
Aber es war schon richtig, die Header aus dem lattice-Zip der Gemlib zu nehmen?

Ja das war korrekt.

Das Paket update ich jetzt nicht, weil ich momentan keine Updates an meiner Hompeage machen kann. :/

Zitat
Error in Stddef.h L15 long long not available yet
Error in stddef.h  L0 no declarator for : 'unsigned long'.

Also diesbezüglich könntest Du entweder selber mal an Henk Robbers schreiben, oder Du kommentierst einfach Zeile 15 ("typedef unsigned long __SIZE_TYPEDEF__") aus.

Ich Interpretiere das als Fehler, denn eigentlich bedeutet unsigned long ja nicht long long, sondern nur unsigned long ^^

Da weiss ich leider nicht wie man mit dem Problem anders umgehen sollte.
« Letzte Änderung: Mo 05.05.2014, 22:17:57 von m0n0 »