Jump to content



0

Multisprite kernel help


10 replies to this topic

#1 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Sun Oct 30, 2011 9:17 AM

How do I use the Multisprite Kernel? Im making a cool tool for the 2600 that shows what/when a switch is triggered. just something to do on this boring sunday afternoon.

#2 jwierer ONLINE  

jwierer

    Dragonstomper

  • 746 posts
  • Location:Seattle,WA

Posted Sun Oct 30, 2011 9:43 AM

http://www.randomter...tml#multikernel

-Jeff

#3 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Sun Oct 30, 2011 5:14 PM

Here's my header

set tv ntsc
const noscore = 1
set kernel_options pfcolors no_blank_lines
include multisprite_kernel.asm
include multisprite.h
set kernel multisprite
set romsize 4k


I used the two files, multisprite.h, and multisprite.asm and i get this error:

[root@xxx/xxxx/xxxx/xxxx]# make
2600basic.sh default.bas -O
Starting build of default.bas
2600 Basic compilation complete.
DASM V2.20.09, Macro Assembler (C)1988-2003
fs length $85
--> FineAdjustTableBegin f000				 
default.bas.asm (1199): error: EQU: Value mismatch.
old value: $ef0f  new value: $f35b
default.bas.asm (1434): error: Branch out of range (-1095 bytes).
default.bas.asm (1652): error: Branch out of range (-1046 bytes).
default.bas.asm (1906): error: Branch out of range (-1095 bytes).
default.bas.asm (1917): error: Branch out of range (-1094 bytes).
default.bas.asm (2210): error: Branch out of range (-1092 bytes).
Build complete.
\n	 >:( >:( >:( Compile of default.bas FAILED! >:( >:( >:(\n


#4 Gateway OFFLINE  

Gateway

    Stargunner

  • 1,903 posts
  • Trotter Atari Globetrotter now on Facebook!
  • Location:Missouri

Posted Tue Nov 1, 2011 1:33 AM

Take out this line:

set kernel_options pfcolors no_blank_lines


The multisprite kernal doesn't use this. It saves the playfield in ROM instead of RAM so you don't need to worry about it putting blank lines down the screen, however you are stuck with just one color for the playfield.

#5 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Tue Nov 1, 2011 5:51 AM

heres my new header:

set tv ntsc
const noscore = 1
include multisprite_kernel.asm
includes multisprite.h
set kernel multisprite
set romsize 4k

and i still get this:

[root@xxxx/xxxx/xxxx/xxxx/xx]# make
2600basic.sh default.bas -O
Starting build of default.bas
2600 Basic compilation complete.
DASM V2.20.09, Macro Assembler (C)1988-2003
fs length $85
--> FineAdjustTableBegin f000				 
default.bas.asm (1199): error: EQU: Value mismatch.
old value: $ef0f  new value: $f35b
default.bas.asm (1434): error: Branch out of range (-1095 bytes).
default.bas.asm (1652): error: Branch out of range (-1046 bytes).
default.bas.asm (1906): error: Branch out of range (-1095 bytes).
default.bas.asm (1917): error: Branch out of range (-1094 bytes).
default.bas.asm (2210): error: Branch out of range (-1092 bytes).
Build complete.
\n	 >:( >:( >:( Compile of default.bas FAILED! >:( >:( >:(\n


#6 ScumSoft OFFLINE  

ScumSoft

    Moonsweeper

  • 331 posts
  • Location:Polysorbate 60

Posted Tue Nov 1, 2011 8:28 PM

Something like this works, you don't include the .h header files like that

 includesfile multisprite_superchip.inc
 set kernel multisprite
 set tv ntsc
 set romsize 8kSC
 set smartbranching on

Edited by ScumSoft, Tue Nov 1, 2011 8:29 PM.


#7 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Tue Nov 1, 2011 8:44 PM

my new header:

const noscore = 1
includesfile multisprite.inc
set kernel multisprite
set romsize 4k
set tv ntsc
set smartbranching on

my new error:
[root@xxx/xxxxx/xx/xxxxxx/xxxx/xx]# make
2600basic.sh default.bas -O
Starting build of default.bas
2600 Basic compilation complete.
DASM V2.20.09, Macro Assembler ©1988-2003
fs length $85
bytes of ROM space left
--> cycle74_HMCLR f07d
2692 bytes of ROM space left
Unrecoverable error(s) in pass, aborting assembly!
Complete.
Build complete.
\n >:( >:( >:( Compile of default.bas FAILED! >:( >:( >:(\n

#8 RevEng ONLINE  

RevEng

    River Patroller

  • 2,011 posts
  • bit shoveler
  • Location:Canada

Posted Tue Nov 1, 2011 9:05 PM

Check out this bug report. Here's the multisprite.h with the changes...

Attached File  multisprite.h.txt   2.74K   16 downloads

Be sure to strip the .txt extension and drop it in your bB includes directory.

#9 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Tue Nov 1, 2011 9:39 PM

ok, that worked, but now my playfield graphics are all very tall, how do i fix that? do i use pfheights or whatever?

#10 Gateway OFFLINE  

Gateway

    Stargunner

  • 1,903 posts
  • Trotter Atari Globetrotter now on Facebook!
  • Location:Missouri

Posted Wed Nov 2, 2011 3:24 AM

Yes, use pfheight to force the playfield pixels to grow tall or shrink. In my project I have pfheight equal to 7, which is the middle. You can use the following for pfheight:

31, 15, 7, 3, 1, and 0. Note that using 0 is the highest resolution (shortest playfield pixels) but it doesn't work very well when sprites are moving on the screen, so you will do better to use 1 for shortest, 31 for tallest playfield pixels. With the multisprite kernel, all playfield pixels on the screen will be the same height per row because you only need to use pfheight once in your code, near the top. In my code, I have pfheight right after I have defined my playfield.

(An exception would be if you had multiple playfields to jump to in your game and each of them may have their own pfheight command. I haven't tried this, so not sure if it would work.)

Also, you can use screenheight to shrink the visible screen. This may be helpful if you have a lot going on with mini kernels and the score at the bottom. You can read more on Random Terrain's Bb pages. 8)

#11 esplonky OFFLINE  

esplonky

    Moonsweeper

  • 293 posts
  • Kinetic, Not synthetic.
  • Location:Canyon Lake, TX

Posted Wed Nov 2, 2011 6:00 AM

when i use pfheight, my screen turns 327 scanlines tall and it turns my COLUP0 color and has two vertical bars on the side and the middle is like flashing really fast.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users