Andromeda Stardust Posted November 6, 2013 Share Posted November 6, 2013 (edited) I watched a video tutorial online and piped this ROM out about an hour after installing Batari Basic. It doesn't really do much except display a crudely drawn Troll face and an impossible-to-beat high score, but it's the first time I've ever programmed/compiled a ROM before, so it was kinda magical to see something I created actually boot up in Stella! TrollFace.bin Edited November 6, 2013 by stardust4ever 3 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 6, 2013 Author Share Posted November 6, 2013 (edited) Added artists' signature. My initials "AJW" I have no clue where I'm going with this one. Maybe it would make a nice "prank" ROM. (as in make a fake Atari cart say Air raid or something and stick it in there). Next add some audio, something really obnoxious, maybe use the bass end of the noise register. TrollFace v0.01.bin Edited November 6, 2013 by stardust4ever Quote Link to comment Share on other sites More sharing options...
Crazy Climber Posted November 6, 2013 Share Posted November 6, 2013 Great idea, you could play a crude 2600 music rendition of "never gonna give you up" the ultimate rickroll 2 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted November 6, 2013 Share Posted November 6, 2013 Now you just need a player sprite.. 2 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 6, 2013 Author Share Posted November 6, 2013 (edited) Now you just need a player sprite.. troll.jpg LOL, I thought about that one! How do you increase sprite height beyond 8 pixels? Also gotta figure out how to do an animation loop. Edited November 6, 2013 by stardust4ever 2 Quote Link to comment Share on other sites More sharing options...
bennybingo Posted November 6, 2013 Share Posted November 6, 2013 I watched a video tutorial online and piped this ROM out about an hour after installing Batari Basic. It doesn't really do much except display a crudely drawn Troll face and an impossible-to-beat high score, but it's the first time I've ever programmed/compiled a ROM before, so it was kinda magical to see something I created actually boot up in Stella! TrollFace.png TrollFace.bin 30+ years later and there's still new things for the Atari... http://www.youtube.com/watch?v=p6ANfJskbmY 30+ years later and there's still new material from trololo as welll!!!! Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 7, 2013 Author Share Posted November 7, 2013 30+ years later and there's still new things for the Atari... http://www.youtube.com/watch?v=p6ANfJskbmY 30+ years later and there's still new material from trololo as welll!!!! If I was a composer, I'd make a chiptune dedicated to that song - so much classier than a Rick Roll! Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted November 7, 2013 Share Posted November 7, 2013 How do you increase sprite height beyond 8 pixels? If you are using the sprite editor in VbB, right click and select Resize. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 7, 2013 Author Share Posted November 7, 2013 (edited) If you are using the sprite editor in VbB, right click and select Resize. Okies. Do you mind if I "borrow" your sprite art? If I decide to animate him, is it possible to keep the head as a static frame and just animate the body? That would reduce the data required for storing them. Also it would be nice to flip the body and keep the head facing the last direction pushed on the joystick. If I use the above GIF animation as a visual aid, how would incorporate animation into the ROM? I'm thinking a 15Hz animation with a new key frame every four cycles. Right now I'm thinking I can use what I've got as a title screen and use the dancing trollface man as a character in game. And maybe the scoreboard starts at 999,999 and counts backwards!!! Yay! Trollface v0.02.bin Edited November 7, 2013 by stardust4ever 1 Quote Link to comment Share on other sites More sharing options...
moycon Posted November 7, 2013 Share Posted November 7, 2013 Haha Great stuff! Very cool little rom stardust4ever! I like Crazy Climber's idea. The ultimate Rickroll! Too funny. Quote Link to comment Share on other sites More sharing options...
AtariFriend Posted November 7, 2013 Share Posted November 7, 2013 (edited) gotta use airworld labels on this one for sure. Edited November 7, 2013 by AtariFriend 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted November 7, 2013 Share Posted November 7, 2013 You'd have to create a whole new sprite. There are weird ways of working around that but it'll give you nightmares. Feel free to use my Troll player0: %00001100 %00001000 %11000100 %01000100 %01011000 %10101000 %11001000 %00001010 %00101001 %01001010 %10001100 %11111000 %00001000 %00111100 %01000110 %01000010 %10111101 %11110111 %01001001 %00111110 end 1 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 8, 2013 Author Share Posted November 8, 2013 You'd have to create a whole new sprite. There are weird ways of working around that but it'll give you nightmares. Feel free to use my Troll player0: %00001100 %00001000 %11000100 %01000100 %01011000 %10101000 %11001000 %00001010 %00101001 %01001010 %10001100 %11111000 %00001000 %00111100 %01000110 %01000010 %10111101 %11110111 %01001001 %00111110 end Is the code for all the sprites upside-down? I noticed that when I was copying the sprite data into the code: the top line of the sprite is on the bottom in the code. That's weird. Shouldn't the top line of the sprite also be the first line of code since it's technically executed first? To the best of my knowledge raster displays start scanning at the top, from left to right, and work their way down one scanline at a time. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted November 8, 2013 Share Posted November 8, 2013 The data is arranged so that the batari BASIC kernel can read it fastest. It's amazing just how bare metal bB is. Most BASIC interpreters are runtime engines that parse BASIC commands as they go. bB barely translates them directly into pure assembly. Quote Link to comment Share on other sites More sharing options...
iesposta Posted November 8, 2013 Share Posted November 8, 2013 The data is arranged so that the batari BASIC kernel can read it fastest. It's amazing just how bare metal bB is. Most BASIC interpreters are runtime engines that parse BASIC commands as they go. bB barely translates them directly into pure assembly. "barely" ? "actually translates them into pure assembly." FTFY Or funnier, "batari Basic basically translates into assembly." See what I did there? The DPC+ kernel has the data right side up. The ARM wants what it wants. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted November 8, 2013 Share Posted November 8, 2013 I guess I didn't explain myself very well. I consider the levels of translation and layers of software "barely". It's not as bad as Java bytecode but not quite hand written assembly. Just trying to emphasize some of the weirdness that stardust4ever sees is because bB is VERY close to the hardware and must make the tradeoff between what makes sense to humans and what the TIA needs. Quote Link to comment Share on other sites More sharing options...
Goochman Posted November 8, 2013 Share Posted November 8, 2013 Just slap a 'CLoak and Dagger' label on it, claim it was a movie prop and sell it on eBay for big bucks! Atleast the troll face will be appropriate when the owner plugs it in 1 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 9, 2013 Author Share Posted November 9, 2013 (edited) Just slap a 'CLoak and Dagger' label on it, claim it was a movie prop and sell it on eBay for big bucks! Atleast the troll face will be appropriate when the owner plugs it in Nice one! Even funnier because anyone who's watched the actual movie, or even read the wikipedia artical about it will know that it was a 5200 cart, not 2600. Maybe this would be more appropriate, if it were baby blue colored! http://atariage.com/forums/topic/204618-air-raid-magnet-mod/ Edited November 9, 2013 by stardust4ever Quote Link to comment Share on other sites More sharing options...
+frankodragon Posted November 9, 2013 Share Posted November 9, 2013 LOL, I thought about that one! How do you increase sprite height beyond 8 pixels? Also gotta figure out how to do an animation loop. Reminds me of the devil at the game over screen of Squeeze Box. You could try that. Skip to 1:30 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted November 9, 2013 Author Share Posted November 9, 2013 Oooh, multicolor sprites! Nice! I don't know why, but I'm keeping my game monochrome for the time being (well, if I can make a game out of it, that is). It kinda goes with the whole "in your face" aesthetic. I want it to look crude even for an Atari game, I'll probably get a crude keyframe animation working (may just make a two frame animation by fliping the stick man below the head level). I can use for/next loops for timing (unless there's a more efficient way to do it) by adding one to a counter for every frame, then after X frames switch the animation sequence. But that means the draw_playfield command will have to be embedded inside the for/next loop that defines the first frame of the sprite. Then I'll have to embed another draw_playfield command inside the for/next loop that defines the second frame of the sprite. But there only needs to be one command to draw_flayfield in the main loop. That would be one helluva way to convolute the programming. Maybe a While command would be better? I could add one to the variable on every frame and the while commands could apply to a range of values. So for 8 frames, say X >= 0 >= 7 the first sprite frame would be used, "else" the second sprite would be used. 16 would reset X to zero. But won't using variables and nested loops in this manner be incredibly taxing on the Atari when it only has 128 BYTES of RAM? Even with 8-bit variables, the VCS memory would quickly get used up. Quick question: I know my game is only 4k right now; what happens when I fill that ROM space up? If I create too many variables, will it quickly use up the 128 BYTES of RAM? I know there are a lot of bankswitched games that use Batari Basic, but I'm sure it's not automatic. Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted November 9, 2013 Share Posted November 9, 2013 Quick question: I know my game is only 4k right now; what happens when I fill that ROM space up? If I create too many variables, will it quickly use up the 128 BYTES of RAM? I know there are a lot of bankswitched games that use Batari Basic, but I'm sure it's not automatic. The bB page has a table of contents on the left side and an index on the right side to help us find things as quickly as possible: randomterrain.com/atari-2600-memories-batari-basic-commands.html Here's the section on bankswitching: randomterrain.com/atari-2600-memories-batari-basic-commands.html#bankswitching When I was working on Seaweed Assault, I ran out of variables, so I had to use Superchip RAM which gave me at least 48 more variables: randomterrain.com/atari-2600-memories-batari-basic-commands.html#superchipram 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.