amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

Erste 5 6 7 8 9 -10- 11 12 Ergebnisse der Suche: 332 Treffer (30 pro Seite)
geit   [Ex-Mitglied]

18.04.2005, 22:47 Uhr

[ - Direktlink - ]
Thema: versions-string
Brett: Programmierung

Zitat:
Original von tokai:
Zitat:
Original von geit:

Du mußt einfach nur einen Versionsstring in eine Variable packen:

const char app_versionstring[] = "$VER: hello.world V1.00 (16.04.2005)";


Dieses versionstag ist nicht valid. :-)

richtig wäre: "$VER: hello.world 1.0 (16.04.2005)"

Zur Erläuterung: "$VER: programname version.revision (DD.MM.YYYY)",
der Revision wird keine führende Null vorrangestellt (ja, auch C= hat das falsch gemacht ;)


Ja, hast ja recht. Das passiert, wenn man immer nur das Macro (s.o.) verwendet und es dann mal eben so hinschreibt. :)

Guido Mersmann



 
geit   [Ex-Mitglied]

18.04.2005, 20:06 Uhr

[ - Direktlink - ]
Thema: versions-string
Brett: Programmierung

Zitat:
Original von gni:
Zitat:
geit:
const char app_versionstring[] = "$VER: hello.world V1.00 (16.04.2005)";

Je nach compileroption mußt Du eventuell dem Compiler mitteilen, das die Variable nicht wegoptimiert wird, weil sie ja meistens nicht referiert wird.

Wenn ein Compiler eine *nicht-statische* globale Variable entfernt, dann macht er was falsch :-)

Wenn eine Variable nicht benutzt (aka referiert) wird, kann sie im Zuge des Optimierens sehr wohl entfernt werden.

Guido Mersmann
 
geit   [Ex-Mitglied]

18.04.2005, 00:30 Uhr

[ - Direktlink - ]
Thema: versions-string
Brett: Programmierung


Das kann man natürlich handhaben, wie man will. Zum einfachen Verständniss war das so ok.

Bei mir sieht der für alle Programme so aus:


/********************************************************************* *****/
#define I2S(x) I2S2(x)
#define I2S2(x) #x

#ifndef VERSION_EXT
#define VERSION_EXT ""
#endif

__entry const char app_versionstring[] = "$VER: " APPLICATIONNAME " " I2S(VERSION) "." I2S(REVISION) " (" I2S(DAY) "." I2S(MONTH) "." I2S(YEAR) ") by " AUTHORNAME " " VERSION_EXT;


Guido Mersmann
 
geit   [Ex-Mitglied]

17.04.2005, 18:57 Uhr

[ - Direktlink - ]
Thema: versions-string
Brett: Programmierung


Du mußt einfach nur einen Versionsstring in eine Variable packen:

const char app_versionstring[] = "$VER: hello.world V1.00 (16.04.2005)";

Je nach compileroption mußt Du eventuell dem Compiler mitteilen, das die Variable nicht wegoptimiert wird, weil sie ja meistens nicht referiert wird.

Guido Mersmann
 
geit   [Ex-Mitglied]

24.03.2005, 18:27 Uhr

[ - Direktlink - ]
Thema: gcc und include
Brett: Programmierung

> Da waere sie wieder meine Frage: Wie ? Wie erstelle ich die libxpk.a / libamissl.a wenn ich nur die .c .h Dateien habe ?
Du mußt alle #?.c files, die in die lib gehören compilieren. Die #?.o files kannst du mit

ar -qs libxxx.a xx1.o xx2.o xx3.o ....

zusammenfassen und die lib erzeugen. Ich hoffe die Syntax stimmte jetzt so aus dem Kopf.

Guido Mersmann




[ Dieser Beitrag wurde von geit am 24.03.2005 editiert. ]
 
geit   [Ex-Mitglied]

24.02.2005, 13:31 Uhr

[ - Direktlink - ]
Thema: vbcc
Brett: Programmierung


> Korrektes C sieht meines Wissens so aus:

Die Funktion main() ist eine Ausnahme und der Compiler sorgt für das return code handling, wenn nicht spezifiziert.

Schöner ist es aber dennoch mit den Angaben.

Guido Mersmann


 
geit   [Ex-Mitglied]

24.02.2005, 13:29 Uhr

[ - Direktlink - ]
Thema: vbcc
Brett: Programmierung


>Da kommt dann ein gelbes rechteck, nicht genug Speicher.
Amithlon??

Also generell würde ich sagen auf deinem System ist was faul. Der Compiler jeden falls funktioniert.

Guido Mersmann

 
geit   [Ex-Mitglied]

24.02.2005, 00:02 Uhr

[ - Direktlink - ]
Thema: vbcc
Brett: Programmierung


Also das Dingen funktioniert hier so wie es ist. Sowohl für 68K als auch für MOS.

Was passiert wenn du für 68K compilierst?

Guido Mersmann


 
geit   [Ex-Mitglied]

23.02.2005, 19:58 Uhr

[ - Direktlink - ]
Thema: vbcc
Brett: Programmierung


Also ich benutze den aktuellen VBCC für alle meine Projekte und es gibt keine Probleme!

Es gibt aber einen Bug. Bei falschen Strukturen oder fehlerhaften Prototypes kommt es zu Speicherverletzungen und/oder Crashes.

Allerdings benutze ich den nur für MOS und AOS68K. Da aber die OS4 Version den gleichen Fehler zu haben scheint, würde ich mal die Syntax prüfen.

Guido Mersmann
 
geit   [Ex-Mitglied]

09.01.2005, 02:16 Uhr

[ - Direktlink - ]
Thema: funktion von amiga tastaturen
Brett: Programmierung


Das mag durchaus sein.

Ich habe 7 A500 hier und etwa nochmal so viele repariert und die hatten alle eine 8 Pin Pfostenleiste für CLK/DATA/5V/GND,PLED,LLED und RESET.

Es gibt auch einige A2000 die das nicht können. Dort liegt das aber an der inkompatiblen Tastatur. Der A1200 kann es IMHO auch nicht.

IMHO klappt es bei allen Geräten mit externer Tastatur, sofern diese es unterstützt. Den A1000 nehme ich mal aus. Keine Ahnung was dort passiert.

Guido Mersmann
 
geit   [Ex-Mitglied]

07.01.2005, 14:05 Uhr

[ - Direktlink - ]
Thema: funktion von amiga tastaturen
Brett: Programmierung


1. User drückt Reset
2. Tastatur sendet Reset warning
3. Computer antwortet mit einem Handshake
4. Tastatur sendet Reset warning
5. Computer antwortet nicht solange die Resethandler Chain nicht beendet wurde.
6. Tastatur legt bei erhalten des Handshakes oder aber nach 10-15 Sekunden CLK für ein paar ms auf low.

Einige Rechner haben kein Reset-Gate und werden durch CLK auf low nicht resettet.
Der A500 z.B. resettet sofort und ohne gnade, weil die Tastenkombination "direkt" am Resetsignal hängt.

Guido Mersmann
 
geit   [Ex-Mitglied]

31.12.2004, 15:27 Uhr

[ - Direktlink - ]
Thema: GoldED5 Statuszeile
Brett: Programmierung


Ich bin zwar nicht der riesige GoldED Experte, aber einiges weis ich schon.

Das mit der Statuszeile ist einfach. Rechter Mausklick dann
Dateityp-Einstellungen und dort "Erweiterungen" öffnen.

Da stehen die benutzten Erweiterungen für C++. Dort kann man die ganzen Teile konfigurieren.
Das mit der Statuszeile ist einfach. Doppelklick auf QuickInfo.api und dort ist hinten im
Argumente String warscheinlich ein "statusline" eingetragen.

Da stehen auch alle verwendeten Dateien.

> Gibt es eine Möglichkeit, Systemfunktionsnamen automatisch farblich markieren zu lassen, ohne einen neuen Parser zu schreiben?
Also bei mir ist es so. Ich hab aber den aktuellen GoldED drauf und da war das schon Default.

> Aber GoldED ist echt super! Seit dem ich ihn kenne unschlagbar!
Ja, ist genial.

Guido Mersmann
 
geit   [Ex-Mitglied]

30.12.2004, 14:47 Uhr

[ - Direktlink - ]
Thema: funktion von amiga tastaturen
Brett: Programmierung


Es gibt ja noch andere Kleinigkeiten, wie korrekte Implementierung des Reset handlings.

Guido Mersmann
 
geit   [Ex-Mitglied]

29.12.2004, 23:10 Uhr

[ - Direktlink - ]
Thema: funktion von amiga tastaturen
Brett: Programmierung


Es gibt keine spezielle Behandlung von shift, control etc. Alle Tasten kommen als 8 Bit Code über die DAT Leitung.

CLK "1" als Ausgang
DAT "1" als Ausgang

DAT 1/0 setzten (erstes daten bit)
Dann muß die Tastatur einen Clk-Puls senden:
CLK "0"
delay (1ms??)
CLK "1"
Jetzt folgen die anderen 7 BITs. nach dem gleichen Schema. DAT0 oder 1 und dann CLK0, CLK1.
Nach dem letzten Clock Puls kommt ein Handshake.
Dazu wird die Datenrichtung von DAT umgekehrt und input.
Jetzt warten, bis DAT "0" und wieder "1" wird.
Datenrichtung von DAT wieder auf Ausgang.
Nächste Taste.

Jetzt kommt noch die Sache mit dem "WAS" soll man senden.

Der Amigaseitige Tastencode für "Space" ist 0x40. Jetzt um 1 Bit nach links schieben und logisch negieren: 0x7f.
Das wird bit 7, bit 6, bit 5... gesendet. BIT 0 steht für gedrückt oder losgelassen. 1 gedrückt, 0 losgelassen.
0x7e sendet also ein losgelassen.

Alles ohne Gewähr. Ist lang her, das ich den MMKeyboard Adapter programmiert habe.

Genaue Informationen finden sich im Amiga Hardware Manual. Daher hab ich auch meine Infos.

Ich hoffe das hilft Dir weiter!

Guido Mersmann
 
geit   [Ex-Mitglied]

21.12.2004, 14:10 Uhr

[ - Direktlink - ]
Thema: GA_TabCycle auch für Buttons ?
Brett: Programmierung


TabCycle funktioniert nur bei Eingabefeldern.

Für alles andere sind die durch "_" markierten Hotkeys gedacht. So kann man mit Tastendruck das Stringgadget aktivieren, mit TBA in andere Strings wechseln und mit Return aktiviert man wieder die normalen "_" Shortcuts.

Die Shortcuts sind wesentlich schneller und effizienter zu benutzen, als ein Eingabe-Rahmen, wie er bei Windows/MUI genutzt wird. Man muß nicht erst so lange Tab drücken, bis man auf dem Gadget ist, sondern kann es direkt anwählen.

Guido Mersmann
 
geit   [Ex-Mitglied]

10.11.2004, 23:49 Uhr

[ - Direktlink - ]
Thema: kb, kB, Kb oder KB ?
Brett: Programmierung


Ja, die Playstation 1 MemoryCards werden auch teilweise als 1 MB verkauft. Steht dick auf den Packungen drauf. Leider ist es nur 1 MBit und somit 128KB.

Damit wird viel Schindluder getrieben.

So wie der billige DVX Player aus dem Baumarkt. Der kann auch kein Divx. :(

Guido Mersmann
 
geit   [Ex-Mitglied]

10.11.2004, 22:22 Uhr

[ - Direktlink - ]
Thema: MUI & WA_RMBTrap
Brett: Programmierung


Nachdem ich mit MUI klar komme, hab ich noch genau ein Problem, dass mich wirklich nervt.

Wie bekomme ich ein WA_RMBTrap equivalent hin.

Also das die rechte Maustaste keine Auswirkung auf die Titelleiste hat. Das Flackern nervt einfach, weil man ein Menu vermutet, wo in einigen Fällen keins ist.

Guido Mersmann

 
geit   [Ex-Mitglied]

30.10.2004, 14:47 Uhr

[ - Direktlink - ]
Thema: MUI & Window IDCMPs
Brett: Programmierung

@DariusBrewka

Danke für die Info. Ich hatte sowas befürchtet.

Guido Mersmann
 
geit   [Ex-Mitglied]

28.10.2004, 02:10 Uhr

[ - Direktlink - ]
Thema: MUI & Window IDCMPs
Brett: Programmierung

MUI & Window IDCMPs

Ich hab mal wieder ein Problem mit MUI und zwar möchte ich ins Fenster malen, was mittels Draw() und Rastport auch wunderbar funktioniert.

Leider finde ich aber keine Möglichkeit das Ganze mit dem Windowrefresh zu verknüpfen. Ideal wäre natürlich eine ID zur einfachen Auswertung. Alles was ich bisher gefunden habe, erzeugt ein eigenes MUI Object, was aber für meinen Zweck Overkill wäre. Gibt es da eine Alternative?

Zweites Problem ist, das ich gerne ein paar Tasten abfragen würde. Normalerweise ja kein Problem, aber mit MUI? Das könnte natürlich auch via Notify und ID geschehen, aber ich sehe nicht, wie das machbar sein soll. Muß ich wirklich einen Handler einrichten?

Danke im vorraus.

Guido Mersmann
 
geit   [Ex-Mitglied]

23.10.2004, 13:10 Uhr

[ - Direktlink - ]
Thema: Texteditor der Tabs einfügt?
Brett: Programmierung

Ja, stimmt! Daran hab ich nicht gedacht!

Guido Mersmann
 
geit   [Ex-Mitglied]

23.10.2004, 11:28 Uhr

[ - Direktlink - ]
Thema: Texteditor der Tabs einfügt?
Brett: Programmierung


>aber jetzt wo ich mal etwas mit GCC spielen möchte meckert der make gleich rum nur weil wohl Leerzeichen anstatt Tabs in der Datei sind?

Also das glaube ich kaum! Ich nehme GoldED und das meckert GCC zumindest nicht.

Poste mal die Fehlermeldung und dann sehen wir weiter.

Guido Mersmann
 
geit   [Ex-Mitglied]

02.10.2004, 22:26 Uhr

[ - Direktlink - ]
Thema: USB MIDI Interface
Brett: Programmierung


@bubblebobble

>Achso, ich bin insgeheim davon ausgegangen, dass das usbserial.device
>genau eine Unit für jeden USB Port hat, so als wäre es ein Serieller Port.
>Aber d.h. die Ports des usbserial.device werden dynamisch vergeben, je nachdem was für ein Gerät dranhängt ?

Ja, genau. Ist bei den USB-Massstorage auch so. Daher nehme ich an das Chris das bei seriellen Geschichten auch so macht. Wäre in jedem Fall sinnvoller, als jedesmal ein neues Hardwarespezifisches Device einzubinden.

>Ich werde mich mal an Chris Hodges wenden.
Ja, mach das. Er kann dir sicher sagen, was genau passiert.

Guido Mersmann

 
geit   [Ex-Mitglied]

02.10.2004, 12:30 Uhr

[ - Direktlink - ]
Thema: USB MIDI Interface
Brett: Programmierung

@Thilo

>Was passierte denn?

>Es ist andauern gecrashed, extrem instabil, wenn man z.B.
>nach USB Devices sucht.

Also das sollte nicht mehr passieren. Was passieren kann ist, dass der Kontroller die Kiste freezed, wenn man was reinsteckt. Den Grund konnte ich bislang noch nicht rausfinden.

>Besonders mit dem input.device replacement, aber auch
>ohne ist es gecrashed.

Das neue input.device ist unter Amithlon auch nicht zu emfehlen.

>Ich hatte das Poseidon Demo.
>Eigentlich wollte ich das kaufen, aber erstmal testen,
>und da es nicht lief hab ichs dann gelassen. Vielleicht
>läufts ja inzwischen besser.

Sollte es! Ich nutze es täglich und hatte seit Ewigkeiten keinen Crash mehr.

Guido Mersmann
 
geit   [Ex-Mitglied]

02.10.2004, 12:26 Uhr

[ - Direktlink - ]
Thema: USB MIDI Interface
Brett: Programmierung

@Whose

Ja, genau so war es gedacht! ((-8

Guido Mersmann
 
geit   [Ex-Mitglied]

01.10.2004, 23:31 Uhr

[ - Direktlink - ]
Thema: USB MIDI Interface
Brett: Programmierung

Hallo,

>Nein, MIDI hat kein Protokoll zum auswählen von Ports,
>es gibt nur pro Port 16 MIDI Kanäle.
>Wenn man am Amiga ohne USB mehrere MIDI Ports haben will,
>dann braucht man mehrere Serielle Schnittstellen, die man
>dann mittels Device und Unit Nummer aufwählt.

Ok, dann sollte das aber via USB genauso laufen.

>Bei den alten Amiga MIDI Interfaces gab es zwar drei OUT Ports,
>aber auf jedem der drei liegt das identische Signal an.
>Das ist praktisch um mehrere MIDI Geräte sternförmig anzuschliessen,
>aber diese Geräte müssen sich dann die 16 MIDI Kanäle pro Port
>teilen und erhalten alle den gleichen Datenstrom.

Ok, auch das war mir nicht bekannt.

>Bei mir lief Poseidon leider nie auf Amithlon. Werde das mal mit
>der neuesten Version testen.

Was passierte denn?

Guido Mersmann
 
geit   [Ex-Mitglied]

01.10.2004, 13:32 Uhr

[ - Direktlink - ]
Thema: USB MIDI Interface
Brett: Programmierung


Das usbserial.device kannst Du wie jedes andere serielle Device zur Ansteuerung nutzen. Das geht natürlich nur, wenn der Hersteller faul war und nur eine standard USB<->Serial Wandlung eingebaut hat.

Was die 8 DIN angeht, so hab ich zwar keine Ahnung, aber in meinem Kopf (aus C64 Zeit) sieht ein serielles Midiinterface immer aus wie ein Kasten mit einen DIN-IN und 3 DIN-Out. Da muß also im Protokol was gewählt werden. BZW. jedes Gerät hat eine ID.

Eventuell muß man Poseidon aber auch zwingen (Force Binding) das Gerät als Serielles anzusehen, weil er es nicht selbst erkennt. Wenn es geht, dann kannst Du Chris ein Log schicken und er kann Poseidon Deine Hardware automatisch erkennen lassen.

Ein PSDDevLister Log sollte zwei I/O Pipes zeigen und auch Klarheit über den aufbau geben.

Guido Mersmann
 
geit   [Ex-Mitglied]

30.09.2004, 19:27 Uhr

[ - Direktlink - ]
Thema: MUI Listen???
Brett: Programmierung


Ja, das hab ich mir schon gedacht.

Ich hab jetzt globale Functionen gebastelt, die je nach verwendeter GUI andere Add/Rem/Update Funktionen nutzen. Ist nicht schön, aber erfüllt seinen Zweck.

Guido Mersmann
 
geit   [Ex-Mitglied]

28.09.2004, 15:03 Uhr

[ - Direktlink - ]
Thema: MUI Listen???
Brett: Programmierung

Hallo zusammen,

Ich bin seit einiger Zeit dabei mich mit MUI vertraut zu machen, aber jetzt hab ich ein Verständnissproblem:

Also vorhanden ist eine normale Exec-Liste mit gültigen LN_NAME Einträgen. Die Liste wird eingeladen und mit einer Node versehen und soll in einem Listview angezeigt werden.

Muß ich jetzt wirklich mit MUIM_List_InsertSingle für jeden Eintrag in meiner Liste einen Eintrag für das Listview erstellen, oder wie? Dann hätte ich zwei Listen und die z.B. Sortierung oder Verschiebung von Elementen wäre problematisch.

Erst hatte ich gedacht mit MUIA_List_ConstructHook & MUIA_List_DestructHook könnte ich meine Struktur komplett übergeben, aber die Hooks erwarten als return() einen Stringpointer.

Bin ich mal wieder zu blöd oder hab ich was übersehen?

Unter Reaction und GadTools war das immer ganz einfach. (-8

Bin für jede Hilfe dankbar.

Guido Mersmann
 
geit   [Ex-Mitglied]

22.09.2004, 21:05 Uhr

[ - Direktlink - ]
Thema: ASL Screenmoderequester
Brett: Programmierung

Hallo,

Ich empfehle dringend einen Hook() einzubauen, wenn man den User nicht verwirren will. Besonders bei den BIT-Tiefen.

Einige der ASL->ReqTools Patches machen das nicht richtig oder garnicht. Z.B. hatte ich das Problem, das in BoulderDäsh alle 16 und 32 bit Modi ausgewählt werden konnten, aber eben ungültig waren. Mit einem Hook() hab ich das dann selber von Hand gefiltert, um sicher zu sein, dass nur zulässige Modi zur Auswahl stehen.

Guido Mersmann
 
geit   [Ex-Mitglied]

20.09.2004, 19:58 Uhr

[ - Direktlink - ]
Thema: Direkte Gadgetabfrage unter MUI
Brett: Programmierung

Hallo

> so kannst du direkt bei der definition eine ID angeben und auch das andere was du brauchst. Jedenfalls geht das bei mir und du kannst einfach statt Button() NewButton() in die Definition angeben.

Da hab ich jetzt nur eine Frage! Warum? Warum ist mir das nicht gleich eingefallen! Besten Dank! Einfach und ohne zusätzlichen Aufwand beim Designen der Fenster!

> allerdings ist es notwendig zuerst ein ApplicationObject zu erstellen und die ganze definition mit den Gadgets usw. später per OM_ADDMEMBER zuzufügen, weil man das appobject bei DoMethod() angeben muss (denke ich).

Ja, ist richtig, aber auch das paßt in meine Vorgabe, da die Fenster erst beim Öffnen erzeugt werden sollen und ohnehin schon mit OM_ADDMEMBER drangepappt wurden.

> da meines wissens nach alle Strings die du MUI übergibst kopiert werden, kannst du in der Funktion auch den string (auf den Stack) parsen und per MUIA_ControlChar die Taste zum aktivieren definieren.

Das wiederrum ist jetzt komplett überflüssig, da das SimpleButton() Macro ja ein MUIO_BUTTON erzeugt und somit die "_" ausgewertet werden. Dank der obigen Lösung kann ich das ja weiterhin benutzen.

Ich hatte nur keinen Bock für jedes Gadget unten einen eigenen DoMethod() Aufruf machen zu müssen, weil das wieder unnötiges Fehlerpotential darstellt.

Danke für den Denkanstoss!

Guido Mersmann
 
 
Erste 5 6 7 8 9 -10- 11 12 Ergebnisse der Suche: 332 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2022 by amiga-news.de - alle Rechte vorbehalten.
.