Jump to content
IGNORED

Build Your Own Greeting Cart! Can you type MAKE?


Andrew Davie

Recommended Posts

If you have access to a PC, and you can type 'MAKE', then you can pretty much use the attached package to build your own 'GreetingCart' binary. I've included everything you need - even sample graphics.

 

Steps:

 

1. Download the ZIP file, and unzip.

2. Go to the base directory where you unpacked the stuff (where the make.bat file resides) and type 'MAKE' from a DOS command line.

3. Wait a few seconds while it builds everything.

 

That's all you gotta do to get it basically running. You should see a file called 'GREETINGCART.BIN' in the same directory. Run that on an emulator, download to your Cuttle Cart, burn it on a ROM, whatever. The sample shows the ubiquitous Mario image - which, by the way, I pinched from some website somewhere.

 

Now, here's what you gotta do to have your own image...

 

1. Go to the Graphics subdirectory.

2. You'll see a few graphics files there - original.png, blue.png, red.png and green.png I included original.png just so you can see what the sample files started with.

3. Find some image YOU want.

4. Grab the section of that image you really want to see. Resize it to 48 x 128 pixels, by whatever method you like. Remember, garbage in, garbage-out. Adjust brightness/contrast as you wish.

5. Split the resized image to Red, Green, Blue images. Your paint program has a tool to do this - if it doesn't, find another paint package. Paint Shop Pro is good.

6. Downsize the colours to just 2-colours on each of those red, green, blue images. I use Stucki/weighted in my testing.

7. save each of them. red.png, green.png, blue.png - in the same directory, replacing what is already there.

 

Now go back to the base directory and type MAKE again.

You should see YOUR image this time.

 

How easy is that?

 

Cheers

A

 

 

PS: Please email me your efforts; if you don't, I won't let Albert burn you an image.

byo.zip

  • Like 4
Link to comment
Share on other sites

6. Downsize the colours to just 2-colours on each of those red, green, blue images. I use Stucki/weighted in my testing.  

 

For Photoshop people this means converting the image to "Bitmap" under Image > Mode > Bitmap.

 

Everything else made sense...

 

Here's mine:GC.zip

gc.zip

Link to comment
Share on other sites

6. Downsize the colours to just 2-colours on each of those red, green, blue images. I use Stucki/weighted in my testing.  

 

For Photoshop people this means converting the image to "Bitmap" under Image > Mode > Bitmap.

 

Everything else made sense...

 

Here's mine:GC.zip

 

Your two-colour reduction was using nearest-colour. You *need* to use a dithering colour reduction like Floyd-Steinberg or Stucki or some other. For some reason the original you posted also looks like it's been badly colour-reduced. Why? The system can do *much* better images than this.

 

Cheers

A

Link to comment
Share on other sites

Oops...

 

What I'm calling the "original" is actually the end result (I merged the Red, Green, and Blue Channels) - so if someone was unable to see my greeting card, they would at least be able to view the picture (as if they were viewing it on an emulator/Atari)...

 

I'll enclose the real photo of myself shortly.

 

Here's original (for real)

BTW, if you think you can make it look better using the above methods, I'd be interested in seeing the results...

 

-Rodney

post-2015-1047260102_thumb.png

Link to comment
Share on other sites

Oops...

 

What I'm calling the "original" is actually the end result (I recombined the Red, Green, and Blue Channels) - so if someone was unable to see my greeting card, they would at least be able to view the picture (as if they were viewing it on an emulator/Atari)...

 

I'll enclose the real photo of myself shortly.

 

I did dither the image like you suggested, but was unhappy with the results. Too "grainy" looking.  

 

-Rodney

 

The choice of dithering can greatly affect the results of the final image. Choosing a weighted-dither (available in Paint Shop Pro) makes a big difference to the result. It's a matter of iteration until you get something that looks reasonable - remeber, this will look better on a TV than in the emulators, due to the blurry nature of TV pixels, and the longer phosphour persistance of TV.

 

Cheers

A

Link to comment
Share on other sites

Okay...much better!!!

 

I'll fiddle around with my image a little more.

 

I'm curious about Mario...did you adjust the blue color in his pants? In the orignal photo they look more navy in color than the final greeting card.

 

-Rodney

 

No. Some images just come out looking great. I didn't play with Mario at all. Remember, we're only getting an approximation of colours - what we are *REALLY* seeing is the original image reduced to a palette of 8 colours (various combinations of red/green/blue, 8 in total). If you stipple the colour reduction (still using those 8 colours) then you get exactly what you see on the '2600. By stippling the components themselves, I achieve a slightly better look than trying to stipple down to an 8-colour palette. But it's still only 8 colours :)

 

Mario's blue changes because there's only one 'blue' in the 8-colour palette. It can try to stipple that to give a slightly different blue, but since I used a *weighted* stipple, that reduces the effect of slightly off colours, and makes them tend to choose the solid colour instead. Its a bit of black magic, really, and I just play with things till they look right. I have done enough images to know what works and what doesn't.

 

Cheers

A

Link to comment
Share on other sites

This is getting a little unnerving...

 

original.png

 

File downloaded or viewed 22 time(s)

 

rod.jpg

 

File downloaded or viewed 33 time(s)

 

What's up with the unequal downloading of my pictures? I don't want someone drawing horns or adding a beard and mustache to my mug...pulling "rod.jpg"

 

- sorry

Link to comment
Share on other sites

No.  Some images just come out looking great.  I didn't play with Mario at all.  Remember, we're only getting an approximation of colours - what we are *REALLY* seeing is the original image reduced to a palette of 8 colours (various combinations of red/green/blue, 8 in total).  If you stipple the colour reduction (still using those 8 colours) then you get exactly what you see on the '2600.  By stippling the components themselves, I achieve a slightly better look than trying to stipple down to an 8-colour palette.  But it's still only 8 colours :)

 

This is pretty cool, I just had some time to play with it a little bit, would you mind posting the color values for the 8 colors ?

 

Great stuff ! :)

Link to comment
Share on other sites

No.  Some images just come out looking great.  I didn't play with Mario at all.  Remember, we're only getting an approximation of colours - what we are *REALLY* seeing is the original image reduced to a palette of 8 colours (various combinations of red/green/blue, 8 in total).  If you stipple the colour reduction (still using those 8 colours) then you get exactly what you see on the '2600.  By stippling the components themselves, I achieve a slightly better look than trying to stipple down to an 8-colour palette.  But it's still only 8 colours :)

 

This is pretty cool, I just had some time to play with it a little bit, would you mind posting the color values for the 8 colors ?

 

Great stuff ! :)

 

In absolute terms,

 

Colour/Red/Green/Blue

0/0/0/0

1/0/0/255

2/0/255/0

3/0/255/255

4/255/0/0

5/255/0/255

6/255/255/0

7/255/255/255

 

In Atari '2600 terms, there's no meaning to the question, as the colours produced don't actually exist as hardware capability of the machine. The colours are a result of seeing time-based blending of primary red/blue/green combinations. The colours I chose for those primary colours are pretty inconsequential - they just make a difference to the hue of the final image... but the actual values can be found in the source code I posted.

 

I'm not sure *why* you wanted the values of those 8 colours - they are NOT selectable by the system, and there's little point dithering down to a preset palette using these colours. The method I suggested appears to work best.

 

Cheers

A

 

 

PS: Greeting Carts will be produced by AtariAge (ie: available at the store) with an image of your own choice. Included will be a special label and manual describing the technology.

Link to comment
Share on other sites

I have decided to go into full production with 'GreetingCart'.

 

The technical part of the manual is now online at http://www.atari2600.org/GreetingCart/Gree...eetingCart.html

 

GreetingCart will display any image of your choice. The image may mirror and/or move - and the cart may be PAL/NTSC (switchable). The attached Marilyn binary is the sample used for production of the manual images. The attached Mario binary shows movement and mirroring.

 

So, if you want an 'official' GreetingCart, watch this space for details. An 'official' cart comes with the full manual and of course a label.

 

For the short term, I'll be happy to do image conversion for people free of charge. But this will only be for a week or so. So be quick, and be polite.

 

Cheers

A

marilyn.zip

mario.zip

Link to comment
Share on other sites

  • 7 years later...
  • 5 years later...

The URL to the technical part of the manual seems to function no more... is there a place where I can get that? Has it been taken to another place?

 

It was taken somewhere else in 2004, then it was lost in time (besides of archive.org.).

Here's what it was. Sorry for no pictures, I can't help that.

taswegian.com/TwoHeaded/Atari2600/GreetingCart/GreetingCart.html

Link to comment
Share on other sites

I could have a crack at it Scott_B. PM me the photo.

 

Just remember part of the license is:

 

 

So if you want an actual cart send the result to Andrew Davie for consent.

 

I would of course *like* to see the results, but it's OK if you don't send to me.

The reason I wanted to see stuff is because people weren't following instructions (like using a correct dither for each colour plane) and frankly their results looked shithouse. Nowdays I guess I don't care so much.

Have at it.

  • Like 1
Link to comment
Share on other sites

 

I would of course *like* to see the results, but it's OK if you don't send to me.

The reason I wanted to see stuff is because people weren't following instructions (like using a correct dither for each colour plane) and frankly their results looked shithouse. Nowdays I guess I don't care so much.

Have at it.

 

That's my concern as well. Last time I tried something like this I didn't use your step of Floyd-Steinberg dithering. Hopefully the results will be adequate instead of seizure inducing :)

Link to comment
Share on other sites

  • 3 years later...

I've just been revisiting some of my old stuff, to get working copies on my machine once again. This particular one I don't have a PC anymore, so I might have to update the tools to run in Python or somesuch. But I was kind of impressed when I looked at the binary of mario, and I thought I'd bump it for those who weren't around in the scene 15 years ago or so. So, give the binary a run.... pretty, huh?

 

 

GreetingCart.bin

  • Like 1
Link to comment
Share on other sites

I've done a bit of an update to this.

ALL of the image manipulation is now handled by python code, so you don't need to do layer separation, dithering... resizing... none of that.

Literally just plonk your image as 'image.png' in the directory, and type 'make'.

If you have your path to dasm and stella setup OK, and you have "PIL" image library installed in Python... and of course 'make' is setup...then it should just... work. It processes 'image.png', splits out to separate RGB frames, resizes to 128x48, dithers those down to 1-bit-per-pixel images using floyd-steinberg dithering, recombines them into alternating scanline data for .asm source code, runs dasm to do a make and then stella to show you the result.
In other words, drop the image.png in the directory and type 'make' and you should end up with a '2600 binary called 'byo.bin'

One caveat: the makefile is setup for my MacOS machine, so you may need some minor changes for windows usage...?
Here's a video of me using it, to give the general idea... I'm just copying various image files to 'image.png' and then typing 'make'....
 

byo.zip

  • Like 2
Link to comment
Share on other sites

  • 6 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...