Jump to content
IGNORED

VBXE - programming, examples, programming queries


Rybags

Recommended Posts

How are people 'preparing' graphics/sprites for inclusion in their sources when targeting the VBXE?

 

If you are editing a bitmap with sprite tiles then is this best pre-processed in some way? I've seen MADS macros in the past that use the ability to load bytes from a file (given and offset and length) and these then use their own calculations to adjust the offset for the y-increments. The resulting data can then be output to another file that can then be included in main source. Or is it easier if the original bitmap simply loaded into the VBXE's memory and then the blit function is then able to copy the sprites out directly? Does the A8 or the VBXE do the offset calc's in this respect?

 

Any tips on masking? Does this depend on the VBXE output is overlaying the A8's background or a background also rendered by the VBXE?

Link to comment
Share on other sites

Gimp can output graphics as raw data, omitting the palette and header from 8-bit BMP, I think I used that for Moon Cresta.

 

Masking - the nature of the blit is that you're dealing with a byte per pixel except in the hires mode, so pixel masking isn't required. Then you just use the blit mode where only nonzero data is actually written so anything that needs to show through the transparent area is preserved.

 

With Moon Cresta, only the sprites + bullets are VBXE generated, the star bg is Antic F with attribute map giving the colours.

The erase phase for the sprites is to simply wipe them entirely. Works in this instance since they're the only thing VBXE displays but of course a different course of action would be needed in the case of something that required save/restore operations.

 

Re calculations - Pacmanplus wrote the original on 7800 to only use 256 pixels across which easily translates into narrow mode for VBXE/Antic.

IIRC there is a bit of manual calculation going on with the VBXE conversion but it's only simple bitshifts.

 

Since VBXE has plenty of RAM (albeit easily used up quickly) if you really wanted you could do a 320 pixel game and have 512 byte stepping between scanlines which would ease the pain of address calculations. All depends how many objects you're moving around.

Edited by Rybags
Link to comment
Share on other sites

Gimp can output graphics as raw data, omitting the palette and header from 8-bit BMP, I think I used that for Moon Cresta.

 

Masking - the nature of the blit is that you're dealing with a byte per pixel except in the hires mode, so pixel masking isn't required. Then you just use the blit mode where only nonzero data is actually written so anything that needs to show through the transparent area is preserved.

 

With Moon Cresta, only the sprites + bullets are VBXE generated, the star bg is Antic F with attribute map giving the colours.

The erase phase for the sprites is to simply wipe them entirely. Works in this instance since they're the only thing VBXE displays but of course a different course of action would be needed in the case of something that required save/restore operations.

 

Re calculations - Pacmanplus wrote the original on 7800 to only use 256 pixels across which easily translates into narrow mode for VBXE/Antic.

IIRC there is a bit of manual calculation going on with the VBXE conversion but it's only simple bitshifts.

 

Since VBXE has plenty of RAM (albeit easily used up quickly) if you really wanted you could do a 320 pixel game and have 512 byte stepping between scanlines which would ease the pain of address calculations. All depends how many objects you're moving around.

 

 

@rybags have you checked the incompatibility between last version of moon cresta vbxe and ultimate 1 mb

resulting in corrupted starfield ?

Link to comment
Share on other sites

No... my system has Ultimate 1 Meg also.

 

I've not looked at the game for some time. There have been problems with the starfield along the way, I had thought they'd been ironed out.

 

 

previous build had less colors, but a perfect starfield

Link to comment
Share on other sites

  • 1 year later...

There's D7xx install as well. Programs shouldn't mess with those addresses anyway, there's no need on standard hardware and those addresses are also used by some other expansions like hard drives.

 

GTIA addresses - any write to addresses $D080-$D0FF causes a soft-reset of VBXE, ie all screen overlays disabled, disable VBXE Ram overlay to Antic/6502. Allows for normal machine restoration when the OS warmstart routine is called either by user pressing Reset or if called by software.

 

Antic addresses - same as a normal machine.

  • Like 1
Link to comment
Share on other sites

  • 4 years 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...