anchor.diff:  (def-nxt-command stop-program  #00 #01)
   (def-reply-package #x01)
   
  -(def-nxt-command play-sound-file #x00 #x02 loop (byte 2) file-name (string 3 22))
  +(def-nxt-command play-sound-file #x00 #x02 loop (ubyte 2) file-name (string 3 22))
   (def-reply-package #x02)
   
   (def-nxt-command play-tone #x00 #x03 frequency (uword 2) duration (uword 4))
   (def-reply-package #x03)
   
   (def-nxt-command set-output-state #x00 #x04 
  -		 output-port (byte 2) 
  -		 power-set-point (byte 3)
  -		 mode (byte 4)
  -		 regulation-mode (byte 5)
  -		 turn-ratio (byte 6) ;; needs to be sbyte, so this will fail with negative numebrs.
  -		 run-state (byte 7)
  +		 output-port (ubyte 2) 
  +		 power-set-point (ubyte 3)
  +		 mode (ubyte 4)
  +		 regulation-mode (ubyte 5)
  +		 turn-ratio (ubyte 6) ;; needs to be subyte, so this will fail with negative numebrs.
  +		 run-state (ubyte 7)
   		 tacho-limit (ulong 8))
   (def-reply-package #x04)		 
   
   (def-nxt-command set-input-mode #x00 #x05
  -		 input-port (byte 2)
  -		 sensor-type (byte 3)
  -		 sensor-mode (byte 4))
  +		 input-port (ubyte 2)
  +		 sensor-type (ubyte 3)
  +		 sensor-mode (ubyte 4))
   (def-reply-package #x05)		 
   
   (def-nxt-command get-output-state #x00 #x06
  -		 output-port (byte 2))
  +		 output-port (ubyte 2))
   (def-reply-package #x06
  -    output-port (byte 3)
  -    power-set-point (byte 4)
  -    mode (byte 5)
  -    regulation-mode (byte 6)
  -    turn-ratio (byte 7) ;; needs to be sbyte
  -    run-state (byte 8)
  +    output-port (ubyte 3)
  +    power-set-point (ubyte 4)
  +    mode (ubyte 5)
  +    regulation-mode (ubyte 6)
  +    turn-ratio (ubyte 7) ;; needs to be sbyte
  +    run-state (ubyte 8)
       tacho-limit (ulong 9)
       tacho-count (ulong 13) ;; should be slong
       block-tacho-count (ulong 17) ;; should be slong)
       rotation-count (ulong 21) ;; should be slong
   )
   
  -(def-nxt-command get-input-values #x00 #x07 input-port (byte 2))
  +(def-nxt-command get-input-values #x00 #x07 input-port (ubyte 2))
   (def-reply-package #x07
  -    input-port (byte 3)
  -    valid (byte 4)
  -    calibrated (byte 5)
  -    sensor-type (byte 6)
  -    sensor-mode (byte 7)
  +    input-port (ubyte 3)
  +    valid (ubyte 4)
  +    calibrated (ubyte 5)
  +    sensor-type (ubyte 6)
  +    sensor-mode (ubyte 7)
       raw-a/d-value (uword 8)
       normalized-a/d-value (uword 10)
       scaled-value (uword 12)  ;; should be sword
       calibrated-value (uword 14) ;; should be sword
   )
   
  -(def-nxt-command reset-input-scaled-value #x00 #x08 input-port (byte 2))
  +(def-nxt-command reset-input-scaled-value #x00 #x08 input-port (ubyte 2))
   (def-reply-package #x08)
   
  -
  +;(def-nxt-command message-write #x00 #x09 inbox (ubyte 2) message-size (ubyte 3) message-data (data 4)) ;; Note need to think about data
  +;(def-reply-package #x09)
  +
  +(def-nxt-command reset-motor-position #x00 #x0a output-port (ubyte 2) relative (ubyte 3))
  +(def-reply-package #x0a)
  +
  +(def-nxt-command get-battery-level #x00 #x0b)
  +(def-reply-package #x0b voltage (uword 3))
  +
  +(def-nxt-command stop-sound-playback #x00 #x0c)
  +(def-reply-package #x0c)
  +
  +(def-nxt-command keep-alive #x00 #x0d)
  +(def-reply-package #x0d sleep-time-limit (ulong 3))
  +
  +
  +(def-nxt-command ls-get-status #x00 #x0e port (ubyte 2))
  +(def-reply-package #x0e bytes-ready (ubyte 3))
  +
  +;; (def-nxt-command ls-write #x00 #x0f port (ubyte 2)
  +;; 		 tx-data-length (ubyte 3)
  +;; 		 rx-data-length (ubyte 4)
  +;; 		 tx-data (data 5))
  +;(def-reply-package #x0f)
  +
  +(def-nxt-command ls-read #x00 #x10 port (ubyte 2))
  +;(def-reply-package #x10 bytes-read (byte 3) rx-data (data 3 19))
  +		 
  +
  +(def-nxt-command get-current-program-name #x00 #x11)
  +(def-reply-package #x11 file-name (string 3 22))
  +
  +(def-nxt-command message-read #x00 #x13
  +		 remote-inbox (ubyte 2)
  +		 local-inbox (ubyte 3)
  +		 remove (ubyte 4))
  +;; (def-reply-package #x13 local-inbox (byte 3) message-size (byte 4) message-data (data 5 63)) 
   
       
   
  
positive.code: ;; MODULES
  ;;;
  (def-nxt-command request-first-module    #x01 #x90 resource-name (string 2 21))
  (def-reply-package #x90 handle (byte 3) module-name (string 4 23)
  		   module-id (ulong 24)
  		   module-size (ulong 28)
  		   io-map-size (uword 32))
  
  (def-nxt-command request-next-module #x01 #x91 handle (byte 2))
  (def-reply-package #x91 handle (byte 3) module-name (string 4 23)
  		   module-id (ulong 24)
  		   module-size (ulong 28)
  		   io-map-size (uword 32))
  
  (def-nxt-command close-module-handle #x01 #x92 handle (byte 2))
  (def-reply-package #x92 handle (byte 3))
  
  ;;;;
  ;; DIRECT COMMANDS
  
negative.code: with a type specifier.  Type specifiers are lists of the form (`type' `position' rest).
  The type is one of 
  
    ubyte
    uword
    string  - has additional parameter, `final-position'.
  
  