Jump to content

Photo

can you use 2 kernels in same game


11 replies to this topic

#1 hloberg OFFLINE  

hloberg

    Dragonstomper

  • 656 posts
  • Location:in the San Antonio/Austin area? drop me a line, trying to get a retro computer club together.

Posted Fri Apr 7, 2017 9:51 AM

I can't find a definitive answer but I have a good idea what the answer is. can you use the standard kernel and the multisprite kernel in the same game? switching between them in banks maybe? 

sorta related, does anyone make a DPC+ board to flash a ROM to?

 



#2 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,950 posts

Posted Fri Apr 7, 2017 10:48 AM

I'm no expert programmer. But why not? The machine is simply going from one instruction to the next..



#3 SpiceWare ONLINE  

SpiceWare

    Quadrunner

  • 11,304 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Fri Apr 7, 2017 12:01 PM

While Stay Frosty was assembly, I'm pretty sure the other games in Stella's Stocking were written using different bB kernels.

 

AtariAge uses Melody to build standalone DPC+ cartridges.  Do note you're not able to flash the Melody yourself.  The Harmony is a Melody with a daughterboard containing the SD slot and USB port, use it to develop your game.



#4 RevEng OFFLINE  

RevEng

    River Patroller

  • 4,671 posts
  • Bitnik
  • Location:Canada

Posted Fri Apr 7, 2017 12:28 PM

I can't find a definitive answer but I have a good idea what the answer is. can you use the standard kernel and the multisprite kernel in the same game? switching between them in banks maybe?


Using existing supported bB functionality, no. It is possible if you're willing to work under the hood a bit.

The "easiest" way to have multiple differing kernels would probably be to start with one of the the multikernel frameworks. The multikernel frameworks are designed to work with multiple banks of the same kernel, or the same kernel plus one or more titlescreen kernels. In theory the frameworks can also use different kernels in each bank - this is trickier than it sounds, since the bB setup is only run once (for whatever kernel is in the first bank), you also need to do any setup that each unique kernel require, and you also need to remap variables that are normally in different places in different kernels. (e.g. in the standard kernel player0x is located at $80, and in the multisprite kernel player0x is located at $84) IIRC Gemintronic managed to make this work at some point.

Just a warning that using the frameworks is a bit tricky in itself, since each 4k chunk is a separately compiled program.

#5 hloberg OFFLINE  

hloberg

    Dragonstomper

  • Topic Starter
  • 656 posts
  • Location:in the San Antonio/Austin area? drop me a line, trying to get a retro computer club together.

Posted Fri Apr 7, 2017 4:57 PM

While Stay Frosty was assembly, I'm pretty sure the other games in Stella's Stocking were written using different bB kernels.

 

AtariAge uses Melody to build standalone DPC+ cartridges.  Do note you're not able to flash the Melody yourself.  The Harmony is a Melody with a daughterboard containing the SD slot and USB port, use it to develop your game.

thank you about the info for the Melody cartridge. I'm still wrestling with my TI-99 Parsec project on how I want to do it. I have a standard kernel and a DPC+ version. I like the standard kernel because it would be cheap to make (I can burn my own ROMS), game play is very responsive but the graphics are simplistic. The DPC+ version looks really good but its a little sluggish (probably because I have the ground constantly scrolling) and would require the melody cart which is more expensive. Multi-sprite won't work because the re-fueling tunnel, meteoroids and scrolling ground would have to be left out.



#6 hloberg OFFLINE  

hloberg

    Dragonstomper

  • Topic Starter
  • 656 posts
  • Location:in the San Antonio/Austin area? drop me a line, trying to get a retro computer club together.

Posted Fri Apr 7, 2017 5:02 PM

Using existing supported bB functionality, no. It is possible if you're willing to work under the hood a bit.

The "easiest" way to have multiple differing kernels would probably be to start with one of the the multikernel frameworks. The multikernel frameworks are designed to work with multiple banks of the same kernel, or the same kernel plus one or more titlescreen kernels. In theory the frameworks can also use different kernels in each bank - this is trickier than it sounds, since the bB setup is only run once (for whatever kernel is in the first bank), you also need to do any setup that each unique kernel require, and you also need to remap variables that are normally in different places in different kernels. (e.g. in the standard kernel player0x is located at $80, and in the multisprite kernel player0x is located at $84) IIRC Gemintronic managed to make this work at some point.

Just a warning that using the frameworks is a bit tricky in itself, since each 4k chunk is a separately compiled program.

that is what i suspected. multi-sprite and standard don't mix easily. I will using the multikernel framework in other parts of the program. each game section is a bank.

FYI: I plan to look into your 7800 BASIC for future projects. what SDK do you suggest to write the code in?


Edited by hloberg, Fri Apr 7, 2017 5:05 PM.


#7 RevEng OFFLINE  

RevEng

    River Patroller

  • 4,671 posts
  • Bitnik
  • Location:Canada

Posted Fri Apr 7, 2017 8:35 PM

I'm probably the wrong guy to ask about SDK. I'm an old school Unix guy, so I stick to "vi" for text, Gimp for images, and use make files to build my 7800basic bins.

Nothing integrated like vbb exists for 7800basic presently. SpiceWare put together a Jedit file for bB which would probably work great for 7800basic programs too.

#8 hloberg OFFLINE  

hloberg

    Dragonstomper

  • Topic Starter
  • 656 posts
  • Location:in the San Antonio/Austin area? drop me a line, trying to get a retro computer club together.

Posted Sat Apr 8, 2017 9:52 AM

 It looks like jedit will do just fine. thanks for the info.



#9 RevEng OFFLINE  

RevEng

    River Patroller

  • 4,671 posts
  • Bitnik
  • Location:Canada

Posted Sat Apr 8, 2017 1:42 PM

not a problem

#10 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,829 posts

Posted Mon Apr 10, 2017 10:10 AM

Using existing supported bB functionality, no. It is possible if you're willing to work under the hood a bit.

The "easiest" way to have multiple differing kernels would probably be to start with one of the the multikernel frameworks. The multikernel frameworks are designed to work with multiple banks of the same kernel, or the same kernel plus one or more titlescreen kernels. In theory the frameworks can also use different kernels in each bank - this is trickier than it sounds, since the bB setup is only run once (for whatever kernel is in the first bank), you also need to do any setup that each unique kernel require, and you also need to remap variables that are normally in different places in different kernels. (e.g. in the standard kernel player0x is located at $80, and in the multisprite kernel player0x is located at $84) IIRC Gemintronic managed to make this work at some point.

Just a warning that using the frameworks is a bit tricky in itself, since each 4k chunk is a separately compiled program.

 

It's been a long time so my memory is vague.  I think I tried a standard kernel and multi sprite once. I could never get the screen to work properly.  Tried resetting what registers and system variables I could immediately after kernel switch with no good result.

 

I was going to try and switch between two more similar kernels but moved on to other projects.



#11 hloberg OFFLINE  

hloberg

    Dragonstomper

  • Topic Starter
  • 656 posts
  • Location:in the San Antonio/Austin area? drop me a line, trying to get a retro computer club together.

Posted Mon Apr 17, 2017 12:29 PM

was right in the manual which means I should RTFM! :grin:

http://atariage.com/...nel-frameworks/



#12 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,829 posts

Posted Tue Apr 18, 2017 2:41 PM

You may not be able to mix and match the multi-sprite kernel BUT you can have different title screen kernels.  For example: you could make a Wizardry type game where each 3D view is a separate title screen kernel.  Usually you can only have one title screen kernel per game.  The multi kernel framework allows multiple title screens because each bank is actually its own compiled game.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users