Jump to content
IGNORED

The Titlescreen Kernel


RevEng

Recommended Posts

Perhaps I do. I have seen it on two different systems, but both are Atari Jrs. If I recall correctly, it was certain Jrs that has problems with bus-stuffing demos, so perhaps Maggie and I are both "blessed" with these "special" TIAs.

Link to comment
Share on other sites

Yeah, usually it's the 7800's and certain Jr's that have the odd TIAs.

 

Here's one that waits an extra cycle prior to changing the graphics for the second copy of the player 0 sprite. I have my console packed away at the moment, so it's not tested beyond Stella. Buyer beware.

 

[edit - removed. Used kdgarris' working score_kernel.asm fix in the main titlescreen kernel, in the first post]

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Hello all. I'm having a similar problem with the score module of the titlescreen kernel, except that my issue is showing up in Stella. I haven't tried this on real hardware yet.

 

After playing a game, the thousands digit is duplicated into the hundred thousands digit. Also, the ten thousands digit has some corruption on the right side. See the screenshot. The correct score at the end of this game was 002875.

 

I'm attaching my bB directory and project files. I'm using Crimson Editor, bB version 1.0, and Titlescreen Kernel 1.7. This is my first time using the Titlescreen Kernel, so it's totally possible that this is not a bug and that I've just overlooked something.

 

Thanks for any help you can provide!

 

post-6856-0-28156900-1531590327.png

bB.zip

Edited by graywest
Link to comment
Share on other sites

Thanks for the report. It looks like that last fix for the titlescreen kernel had unintended consequences.

 

I've reverted back to the 1.6 version in the first post, and I'd recommend all of you guys do the same. If you're willing to go without score fade, kdgarris' alternate score_kernel.asm (earlier in this thread) should work on both regular and odd-timing consoles.

 

I may revisit this at some point, to have both score fade and a score kernel that works on odd-timing consoles, but being short on hobby time and being unable to reproduce the odd-timing console results makes it difficult right now.

  • Like 2
Link to comment
Share on other sites

Thanks for the report. It looks like that last fix for the titlescreen kernel had unintended consequences.

 

I've reverted back to the 1.6 version in the first post, and I'd recommend all of you guys do the same. If you're willing to go without score fade, kdgarris' alternate score_kernel.asm (earlier in this thread) should work on both regular and odd-timing consoles.

 

I may revisit this at some point, to have both score fade and a score kernel that works on odd-timing consoles, but being short on hobby time and being unable to reproduce the odd-timing console results makes it difficult right now.

 

Thanks RevEng - I recompiled with 1.6 and that fixed my issue.

  • Like 1
Link to comment
Share on other sites

FYI I have confirmed that the original issue I was seeing does not happen on all hardware - it looks like RevEng was correct that it likely only appears with TIA revisions that have slightly odd timing (like mine, apparently). So, my fix wasn't so much buggy as it was very limited in usefulness. :D

Link to comment
Share on other sites

What might be the issue if it says not a valid titlescreen file when I try to open my xml titlescreens?

 

And is the following a related fixable timing issue.. On my PAL console the high score text is centered above the score, and on another NTSC console it's aligned to the right like in stella

 

msg-21941-0-27573400-1520542420.jpg

Edited by Lillapojkenpåön
Link to comment
Share on other sites

Not sure about the XML question. That's vbb, which I don't really have anything to do with.

 

I've updated the titlescreen code in the first post. It may show consistently between your consoles. It also resolved the problem that kdgarris ran into.

  • Like 3
Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

Hi,

 

Not sure if this is possible but can you use this to overlay an existing screen? For example show a game over message?

 

Update: after adding in a titlescreen for my game it was a really easy process - had to shrink down some stuff in size to fit in most of what I wanted. After looking over the code I believe I might be able to grab parts of it to help add a game over message - will check that out tomorrow.

Edited by mksmith
Link to comment
Share on other sites

I don't think you can have 2 titlescreens present (1 for title screen and one for game over) but you could use this code provided by KarlG :

 

http://atariage.com/forums/topic/282960-batari-basic-logo/?hl=%2Bsplash&do=findComment&comment=4164552

 

To allow a splash or game over screen as well as a title screen.

Edited by Muddyfunster
Link to comment
Share on other sites

If by overlay you mean have the titlescreen coexist with your existing bB screen, then that's a no. The call to the titlescreen routine replaces your normal call to drawscreen, and only what you have defined for your titlescreen will display. Ditto for the splash screen that Muddy mentioned.

Link to comment
Share on other sites

You can have more than one titlescreen.

They are an entire display Kernel, but that makes them use a large amount Bank space - they cant use the built-in drawscreen routine Kernel.

 

Also you would need to use the commands to asm include any additional screens. Data in those can be large as well due to the bitmaps and take away from the 4K graphics of DPC+ Kernel

 

I don't think you can have 2 titlescreens present (1 for title screen and one for game over) but you could use this code provided by KarlG :

 

http://atariage.com/forums/topic/282960-batari-basic-logo/?hl=%2Bsplash&do=findComment&comment=4164552

 

To allow a splash or game over screen as well as a title screen.

Link to comment
Share on other sites

You can have more than one titlescreen.

They are an entire display Kernel, but that makes them use a large amount Bank space - they cant use the built-in drawscreen routine Kernel.

 

Also you would need to use the commands to asm include any additional screens. Data in those can be large as well due to the bitmaps and take away from the 4K graphics of DPC+ Kernel

 

 

Do you have any examples that use two titlescreens, perchance? Saying it's not possible is a simplification, but if you were to include two, you would need to change the names of a ton of symbols to not conflict, and change the pathing in some of the asm as well for the second copy. If there's another way to do it, I'm unaware.

 

Edit: Also, I'm pretty sure the titlescreen data doesn't use any of the 4K of graphics data for the DPC+ kernel, either. I'm willing to be corrected if I'm mistaken, though.

Link to comment
Share on other sites

Does this allow for menus? Like can you draw sprites on top of this? That would be cool.

 

 

Titlescreen has Player0 and Player1.

They need to be inside their own defined scan lines, so above or below bitmaps (which are using Player0 & Player1).

It is not a built in feature, but you can pass variable data to the Titlescreen and back to the bB game. It requires adding code in the Titlescreen assembly. My DK Arcade 2600 uses the Titlescreen Kernel to show the 1-4 monkeys, using the level= variable and changes the 50m 100m bitmap at the bottom. It’s game title screen is all bB routines.

 

Yes, I sometimes use the tools I’m given in ways that they aren’t intended to be used.

Link to comment
Share on other sites

Do you have any examples that use two titlescreens, perchance? Saying it's not possible is a simplification, but if you were to include two, you would need to change the names of a ton of symbols to not conflict, and change the pathing in some of the asm as well for the second copy. If there's another way to do it, I'm unaware.

I don’t have any examples.

 

Edit: Also, I'm pretty sure the titlescreen data doesn't use any of the 4K of graphics data for the DPC+ kernel, either. I'm willing to be corrected if I'm mistaken, though.

I am incorrect. All the data and everything are in the generated .asm in the Titlescreen folders. That adds to why they can get huge.

 

It is not a built-in feature to use more than one.

It would need to be called like any:

[space]asm

[space]include file.asm

end

 

Any RAM or variables Titlescreen uses are changed back to your bB values upon exiting.

Edited by iesposta
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...