+atari2600land Posted February 4, 2016 Share Posted February 4, 2016 It had been a long time since I had programmed anything. I see the last I programmed anything was December 5. So I decided to program something. But what? I thought of an old game I had made for the Atari 2600 called I Like Bacon about a guy going around getting bacon randomly placed. I figured this would be good to do. So here is what I have so far: A temporary guy sprite going up and down on an elevator. Right now he's on the right elevator but I programmed it so he can go on the left one if you place him there. There are no controls yet. Just this. bacon1.bin Quote Link to comment Share on other sites More sharing options...
BassGuitari Posted February 7, 2016 Share Posted February 7, 2016 For a second I thought the Odyssey forum was being taken over by Intellivision people. 1 Quote Link to comment Share on other sites More sharing options...
+cmart604 Posted February 7, 2016 Share Posted February 7, 2016 Whoa. You're considering making a bacon based game for a non Inty system? That almost seems like sacrilege. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 13, 2016 Author Share Posted February 13, 2016 (edited) I changed it so the elevator only moves up and down if you are on it. (This means you can move the guy now.) But now you can't fall down into the hole any more since the elevator will be there. I also changed the elevator from sprites to characters so now I have 3 sprites left. I'm thinking about making bacon strips a pink equals sign, but I'm not sure what to do yet. bacon5ab.bin Edited February 13, 2016 by atari2600land Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 13, 2016 Author Share Posted February 13, 2016 (edited) You can now choose what direction you want to go once you get on the elevator: up or down. EDIT: fixed bug bacon7.bin Edited February 13, 2016 by atari2600land Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 13, 2016 Author Share Posted February 13, 2016 I redesigned the guy. I'm in the middle of it, but am done with his looks. Here is how he looks now: Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 14, 2016 Author Share Posted February 14, 2016 Added bacon. Yum. It shows up in the same place every time. At least I know why though and can change it. bacon9.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 23, 2016 Author Share Posted February 23, 2016 There. I got the pig in. It just stands still at this point though. Works fine on real hardware. bacon10a.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 24, 2016 Author Share Posted February 24, 2016 The pig now jumps randomly to different places at different intervals. This only works on real hardware and not O2EM. bacon12a.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 28, 2016 Author Share Posted February 28, 2016 Added a death by pig touch and score. Again, the game doesn't work properly on O2EM, but it works fine on real hardware. I had to change the look of the game a little. Here is what the game looks like now. bacon13b.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted February 28, 2016 Author Share Posted February 28, 2016 It took me all night but I finally put in a high score function. bacon15aabb.bin 1 Quote Link to comment Share on other sites More sharing options...
SSG Posted March 7, 2016 Share Posted March 7, 2016 It took me all night but I finally put in a high score function. Teach me your ways...... Quote Link to comment Share on other sites More sharing options...
carlsson Posted March 8, 2016 Share Posted March 8, 2016 Yes, how does your working high score code compare/differ to the untested, futile attempt I made a year ago? Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted March 9, 2016 Author Share Posted March 9, 2016 Well, first off, I used four characters of 2 quads rather than three characters. I think that helped a lot. If you download the code in this zip file, you can see the code in action beginning on line 1,128. I also did a minor update too. Someone posted a good pig picture so I put it in. As for where the code came from, it was on a now-gone webpage, so I am lucky enough to have spotted it before the page died. bacon20160309.zip 1 Quote Link to comment Share on other sites More sharing options...
carlsson Posted March 9, 2016 Share Posted March 9, 2016 Yeah, it looks like you're using binary coded decimal (BCD). The routine to update the highscore seems to be the same one you posted a year ago. I still think if you reverse the two checks, so you compare most significant BCD first, you will save one test case. Can't you use the JC instruction to branch in the case R0 (current score) > A (highscore)? check_highscore mov r1,#highscore_h mov a,@r1 ; get highscore high byte cpl a ; make highscore negative mov r0,#score_h add a,@r0 ; subtract highscore from score jc replace_highscore ; if score > highscore jnz no_highscore ; if score < highscore mov r1,#highscore_l ; check lower byte in case the high byte was equal mov a,@r1 ; get highscore low byte cpl a ; make highscore negative mov r0,#score_l add a,@r0 ; subtract highscore from score jnc no_highscore ; if score <= highscore replace_highscore [.. as before ..] no_highscore jmp start Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted March 10, 2016 Author Share Posted March 10, 2016 Now Voice-enhanced! bacon18.bin Quote Link to comment Share on other sites More sharing options...
SSG Posted March 11, 2016 Share Posted March 11, 2016 What assembly language do I need to be learning to do anything like this? Quote Link to comment Share on other sites More sharing options...
carlsson Posted March 11, 2016 Share Posted March 11, 2016 The Odyssey^2 has an Intel 8048 MCU. Here is a brief instruction set, which by no means is supposed to be a course but a reference. http://atarihq.com/danb/files/8048.txt The site itself has some further information, which might get you started: http://atarihq.com/danb/o2.shtml Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted March 11, 2016 Author Share Posted March 11, 2016 Changed the things the Voice says. bacon19.bin Quote Link to comment Share on other sites More sharing options...
SSG Posted March 11, 2016 Share Posted March 11, 2016 The Odyssey^2 has an Intel 8048 MCU. Here is a brief instruction set, which by no means is supposed to be a course but a reference. http://atarihq.com/danb/files/8048.txt The site itself has some further information, which might get you started: http://atarihq.com/danb/o2.shtml Thanks Carlsson Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted April 2, 2016 Author Share Posted April 2, 2016 Returned to work on this. Changed some stuff around and added a timer. bacon22a.bin Quote Link to comment Share on other sites More sharing options...
timdu Posted April 2, 2016 Share Posted April 2, 2016 Instead of a timer in the game, could you make it so that there is a pig on each floor.... a pig on floor 2, floor 3, and floor 4? Are you out of sprites? It would sort of be similar to the fireballs in the second level of the Atari 2600 version of DONKEY KONG... Just an idea, Tim 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.