CurtisP Posted September 29, 2007 Author Share Posted September 29, 2007 I've got a suggestion: How about two 6-digit scores? Dang, you people are just never satisfied. Actually it should be possible to have one six-digit score on top of the other by hacking the standard kernel. It would use up the Aux variables which would mean no minikernel, though, I'll look into it when I get a chance. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted October 1, 2007 Share Posted October 1, 2007 Sorry to bother you like that, I think what you've done is really cool. I just haven't found an excuse (other than a test) to use it so far. Keep up the good work. Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted October 4, 2007 Share Posted October 4, 2007 Curtis, Can you look at the following code and tell me why playercolors can be set in the racetrack screen but not the main title screen? Thanks! ultindy500_0.3b.bas ultindy500_0.3b.bas.bin ultindy500_0.3b.asm.txt Quote Link to comment Share on other sites More sharing options...
CurtisP Posted October 5, 2007 Author Share Posted October 5, 2007 Can you look at the following code and tell me why playercolors can be set in the racetrack screen but not the main title screen? During the title screen code, are you seetin COLUP0 and COLUP1 every time you call drawscreen? These are TIA registers and get overwritten by the Score routine, so that your players will end up being the same as the color of the last score. It looks like this doesn't happen with your cars because you redefine each player and it's color every frame. Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted November 18, 2007 Share Posted November 18, 2007 Can you look at the following code and tell me why playercolors can be set in the racetrack screen but not the main title screen? During the title screen code, are you seetin COLUP0 and COLUP1 every time you call drawscreen? These are TIA registers and get overwritten by the Score routine, so that your players will end up being the same as the color of the last score. It looks like this doesn't happen with your cars because you redefine each player and it's color every frame. Curtis, To answer your previous question, I pretty much gave up on that, but I think the answer to my issue is that I would have just needed to set the player1scorecolor, player2scorecolor, player3scorecolor, player4scorecolor before each drawscreen. Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted November 18, 2007 Share Posted November 18, 2007 Curtis, The player scores minikernel proves totally awesome again and am using it in Titan Diamonds (keep hitting select until you get one of the two-player games, then hit reset to start). Two things I noticed though are that: * When I use it it keeps wanting to flicker the 2nd score red (see attached 0.3). titan_diamonds_0.3.bas.bintitan_diamonds_0.3.bas * I can't use pfscore when I'm using the minikernel or it totally hoses everything up. It starts to ignore COLUBK and use COLUP0/COLUP1 instead (just by having using both playerscores minikernel and enabling pfscores at same time) and when I set the pfscores it changes the playerscores to player sprites that have been rolled down 2 rows instead of digits (see attached 0.3-pfscorebug). titan_diamonds_0.3_pfscorebug.bas.bintitan_diamonds_0.3_pfscorebug.bas Quote Link to comment Share on other sites More sharing options...
CurtisP Posted December 6, 2007 Author Share Posted December 6, 2007 I'll try and take a look at that soon. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 16, 2007 Share Posted December 16, 2007 (edited) I've got a suggestion: How about two 6-digit scores? Dang, you people are just never satisfied. Actually it should be possible to have one six-digit score on top of the other by hacking the standard kernel. It would use up the Aux variables which would mean no minikernel, though, I'll look into it when I get a chance. I've got a game I'm working on here that would really benefit from having two six-digit scores, so if anyone has any free time, could someone please hack the standard kernel for me? (I'd do it myself, but I have absolutely no idea how to). Edited December 16, 2007 by atari2600land Quote Link to comment Share on other sites More sharing options...
CurtisP Posted January 2, 2008 Author Share Posted January 2, 2008 I've got a suggestion: How about two 6-digit scores? Dang, you people are just never satisfied. Actually it should be possible to have one six-digit score on top of the other by hacking the standard kernel. It would use up the Aux variables which would mean no minikernel, though, I'll look into it when I get a chance. I've got a game I'm working on here that would really benefit from having two six-digit scores, so if anyone has any free time, could someone please hack the standard kernel for me? (I'd do it myself, but I have absolutely no idea how to). The problem with this is that the scorepointers are precalculated during the overscan and require 6 bytes of RAM, so this hack would cause you to lose variables U-Z. Quote Link to comment Share on other sites More sharing options...
Fort Apocalypse Posted February 5, 2008 Share Posted February 5, 2008 Curtis, Thank you so much for writing this minikernel. I'm hoping that this (or something similar) gets included in a future version of bB so people won't have to download it to use it, but I understand that some things may need to get worked out first. But I have been having one issue I can't figure out. It compiles but I get: 2600 Basic compilation complete. DASM V2.20.07, Macro Assembler (C)1988-2003 bytes of ROM space left in bank 1 bytes of ROM space left in bank 2 Possible duplicate label: L067 d181 > Terminated with exit code 0. Specifically it is freaking out at: STA player0scorecolor STA player1scorecolor .L067; COLUP0 = gameovercolb : COLUP1 = gameovercolb And I think it is the STA player1scorecolor It seems like maybe it could be an incompatibility between 8ksc (superchip) and the player scores minikernel. Please see attached for the issue I'm having. Thanks for any help you can provide! titan_diamonds_2.0.bas titan_diamonds_2.0.bas.asm.txt titan_diamonds_2.0.bas.bin Quote Link to comment Share on other sites More sharing options...
Gateway Posted July 18, 2009 Share Posted July 18, 2009 Hi, So I have spent the last few hours trying to figure out why my bBasic setup doesn't like this minikernel. I have moved files around that I have modified in my "includes" folder but I still get the following errors and it won't compile, though I have the bcd_math and playerscore asm files in the same "includes" folder, but it can't "open" them for some reason: -- batari Basic v1.01 ©2005-2007 2600 Basic compilation complete. DASM V2.20.07, Macro Assembler ©1988-2003 bytes of ROM space left in bank 1 Warning: Unable to open 'playerscores.asm' Warning: Unable to open 'bcd_math.asm' bytes of ROM space left in bank 2 3173 bytes of ROM space left in bank 1 --> cycle74_HMCLR f084 -- Any help as to what or why it won't compile when I run 2600bas, will be appreciated or anybody else run into this problem? I am using the multisprite kernel and Curisp's minikernel and have both "inline playerscores.asm" and "inline bcd_math.asm" and the end of my .bas file Thanks, Weston Quote Link to comment Share on other sites More sharing options...
CurtisP Posted July 18, 2009 Author Share Posted July 18, 2009 I always put the extra include files in the same folder as the .bas file that I am compiling, rather than bB's includes folder. Hi, So I have spent the last few hours trying to figure out why my bBasic setup doesn't like this minikernel. I have moved files around that I have modified in my "includes" folder but I still get the following errors and it won't compile, though I have the bcd_math and playerscore asm files in the same "includes" folder, but it can't "open" them for some reason: -- batari Basic v1.01 ©2005-2007 2600 Basic compilation complete. DASM V2.20.07, Macro Assembler ©1988-2003 bytes of ROM space left in bank 1 Warning: Unable to open 'playerscores.asm' Warning: Unable to open 'bcd_math.asm' bytes of ROM space left in bank 2 3173 bytes of ROM space left in bank 1 --> cycle74_HMCLR f084 -- Any help as to what or why it won't compile when I run 2600bas, will be appreciated or anybody else run into this problem? I am using the multisprite kernel and Curisp's minikernel and have both "inline playerscores.asm" and "inline bcd_math.asm" and the end of my .bas file Thanks, Weston Quote Link to comment Share on other sites More sharing options...
smartkitten26 Posted August 19, 2009 Share Posted August 19, 2009 (edited) I've got a suggestion: How about two 6-digit scores? Dang, you people are just never satisfied. Suggestions are good, they'll help you improve your work. Edited May 19, 2015 by smartkitten26 1 Quote Link to comment Share on other sites More sharing options...
accousticguitar Posted September 12, 2009 Share Posted September 12, 2009 I like this minikernel. Quote Link to comment Share on other sites More sharing options...
accousticguitar Posted September 14, 2009 Share Posted September 14, 2009 (edited) Does this work with the multisprite kernel? Edited September 18, 2009 by accousticguitar Quote Link to comment Share on other sites More sharing options...
accousticguitar Posted September 18, 2009 Share Posted September 18, 2009 (edited) I have determined that this minikernel does not work with the multisprite kernel. Edited September 18, 2009 by accousticguitar Quote Link to comment Share on other sites More sharing options...
kisrael Posted January 25, 2015 Share Posted January 25, 2015 Thanks for this! One suggestion: in the readme, I didn't really "get" what This line must not be within any executed code, and in an 8K or larger game, must be in the last bank. A 2k or 4k game can use the include directive instead of inline. meant. (I was great for Fort Apocalypse's Indy example and comment that meant (for a 4K game at least) "at the end... I thought maybe since it was at the top, with all the declarations, it might not count as "executed code". Dumb on my part, but an easy mistake for a newb or klutz to make Quote Link to comment Share on other sites More sharing options...
Mountain King Posted September 8, 2015 Share Posted September 8, 2015 Any chance this could be made to work in the DPC+ Kernal? Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 8, 2015 Share Posted September 8, 2015 Any chance this could be made to work in the DPC+ Kernal? Seems like most people who know how to do anything have either disappeared or are too busy because of demanding jobs. Quote Link to comment Share on other sites More sharing options...
Coolcrab Posted February 8, 2018 Share Posted February 8, 2018 Alright. I finally saw the color bug that Michael pointed out (right most pixel of the first digit). Adding a cycle into the middle of the display routine fixed it. I rewrote the code to reference existing labels instead of memory locations, so it should work with both kernels now. And I added support for 4 scores (each with it's own color of course). With just one minikernel, you can have 2 or 4 scores. See the documentation for more details. Can you combine this with a healthbar on one side? (say left and score on the right?) Quote Link to comment Share on other sites More sharing options...
CurtisP Posted February 13, 2018 Author Share Posted February 13, 2018 (edited) Seems like most people who know how to do anything have either disappeared or are too busy because of demanding jobs. Both of those describe me. I also tend to jump between interests. In fact, I don't even remember writing this minikernel. Of course it has been over 10 years. Edited February 13, 2018 by CurtisP 1 Quote Link to comment Share on other sites More sharing options...
CurtisP Posted February 13, 2018 Author Share Posted February 13, 2018 (edited) Can you combine this with a healthbar on one side? (say left and score on the right?) Without reviewing the code, I'm guessing that a healthbar would have to use an asymmetric playfield. There may not be enough free RAM to implement it, though. Edit: I can't do two scores and a healthbar, but it should be possible to write a minikernel that does one two-digit score and a healthbar. Edited February 13, 2018 by CurtisP 1 Quote Link to comment Share on other sites More sharing options...
MemberAtarian Posted April 30, 2018 Share Posted April 30, 2018 My problem is the same as mentioned above, the only thing that is in my way that I would write the very first (?) strategy game for the system, but I can't do it, because I have to choose between having 5 sprites in multisprite kernel without showing resourches (which is important in an TBS or RTS), or doing this crazy movement of player1 sprite, even using player0 for filing, but still, the flicker kills your eyes. Quote Link to comment Share on other sites More sharing options...
IuriNery Posted July 7, 2018 Share Posted July 7, 2018 Hi, Is there a way to use this code outside batari basic? What if I want to add a 6 digit score in my game? Thanks and sorry for ressurecting this thread. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted July 7, 2018 Share Posted July 7, 2018 A minikernel is just a chunk of ASM code called from bB towards the end of the visible screen. It could certainly be adapted for use in a non-bB project, but would need to be reworked as the code would be using symbols previously defined by bB. As for the 6-digit score routine, an example of this extracted to its own routine can be found in the Titlescreen Kernel. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.