Software sprites?

Basic and Machine Language

Moderator: Moderators

User avatar
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Postby carlsson » Fri Jan 22, 2010 1:23 am

I'm most excited about some sort of support for other assemblers. For a while now I've been meaning to try SSS, but I'm unwilling to drop DASM in favor of the CC65 assembler.
Anders Carlsson

Image Image Image Image Image

User avatar
nippur72
de Lagash
Posts: 405
Joined: Thu Sep 07, 2006 8:35 am

Postby nippur72 » Fri Jan 22, 2010 3:16 am

carlsson wrote:For a while now I've been meaning to try SSS, but I'm unwilling to drop DASM in favor of the CC65 assembler.


the SSS package has "fixed" binaries that can be bulkly inlcuded in the DASM source. Works pretty well and it's actually faster than compiling + linking via CC65.

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Mon Feb 22, 2010 7:17 pm

FYI, another extension! Although I think I will make this a compile-time option, too, because it is a bit specialized and probably not something that would be re-used very often. And even though it only takes a few more bytes of code, I'd like to have it automatically filtered out if it was not going to get used in a game. It is in the sprite's definition as an inverted image flag -- during rendering, it will modify standard OR operations with EOR; and combined with collision detection, it will modify EOR with OR. It will also NOT write its sprite color register, but keep whatever is already present in the PLAYFIELD.

In Berzerk, Evil Otto passes through walls in the same manner, so I wanted to duplicate that same effect. If you watch carefully. even the bullets do the same effect when in contact with a wall. I can see where this could be useful for other clever tricks, like shooting from a submarine, whereas the object transitions from black submerged in the water to white as it breaks the surface. Useful for other "ghost"-like effects to "see" the object moving behind the playfield.

The code works, but now I need to cleanup a few color cells in my maze generator to avoid the bullets / otto from inadvertently changing from the robot color of that level to blue at certain spots. Should be no big deal to correct.
Any technology distinguishable from magic is insufficiently advanced. See also magic.

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Thu Mar 04, 2010 6:26 pm

I have posted the MMX edition as a release here. Enjoy!
Any technology distinguishable from magic is insufficiently advanced. See also magic.

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Tue Mar 23, 2010 6:48 pm

I updated the latest source archive, which improves SSSPRINTS for text output with color control.

I am also writing a tutorial via a game cartridge... does this format appeal to anyone? I can write quite a bit more short snippets like this to demo how the registers work with the effect next to it. It may inspire another retro-programmer out there, you never know. :wink:
Any technology distinguishable from magic is insufficiently advanced. See also magic.

User avatar
Jeff-20
Denial Founder
Posts: 5451
Joined: Wed Dec 31, 1969 6:00 pm

Postby Jeff-20 » Wed Mar 24, 2010 2:57 am

I've noticed on a real VIC that the volume of the voice seems to change from time to time. Sometimes, it goes really quiet only to return again in the next stage.
High Scores, Links, and Jeff's Basic Games page.

Progra
Vic 20 Drifter
Posts: 24
Joined: Tue Apr 08, 2008 11:12 am

Postby Progra » Mon Apr 05, 2010 3:04 pm

rhurst wrote:I am also writing a tutorial via a game cartridge... does this format appeal to anyone? I can write quite a bit more short snippets like this to demo how the registers work with the effect next to it. It may inspire another retro-programmer out there, you never know. :wink:


Amazing stuff!! Thank you so much. Please when you can write some more snippets. :D

vicassembly
Vic 20 Devotee
Posts: 218
Joined: Fri Mar 19, 2010 1:40 pm

Postby vicassembly » Wed Apr 07, 2010 7:37 am

Robert... This is some amazing work you have been doing.
As we have conversed via email, I am more interested in understanding how the wheel was made as opposed to just using the wheel. 8)

I love the demo!

Jonathan

rhurst wrote:I updated the latest source archive, which improves SSSPRINTS for text output with color control.

I am also writing a tutorial via a game cartridge... does this format appeal to anyone? I can write quite a bit more short snippets like this to demo how the registers work with the effect next to it. It may inspire another retro-programmer out there, you never know. :wink:
8) 8)

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Sat Apr 17, 2010 11:35 am

FYI, I have created a subversion repository for this project (vic-sss)... I actually went back to the 1.0 codeset and commited / tagged each release to current from this thread.

I will still make archives for download, but the latest will simply be checked-in here from time-to-time. Use the typical checkout command to retrieve the latest:

svn co https://robert.hurst-ri.us/svn/vic-sss/trunk .

... and the latest stable release:
svn co https://robert.hurst-ri.us/svn/vic-sss/tags/release-mmx .

... I am more interested in understanding how the wheel was made ...

Well, I think this entire thread speaks to the 'how', unless I am misunderstanding your request. My primary development environment is a Fedora Linux workstation using the ca65 assembler found in the cc65 compiler suite -- I debug using VICE and MESS emulators. And each VIC-SSS archive contains decent how-to documentation (PDF) for more on the technical how's. Please expand upon your request if the above does not suffice.

Enjoy!
Any technology distinguishable from magic is insufficiently advanced. See also magic.

Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Postby Kananga » Sat Apr 17, 2010 12:46 pm

rhurst wrote:FYI, I have created a subversion repository for this project (vic-sss)...

Great, thanks!

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Mon Apr 19, 2010 3:19 pm

Progra wrote:Please when you can write some more snippets.

Ok, updated the demo cart and prg today with two screens. Note, the cart version might not do 'ghost mode', because I use a self-modifying code technique, and that address space is typically ROM -- unless you map/use RAM at that 8k block.

Download the latest archive for source, binaries, and documentation.
Any technology distinguishable from magic is insufficiently advanced. See also magic.

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Sun Oct 17, 2010 6:34 pm

Just a teaser post ... :P

But I wanted to leak out that I just added (cleverly, if I may be so bold) a new feature that may make my next arcade action game doable. The early results are very, very promising -- so I will wait until I implement it in the new game(s) I envision that will take full advantage of it.
Any technology distinguishable from magic is insufficiently advanced. See also magic.

vicassembly
Vic 20 Devotee
Posts: 218
Joined: Fri Mar 19, 2010 1:40 pm

Postby vicassembly » Mon Oct 18, 2010 11:22 am

You are such a tease! ;-)

User avatar
rhurst
Omega Star Commander
Posts: 1304
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Office of the CIO

Postby rhurst » Sun Oct 24, 2010 7:47 pm

I cleaned up the new feature and got a new game using it at 85% complete... it's looking really good, but alas, I won't have too much time to work on it this coming week. Hopefully it won't be too much longer. And I expect to have another game with it out shortly after that one.

And when this is done and working to my satisfaction, I'll post updated documentation and downloadable archives, per usual.
Any technology distinguishable from magic is insufficiently advanced. See also magic.

User avatar
nbla000
Salmon Run
Posts: 2426
Joined: Thu Oct 13, 2005 8:58 am

Postby nbla000 » Tue Oct 26, 2010 5:54 am

rhurst wrote:and got a new game using it at 85% complete...

Any anticipation :roll:
Mega-Cart: the cartridge you plug in once and for all.


Return to “Programming”

Who is online

Users browsing this forum: No registered users and 2 guests