   READ1K_TIMEOUT_MS   = 1000
   WRITE1K_TIMEOUT_MS  = 2000
   DELETE_TIMEOUT_MS   = 1000
-  V1_VERSION_LINE     = /^(WAKAYAMA\.RB Board) Ver\.([^,]+),([^(]+)\(H \[ENTER\]\)$/
+  V1_VERSION_NEEDLE   = "H [ENTER])"
+  V1_VERSION_LINE     = /^(WAKAYAMA\.RB Board) Ver\.([^-]+)-([^,]+),([^(]+)\((?:help->)?H \[ENTER\]\)$/
 
   @VID_PID_LIST: [
     # VID)PID)

      v = verline.match(V1_VERSION_LINE)
      return Promise.reject(Error("Bad response")) unless v?
      return {
        "{Kind_of_board}": v[1]?.trim()
        "{Firmware_revision}": v[2]?.trim()
        "{Embedded_script_engine}": v[3]?.trim()
      } # Last PromiseValue
    ).finally(=>
      return @_unlock(lock)

    ).then(=>
      return @_send("H\r")
    ).then(=>
      return @_pull(@_wait(V1_VERSION_NEEDLE))
    ).then((readdata) =>
      return ab2str(readdata)
    ).then((readdata) =>
