; Przykîad 1 include 'dos/dosextens.i' include 'exec/funcdef.i' include 'exec/exec_lib.i' section text,code xdef _Start _Start: move.l 4.w,a6 sub.l a1,a1 jsr _LVOFindTask(a6) move.l d0,a0 tst.l pr_CLI(a0) bne Koniec ; Uruchomiony z Shella lea pr_MsgPort(a0),a0 jsr _LVOWaitPort(a6) ; TU JEST BÎÂD! jsr _LVOGetMsg(a6) ; Koïcowe "czyszczenie" jsr _LVOForbid(a6) ; Nie zmienia scratch-reqisters move.l d0,a1 ; WBStartup uzyskany przez GetMsg() jsr _LVOReplyMsg(a6) Koniec: clr.l d0 rts END /* Przykîad 2 */ #include #include #include #include #include struct NewWindow daneokna= { 0, 100, 640, 100, (UBYTE)-1, (UBYTE)-1, 0, WFLG_CLOSEGADGET | WFLG_DRAGBAR | WFLG_DEPTHGADGET, 0, 0, "Przykîad 2", 0, 0, 0, 0, 0, 0, WBENCHSCREEN }; struct Window *okno; struct IntuitionBase *IntuitionBase; int main(int argc, char *argv[]) { if (!(IntuitionBase=(struct IntuitionBase*)OpenLibrary("intuition.library", 0))) return 100; printf("Otwieram okno\n"); if (!(okno=OpenWindow(&daneokna))) { printf("Brak pamiëci!\n"); CloseLibrary((struct Library*)IntuitionBase); return 10; } Delay(250); printf("Zamykam okno\n"); CloseWindow(okno); CloseLibrary((struct Library*)IntuitionBase); return 0; } /*** Przykîad 3 ***/ #include #include #include struct MsgPort *port; struct timerequest *req; int main(int argc, char *argv[]) { if (!(port=CreatePort(0, 0)) || !(req=(struct timerequest*)CreateExtIO( port, sizeof(struct timerequest)))) return 10; if (OpenDevice(TIMERNAME, UNIT_MICROHZ, (struct IORequest*)req, 0)) return 10; req->tr_node.io_Command=TR_ADDREQUEST; req->tr_time.tv_secs=10; req->tr_time.tv_micro=0; SendIO((struct IORequest*)req); Delay(50); /* PONIÛEJ JEST BÎÂD! */ SendIO((struct IORequest*)req); WaitIO((struct IORequest*)req); CloseDevice((struct IORequest*)req); DeleteExtIO((struct IORequest*)req); DeletePort(port); return 0; }