anchor.diff:          if rest:
               print >>f, rest
           elif options.get("singleton") or options.get("count_function"):
  -            print >>f, ".B loadrt %s" % comp_name
  -        else:
  -            print >>f, ".B loadrt %s [count=\\fIN\\fB]" % comp_name
  +            if has_personality:
  +                print >>f, ".B loadrt %s personality=\\fIP\\fB" % comp_name
  +            else:
  +                print >>f, ".B loadrt %s" % comp_name
  +        else:
  +            if has_personality:
  +                print >>f, ".B loadrt %s [count=\\fIN\\fB] [personality=\\fIP,P,...\\fB]" % comp_name
  +            else:
  +                print >>f, ".B loadrt %s [count=\\fIN\\fB]" % comp_name
           if options.get("constructable") and not options.get("singleton"):
               print >>f, ".PP\n.B newinst %s \\fIname\\fB" % comp_name
   
  
positive.code:             if not options.get("userspace"):
                  print >>f, "RTAPI_MP_INT(count, \"number of %s\");" % comp_name
  
          print >>f, "int rtapi_app_main(void) {"
          print >>f, "    int r = 0;"
          if not options.get("singleton"):
  
negative.code:             print >>f, "    if(r != 0) return r;"
              if value is not None:
                  print >>f, "    *(inst->%s) = %s;" % (to_c(name), value)
          if personality:
              print >>f, "}"
  
      for name, type, array, dir, value, personality in params:
          if personality:
              print >>f, "if(%s) {" % personality
          if array:
              if isinstance(array, tuple): array = array[1]
              print >>f, "    for(j=0; j < %s; j++) {" % array
              print >>f, "        r = hal_param_%s_newf(%s, &(inst->%s[j]), comp_id," % (
                  type, dirmap[dir], to_c(name))
  