Jump to content
IGNORED

My 7800 Vertical Shooter - Heofonfīr


Recommended Posts

Here are the updated ROM files with movement and collision detection.

New_VerticalShooter_Test.78b.a78 New_VerticalShooter_Test.78b.bin New_VerticalShooter_Test.78b.list.txt

 

Oh, and I forgot to mention earlier, press the fire button to get the sprites to display, move, etc.

Edited by SlidellMan
Forgot to mention something earlier.
  • Like 2
Link to comment
Share on other sites

This new demo includes a 1up item, and I'm planning on adding switchleftb, switchrightb, and switchselect routines for this engine. (How to use them is something that isn't mentioned in the 7800Basic manual.) If you guys want to take a gander at the code and critique it, feel free to do so.

Vertical Shooter 8-30-2020.zip

  • Like 1
Link to comment
Share on other sites

switchselect, switchreset, switchleftb, and switchrightb aren't routines that you define like topscreenroutine or pauseroutine, rather they return a value that when used in an IF statements acts like a true or false answer.

 

The below example checks if the left difficulty switch is set to A by saying "if not switchleftb". If you wanted to check that it's set to B you'd just take out the 'not' (!). The other switches work the same way.

if !switchleftb then goto skipSetMusic thisbank

 

  • Like 1
Link to comment
Share on other sites

I've decided to do a re-write of my vertical shooting demo.

The good news: The dim segments are much more organized.

The bad news: This new ROM I compiled now displays weird garbage.

Vertical Shooter 9-03-2020.zip New_Vertical_Shooter_Rewrite1.bas.a78 New_Vertical_Shooter_Rewrite1.bas.bin New_Vertical_Shooter_Rewrite1.bas.list.txt New_VerticalShooter_Test.78b.list.txt

Link to comment
Share on other sites

Here's what happens when I try to compile the original engine with Sound effects and DMA:

--- Unresolved Symbol List
0.SetBulletHome          0000 ????         (R )
sfx_bling_length         0000 ????             
sfx_pulsecannon_length   0000 ????             
playsfx                  0000 ????         (R )
sfx_pulsecannon          0000 ????         (R )
sfx_bling                0000 ????         (R )
SGRAM                    0000 ????         (R )
dmahole_1                0000 ????         (R )
0.gameover_loop          0000 ????         (R )
0.skipL0190              0000 ????         (R )
0.skipL0191              0000 ????         (R )
 
Just how can I alleviate this?
Link to comment
Share on other sites

You're using "dmahole 1" and "dmahole 2", but those holes don't exist in your rom layout. (i.e. you don't have enough graphics to create those holes.) If you stick code in non-existing dmaholes, 7800basic/dasm won't see that code ever.

 

I got rid of dmahole 1+2, and moved dmahole 0 to where dmahole 2 was (because otherwise dmahole 0 would be stuffed) and it compiled.

 

Also, this isn't valid syntax...

   if joy0fire && joyposup=1 then bulletY=bulletY-5 && playsfx sfx_pulsecannon
   if joy0fire && joyposdown=1 then bulletY=bulletY-5 && playsfx sfx_pulsecannon
   if joy0fire && joyposleft=1 then bulletY=bulletY-5 && playsfx sfx_pulsecannon
   if joy0fire && joyposright=1 then bulletY=bulletY-5 && playsfx sfx_pulsecannon

...I'm guessing you meant to use a colon in place of the second && in each of these lines.

  • Thanks 1
Link to comment
Share on other sites

RevEng, thanks for pointing that out. To clarify, I was following Atarius Maximus' examples in the 7800Basic manual. Sorry for not pointing that out earlier, and here's the latest builds and List file.

New_VerticalShooter_Test.78b.a78 New_VerticalShooter_Test.78b.bin New_VerticalShooter_Test.78b.list.txt

Link to comment
Share on other sites

  • 3 weeks later...

Hmm...that's odd. It compiled and run successfully, but upon running it in regular A7800, it doesn't. I've included the latest source file in this .zip file, so if you want to take a look at what's causing that bug, you're free to do so.

Vertical Shooter 9-23-2020.zip

Update: I ran it on the outdated and inaccurate ProSystem emulator, and it works, but with graphical glitches.

Edited by SlidellMan
ProSystem Test
Link to comment
Share on other sites

9 hours ago, SlidellMan said:

Update: I ran it on the outdated and inaccurate ProSystem emulator, and it works, but with graphical glitches.

When running it under A7800 and BupSystem, both end up with the same result.  A black crash screen with a stuck high pitch tone playing in the background.

 

The ProSystem emulator does not properly account for and is far too generous with system timings and available clock cycles, among other issues.    Dollars to donuts the file would behave exactly the same or very similarly on real hardware and...
 

*Uploads to MCP DevCart*

 

...it does:  

On my A1 serial console -  black crash screen with the same high pitch tone.  Exact same results as A7800 and BupSystem.

On my AT 84 serial console - red crash screen with no high pitch tone.  Nearly the same results as A7800 and BupSystem.

 

At the very least, don't use and especially don't test under ProSystem - Use BupSystem instead.  It contains a interface very similar to the ProSystem emulator, but much closer to hardware accurate emulation.

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

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