Jump to content
IGNORED

Mode 2 bitmap questions - ColecoVision


5-11under

Recommended Posts

Hi there,

 

In the past, I've always used the more simpler ColecoVision display modes, with 256 characters available for use for the whole screen (either 2 colors per character or 2 colors per line per character). Now, however, I'd like to use mode 2 bitmap, which is the one that has 3 character sets, one each for 8 rows of characters (256 x 3 characters).

 

For reference, I'm using Hi-Tech C, although I don't think using SDCC would make much of a difference. I'm also using Getput1, which looks to be from April 2003.

 

I used the BMP2PP and related program (to export to C) to create a compressed bitmap picture, which shows up on the screen all in basically one line of code. This image is used for the background. However, I've got a row on the top and a row on the bottom of the screen which will be used for showing the score of the game, as well as other status items. I could add this to the original bitmap file, but that's not ideal for control, and would be somewhat painful to implement. I have control over the characters in the upper 1/3 of the screen (just like using the simpler modes), but I'd like to be able to access and modify the character set related to the bottom 1/3 and possibly middle 1/3 of the screen. Is there an easy (or difficult) way to do this?

 

Thanks,

5-11under

Edited by 5-11under
Link to comment
Share on other sites

Hi there,

 

In the past, I've always used the more simpler ColecoVision display modes, with 256 characters available for use for the whole screen (either 2 colors per character or 2 colors per line per character). Now, however, I'd like to use mode 2 bitmap, which is the one that has 3 character sets, one each for 8 rows of characters (256 x 3 characters).

 

For reference, I'm using Hi-Tech C, although I don't think using SDCC would make much of a difference. I'm also using Getput1, which looks to be from April 2003.

 

I used the BMP2PP and related program (to export to C) to create a compressed bitmap picture, which shows up on the screen all in basically one line of code. This image is used for the background. However, I've got a row on the top and a row on the bottom of the screen which will be used for showing the score of the game, as well as other status items. I could add this to the original bitmap file, but that's not ideal for control, and would be somewhat painful to implement. I have control over the characters in the upper 1/3 of the screen (just like using the simpler modes), but I'd like to be able to access and modify the character set related to the bottom 1/3 and possibly middle 1/3 of the screen. Is there an easy (or difficult) way to do this?

 

Thanks,

5-11under

I think you just need to master the put_vram() function. With it, you can do whatever you want in VRAM, given that you know the exact address of the VRAM byte(s) you want to alter, and you can modify anything (patterns, colors, name tables, and sprites) that way.

Link to comment
Share on other sites

Thanks Pixelboy. I found this from Daniel's documentation:

 

put_vram

NMI*

/* Upload RAM to VRAM. count should be a multiple of 256 */

void put_vram (unsigned offset,void *ptr,unsigned count);

This should work once I figure out how to use it. ;) The only problem is I'm getting data from two sources: a picture and from ICVGM. I could redraw the graphics using CVPAINT. I'm just now remembering there's a new version, CVPAINT2 (http://www.atariage.com/forums/topic/141181-tool-cvpaint-2/ and/or http://www.atariage.com/forums/topic/141744-tool-cv-graphics-toolkit/ - Thanks Daniel!), and it looks like that program has a couple of features that will be very useful, such as the zoom and grid. It'll be a bit tedious to move the ICVGM data into CVPAINT2 (fortunately there's not that much), but once that's done, it'll be easy to use when programming.

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