Jump to content
RevEng

The Titlescreen Kernel

Recommended Posts

*Edit* Would it be possible for a game to have two seperate title screens, as long as they are stored in different banks? Also can you have sound with the title screens?

 

RevEng, I have download and printed out your documentation and its very good. Thanks again for all the hard work that you put into this. I truly feel that we have not come even close to maxing out the potential of batari Basic programming for the 2600!

 

-Disjaukifa

Unfortunately it's not possible to have 2 different title screens, even if they're stored in 2 different banks. You do have some limited ability to change what graphic is being displayed, as shown in the animation example.

 

Sound is definitely a possibility. You call the titlescreen drawing routine with a gosub, but otherwise it acts the same as a bB drawscreen command, so you can control sound just as you would in a game.

 

Agreed on bB programming having even better days ahead of it. When batari gets around to coding a DPC+ kernel I'm positive you're going to see a lot of the compromises in the present bB kernels vanish. (blank lines, losing a missile for colors, etc)

Share this post


Link to post
Share on other sites

*Edit* Would it be possible for a game to have two seperate title screens, as long as they are stored in different banks? Also can you have sound with the title screens?

 

RevEng, I have download and printed out your documentation and its very good. Thanks again for all the hard work that you put into this. I truly feel that we have not come even close to maxing out the potential of batari Basic programming for the 2600!

 

-Disjaukifa

Unfortunately it's not possible to have 2 different title screens, even if they're stored in 2 different banks. You do have some limited ability to change what graphic is being displayed, as shown in the animation example.

 

Sound is definitely a possibility. You call the titlescreen drawing routine with a gosub, but otherwise it acts the same as a bB drawscreen command, so you can control sound just as you would in a game.

 

Agreed on bB programming having even better days ahead of it. When batari gets around to coding a DPC+ kernel I'm positive you're going to see a lot of the compromises in the present bB kernels vanish. (blank lines, losing a missile for colors, etc)

 

Hmmm ok thanks for the response! I need to dive more into the documentation you provided and start really messing with it. Thanks again for all your hard work you put into this!!!

 

-Disjaukifa

Share this post


Link to post
Share on other sites

 

Agreed on bB programming having even better days ahead of it. When batari gets around to coding a DPC+ kernel I'm positive you're going to see a lot of the compromises in the present bB kernels vanish. (blank lines, losing a missile for colors, etc)

 

Any idea (or rumors) about a release schedule? I wish I don't have to rewrite my whole game...

For the moment I can't make the TSkernel flicker: Do you use a variable for it? I'm using a bit of the variable "a" as tag for flickering and the detection seems in conflict with it.

Regards.

Edited by abaudrand

Share this post


Link to post
Share on other sites

Any idea (or rumors) about a release schedule? I wish I don't have to rewrite my whole game...

For the moment I can't make the TSkernel flicker: Do you use a variable for it? I'm using a bit of the variable "a" as tag for flickering and the detection seems in conflict with it.

Regards.

batari mentioned it once or twice, but I wouldn't count on it popping anytime soon - he has his hands full with other projects too. In any case, I'd expect you'd only need to tweak your existing game to get the benefits.

 

To flicker the TSKernel, you could just alternate the gosub calls with drawscreen calls, like...

 

main
gosub titledrawscreen bank2
drawscreen
rem insert some game logic here
goto main

 

But I think some of the minikernels that use flickerblinds might not perform correctly when you do that. The TSKernel tracks the frame with a temp variable that the bB kernel is likely to wipe.

Share this post


Link to post
Share on other sites

I thought the TSkernel include a drawscreen function. I'm stuck for the moment but I will do another attempt tommorow. (when I'm stuck on a problem, I let my brain compute it while sleeping).

Share this post


Link to post
Share on other sites

:)

 

The TSKernel uses the "gosub titledrawscreen" as its drawscreen.

 

Not to ask an off-topic question but what is TSKernel? I've done a search and didn't see much? I know Random Terrain's website has a little info on kernels, but I only remember seeing players life, racing timer and titlescreen. What other kernels are there?

 

-Disjaukifa

Share this post


Link to post
Share on other sites

Not to ask an off-topic question but what is TSKernel?

It's the Titlescreen Kernel, when I get tired of writing the name a bunch of times. ;)

 

I'm not sure what other kernels exist.

Share this post


Link to post
Share on other sites

Not to ask an off-topic question but what is TSKernel?

It's the Titlescreen Kernel, when I get tired of writing the name a bunch of times. ;)

 

I'm not sure what other kernels exist.

 

:_( I knew that . . . . no I didn't . . .

Share this post


Link to post
Share on other sites

:_( I knew that . . . . no I didn't . . .

:) No frownie required - its not like I announced the name variation anywhere. I just started using it.

 

But I won't object if anybody refers to it as TSKernel, TSK, the title thingee, or whatever. "The Titlescreen Kernel" is a bit much to type over and over again.

Share this post


Link to post
Share on other sites

Interesting question cody.. I don't know ASM, so I don't know how Rev's code works, but let's say we have a TITLE only.. is it possible to move some sprites around while the title is being shown?

Share this post


Link to post
Share on other sites

Well, it's not possible with the code as it is now.

 

With some modification to the bB kernel, it's possible that one could have a "topminikernel" for stuff like sunrise displays. But in truth I'd like for such an interface to be official before I started modifying minikernels for it.

Share this post


Link to post
Share on other sites
Well, it's not possible with the code as it is now.

 

With some modification to the bB kernel, it's possible that one could have a "topminikernel" for stuff like sunrise displays. But in truth I'd like for such an interface to be official before I started modifying minikernels for it.

Sooner or later, you guys with brains are going to make it so every bB game will look so good and professional from start to finish that Atari 2600 gamers will weep with joy. They'll begin to wonder if Imagic or Activision started making Atari 2600 games again.

Share this post


Link to post
Share on other sites

The file itself looks fine.

 

Its set to be the first copy of the 48x1 data. Are you sure there isn't another file also set to be the first copy of 48x1?

 

If not, post or PM all the files and I can see what I can do about it.

 

[Edit - also, make sure the .bin file created was the right size]

Edited by RevEng

Share this post


Link to post
Share on other sites

Its set to be the first copy of the 48x1 data. Are you sure there isn't another file also set to be the first copy of 48x1?

Yes, I'm sure.

 

[Edit - also, make sure the .bin file created was the right size]

There's the problem, the file is only 6k. I hadn't noticed that before. It's supposed to be 16k.

edit: when I remark it out with a semicolon, the game works fine.

Share this post


Link to post
Share on other sites

There's the problem, the file is only 6k. I hadn't noticed that before. It's supposed to be 16k.

Ok, so that's the start. Every once and a while bB spits out an incomplete binary due to a syntax error or similar issue, and except for the bad size its not obvious there was a problem.

 

Just to make sure I wasn't missing anything, I copied your 48x1_1_image file into one of the examples and it compiled and displayed just fine.

 

If you comment out the draw_48x1_1 line from titlescreen_layout.asm does everything compile fine? If so, maybe you've run out of space.

Share this post


Link to post
Share on other sites

OK, I am officially an idiot. I found the source of the problem. It had to do with the older copy of the titlescreen kernel I had in there earlier. The code was pointing to the wrong file folder. Everything's fixed now.

Share this post


Link to post
Share on other sites

Do we already know that "set debug cyclescore" does not work with the titlescreen kernel when the game is on the title screen? Because it doesn't. If we already knew that, never mind!

Share this post


Link to post
Share on other sites

I knew, but it's a good point to explicitly state.

 

If you're doing anything intensive in a titlescreen loop, it's probably a good idea to double-check you're not pushing more than the usual 262/312 scanline counts. (alt+l in stella)

Share this post


Link to post
Share on other sites

Hey,

 

This is REALLY good. Hopefully I'll be able to implement it in my 'Going Dotty' game (PS. Thanks a lot for all the help with that!)

 

I saw that the compiled BIN is 16kb, which seems kinda a lot for a titlescreen, whereas my game is only 2-3kb so far. Is there a lite version of this/how far can it be squeezed down?

 

Also, why does the Robotron logo flicker? Just wondering.

 

Looking awesome. Keep up the great work; you get awesome sauce.

Share this post


Link to post
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.

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