disjaukifa #1 Posted April 16, 2010 Hey Guys, I found this in a threadd yesterday: I'm a little confused as to where I should begin asking questions on Harmony and bAtari Basic, so I'm posting this here. Just got my Harmony and a 2600. My computer won't read SDHC cards, so right now I'm forced to use developer mode which I can only load in one game. I've been working on a game in bAtari Basic. 16K. I have a title screen that shows a skeleton, it makes the words "Skull Island" move back and forth and every few seconds flashes yellow (simulating lightning). On Stella it looks perfect. When I load it into Harmony it looks different. I can hit fire button and the game starts. That looks and works fine. Here is a screen shot from Stella of the title screen: .. then every few seconds the "lightning" comes in and it looks like this: On Harmony, the lightning screen seems to come out fine, but the grey screen comes out mostly black. You can't see the skeleton like I can in my screen shot. Here is the link to the thread : Harmony and Batari Basic What I want to know is how did he get that Skeleton Island test to display on the screen? I would love to know how to do that, any info on how to get text to appear at all would be highly appreciated. Thanks Disjaukifa Quote Share this post Link to post Share on other sites
rpgfaker #2 Posted April 16, 2010 Here's an idea from another post----- yuppicide, on Thu Mar 18, 2010 8:47 AM, said: I think your bitmap demo is something then never envisioned the Atari 2600 capable of. SeaGtGruff Posted Thu Mar 18, 2010 8:53 PM, said: My bitmap kernel isn't that special. The idea of combining three copies of player0 and three copies of player1 to get "one big sprite" is nothing new, and the idea of stretching that to six copies of each player by using 30 Hz flicker is also nothing new. Michael ------------------------- now if you look at what yuppicide did on the skull island titlescreen the text is top>down, so your answer is to make 2 sprites [they are 8 wide and any height and draw the text into the sprites, er player1,player0 Quote Share this post Link to post Share on other sites
disjaukifa #3 Posted April 16, 2010 Here's an idea from another post----- yuppicide, on Thu Mar 18, 2010 8:47 AM, said: I think your bitmap demo is something then never envisioned the Atari 2600 capable of. SeaGtGruff Posted Thu Mar 18, 2010 8:53 PM, said: My bitmap kernel isn't that special. The idea of combining three copies of player0 and three copies of player1 to get "one big sprite" is nothing new, and the idea of stretching that to six copies of each player by using 30 Hz flicker is also nothing new. Michael ------------------------- now if you look at what yuppicide did on the skull island titlescreen the text is top>down, so your answer is to make 2 sprites [they are 8 wide and any height and draw the text into the sprites, er player1,player0 I need a really good tutorial on doing that and a really )@)*#)(@ good explanation on flicker because I don't understand it at all . . . -Disjaukfia Quote Share this post Link to post Share on other sites
rpgfaker #4 Posted April 16, 2010 It's a lot simpler than that, here I did this for an example maybe it will help you. Just remember text is drawn upside down [because player0 and player1 are drawn upsidedown] default.bas Quote Share this post Link to post Share on other sites
yuppicide #5 Posted April 16, 2010 I didn't do mine with flicker. Just standard bB kernel. With player 0 I drew "SKULL" and with player 1 I drew "ISLAND". Since they can be any height, but only 8 wide. You could make a wider text by moving both sprites exactly next to each other and drawing half of your text in p0 and half in p1. There's another post here regarding that.. someone made a program and I updated it to make a gun crosshair by using two sprites together. Anything else in my title screen was drawn with the playfield. When you hit the select button I made it change the words to say LEVEL BEG, LEVEL INT, LEVEL ADV, or LEVEL EXP by changing the graphics for player 0 and player 1. I also have secrets in there that changes the text to say hi to some people and thanks to others. Quote Share this post Link to post Share on other sites
disjaukifa #6 Posted April 16, 2010 It's a lot simpler than that, here I did this for an example maybe it will help you. Just remember text is drawn upside down [because player0 and player1 are drawn upsidedown] default.bas Dude thank you so much!!! That is exactly what I was looking for!!! You da man!!! -Disjaukifa Quote Share this post Link to post Share on other sites
yuppicide #7 Posted April 16, 2010 If you use Visual bAtari Basic it really speeds things up. What I did for Skull Island was go to a website like Dafont and search for bitmap fonts, or pixel fonts. These fonts are typically very easy to re-draw for yourself. You can see here: http://www.dafont.com/bitmap.php In there I believe you can see a picture of every letter and number in the particular font you like. From there you can easily draw them in Visual bAtari Basic's sprite editor by keeping the website open in the background and VbB open in front, so you can draw while you look. Since I was not only drawing the words Skull and Island, I was also drawing the words Level, Beg, Int, Adv, Exp, Hi, Thanks, Done, and people's names, I needed to use some letters over and over. After drawing a few words I knew what the letters looked like, so I was able to draw without looking back at that website. I have another idea for a horizontal scrolling marquee, which I started, but didn't take it too far. I jokingly call it "Marquee Mark and The Funky Bunch". I thought this would hold me over until someone more knowledgable makes something better. Here's the basic idea I had: 1. Multisprite kernel 2. Draw all the alphabet letters, numbers, and some other characters such as space, period, exclamation point as sprites you can call with a gosub command. These will be in another bank. 3. A user setting could change the color of the text. There will also be a user setting for scroll speed and different scrolling types (straight across, wavy, etc). You would define the text you want in the marquee by using gosub commands gosub a: gosub t: gosub a: gosub r: gosub i: gosub space: gosub 1 That would spell out "atari 1" without quotes. The left and right sides of the screen would have two bars drawn with the playfield. They will be the same color as the text. In the middle is where the text will show. The text would start on the right side, hidden by that bar. It will scroll to the left and go through the left bar. Once one letter goes off the left side, a new one will start on the right side. That's the best I can explain my idea without actually doing the work. Quote Share this post Link to post Share on other sites
jrok #8 Posted April 16, 2010 I need a really good tutorial on doing that and a really )@)*#)(@ good explanation on flicker because I don't understand it at all . . . -Disjaukfia Flicker isn't really complex. It just means displaying a sprite (or other object) at two or more positions. Probably the simplest flicker can be achieved by flipping a bit and and writing a conditional statement for the sprite's x and/or y values. for instance. player0: %11111111 %11111111 %11111111 %11111111 end Loop COLUP0 = 14 if !a{0} then a{0}=1 : goto SpritePosB player0x=40 : player0y=20 : a{0}=0 : goto DrawFrame SpritePosB player0x=100 : player0y=70 DrawFrame drawscreen goto Loop So basically in the above, you are saying "When the first bit of 'a' is set to off, show the sprite here. If it's set to on, then show the sprite over here." When people talk about flicker when describing a display, they usually talk about the clarity/brightness of the sprite. When objects are flickered, they will lose some of their natural brightness, since they aren't being displayed in the same position every time the screen is drawn. Hope that helps a little. Jarod. Quote Share this post Link to post Share on other sites
yuppicide #9 Posted April 16, 2010 Good explanation there. I didn't think of the brightness. So basically in the above, you are saying "When the first bit of 'a' is set to off, show the sprite here. If it's set to on, then show the sprite over here." When people talk about flicker when describing a display, they usually talk about the clarity/brightness of the sprite. When objects are flickered, they will lose some of their natural brightness, since they aren't being displayed in the same position every time the screen is drawn. Hope that helps a little. Jarod. Quote Share this post Link to post Share on other sites
jrok #10 Posted April 16, 2010 Good explanation there. I didn't think of the brightness. So basically in the above, you are saying "When the first bit of 'a' is set to off, show the sprite here. If it's set to on, then show the sprite over here." When people talk about flicker when describing a display, they usually talk about the clarity/brightness of the sprite. When objects are flickered, they will lose some of their natural brightness, since they aren't being displayed in the same position every time the screen is drawn. Hope that helps a little. Jarod. You have to really experiment with color blending to get a decent effect going. It's always going to look a little "ghostly" though. Quote Share this post Link to post Share on other sites
jrok #11 Posted April 16, 2010 Good explanation there. I didn't think of the brightness. So basically in the above, you are saying "When the first bit of 'a' is set to off, show the sprite here. If it's set to on, then show the sprite over here." When people talk about flicker when describing a display, they usually talk about the clarity/brightness of the sprite. When objects are flickered, they will lose some of their natural brightness, since they aren't being displayed in the same position every time the screen is drawn. Hope that helps a little. Jarod. You have to really experiment with color blending to get a decent effect going. It's always going to look a little "ghostly" though. And, of course, if you are flickering an object more than once (i.e. alternating between three or more screen positions), you may also get "blinking" in addition to the color loss. I'm sure most people recall games where this was the case. "Superman" was one, if I remember correctly. Quote Share this post Link to post Share on other sites