941225:
 ~~~~~~~
	* Skrev färdigt C versionen av testprogrammet. Började fixa alla
	  buggar (fler än i första versionen av asm-ver av testprogrammet).

	* Slösade resten av dagen på att hitta en konstig bugg som gjorde
	  att hotkeyarna slutade repetera efter att de hade repeterat 4
	  gånger.

	  Hittade felet då jag startade MemSnapII och märkte att programmet
	  allokerade ca 1k minne varje sekund. ListView gadgeten sätter
	  IDCMP_INTUITICKS flaggan (genom LISTVIEWIDCMP) och programmet fick
	  då ett meddelande 50 ggr/s. Jag hade använt fel ROM rutin för att
	  skicka tillbaka meddelandet: ReplyMsg i stället för GT_ReplyIMsg.

	  Konstigt att jag inte märkte det 7 timmar tidigare... (det var den
	  sista raden i hela testprogrammet förutom alla ([}{]) tecken som
	  används i C).

	* Gjorde två små rutiner för C-versionen av testprogrammet för att
	  kunna blinka med ljudfiltret.

	* Det verkar som att C-kompilatorerna inte kan läsa ett longword från
	  två word variablar direkt efter varandra.
	  Det gick att ordna på ett konstigt sätt som borde fungera med alla
	  C-kompilatorer.

	  long coords;
	  coords = (LONG)imsg->MouseX << 16 | imsg->MouseY;

	  motsvarar i assembler (om imsg finns i A0 och coords sparas i D0):

	  moveq.l #0,d0			; coords = 0
	  move.w  im_MouseX(a0),d0	; coords = MouseX
	  lsl.l	  #16,d0		; << 16
	  or.w	  im_MouseY(a0),d0	; | MouseY

	  eller lite optimerat:

	  move.w  im_MouseX(a0),d0	; coords = MouseX
	  swap	  d0			; x coord i övre wordet
	  move.w  im_MouseY(a0),d0	; y coord i nedre wordet

	  eller helt optimerat:

	  move.l  im_MouseX(a0),d0	; X coord i övre, Y coord i nedre word


[Main] [Previous] [Next]

Converted on 19 Jul 1996 with RexxDoesAmigaGuide2HTML by Michael Ranner.