Jump to content
IGNORED

Vector Hyperdrive (A new Space Shooter)


Opry99er

Recommended Posts

Next step on this one is to create enemy movement... Should be able to do that tonight... I want to create multiple types of waves. One type will be non-firing enemies that move toward the player... Another type will be enemies that move similarly to the player (left and right) and fire at the player...

 

Once all that is done, and I work out difficulty levels and a player "death" sequence, I'll add sound and music and it will be ready for the presses. :)

Link to comment
Share on other sites

I like it, Owen. The biggest problem with a double-ender cartridge isn't the board (I actually have a template for that one that I made as a test to see if I could get a lower price on fabricated boards once), it is the case. I'd have to design a special case to use it with. . .but as an alternate answer, all you would have to do is assemble one of the 128K boards with a single switch that would give you the same effect. Even better would be to just use one of the multicart menu programs to allow you to select between which one you wanted right from the title screen. . .

Link to comment
Share on other sites

Thank you Vorticon and Jim...

 

I noticed Bouncing Babies is on one of the multicarts... That gives me hope for Vector Hyperdrive. ;)

 

And on the double-ender side of things...

 

I suppose a single switch on the cart would be acceptable. :) multicart menu would be cool too...

 

Quick question for you... Are we maxed out at 8K banks? I was wondering because this game is likely to exceed that and I am not sure how to switch banks within the framework of compiler-outputted source code.

Link to comment
Share on other sites

Each bank has a maximum size of 8K, Owen. That is a limitation of the OS and its memory map. A bank-switched cartridge can be larger than 8K--but you have to split the code in such a way that it does the necessary switching between banks as part of the code--and that no code is dependent on something that isn't in its bank to run. Note that you can use one bank as a trampoline to other banks by putting your main loop in bank 1 and then branch to routines in other cart banks before returning to the spot you left in bank 1 to continue. See the code the mole is setting up to do just that for his Alex Kidd port. Using that scheme, you could write a single program that was up to 2048K, all banked in 8K increments.

Link to comment
Share on other sites

Wow... That is pretty intense stuff there... :)

 

Since Mole is using C and I am using XB256 plus compiler, it is likely we wouldn't have alot in common... I need to study the asm routine information in the XB256 docs and see what's what.

 

My demo is somwthing like 6K compiled right now... Will likely be able to keep it under 8k, just need to keep working and keeping tabs on my size. :)

Link to comment
Share on other sites

Note you also have the option of compiling a larger program and using a loader to lob it into the 32K space prior to execution. At that point the cartridge is just a program carrier. Rasmus does this with his cartridges, as do the Neverlander and Arcturus cartridge files. . .and all of Gazoo's 512k/1024K/2048K cartridge images.

Link to comment
Share on other sites

Interesting... Now the question is (and this may have been answered elsewhere) "can an 8k compiled XB program run from cart space only?"

 

:)

No. It would require some changes in the loader to force it to load to cartridge space. In theory that's possible, but another problem is that it would have to be a RAM cartridge because all the strings and variables are part of the code. Best bet if you want to make a cartridge is to use it to store the program and just copy it into 32K ram as ksarul describes in post #33.

  • Like 1
Link to comment
Share on other sites

Note you also have the option of compiling a larger program and using a loader to lob it into the 32K space prior to execution. At that point the cartridge is just a program carrier. Rasmus does this with his cartridges, as do the Neverlander and Arcturus cartridge files. . .and all of Gazoo's 512k/1024K/2048K cartridge images.

 

Perhaps a bit off topic. Sorry. The Miner 2049er, and a few other 3rd party game cartridges, plugs into the expansion port on the side of the computer. Did they show up in the 32K space as ROM only ?

 

:)

Link to comment
Share on other sites

The side-port cartridges are each a bit unique, Sometimes99er. Each of the game cartridges fills some portion of the 32K space with ROM (usually starting at >A000), and Arcturus also puts some code in the DSR space (at >4000). I haven't looked at where the Hamsoft module places its code in the memory map, but I suspect it is the DSR space, as it does allow connection to the rest of the peripheral chain.

Link to comment
Share on other sites

Not a ton of progress on the game... A couple of optimizations to the code have been implemented to shorten it and make it more compact, but it has not affected the gameplay... I have a strong suspicion that the optimizations will really be felt once the other elements are in place and cycles are tight.

 

This week, I hope to implement enemy movement and torpedoes... I have a loose structure in my head of how I want to handle the waves of enemies, but that will likely change when I start hitting speed and efficiency walls. So far, it seems like the sky is the limit on features, but that is NEVER the case in reality. :)

 

Stay tuned, hope to have something for you in the next day or two.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

No. It would require some changes in the loader to force it to load to cartridge space. In theory that's possible, but another problem is that it would have to be a RAM cartridge because all the strings and variables are part of the code. Best bet if you want to make a cartridge is to use it to store the program and just copy it into 32K ram as ksarul describes in post #33.

 

The ROMs and GROM in the XB cartridge are pretty much hard coded for upper 24K or VDP RAM.

It would realistically be impossible to run from RAM in CART as that is where XB ROMs are located.

It would never work unless you rewrite XB GROMs and ROMs.

 

Now a Compiler into Assembly would work but that would be one hell of a rewrite.

Edited by RXB
Link to comment
Share on other sites

The ROMs and GROM in the XB cartridge are pretty much hard coded for upper 24K or VDP RAM.

It would realistically be impossible to run from RAM in CART as that is where XB ROMs are located.

It would never work unless you rewrite XB GROMs and ROMs.

 

Harry's XB compiler does not use XB.

 

Now a Compiler into Assembly would work but that would be one hell of a rewrite.

 

Yup! It surely was “one hell of a rewrite”!

 

There are limitations; but, it does, in fact, produce ALC you then must assemble to object code.

 

...lee

Link to comment
Share on other sites

 

Harry's XB compiler does not use XB.

 

 

Yup! It surely was “one hell of a rewrite”!

 

There are limitations; but, it does, in fact, produce ALC you then must assemble to object code.

 

...lee

So it does not really emulated XB Code at all? (It kinda does.)

Link to comment
Share on other sites

-k-

 

Here's a little teaser video of the preliminary enemy movement. The alien's erratic movements are to avoid your torpedoes... It works. ;) There is a strategy there, but I'll leave it for you all to figure out.

 

Much optimization left to do, but here's a taste.

 

http://www.youtube.com/watch?v=CKFi3w0aRkI&feature=youtu.be

  • Like 5
Link to comment
Share on other sites

Did some optimizing tonight and REALLY sped things up... Enemy is almost TOO responsive to player movement now. :)

 

I also have enemy firing done, but checks for screen borders and COINC with player vessel are still in development. I may need to reorder my loop and/or add some checks to reduce the size of the main code cycle.

 

I will report back later tonight.

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