Jump to content
IGNORED

4scores Minikernel


Karl G

Recommended Posts

I have created a new minikernel inspired by the Player Scores minikernel. This minikernel can display 4 separate single-digit player scores in 4 different colors, all on the same line.

 

To use, you will need to disable the built-in scores with the following definition:

 const noscore=1

You will include the minikernel in the last bank of your project with the following line:

 inline 4scores.asm

You can then define each player's score and score color in a way similar to the following. Note that the following variables are provided via the minikernel, and do not need to be defined manually:

 

 p0scorecolor = $4E
 p1scorecolor = $8E
 p2scorecolor = $CE
 p3scorecolor = $3E


 p0score = 0
 p1score = 0
 p2score = 0
 p3score = 0

I have also created a small (2K) game that uses this minikernel for a simple 4-player paddles game. Since the standard kernel does not multiplex player objects, it relies upon flicker to display 4 players. How good or bad this looks will depend on your individual setup (the screenshot is somewhat deceptive due to phosphor being turned on in Stella).

 

Anyway, please try it out, and let me know how it works for everyone!

 

post-48311-0-60601000-1534793767.png

 

4scores Minikernel version 0.3 updated 8/30/2018:

 

4scores.asm

 

starcatcher.bas

 

starcatcher.bas.bin

 

  • Like 8
Link to comment
Share on other sites

I tried compiling at 4k and 8k (making sure 4scores was in bank 2) just fine. Thank you!

 

bblint tried to object. But, I think that was just bblint being bblint. Stella didn't have a problem running the resulting ROMs.

[8/20/2018 7:48:37 PM] bblint found the following errors in starcatcher.bas
warning(): Found 1 "for" loops and 0 "next" loop-endings.
warning(): Found 0 commands that use end,  and 2 "end" commands.
  • Like 1
Link to comment
Share on other sites

Uploaded version 0.2, which turns off the reflect bit, if it is on.

 

It looks like this minikernel fits and works in bank 1 for a DPC+ project, but, like the multisprite kernel, it overcycles. I haven't figured out the reason for this yet, though. It seems to be working fine with the standard kernel.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 years later...

Curious.  Does this work with Superchip RAM?

 

I had tried using this in a program and I seem to get this when I compile:

Quote

--- Unresolved Symbol List
p3score                  0000 ????         (R )
p2score                  0000 ????         (R )
p1score                  0000 ????         (R )
p0score                  0000 ????         (R )
superchip.h              0000 ????         (R )
p3scorecolor             0000 ????         (R )
p2scorecolor             0000 ????         (R )
p1scorecolor             0000 ????         (R )
p0scorecolor             0000 ????         (R )

I assume that there is something in this that conflicts with superchip?

 

Here is what I was working with to start to see if this was possible.  

RLGL_2022_11_20.bas

Link to comment
Share on other sites

There's no reason you can't use this minikernel and SuperChip RAM. There's two reasons why yours wouldn't compile?

 

1) You need to use inline instead of include for 4scores.asm where you have it.

 

2) You can't include two minikernels.

 

When I changed the include to inline and commented out the 6lives_statusbar minikernel, I was able to get it to compile.

 

RLGL_2022_11_20_bas.thumb.png.5615f6312e3a02edf9ec9e7dad54dd44.png

  • Thanks 1
Link to comment
Share on other sites

Ahhhh.  
 

I didn’t think about the two mini kernels thing! I had wound up getting it to compile but that was before I tried defining the player scores and changed the online/include. 

 

So now I have to make a decision on what to do next!

 

Thank you very much. 

  • Like 1
Link to comment
Share on other sites

I have got 4scores and another mini kernel to compile using this technique:

https://forums.atariage.com/topic/327038-experiments-in-2-simultaneous-mini-kernels/

 

Though, I have not run this on real hardware yet.  Also, it is highly likely you'll have to modify both mini kernels as they may use the same RAM locations (aux, temp, lives, lifepointer, etc..)

 

snewcol009_bas.thumb.png.89d9be288ad787fd726b0a812e6532a8.png

Link to comment
Share on other sites

Yeah; it could indeed be hacked to work, but I wouldn't recommend it since it makes for a very big screen, and further limits the number of cycles available to bB. Maybe pfscores would do the trick instead?

 

Edit: if you determine that you need the functionality of both, I'm willing to try making a hybrid minikernel to have both in one. It may require giving up a couple of variables though, since both probably use some of the same memory locations (I'll need to check for sure).

  • Like 1
Link to comment
Share on other sites

1 hour ago, Gemintronic said:

I have got 4scores and another mini kernel to compile using this technique:

https://forums.atariage.com/topic/327038-experiments-in-2-simultaneous-mini-kernels/

 

Though, I have not run this on real hardware yet.  Also, it is highly likely you'll have to modify both mini kernels as they may use the same RAM locations (aux, temp, lives, lifepointer, etc..)

 

snewcol009_bas.thumb.png.89d9be288ad787fd726b0a812e6532a8.png

Nice! What system is that on? Just asking.

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