Jump to content

Spire of the Ancients (WIP)


Recommended Posts

Duplicating topscreen worked so it's the first thing in every non-permanent bank so that's good.


It appears that my compilation issues are due to what's happening when I add even a single line of code to bank 1. If I do it will only let me use the first of the 2 'graphics banks' and fail if anything goes into the second. That means I can't even add a line to immediately jump to bank 2 to start the game when it's reporting 8K free in main area of bank 1.

Really what I want to happen is for a sliver of code to go at the start, and for the graphics to fill the rest of the 16K. I'm not even worried about the code being displayed because the first thing I'm importing is my text which is never shifted vertically.

  • Like 3
Link to comment
Share on other sites

So in another moment of bankswitched revelation I realised that not being able to use all of the first bank for graphics is a non-issue, because like the topscreen routine I can simply stick the leftover graphics into the other banks so they're always accessible. That also means I can stick the tracker song data in there too.


Everything's coming up Milhouse!

  • Like 5
Link to comment
Share on other sites

Things are starting to click in place and I'm already learning so much, such as 'don't put data before your code if you're not going to jump over it', and 'make sure your topscreen routine is in bank 8 so it's always there when the game jumps to it'.


I will take your advice RevEng and use a 144k ROM size for the extra permanent bank. I might have been able to get away with 128k if I built this around bankswitching to begin with. This is still technically my first 7800 game so I guess I can cut myself some slack.


I definitely won't go larger than 144k because that would mean losing the ability to play it on my Mateos cart (and I still want to claim a smaller cartridge size than Wizardry on the NES). Are there any technical reasons to not use larger cartridges these days?



Now I just need to figure out why I'm not getting my titlescreen on 144k but do on 128k.

(It's because the first thing I need to do in bank 1 is jump to bank 2, and both 'goto bank2TitleScreen bank2' and 'goto bank2TitleScreen bank 2' are accepted by 7800BASIC but the latter doesn't work properly.)

128K and 144K should work on Cuttle Cart 2 as well, provided no POKEY on 144K

Link to comment
Share on other sites

I've got most of my code moved over from the 48k build to the 144k build but I still need to link it all together. I've been commenting out bits and compiling as I go.

I've run into a couple of minor issues. Firstly, I hit a weird compilation bug where it was duplicating my code in assembly and thus duplicating labels and throwing up a load of errors. Changing the name of one of the labels, compiling, and changing it back seemed to have gotten rid of that. Secondly, plotbanner doesn't work as it can't find the height constant. Using plotsprite works and I've already got a couple of places where I've rewritten multiple calls to plotbanner in assembly to speed up drawing so I can just do that for the rest.


One of the things I wanted to do from the start but couldn't because of a lack of graphics and ROM space was a pseudo 3d textured floor on the title screen, because in my opinion the flashier the titlescreen the better. It's at a stage where I'm going to leave it as it is for a while but it's still a work in progress, I'll just come back to it when everything else is in order. It's a bit jumpy and I need to rewrite it in assembly so that it doesn't drop the framerate in NTSC but you get the idea.


SotA 144k Titlescreen WIP.a78

  • Like 4
Link to comment
Share on other sites

Firstly, I've attached my current BIN.

Secondly, thanks for the compliments.

Thirdly, thanks for the offer SlidellMan but (despite all common sense) I'm going to finish this solo.

Lastly, I wasn't sure what snide comment you were referring to so I had to go back and check, I took it as good jest so don't worry about it.


  • Like 4
Link to comment
Share on other sites

Crossbow and Alien Brigade have no problem running on Cuttle Cart 2.


Edit: Tried switching from the 78BIOS to the 78QUICK boot scheme and still no luck on Cuttle Cart. Suspect it's a different 144K bankswitch scheme than Alien Brigade and Crossbow that Cuttle Cart 2 does not support.

Edited by DracIsBack
Link to comment
Share on other sites

Yes, no doubt. My understanding is those 144k ROMs you have on your MMC card have an "adjusted" bank order specifically for the CC2.


I'm far from a CC2 expert, so I'll take your word that your roms are identical to the A78 dumps found elsewhere, less the headers. If Spire of the Ancients runs fine under SmittyB's Mateos cart, then I guess we have some other CC2 incompatibility.

Link to comment
Share on other sites

  • 2 weeks later...

That's made my day and I love it.

I'll be adding more functions to the keypad eventually for selecting things like keys, a travel lantern, and a potion that will restore some health if held when something would otherwise kill you.


In other news I've fixed the 3d effect on the title screen so that it doesn't stutter and has a more accurate perspective.


I've recently been given an old Siel MK900 keyboard so I'll hopefully get a few tunes written. I might use a difficulty switch as a music toggle so that you can listen to your own music without losing the sound effects.

  • Like 4
Link to comment
Share on other sites

  • 1 month later...

So it's been a while. I've taken a lengthy break from working on this because after getting everything moved over to 144k and compiling I was left with a huge mess of source code that was quite frankly intimidating.

This week I've managed to get over a couple of the big hurdles that were preventing me from continuing and in the process have sped things up even more by cutting out a lot of unnecessary graphics code.


I'm still in a position where a lot of things are broken where they weren't before but they're all minor bugs that can be ironed out over time.


(Also I discovered that while old Italian keyboards are fun to use, having one doesn't mean I know the first thing about music.)

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

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...