🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Udo Blatzheim Mon, 20 Jul 1992 21:18
Help: Amiga C Timer-Device
#3
Author: Udo Blatzheim
Date: Mon, 20 Jul 1992 21:18
47 lines
1858 bytes
Hallo Ihr Spezialisten,

mein Problem:    ich  möchte  das  ein  C-prog.  fuer einen bestimmten
Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
zu belasten.  Da  steht  nun in diesem dicken Buch "Amiga intern" auf
Seite  618  ein  Beispiel fuer  das  Timer-Device.    Aber  das  Ding
funktioniert nicht. Weiss jemand warum?

Im voraus herzlichen Dank fuer Eure Hilfe

ciao,
  Udo

Ps. SAS/C Version 5.10a, AmigaDOS 2.0
    Amiga500 3MB, 20MB, 50MB

#include <exec/execbase.h>
#include <string.h>
#include <devices/timer.h>
#define TIME_LEN (ULONG) (sizeof (struct timerequest))
extern struct ExecBase *SysBase;
int Error;
struct timerequest *TimeRequest=0L;

void WaitTime();

main()
{
   WaitTime(TimeRequest,20L,0L);
}

void WaitTime(TimeRequest, Secs, Micro)
struct timerequest *TimeRequest;
ULONG Secs, Micro;
{
   Error = OpenDevice("timer.device", (ULONG) UNIT_VBLANK,
                       &TimeRequest, 0L, TIME_LEN);
   if(Error!=0) printf("\nOpenDevice() - Error\n");
   TimeRequest->tr_time.tv_secs=Secs;          Hier steigt er aus !!!???
   TimeRequest->tr_time.tv_micro=Micro;
   DoIO(TimeRequest, (UWORD)TR_ADDREQUEST);
   CloseDevice(TimeRequest);
}

--
 Udo Blatzheim, Europe - Germany - 7035 Waldenbuch, Auf dem Graben 9
   home + voice only ..7157/8726   udo@ubla.novalis.public.sub.org
Re: Help: Amiga C Timer-Device
#4
Author: J. Wiedmann
Date: Wed, 22 Jul 1992 10:17
43 lines
2011 bytes
In <udo.08s1@ubla.novalis.public.sub.org> udo@ubla.novalis.public.sub.org (Udo Blatzheim) writes:

>mein Problem:    ich  moechte  das  ein  C-prog.  fuer einen bestimmten
>Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
>zu belasten. 

<Einiges geloescht>

>struct timerequest *TimeRequest=0L;

>   TimeRequest->tr_time.tv_secs=Secs;          Hier steigt er aus !!!???

Hallo, Udo,

ganz einfacher Fehler (mir und allen anderen schon zig-mal passiert): Du
darfst den Zeiger TimeRequest nicht verwenden ohne ihn zu initialisieren.
Das Beste ist, mit CreateExtIO() Speicher zu reservieren. (Noch besser:
Vorher mit CreatePort() auch tatsaechlich einen MessagePort erzeugen.)

Falls Du uebrigens laengere Zeit (will sagen: Einige fuenfzigstel-Sekunden)
warten willst, dann kannst Du das viel einfacher mit derAmigaDOS-Funktion
Delay() tun.

	Viel Glueck

		Jochen


-- 


------------------------------------------------------------------------------
Jochen Wiedmann			E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de
Wolkensteinstr. 14
7403 Ammerbuch-Poltringen	Bitte haben Sie Verstaendnis, falls Sie an
				einem Tag mehrere Briefe von mir bekommen.
Tel. 07073/4291			Ein Aussortieren von Hand waere weit teurer
				als die zusaetzlichen InterNet-Gebuehren.
--


------------------------------------------------------------------------------
Jochen Wiedmann			E-Mail: wiedmann@mailserv.zdv.uni-tuebingen.de
Re: Help: Amiga C Timer-Device
#5
Author: Christian Riede
Date: Thu, 23 Jul 1992 17:34
14 lines
1066 bytes
In article <udo.08s1@ubla.novalis.public.sub.org>, Udo Blatzheim writes:

> mein Problem:    ich  möchte  das  ein  C-prog.  fuer einen bestimmten
> Zeitraum in den Hintergrund verschwindet ohne bei diesem wait die CPU
> zu belasten.

Dumme Frage am Rande: Warum nicht mit Delay() aus der DOS-Library? 

Gruss, Christian

-- 
Christian Riede, Lange Strasse 88, D-W7500 Karlsruhe 51, Germany 
Tel. (+49) 721 {886091 | 608-4487 | 608-2749}  |   iso-8859-1:   
EMail: chr@senga.ka.sub.org, riede@ira.uka.de  |  äöüß==aeoeuess 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads