Announcement

Collapse
No announcement yet.

WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

    There's file format called "Teboview" with an extension .tvw, and I've noticed some Lenovo laptop boards are using it.

    I would like to write a decoder for the format for OpenBoardview but thus far, naturally, I've not found any useful specification on the internet. I've downloaded TeboView-ICT but unfortunately it also doesn't provide a lot of information about the technical information for each part/net/etc.

    I've decoded a moderate amount of the file format but I would *really* appreciate it if anyone could drop a file format spec accidentally

    There's at least one 3rd party program out there that can decode it that I know of but I'm not sure how they got the spec and it's unlikely they're going to share it.

    As an alternative, if anyone has some *small* TVW files they'd like to share, that might provide me a smaller search space to decode the puzzle.

    Most of the files I have now are 1MB+, something simpler more along the lines of 100K would be vastly preferred
    YouTube Repair Videos - https://www.youtube.com/user/19PLD73
    FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

    #2
    Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

    hi. attached are a few small filesize tvw files.

    Adding another boardviewer that can support the tvw format. Extract and launch the executable from within the same folder as it makes use of the dll files.

    https://we.tl/t-e8KqK8jigX
    Attached Files
    Last edited by mon2; 10-31-2021, 06:42 AM.

    Comment


      #3
      Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

      Originally posted by mon2 View Post
      hi. attached are a few small filesize tvw files.
      Many thanks for that ... definitely a nice improvement to only have 1/10th the volume of data to dig through.

      Hopefully I can decipher the trickery they're using (I'm sure there's a real reason for it).

      It would be great if we could find something like a simple 2-layer board with only a couple of components on it. Not sure how or who generates tvw files but if it's possible, creating very simple boards is often a good way to start the decoding process too.

      Many thanks again mon2.
      YouTube Repair Videos - https://www.youtube.com/user/19PLD73
      FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

      Comment


        #4
        Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

        Can you post an example of what youve decoded already,what should we be looking for
        Attached Files
        Last edited by SMDFlea; 11-13-2021, 08:55 AM.
        All donations to badcaps are welcome, click on this link to donate. Thanks to all supporters

        Comment


          #5
          Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

          I've created a github project for this reverse-engineering task

          https://github.com/inflex/teboviewfomat
          YouTube Repair Videos - https://www.youtube.com/user/19PLD73
          FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

          Comment


            #6
            Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

            ahem... I mean https://github.com/inflex/teboviewformat
            YouTube Repair Videos - https://www.youtube.com/user/19PLD73
            FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

            Comment


              #7
              Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

              Oh, Pascal strings everywhere :-)

              Looking at the 3 example files, and counting strings with backslashes inside, it seems to me the 4th value in the header after all the strings should be the layer count.

              I started writing a python parser, not much else to see yet.

              Comment


                #8
                Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                Managed to get TeboView to run under WINE. But it's 5am so I should sleep some hours first.

                Comment


                  #9
                  Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                  Originally posted by mmu View Post
                  Managed to get TeboView to run under WINE. But it's 5am so I should sleep some hours first.
                  You can also try running "Boardviewer" which can decode the tvw file format, and might be doing a more simplified decoding process
                  YouTube Repair Videos - https://www.youtube.com/user/19PLD73
                  FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

                  Comment


                    #10
                    Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                    What's with this "nail" thing that's always -1 anyway?

                    Comment


                      #11
                      Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                      I'll be pushing what I have here, not much for now.

                      Comment


                        #12
                        Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                        Originally posted by mmu View Post
                        I'll be pushing what I have here, not much for now.
                        Thanks for that, would you be also able to comment with some sort of breakdown of the structure you're decoding in addition to the python decoder, ie;

                        headerformat:

                        bytes / length | description
                        ------------------------------------------


                        I'll update it on my file format description text so you can get an idea of the format; that way at least if it's documented it's easier for everyone to implement in their own script/language
                        Last edited by inflex; 11-13-2021, 06:58 AM.
                        YouTube Repair Videos - https://www.youtube.com/user/19PLD73
                        FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

                        Comment


                          #13
                          Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                          Trying to write a format table for these types of very dynamic (length) structures is frustrating. I'll try write something with more clarity
                          YouTube Repair Videos - https://www.youtube.com/user/19PLD73
                          FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

                          Comment


                            #14
                            Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                            Yeah it's just trying stuff out for now.

                            Comment


                              #15
                              Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                              I've updated the fileformat description document with what I'm trying to achieve

                              Code:
                              PART entry:
                              type/details	| description
                              ----------------------------------------
                              string		part name
                              int32		bounding box minimum x
                              int32		bounding box minimum y
                              int32		bounding box max x
                              int32		bounding box max y
                              int32		center x
                              int32		center y
                              int32		rotation (degrees)
                              uint32		unknown (132)
                              uint32		unknown (0)
                              uint32		unknown (1417)
                              uint8		unknown (1)
                              string		metadata about part (100K etc)
                              int16		unknown
                              string		package name (case insensitive)
                              string		unknown, possible UID
                              uint32		unknown (0)
                              uint32		pincount
                              uint32		unknown (2)
                              PINS			Array of pins
                              
                              
                              PIN entry:
                              type/details	| description
                              ----------------------------------------
                              uint32		networkID/map entry 
                              uint32		unknown (0)
                              uint32		integer pin index (1-based, ie, 1, 2, 3...n)
                              string		pin name (1, 2, 3 etc for small parts, or AA42, B24 etc for BGA)
                              uint32		unknown (0)
                              YouTube Repair Videos - https://www.youtube.com/user/19PLD73
                              FlexBV BoardView software - Linux/OSX/Windows - http://pldaniels.com/flexbv

                              Comment


                                #16
                                Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                                Looking at the SOLDERMASK_TOP layer, the first part is actually a shape dictionary, with bounds and other things like radius, then there must be a list of them with the coordinates, since some shapes are identical.

                                Comment


                                  #17
                                  Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                                  For some reason Boardviewer complains it doesn't have Mono despite mono-complete being installed…

                                  Comment


                                    #18
                                    Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                                    @mmu, try this Boardviewer:

                                    https://we.tl/t-Gs3ZMzhbWY

                                    Comment


                                      #19
                                      Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                                      It is in dot net. Theres a good app for windows called dotPEEK that might help to decompile part of it
                                      Attached Files
                                      All donations to badcaps are welcome, click on this link to donate. Thanks to all supporters

                                      Comment


                                        #20
                                        Re: WANTED: Teboview / TVW file format specification to write OpenBoardview decoder

                                        Originally posted by mon2 View Post
                                        @mmu, try this Boardviewer:

                                        https://we.tl/t-Gs3ZMzhbWY
                                        Thanks, this one runs, but doesn't help much.
                                        The decompiled version doesn't have much info, just tons of hex :-)

                                        Comment

                                        Working...
                                        X