Jump to content
IGNORED

Bits and Bytes: My 7800 programming tests and demos


saxmeister

Recommended Posts

I've seen other threads where devs have posted demos and test code, so I'm going to share a few of mine as well. Hopefully we can all learn together. As a former (circa 1985) BASIC/assembly programmer on the old Commodore VIC-20 (not to mention 8086 assembler and various other languages) I love the 7800. It makes sense to me and is very similar to other 8-bit platforms yet different enough to be interesting. Plus, who doesn't think the 7800 didn't get enough love back in the day?!?!

 

So, some tests....

 

First one: Palette swapping for the old pseudo-3D flying effect. (Remember this one from back in the day?)

 

Link to JS7800: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=918726

 

palettetest.bas.a78 palettetest.bas.bin

Edited by saxmeister
Added JS7800 link
  • Like 10
Link to comment
Share on other sites

@Eagle, I just watched that video a few weeks ago. I've been watching that guy's video series on great effects on old school game systems. He has some great videos.

 

BTW, here is the demo link you sent with a translation to English (for those of us who don't understand Polish):

https://translate.google.com/translate?sl=pl&tl=en&hl=en&u=http://madteam.atari8.info/index.php?prod%3Dfx%23hscrol&client=webapp

Edited by saxmeister
  • Like 3
Link to comment
Share on other sites

KRULL

Here is another that sort of just happened. Obviously it's very early work - no sound or music, no transitions between screens, no collision detection, etc. But it seemed an easier task than Karnov for me to work on right now. I'll learn more about 7800basic as I go. Thanks again @RevEng and @mksmith and everyone else involved who created this wonderful environment!

 

UPDATES: Working through the details of the first level and all of the moving pieces. The boulders have a basic AI that I have to figure out. I added some temporary sound effects to keep things interesting.

 

I may have to break this out into its own thread. Moved to this thread:

 

FIRST TESTS

Link to JS7800: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=919271

 

NEWEST VERSION

Link to JS7800: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=926309

 

krull_01.bas.a78 krull_01.bas.bin

krull_05.bas.bin krull_05.bas.a78

0001.png

0002.png

Edited by saxmeister
Added JS7800 link
  • Like 8
Link to comment
Share on other sites

COLOR GRADIENTS

I wanted to work on some color gradient testing and figured I would have to throw some assembler in just to make it work, but I worked out how to make it happen in only 7800basic.

 

I looked at the examples on the 8bitworkshop site and started translating some of the code from C and assembler into 7800basic as an exercise. Here are some of the results.

 

  • wsync.bas is a simple gradient color bar that scrolls down the screen. I keep getting a glitch and am working through the cause of that.
  • wsync_fullscreen.bas is a test of filling the entire background with as many differently colored bars as possible.

 

Link to JS7800: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=919592

Link to JS7800: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=919594

 

  displaymode 160A

  rem ** Initialize screen **
  BACKGRND=$00 : clearscreen : drawscreen

  dim y1      = a
  dim y2      = b
  dim bgcolor = c

  y1          = 1      ; Set Y coord for the start of gradient
  y2          = 224    ; Set Y coord for the bottom of the gradient
  bgcolor     = $00    ; Set base color from which to add

__Main

  rem ** wait for end of frame / start of vblank **
  drawwait

  rem ** set the background color on each scanline **
  for i = y1 to y2 : WSYNC=1 : BACKGRND=bgcolor+i : next

  rem ** Loop
  goto __Main

 

wsync.bas.a78 wsync.bas.bin wsync_fullscreen.bas.a78 wsync_fullscreen.bas.bin

wsync.bas

Edited by saxmeister
Added code
  • Like 4
Link to comment
Share on other sites

3 hours ago, SlidellMan said:

That Krull demo looks promising, especially that the official port got cancelled.

@SlidellMan I never knew that Krull was ever planned for the 7800! Wow! Do you know if any screenshot ever emerged? Any code? I was using/being inspired by the graphics from the arcade version. I was already trying to figure out what control scheme to use (two joysticks, one joystick a la ROBOTRON, etc.).

 

@Muddyfunster yes, it does. I'm hoping to find out if this is performant enough to actually use with 7800basic for now. I've only added one sprite over the top of this so far, but I will continue testing.

Edited by saxmeister
  • Like 2
Link to comment
Share on other sites

ALTERED BEAST

The Sega Master System got a port, so why shouldn't the 7800? I went with much larger sprites and a smaller playfield, but it feels better this way rather than having tiny sprites like on the SMS version.

 

NOTE: The 7800 does NOT have a great, brilliant red color in its palette!

ANOTHER NOTE: I don't think that this could be released without an issue, so the work you see here is preliminary testing and learning how to code on the 7800.

 

UPDATES: Made some tweaks for leaning purposes.

  • palette fades for transitions between screens
  • added POKEY support and the "SEGA" music notes
  • working on the first level theme in POKEY format (not implemented yet)
  • color tweaks and added the first bits of animation

 

JS7800 Link: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=920616

 

beast_01.thumb.png.2ad5c8909ab26521aba6d00cf2a12c3f.pngbeast_02.thumb.png.e827724a59023d4b52ae2372df9fb336.png

title_01.bas.a78 title_01.bas.bin

altered_beast_title.png

title_02.bas.a78 title_02.bas.bin

Edited by saxmeister
  • Like 9
Link to comment
Share on other sites

ATARI LOGO

My own version of the Atari startup logo color cycling. Just like backgrounds, I figured out how to use WSYNC to cycle colors in the palette of objects.

 

JS7800 Link: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=920053

 

7800_logo.thumb.png.5ede6c4c1632cfe958ea73cc5fdb80e6.png

fujilogo.bas.bin fujilogo.bas.a78

Edited by saxmeister
  • Like 6
Link to comment
Share on other sites

Altered Beast is one that I have struggled with already just getting the number of blocks/tiles on the screen at once without dropping sprites. The backgrounds are so detailed. If I wasn't using tallsprites I think it would work out.

 

Thanks for the good words. I'm still learning the limitations of the 7800 but that split mode is great for items such as this.

Link to comment
Share on other sites

  • 2 weeks later...

BENTLEY BEAR'S TENNIS

Here's another idea I was playing around with. I know everyone does a Pong clone so I thought Tennis would be a bit different and fun - especially if I added power ups and different characters. It worked for Mario, so why not Bentley Bear?

 

I haven't worked out the maths for the ball and collision on this court and still have to work in the basic AI of the other characters. But, here is my basic rendering code drawing the court and players

 

bentley_bear_tennis_01.thumb.png.4f20ca020cf6a86c3203937e864817dd.png

Edited by saxmeister
  • Like 13
Link to comment
Share on other sites

  • 3 weeks later...

These little blue creatures seemed to have infected every other platform back in the day, so why not the 7800? Ha ha ha.

 

I do know that this is NOT going to turn into a game, but I'm doing some code tests for better collision detection, starting to work on jumping physics in 7800basic, tiling, and scrolling.

 

This is just a tech demo, really. (all files have been removed now)

 

But if it keeps progressing I might change the lead character into something that wouldn't cause any legal problems.

 

 

 

 

Edited by saxmeister
Removed all file links for copyright
  • Like 7
  • Thanks 1
Link to comment
Share on other sites

42 minutes ago, saxmeister said:

THE SMURFS

The Smurfs seemed to have infected every other platform, so why not the 7800? Ha ha ha.

 

I don't know that this is going to turn into a game, but I'm doing some code tests for better collision detection, starting to work on jumping physics in 7800basic, tiling, and scrolling. This is just a tech demo, really. But if it keeps progressing I might change the lead character into something that wouldn't cause any legal problems.

It looks great! Here's hoping that it happens and continues to look Smurfy.  :D

  • Like 1
  • Haha 1
Link to comment
Share on other sites

21 hours ago, saxmeister said:

THE SMURFS

The Smurfs seemed to have infected every other platform back in the day, so why not the 7800? Ha ha ha.

 

I don't know that this is going to turn into a game, but I'm doing some code tests for better collision detection, starting to work on jumping physics in 7800basic, tiling, and scrolling. This is just a tech demo, really. But if it keeps progressing I might change the lead character into something that wouldn't cause any legal problems.

 

JS7800 Link: https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=928431

 

 

smurf.thumb.png.418f3f693d1f634bce738af3c376f062.png

smurfs.bas.bin 32 kB · 1 download smurfs.bas.a78 32.13 kB · 14 downloads

smurf01.png

OMG. Please do. Smurfs on the 7800 would be epic.

 

?

  • Like 3
Link to comment
Share on other sites

3 hours ago, RevEng said:

I think you've lit our imaginations, and if it was purely a nostalgic decision I'd love to see a Smurfs homebrew too. Unfortunately Studio Peyo has a crappy history with the homebrew community, demanding a lump sum payments with their C&D. With that kind of behaviour, I'd rather see their trademark rot in obscurity.

That is indeed a big risk for an independent developer to take.

  • Like 2
Link to comment
Share on other sites

On 3/26/2022 at 11:45 AM, RevEng said:

I think you've lit our imaginations, and if it was purely a nostalgic decision I'd love to see a Smurfs homebrew too. Unfortunately Studio Peyo has a crappy history with the homebrew community, demanding a lump sum payment with their C&D. With that kind of behaviour, I'd rather see their trademark rot in obscurity.

Thanks for the heads up. I have removed all links to the files, the title of the work, and updated the text about this. I don't want a legal issue. Much appreciation to those helping protect us little guys...

  • Like 5
Link to comment
Share on other sites

Snorks never reached the heights or legal entanglements of the Smurfs. 

 

Perhaps remove the character's nose, make the eyes bigger, blend the hat to match the head with a similar pointed top as a horn instead.  Change the character's color.  Set under blue water instead of a blue sky.  Clouds to perhaps air pocket bubbles or schools of small fish, dirt/grass platform to something all green moss/algae like in appearance.  Azrael is changed to a Snorkeater.

 

Could possibly make a hybrid game/character and call it Snurks or Smurks.

  • Like 3
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...