IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Any image processing suggestions?
For the current version of [link|http://www.atariage.com/forums/index.php?automodule=blog&blogid=148&|Medieval Mayhem] I manually converted a single dragon image to the format needed by my program. It took 4 hours to do the conversion, so I'd like to come up with a way to automate the process before I receive the 20(or so) frames of animation that I'll end up with. I plan to release the conversion program/script so other 2600 coders can use the technique.

The sprites on the Atari 2600 are limited to being 8 pixels wide, and there's only 2 of them. The routine I came up with to display [link|http://www.atariage.com/forums/index.php?automodule=blog&req=attach&id=1025|the Dragon](current test dragon) uses one sprite to draw the body, the other to draw the wings and body highlights. To get the size and detail, the sprites are drawn with double-wide pixels and each row can be shifted up to 7 normal sized pixels to the left/right of the prior row.

I think a unix script could be used to read in the images(each frame of animation in a seperate file) and output the data statements, but I'm not familiar with what tools are out there. I'm hoping the tools will work under OS X, but do not have any qualms about doing this on my Thinkpad under Kubuntu.

Here's some [link|http://www.atariage.com/forums/index.php?s=&showtopic=85667&view=findpost&p=1066360|animated images] I plan to test with. [link|http://www.atariage.com|Atari Age] is going to demo Medieval Mayhem with some other [link|http://www.atariage.com/features/shows/mgc2006_preview/|new and in development] games for the 2600 at the [link|http://www.midwestgamingclassic.com|Midwest Gaming Classic] on June 3rd and 4th, so it'd be great if I can get the [link|http://www.atariage.com/forums/index.php?automodule=blog&blogid=148&|test animation] frames converted this weekend so I have time to get the code updated to use the new images.

Thanks in advance.
Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
New Maybe XnView and/or NConvert?
I typically use PMView for my (simple) image processing needs, but have played with XnView a little. (It's got a nice web page generator.) It works with a lot of image formats. [link|http://perso.wanadoo.fr/pierre.g/xnview/enhome.html|XnView].

He also has a tool called [link|http://perso.wanadoo.fr/pierre.g/xnview/en_ncfeatures.html|NConvert] that may be perfect for your needs. I don't know if they handle the details of what you're trying to do though.

They're both freeware and run on just about anything.

HTH a bit.

Cheers,
Scott.
New Not sure if those will work
the format is non-standard. I've added another replay with a sample of what I need to generate.

Thanks though.
Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
New Squeak has good image processing library
It reads and writes many formats and new ones aren't that hard to gin up. Worth a look.



[link|http://www.blackbagops.net|Black Bag Operations Log]

[link|http://www.objectiveclips.com|Artificial Intelligence]

[link|http://www.badpage.info/seaside/html|Scrutinizer]
New sounds promising - I'll check it out tonight.
Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
New Not what I was expecting
Downloaded it last night and was surprised to get a "squeek desktop" on my desktop. Should be an interesting weekend :-)

Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
New Find the class ImageReadWriter
and its subclasses.

Should get you going.



[link|http://www.blackbagops.net|Black Bag Operations Log]

[link|http://www.objectiveclips.com|Artificial Intelligence]

[link|http://www.badpage.info/seaside/html|Scrutinizer]
New Forgot to include sample output
The HMOVE_Lx and HMOVE_Rx control left/right shifting by X pixels.

DragonBody1\n\t.byte 0          ; time for shift alignment\n\t.byte 0          ; time for shift alignment\n\t.byte zz________ ; 30\n\t.byte zz________ ; 31\n\t.byte zz________ ; 32\n\t.byte zz________ ; 33\n\t.byte zz________ ; 34\n\t.byte zz________ ; 35\n\t.byte zz________ ; 36\n\t.byte zz________ ; 37\n\t.byte zz________ ; 38\n\t.byte zz________ ; 39\n\t.byte zz________ ; 40\n\t.byte zz________ ; 41\n\t.byte zz________ ; 42\n\t.byte zz________ ; 43\n\t.byte zz________ ; 44\n\t.byte zz________ ; 45\n\t.byte zz________ ; 1\n\t.byte zz________ ; 2\n\t.byte zz________ ; 3\n\t.byte zz________ ; 4\n\t.byte zz______X_ ; 5\n\t.byte zz_____X_X ; 6\n\t.byte zz_____XXX ; 7\n\t.byte zz____XX__ ; 8\n\t.byte zz___XX_X_ ; 9\n\t.byte zz__XX____ ; 10\n\t.byte zz_XXX____ ; 11\n\t.byte zz_XX_____ ; 12\n\t.byte zzXXXX____ ; 13\n\t.byte zzXXXX____ ; 14\n\t.byte zzXXXXX___ ; 15\n\t.byte zzXXXX__X_ ; 16\n\t.byte zzXXXXXX__ ; 17\n\t.byte zzXXXXXX__ ; 18\n\t.byte zzXXXXXX__ ; 19\n\t.byte zzXXXXX___ ; 20\n\t.byte zzXX_X____ ; 21\n\t.byte zzX__X____ ; 22\n\t.byte zzX_X_____ ; 23\n\t.byte zzXX______ ; 24\n\t.byte zzX_X_____ ; 25\n\t.byte zzX_X_____ ; 26\n\t.byte zzXXX_____ ; 27\n\t.byte zzX_______ ; 28\n\t.byte zzXX______ ; 29\n\t.byte 0\n\nDragonWing1\n\t.byte 0          ; time for shift alignment\n\t.byte 0          ; time for shift alignment\n\t.byte zz________ ; 30\n\t.byte zz________ ; 31\n\t.byte zz________ ; 32\n\t.byte zz________ ; 33\n\t.byte zz________ ; 34\n\t.byte zz________ ; 35\n\t.byte zz________ ; 36\n\t.byte zz________ ; 37\n\t.byte zz________ ; 38\n\t.byte zz________ ; 39\n\t.byte zz________ ; 40\n\t.byte zz________ ; 41\n\t.byte zz________ ; 42\n\t.byte zz________ ; 43\n\t.byte zz________ ; 44\n\t.byte zz________ ; 45\n\t.byte zz__XX_X__ ; 1\n\t.byte zz____X_X_ ; 2\n\t.byte zz_X__X_X_ ; 3\n\t.byte zz_XX_X_X_ ; 4\n\t.byte zzX_X_X_X_ ; 5\n\t.byte zz__X_X_X_ ; 6\n\t.byte zz___X_X_X ; 7\n\t.byte zz___X_X_X ; 8\n\t.byte zz__X_X_XX ; 9\n\t.byte zzX_X____X ; 10\n\t.byte zz_X_XX___ ; 11\n\t.byte zz_XX___X_ ; 12\n\t.byte zz_XXXX___ ; 13\n\t.byte zz___XX___ ; 14\n\t.byte zz___X____ ; 15\n\t.byte zzX____X__ ; 16\n\t.byte zz________ ; 17\n\t.byte zzX_____X_ ; 18\n\t.byte zz______X_ ; 19\n\t.byte zz____XXX_ ; 20\n\t.byte zz_____X__ ; 21\n\t.byte zz________ ; 22\n\t.byte zzX_______ ; 23\n\t.byte zz________ ; 24\n\t.byte zz________ ; 25\n\t.byte zz________ ; 26\n\t.byte zz________ ; 27\n\t.byte zz________ ; 28\n\t.byte zz________ ; 29\n\t.byte 0\n\nDragonShift1R\n        ;     WINGS   | BODY\n\t.byte HMOVE_0 | HMOVE_R6 >> 4 ;\n\t.byte HMOVE_0 | HMOVE_R6 >> 4 ;\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 30\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 31\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 32\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 33\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 34\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 35\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 36\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 37\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 38\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 39\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 40\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 41\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 42\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 43\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 44\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 45\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 1\n\t.byte HMOVE_L1 | HMOVE_0 >> 4 ; 2\n\t.byte HMOVE_R1 | HMOVE_0 >> 4 ; 3\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 4\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 5\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 6\n\t.byte HMOVE_L1 | HMOVE_0 >> 4 ; 7\n\t.byte HMOVE_R1 | HMOVE_0 >> 4 ; 8\n\t.byte HMOVE_R2 | HMOVE_0 >> 4 ; 9\n\t.byte HMOVE_R4 | HMOVE_0 >> 4 ; 10\n\t.byte HMOVE_L1 | HMOVE_0 >> 4 ; 11\n\t.byte HMOVE_R1 | HMOVE_0 >> 4 ; 12\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 13\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 14\n\t.byte HMOVE_0 | HMOVE_0>> 4 ; 15\n\t.byte HMOVE_0 | HMOVE_L2 >> 4 ; 16\n\t.byte HMOVE_0 | HMOVE_L4 >> 4 ; 17\n\t.byte HMOVE_L4 | HMOVE_L2 >> 4 ; 18\n\t.byte HMOVE_L3 | HMOVE_L1 >> 4 ; 19\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 20\n\t.byte HMOVE_L1 | HMOVE_L2 >> 4 ; 21\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 22\n\t.byte HMOVE_L3 | HMOVE_0 >> 4 ; 23\n\t.byte HMOVE_0 | HMOVE_L3 >> 4 ; 24\n\t.byte HMOVE_0 | HMOVE_L4 >> 4 ; 25\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 26\n\t.byte HMOVE_0 | HMOVE_L1 >> 4 ; 27\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 28\n\t.byte HMOVE_0 | HMOVE_0 >> 4 ; 29

Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
New ended up using PHP
Squeak looks interesting, but it was taking too long to get into it for my schedule.

I don't have a "load your image" interface yet, but I do have it far enough along where I can use it by hard coding the image URLs to process:

[link|http://spiceware.org/atari/convert.php|http://spiceware.org/atari/convert.php]
Darrell Spice, Jr.            Trendy yet complex\nPeople seek me out - though they're not sure why\n[link|http://spiceware.org/gallery/ArtisticOverpass|Artistic Overpass]                      [link|http://www.spiceware.org/|SpiceWare]
     Any image processing suggestions? - (SpiceWare) - (8)
         Maybe XnView and/or NConvert? - (Another Scott) - (1)
             Not sure if those will work - (SpiceWare)
         Squeak has good image processing library - (tuberculosis) - (3)
             sounds promising - I'll check it out tonight. -NT - (SpiceWare)
             Not what I was expecting - (SpiceWare) - (1)
                 Find the class ImageReadWriter - (tuberculosis)
         Forgot to include sample output - (SpiceWare)
         ended up using PHP - (SpiceWare)

Please do not spit too loud, thank you.
62 ms