Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 31

Warning: include(http://archive.tivocommunity.com/tivo-vb/history/header.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 31

Warning: include() [function.include]: Failed opening 'http://archive.tivocommunity.com/tivo-vb/history/header.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 31
Pages:1



cs22 file decoder

(Click here to view the original thread with full colors/images)



Posted by: Mr. Belboz

I tossed this together "real quick". If someone wants to try to mess with the cs22 (screen images) on their TiVo. The below source will decompress the cs22 file into a second file you can then play with. I haven't looked at this raw file any yet, but thought I would post this for others.

Obviously you need to compile this on your PC. It "should" compile on most enviroments (Borland, Watcom, MSVC, DJGPP, gcc, etc).

You will also need to pull some sample cs22 files from your TiVo. You can get them with Zmodem through a terminal program and a bash prompt on your TiVo. You can also mount a TiVo drive with Dylan's boot disk to get them.

The format of the program is 'programname srcfile.cs22 destfile". A possible format to convert these cs22 files to and from is pcx since it uses packbytes format also.

Of the 4 cs22 files in my /tvbin directory there seem to be two packbyte sizes. 346120 and 172840. Not sure what resolution these images are. Be curious to hear what others with more time figure out.

You can get it at the below URL.
http://home.cinci.rr.com/mhill/cs22decode.c


------------------
Belboz
belboz@cinci.rr.com



Posted by: agt


FWIW, I threw some random (gzip'd) data at /dev/mpeg0a and noticed that the
garbage image seemed to move around to different areas of the screen as time went by. Perhaps part of the image data describes which areas of the screen should be masked off.

quote:
Originally posted by Mr. Belboz:
Of the 4 cs22 files in my /tvbin directory there seem to be two packbyte sizes. 346120 and 172840. Not sure what resolution these images are. Be curious to hear what others with more time figure out.
[/B]






Posted by: Mr. Belboz

quote:
Originally posted by agt:

FWIW, I threw some random (gzip'd) data at /dev/mpeg0a and noticed that the
garbage image seemed to move around to different areas of the screen as time went by. Perhaps part of the image data describes which areas of the screen should be masked off.




The CS22 chip does support multiple regions with seperate color tables for each region, overlays, etc.

I was guessing that the 172840 byte cs22 files were possibly 16bit images that are 352X240. That accounts for 168960 bytes and leaves 3880 bytes unaccounted for.

I was guessing that the 346120 byte cs22 files were possibly 16 bit images that are 352X480. That accounts for 337920 bytes and leaves 8200 bytes unaccounted for.



------------------
Belboz
belboz@cinci.rr.com



Posted by: Otto

I haven't looked at the actual content of these files yet, but didn't someone say they have a header? Looks like "PackBytes%d/n" where %d is the uncompressed size. I just want to note that the C code Belboz posted doesn't take a header into account, which might explain the extra space you found.

Oops. I'm stupid. I missed the fgets line. Never mind. http://www.avsforum.com/ubbtivo/smile.gif

Hmm.. 172840 = 4321 * 40... Not much use there. http://www.avsforum.com/ubbtivo/biggrin.gif
Well, 360 * 240 * 2 = 172800.. 40 bytes off
And 360 * 480 * 2 = 345600.. 520 bytes off

Why did you choose 352?

------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda


[This message has been edited by Otto (edited August 17, 2000).]



Posted by: sorphin

if you notice that 1khz mp2 audio file, they use that for testing the sounds are prolly just variations of mpeg2 audio files.. (maybe)

quote:
Originally posted by agt:

FWIW, I threw some random (gzip'd) data at /dev/mpeg0a and noticed that the
garbage image seemed to move around to different areas of the screen as time went by. Perhaps part of the image data describes which areas of the screen should be masked off.






------------------
-ds
Member of the #TiVo Enhancement Project
(Not to be confused with the SourceForge Group)



Posted by: Mr. Belboz

quote:
Originally posted by Otto:
I haven't looked at the actual content of these files yet, but didn't someone say they have a header? Looks like "PackBytes%d/n" where %d is the uncompressed size. I just want to note that the C code Belboz posted doesn't take a header into account, which might explain the extra space you found.

Oops. I'm stupid. I missed the fgets line. Never mind. http://www.avsforum.com/ubbtivo/smile.gif

Hmm.. 172840 = 4321 * 40... Not much use there. http://www.avsforum.com/ubbtivo/biggrin.gif
Well, 360 * 240 * 2 = 172800.. 40 bytes off
And 360 * 480 * 2 = 345600.. 520 bytes off

Why did you choose 352?



Actually I got the 352 from documentation on the CS24 chip (figuring it is similiar to the cs22).

One thing I caught after posting it was that the 352 X 240 and 480 I saw were listed as supported Input Image sizes and not output sizes.

So your 360 might be closer to the mark.. I will look into the files more later.



------------------
Belboz
belboz@cinci.rr.com



Posted by: Otto

Well, these are input images, right? http://www.avsforum.com/ubbtivo/smile.gif

However, I now have support for the 360 theory. I ran your decoder on the InstallingSoftware.cs22 and got a large file out of it. Looking at the hex, I noticed that the first 520 (0x208) bytes are a bunch of junk. Assuming this is a raw file bitmap, type of thing, I'd say that's a palette of some type. When I display that on the screen with osdwriter, there nothing on the top line, as far as I can tell. The rest of the file looks consistent with a straight bitmap image. And the size matches 360x480.

Now if I could only find an image editor that understood this file type...

Addition: sending the resulting raw file to the various /dev/mpeg0* does nothing, except garble the screen a bit on mpeg0o. However, running osdwriter output.raw does display the same screen as running it on the *.cs22 file.

------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda


[This message has been edited by Otto (edited August 17, 2000).]



Posted by: Otto

The image format of the raw file is 720 high by 240 wide, with a 520 byte header. I'm was able to open it in Paint Shop Pro 6.02 as a raw format file. I still haven't worked out that palette yet, however. It's in the header, I just don't know the format yet.

Bit of a weird image aspect ratio though. But that's definitely it. EDIT: No it's not. Paintshop pro assumes 24 bit color. I couldn't get it to work as 16 bit. That's why it was giving me weird aspect ratios.

------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda

[This message has been edited by Otto (edited August 18, 2000).]



Posted by: J-Man

I think it's 360 x 480 but with 2 bytes (16 bits) per pixel, though it seems for 65k colors you'd need more than 520 bytes of header to describe the palette... I'm honestly not sure how it works yet, but I also suspect there might be a byte-order issue here (Intel's LSB-MSB vs Motorola's MSB-LSB)... but either way, if we can somehow translate the header (and thus the palette), we should be able to duplicate it.

I tried renaming the uncompressed version to every single image type that Paint Shop and Photoshop recognize, with no success. I tried every conceivable setting for "raw" in both programs, and was able to view them but the colors were way off...

I have some other ideas - neither program seems willing to take an image containing a palette for any raw type - it has to be either grey-scale or RGB or CYM (or whatever)... but nothing with a palette. So I'm thinking about trying to add the image header from an 8 or 16 bpp bitmap, and see if I can get it to recognize it. Then I may be able to somehow merge the palette into the header as well. If we can crack that, we should be able to easily whip up a BMP --> cs22 converter in C http://www.avsforum.com/ubbtivo/smile.gif

I still don't know why I so badly want to get this to work - once I'm able to display my own images on the screen, I then will need to come up with a practical use... but I'm sure that won't take too long...

Also - I'm wondering if some of those bits are reserved for something like "transparency level". All image formats that I know of (except for .psd) cannot store varying levels of transparency - it's either transparent or opaque, no in-between. But keeping with TV standards, you need to be able to overlay an image over the video.

Consider this:

- TiVo can play only one MPEG type of image at a time, period. There is only one hardware decoder capable of displaying compressed images.

- TiVo can however mix raw video with the MPEG. Remember, you cannot mix compressed data without first decompressing both portions, mixing, then re-compressing them together - which the TiVo does not have enough processing power to do (same with audio).

Thus, all on-screen images that are mixed with video are raw (or RLE encoded, which is relatively simplistic in comparison to MPEG/JPEG). Hint: this is why the TiVo main menu will not overlay TV - it has its own animations in the back drop, probably in the form of an MPEG http://www.avsforum.com/ubbtivo/smile.gif

What does all of this mean? I'm not sure, but my mind has been stuck on this all day. /dev/mpeg0v is for MPEG video. Go ahead and 'cat' something to it, you'll only see distortions in the video (proving my point above about mixing compressed data). The OSD is a separate rendering device (also why it records only the video, even if you're using the OSD to look at the description, for example).

To summarize, if we can figure out the color palette, the transparancy settings (how many bits are used for each - doesn't have to necessarily be 8:8 btw), the byte-ordering and so on, we should be able to project images, possibly as overlays and over only portions of the screen (perhaps ICQ messages, stock quotes, or whatever you can make a program on another PC send to the TiVo)...

PS - sorry for the long post - I've been up too long, and I tend to do 'brain dumps' http://www.avsforum.com/ubbtivo/smile.gif

PPS - Thanks for the decoder, btw - it's been extremely helpful with this whole process http://www.avsforum.com/ubbtivo/smile.gif

- J-Man aka Justin

[This message has been edited by J-Man (edited August 18, 2000).]



Posted by: Otto

I've been thinking about this, and I agree with your conclusions that all the menus, guide, overlays, etc. Must be raw data. It just dumps them on top of the screen. At the same time, the overlays must support transparency and they don't need to support a lot of colors, really.

Then I started thinking about that 520 byte header. It doesn't really have to be a palette. That 520 bytes can be anything. With 16 bits of color, why not say that the image might be RGBA instead? 4 bits each, with the alpha channel providing 16 levels of transparency? This fits with what I've seen of the menus (note that the colors aren't great on some of the pictures in the titlebars of Tivolution Magazine. Also, the menus are partly transparent on the background as is the Live TV Guide on the TV image. The colors may be reversed, BGRA or something, but that's just details...

Just an assumption to work on that might be useful.


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda

[This message has been edited by Otto (edited August 18, 2000).]



Posted by: bonehead

quote:
Originally posted by Otto:
The image format of the raw file is 720 high by 240 wide, with a 520 byte header.


That wouldn't make sense. If you flip it around and call it 720 wide by 240 high, then it might.

Two very common image sizes to use when working on NTSC video on a computer are 720x480 (NTSC, full frame, interlaced) and 352x240 (NTSC, deinterlaced frame). When I capture video, I capture at 352x480, then deinterlace that down to 352x240.

Since the display output of the Tivo is an NTSC television, I'd expect these images to conform to one of these common sizes (or at least be pretty darn close to it.)






Posted by: Otto

If you read the rest of the post, you'll see I was mistaken. http://www.avsforum.com/ubbtivo/smile.gif

The image format is a lot trickier than it looks. Paint Shop Pro sucks. I'm going to have to sit down and write something to decode this thing the right way. It looks like 360x480 interlaced. It's weird and it's making my head hurt. I've got some more theories I'll code up tonight and give it a shot. I may be able to write a raw2bmp (and therefore a cs22->bmp) convertor. I'll give it my best this weekend. http://www.avsforum.com/ubbtivo/smile.gif

I think it's interlaced, but I'm uncertain. I'll figure that out when I figure out the size. The 520 bytes may or may not be a palette. Frankly, I don't know what the hell they are. Maybe they're commands to the mpeg decoder, maybe they're transparency chunks, I dunno.

Here's the deal with the wack image sizes. The reason I thought it was 240 wide is that that loaded the image properly in paint shop pro. However, it was using 3 bytes per pixel (24 bit) and doesn't understand 16 bit at all. So when it read 720 bytes, it got 240 pixels out of it. However, that was good enough to get a wacky bad color image that resembled the original. The lines at least synched up though, and you didn't get any diagnoal jaggies because 720 bytes is the length of the line. It should be 360 pixels wide though, or maybe 480. If the image is 16 bit (4-bit RGBA?), then it's 360 wide. It also could be 12-bit (4-bit RGB?), in which case it's 480 wide. Either way, the width of a raster line in this image is 720 bytes, period.


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Mr. Belboz

Ok the bigger packbyte files seem to be the following. This is unpacked obviously.

First 8 bytes unknown (header?). Could be offset, etc.

Next 512 bytes are RGB values for the 256 color palette. 2 Bytes per palette entry. Not sure on how the RGB values are mapped.

Image size is 720 X 480 with one byte per pixel so the final 345600 bytes make up the image.

I wrote a program to convert the above file to a Targa (TGA) file since it seems to be simple enough to use. Targa supports uncompressed images so it is a simple matter of tossing on a proper Targa header, toss out the palette, and then the image data.

The resulting TGA file looks great from an aspect ratio and pixel content. Just the palette is all messed up.

The smaller packbyte files have the 8 byte header as above and then 32 bytes which make up the RGB values for 16 colors (2 bytes per palette entry).

Haven't looked at the make up of the smaller packbytes files image. Not sure if it is a smaller size image, or 2 pixels per byte.

p.s. dont hunt me down if all of this is wrong. http://www.avsforum.com/ubbtivo/smile.gif

------------------
Belboz
belboz@cinci.rr.com

[This message has been edited by Mr. Belboz (edited August 18, 2000).]



Posted by: agt


For a good time, "export DUMP_OSD=1 ; myworld" and then look in /var/tmp/osdDump.bin. Watch the file as you make menu selections, etc.

I'm heading out of town and can't play w/ this further.
Have fun folks, please post anything you find. Thanks.



Posted by: Otto

quote:
Originally posted by Mr. Belboz:
I wrote a program to convert the above file to a Targa (TGA) file since it seems to be simple enough to use. Targa supports uncompressed images so it is a simple matter of tossing on a proper Targa header, toss out the palette, and then the image data.



Care to toss us that source code? http://www.avsforum.com/ubbtivo/smile.gif


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Mr. Belboz

quote:
Originally posted by Otto:
Care to toss us that source code? http://www.avsforum.com/ubbtivo/smile.gif





Ok. It aint much but here it is.
http://home.cinci.rr.com/mhill/maketga.c

It only works with the larger packbytes files right now. They already need to be uncompressed also with the previous decoder I uploaded. The code makes a few assumptions about the content so be warned.

For an example of the Install.cs22 converted by the above program (and converted to a gif by a third party program), check out. The palette is off, but you get the idea.

http://home.cinci.rr.com/mhill/install.gif

------------------
Belboz
belboz@cinci.rr.com



[This message has been edited by Mr. Belboz (edited August 20, 2000).]



Posted by: J-Man

RGBA - that sounds like a winner here. 4 bits per channel (RG and B), then 4 bits for transparency. I think that should yeild decent color results.

If that happens to be the case, I could probably whip up a program to convert a standard 24 bit RGB bitmap into a 12 bit RGB with a set transparency level or something to that affect - eg, take the 4 highest bits from each color channel, dropping the LSBs, and adding a common transparency level, settable from the command line ??

Source for the TGA converter would be most appreciated as well, as I'm sure it would prove helpful http://www.avsforum.com/ubbtivo/smile.gif




Posted by: Mr. Belboz

quote:
Originally posted by J-Man:

Source for the TGA converter would be most appreciated as well, as I'm sure it would prove helpful http://www.avsforum.com/ubbtivo/smile.gif



It is linked in the message above yours http://www.avsforum.com/ubbtivo/smile.gif



------------------
Belboz
belboz@cinci.rr.com



Posted by: Otto

Actually, I (rather impatiently) just wrote my own. http://www.avsforum.com/ubbtivo/smile.gif It's essentially the same as Belboz's though. I found the TGA specs and they are rather simple, really. I had no idea.

I'm still having problems figuring out the color format. I've tried several ways.


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Otto

Well, I'm convinced it's not RGB.

I went through every logical thing I could think of, and others that made no sense. I can't make heads or tails of the color format. I'm looking at CMYK and HSL now to see if its in one of these formats, but I am sure as heck that it's not RGB. I went to the trouble of looking at individual pixels, the color of which I knew, tracking them down in the file, seeing what colors they are, looking that up in the color map, converting to binary and visually comparing. They are more or less chaotic, in terms of differences on RGB. However, they have a vague CMYK feel to them, so I'm trying that now. http://www.avsforum.com/ubbtivo/smile.gif


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Peter Creath

quote:
Originally posted by Otto:
Well, I'm convinced it's not RGB.

I went through every logical thing I could think of, and others that made no sense. I can't make heads or tails of the color format.



Might it be YUV + alpha?




Posted by: Otto

Maybe. Anyone know how to convert YUV to RGB?

------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: daveg

Otto,

Hopefully this will help:
http://developer.intel.com/software...l/mmx/AP548.HTM





Posted by: daveg

also... there's a 'yuvtoppm' (convert yuv to portable bitmap) on my Redhat 6.2 system.




Posted by: mostman

Off topic...

When this gets decoded, I was thinking it may be simple to write a little script that runs df and parses the info to display some sort of display for space remaining.

-Mike



Posted by: Otto

Well, it looks better in some flavors of CMYK, but that's not it either. I tried a bunch of combos last night with no joy.

Here's the source code I've been using to try various bits. It's not very clean, but it is well commented. http://www.avsforum.com/ubbtivo/smile.gif It's essentially the same as Belboz's code, but if you want to try getting the colors right yourself, this is easier to change, I think. You do have to decode the cs22 file first using the original code Belboz posted.
http://sam.wood.tripod.com/tiv2tga.cpp

Usage: tiv2tga rawfilefromTivo.tiv output.tga

(I've been giving the raw file extensions of .tiv... Easier for me. http://www.avsforum.com/ubbtivo/smile.gif )


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Otto

Okay, here's the format of the smaller files.. They decompress the same.

The first 8 bytes are garbage, as far as I know. The next 32 bytes are the palette. 16 bits per color, 16 colors. The rest of the bytes are the image. Resolution is 720x480, same as the large files, but there's 2 pixels per byte, at 4 bits each.

Still working out how the colors work. http://www.avsforum.com/ubbtivo/smile.gif Trying YUV and YCrCb, with little success..

EDIT: Forgot the add that the first two bytes of the larger files are always DA 7C, while the smaller ones have DA F0.

------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda

[This message has been edited by Otto (edited August 19, 2000).]



Posted by: J-Man

I played with this all day yesterday, with absolutely no success. I concur, it is NOT RGB. I still am guessing at 360 x 480 @ 2 bytes per pixel.

I tried breaking up each byte into two 4 bit chunks (thinking along the lines of 4 bit per chanel RGBA), but that doesn't work. PromScreen...cs22 (don't have the file handy at the moment) has quite a bit of white in it, but for each 2 byte pair, very few of them have any high-bits set. Thus, no matter how I map the R, G, and B channels, only two of them are 'lit up'. The other two may have a very low value but in most cases they are zero.

I'm not sure what it means, other than it must be some sort of palette... but either way, I'm personally giving up for a while in favor of a different project (I'm fighting with running Linux with multiple monitors on my main system in order to do away with MS Windows)...

- J-Man



Posted by: Otto

The color format is HSL or something incredible close to it. While I still don't understand HSL, to be certain, I found an algorithm to convert it to RGB and plugged that in. After fooling around a bit, I've gotten really close to getting the correct colors on the image. I think I'm just a few bits off. When I get it right, I'll post the code and the format specs here. I would post the code now, but it's incredibly ugly and over-complicated at the moment.

Here's the latest image I've made though...
http://sam.wood.tripod.com/imgs/prom.gif


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Otto

Okay, I've gotten the colors about as close as I can get them for now. I cleaned up the code a bit. Maybe someone else will see what I'm missing. So, here's the code. It's two files (one is just the hsl to rgb conversion routine I snagged from the net).

The color palette: Each entry is 16 bits long. The first byte appears to be the lightness (L). The next byte appears to be hue and saturation. I'm taking 4 bits for each value. I know the code is a bit screwy, it has some hangover from earlier code. I build a 16 bit int, then mask off the bits I need for each value from there. Then I divide to make those values between 0 and 1 for the conversion routine. What comes back is RGB between 0-1, so I multiply by 255 to fit to the RGB values, then output them.

The code can read either the smaller or the larger files and convert it okay. It produces a 24 bit color Targa (TGA) file. Usage is the same: tiv2tga input.tiv output.tga . It will print whether it's a large image (256 colors) or a small one (16).

I know it's still broken, but it's awfully close, and I hope someone can finish it up.
http://sam.wood.tripod.com/tiv2tga.zip


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: slemke

Just curious if anyone is going to put together a "hacking faq". This faq should be separate from the "upgrade faq" in that it would list some of the basics like getting a shell, connecting to the shell, and transferring files, compiling code (and where), accessing the file system, shell scripts, tcl scripts, tivo environment variables, and other stuff that's been listed here... Is there some place we could keep such a "hacking faq"?

For example, what does one do with the zip file you posted here (besides unzip it), and how do you get files from TiVo to use with it?



Posted by: Mr. Belboz

quote:
Originally posted by slemke:
Just curious if anyone is going to put together a "hacking faq". This faq should be separate from the "upgrade faq" in that it would list some of the basics like getting a shell, connecting to the shell, and transferring files, compiling code (and where), accessing the file system, shell scripts, tcl scripts, tivo environment variables, and other stuff that's been listed here... Is there some place we could keep such a "hacking faq"?

For example, what does one do with the zip file you posted here (besides unzip it), and how do you get files from TiVo to use with it?



I am going to dedicate an entire section to lots of this new stuff. (ppp over dss, expanding cache etc).

With all the things people are doing lately, it makes sense to add it. Just hard to keep up! http://www.avsforum.com/ubbtivo/smile.gif

If you have a bash prompt on your TiVo (which the faq details) you can go to the /tvbin directory and send the four cs22 files over using the following command. "sz filename.cs22" Obviously filename will change depending on which cs22 file you want.

To break it down step by step. (after getting the shell prompt type the following. Dont type the stuff inside the ( ) just comments.

tivosh (This gets you into the tivo shell)
cd /tvbin (change to /tvbin directory)
ls ( this will list the directory, should see 4 cs22 files)
sz filename.cs22 (this sends it with zmodem to your PC.

I am assuming you are using hyperterminal which supports zmodem transfers and will automatically detect them.

Now you have the cs22 files on your PC. You can close hyperterminal. And you need to download the cs22 decoder I posted at the very begining of this thread. Compile it with your fave compiler (I can post a binary for those who want it).

Execute it and pass it the name of the cs22 source file and a destination name. Example.

cs22decode Kickstart.cs22 kick.bin

Now you have an uncompressed raw image.

You can download either my Targa creater or Otto's (I can furnish an EXE also for those interested) and compile the source.

For mine you do the following once compiled

maketga kick.bin kick.tga

Now you have a very close Targa file you can view with your favorite image viewer.

------------------
Belboz
belboz@cinci.rr.com

[This message has been edited by Mr. Belboz (edited August 20, 2000).]



Posted by: Mr. Belboz

I have placed compiled versions of my decoder and tga converter (with source) online. Everything is in one zip file.
http://home.cinci.rr.com/mhill/cs22files.zip

Sample of the Installing software cs22 file converted to targa (then to gif to put online) is at.
http://home.cinci.rr.com/mhill/install.gif

Otto,

Flip your Hue and Saturation values around and you will get the same output as my program does. We are close.....



------------------
Belboz
belboz@cinci.rr.com



Posted by: Otto

Belboz: I've been fooling with the values trying to get it closer to correct. I found that the lightness value doesn't have to be the whole 8 bits of "hi", the top 4 bits (16 possible values) produces nearly the same result on these files. I'm pretty sure that the saturation is the bottom 4 bits of "lo". So that leaves the middle 8 bits for hue, but I can't figure out the encoding to get the colors always right. Sucks, eh?


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: SlaterSan

Anyone figured out anything else on this?
Also, isn't is strange that the images seem to be shifted over to the right (extra black on the left in the case of the tivo guy with the lights pic)




Posted by: Mr. Belboz

quote:
Originally posted by SlaterSan:
Anyone figured out anything else on this?
Also, isn't is strange that the images seem to be shifted over to the right (extra black on the left in the case of the tivo guy with the lights pic)



Yeah I cracked it about a week ago.

http://www.avsforum.com/ubbtivo/smile.gif




------------------
Belboz
belboz@cinci.rr.com



Posted by: Otto

Care to enlighten us as to how it's coded Belboz?

Also, I personally attributed the right shift to the horizontal retrace interval. But I could be on crack. http://www.avsforum.com/ubbtivo/tongue.gif


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Mr. Belboz

Here is a cropped sample of a cs22 file converted to a Targa with my program, and then cropped and converted to a JPG with PSP.

http://home.cinci.rr.com/mhill/installer.jpg



------------------
Belboz
belboz@cinci.rr.com



Posted by: SlaterSan

quote:
Originally posted by Mr. Belboz:
Here is a cropped sample of a cs22 file converted to a Targa with my program, and then cropped and converted to a JPG with PSP.



Looks good, care to share the source?




Posted by: Otto

Yeah, we know what the pics look like, where's the code?


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: sorphin

easy there mr beta http://www.avsforum.com/ubbtivo/wink.gif "you'll get it when it's ready" he'll prolly toss it out soon...


quote:
Originally posted by Otto:
Yeah, we know what the pics look like, where's the code?






------------------
-ds
Member of the #TiVo Enhancement Project
(Not to be confused with the SourceForge Group)



Posted by: Otto

Ah, bite me. http://www.avsforum.com/ubbtivo/wink.gif I've been working on this color code bit for far too long and I'm frankly sick to death of staring at these stupid binary numbers. My head hurts.. ahhhhh...

He's got some other enlightening pics on his webpage though, and I think I see how he figured it out. One pic has a red green blue pattern on it.. if you converted that backwards and put it on the screen it could be enlightening. Unfortunately, I can't try since I no longer have a shell on my box. Maybe this weekend..


------------------
Otto, Supreme TiVoWarrior - Moderator - AVS Forum - Tivo Underground
"If once you start down the dark path, forever will it dominate your destiny. Consume you it will!" -- Yoda



Posted by: Mr. Belboz

Everyone,

I will be releasing the code soon. Yes I did figure out (with some help from some on the #tivo channel. namely sorphin and mbm) the format of the palette, the 8 byte header and most of its meaning, etc.

The process is nearly complete. Late last night I released the code to the people in the #tivo channel so it could be looked at. Assuming nobody sees any major mistakes I will release the source to the entire program here soon.

The program converts from cs22 to targa, and also targa -> to uncompressed cs22 files (TIV files for lack of a better extension). It can convert Targa compressed or uncompressed images.

I will be adding to a later version the ability to convert from Targa to compressed cs22 files also.

The next step I am working on is the ability to overlay text onto the TiVo using the osdwriter.

I would expect to release the code tonight or tomorrow for those interested.

------------------
Belboz
belboz@cinci.rr.com

[This message has been edited by Mr. Belboz (edited 08-31-2000).]



Posted by: Mr. Belboz

quote:
Originally posted by Otto:


He's got some other enlightening pics on his webpage though, and I think I see how he figured it out. One pic has a red green blue pattern on it.. if you converted that backwards and put it on the screen it could be enlightening. Unfortunately, I can't try since I no longer have a shell on my box. Maybe this weekend..




The image000.jpg file has been real popular! http://www.avsforum.com/ubbtivo/smile.gif Movie is "A Murder Of Crows".

Actually that test pattern was only neat to look at (especially the TiVo on screen version, that old screen cap doesn't do it justice). I actually knew at that point how the palette was stored in the cs22 file it was just a amatter of "tweaking" the color settings. MbM on #tivo was very helpfull in helping with that.

I cleaned out some of the garbage from the page though. Some of those images were screen captures from my PC so some people on the #tivo channel who didn't have a TiVo yet could see the output.

I forget what test2.tiv is, but I believe it is a converted Targa image of someones desktop from themes.org. So anyone who wants to check it out can load it on their TiVo with osdwriter.

And if your wondering what otto is referring to go to.
http://home.cinci.rr.com/mhill

And if my previous message was not clear, the new program does the decoding, and converting all in one program.

------------------
Belboz
belboz@cinci.rr.com

[This message has been edited by Mr. Belboz (edited 08-31-2000).]




Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 37

Warning: include(http://archive.tivocommunity.com/tivo-vb/history/footer.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 37

Warning: include() [function.include]: Failed opening 'http://archive.tivocommunity.com/tivo-vb/history/footer.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/avsforum/archive.tivocommunity.com/tivo-vb/history/archive_functions.php on line 37



vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Limited.
vB Easy Archive Final ©2000 - 2013 - Created by Stefan "Xenon" Kaeser Modified by Adam J. de Jaray