Jump to content
IGNORED

7800basic graphics questions


mksmith

Recommended Posts

HI guys,

 

Still working on the Atari Dev Studio and have built-in a basic sprite editor (based on the Spritemate source) with palette selection (NTSC) editing (one or more sprites with 3 colors) and saving (png). As I'm wanting to get on with it (and only having a bit of a quick look) can someone please give me a quick rundown of the display modes ie. available colors, sprite sizes etc one would expect to be able to export to?

 

I would like to provide a basic selector so you choose the model (2600, 7800) the mode and the size when you create new sprite(s). This will then cofigure the selections for you.

 

Modes (to be clarified)

160A 3+1 colors ?x8 pixels ?x16pixels

160B 12+1 colors

320A 1+1 colors

320B 3+1 colors

320C 3+1 colors

320D 3+1 colors

 

I've currently got a 16x16 3 color sprite displaying no problem in 160A mode so on the right track!

post-66583-0-64108900-1556543591_thumb.png

Edited by mksmith
  • Like 8
Link to comment
Share on other sites

Looks promising! :)

 

On the 7800 (and in 7800basic) sprite widths are variable, anywhere from 1 to 32 bytes wide. How that translates into pixels across depends on the mode, and how many pixels a byte will give you.

 

160A = 4 to 128 pixels wide

160B = 2 to 64 pixels wide

320A = 8 to 256 pixels wide

320B = 4 to 128 pixels wide

320C = 4 to 128 pixels wide

320D = 8 to 256 pixels wide

 

The colors and pixels per character/byte for each mode are covered in the 7800basic guide.

  • Like 3
Link to comment
Share on other sites

Sprite designing looks great under Atari Dev Studio; thank you for that, mksmith!

 

For those creating sprites, something that may be worth considering is slimming down the width of the sprite to have a more balanced appearance under the 160 modes.

 

Defender_2600 posted this comparison a while back:

 

post-18-0-91155100-1557142972.png

 

Also, there are examples of other sprites that can be found throughout the aforementioned linked thread by PAC-MAN-RED, for further inspiration and motivation.

  • Like 4
Link to comment
Share on other sites

Thanks Trebor!

 

Getting there with the designer - need to add some additional stuff like creating a project and other types of export.

 

I'm starting to understand the colors in 7800 land and the editor is producing pngs that will load correctly into 7800basic which is a relief. I thought I'd play around with some images before starting the editor but the process using gimp was quite mindblowing TBH.

  • Like 4
Link to comment
Share on other sites

Will this create files that I can 'include' in 6502 assembler? Basically it's just data that you can do an 'include "GRAPHICS.S"' within the source.

I created a command line program to convert .BMPs to 7800 graphic data (it creates that include file), but I did not add support 320C and 320D mode as I don't completely follow the makeup of those modes.

 

If I can use this for ASM 7800 development, I will switch over to it instead, it looks very intuitive and easy to use.

 

Thank you,

Bob

  • Like 3
Link to comment
Share on other sites

Will this create files that I can 'include' in 6502 assembler? Basically it's just data that you can do an 'include "GRAPHICS.S"' within the source.

To give mksmith a bit of necessary background...

 

The 7800 sprite graphics are stored a bit strangely in rom. The last line of each sprite is stored in the first 256 bytes of memory in the graphics block, the second-to-last line of each sprite is stored in the second 256 bytes, etc. I'm not sure there's been a formal name given to this scheme before, but "page interleaved" might do.

 

So to build a graphics include file for assembly, something needs to combine all of the graphics common to the graphics block, and then generate the include file.

 

As 7800basic encounters each incgraphic command, it does just that, and leaves the graphics-block assembly generation until the graphics block is full.

 

mksmith, if you can do an assembly exporter within the scope of your utility, then great. If you can't, I might be able to break out a standalone utility from 7800basic, that would parse a list of png's and generate the assembly include file.

  • Like 3
Link to comment
Share on other sites

Hey guys sorry didn't see your posts. I'm planning on offering the ability to export to code - obviously the 2600 will require this so if I can add the same for the 7800 more than happy too. Depending on what's required I'm happy either way to build something in or run an external process - your guidance on what's required here would be appreciated. ?

Link to comment
Share on other sites

  • 11 months later...

I love love love Atari Dev Studio, and it has really got me into the process of working on 7800 games.  I'm not sure if it is the work of mksmith, but if so, thank you so much!

I have a tiny question.  In the sprite editor, how to the locations of the colors in palette match up to the color indices when defining a palette in 7800 Basic?

Most of the time I get the right palette colors, but sometimes I find myself having to rearrange them multiple times before I get the proper colors in the correct index.     

Again, thanks.  Atari Dev Studio is amazing.

  • Like 3
Link to comment
Share on other sites

On 4/25/2020 at 12:51 AM, fultonbot said:

I love love love Atari Dev Studio, and it has really got me into the process of working on 7800 games.  I'm not sure if it is the work of mksmith, but if so, thank you so much!

I have a tiny question.  In the sprite editor, how to the locations of the colors in palette match up to the color indices when defining a palette in 7800 Basic?

Most of the time I get the right palette colors, but sometimes I find myself having to rearrange them multiple times before I get the proper colors in the correct index.     

Again, thanks.  Atari Dev Studio is amazing.

Hi Fultonbot! Thanks for using Atari Dev Studio.  Yeah the indexes are a bit of a pain for sure - they javascript component (the editor is a html/js) i'm using appears to put them in order of use.  It's been awhile since I checked if that component has been updated - maybe they have fixed that issue.  I do know Paint.Net (on Windows) allows you to export to 4-bit in the correct order but it does mean working with your own palettes.  Anyway hopefully one day I can get it sorted.

 

I should probably look at Bob's assembly exporter at some stage as well - had forgotten about it ?

  • Like 1
Link to comment
Share on other sites

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...