+atari2600land Posted August 17, 2016 Share Posted August 17, 2016 This game will be like Chip's Challenge for the Lynx, only replace Chip with the Celery and replace the chips with, well, I haven't thought of it yet. And there will be enemies as well. Since IntyColor no longer gives out warnings about using three colors in an 8x8 square, I had to spend about an hour or so perfecting it until the title screen didn't go wacko and display odd stuff. This is all I have so far. 5 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 17, 2016 Author Share Posted August 17, 2016 I am working on level 1 and am already failing. The problem is sometimes the celery gets trapped in the walls (see pic), but most of the time he doesn't. I need a better wall collision code. Anyone have one? celery20160817.zip Quote Link to comment Share on other sites More sharing options...
+nanochess Posted August 18, 2016 Share Posted August 18, 2016 I made a pass over the collision logic, remove the 4 collision detection after the WAIT in the main loop, and replace the controller movement with this: IF dir=0 AND CONT1.UP THEN #card = #backtab((CELERYY - 8 - / 8 * 20 + (CELERYX - / AND $0FF8 IF #card = 274 * 8 OR #card = 278 * 8 THEN CELERYY=CELERYY-8: DIR=5 END IF IF dir=0 AND CONT1.DOWN THEN #card = #backtab((CELERYY - 8 + / 8 * 20 + (CELERYX - / AND $0FF8 IF #card = 274 * 8 OR #card = 278 * 8 THEN CELERYY=CELERYY+8: DIR=5 END IF IF dir=0 AND CONT1.LEFT THEN #card = #backtab((CELERYY - / 8 * 20 + (CELERYX - 8 - / AND $0FF8 IF #card = 274 * 8 OR #card = 278 * 8 THEN CELERYX=CELERYX-8: DIR=5 END IF IF dir=0 AND CONT1.RIGHT THEN #card = #backtab((CELERYY - / 8 * 20 + (CELERYX - 8 + / AND $0FF8 IF #card = 274 * 8 OR #card = 278 * 8 THEN CELERYX=CELERYX+8: DIR=5 END IF wait Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 18, 2016 Author Share Posted August 18, 2016 Thank you a whole bunch! I knew there had to be some way to do what I wanted it to do, but didn't know it. This is excellent! The game is back on! celery20160818.zip 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 19, 2016 Author Share Posted August 19, 2016 Added sfx, music, and a new level. Pretty soon, I'm going to need an example of bankswitching! celery.bin 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted August 19, 2016 Share Posted August 19, 2016 Added sfx, music, and a new level. Pretty soon, I'm going to need an example of bankswitching! If you're going to release a .bin file it's better to zip it together with the .cfg file (it contains useful info for emulators), or otherwise release the .rom file (contains both files) Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 19, 2016 Author Share Posted August 19, 2016 OK, here is a zip file. celery20160819.zip Quote Link to comment Share on other sites More sharing options...
Kiwi Posted August 19, 2016 Share Posted August 19, 2016 (edited) It's not really bankswitching. It is assigning data to a segment. IntyBASIC automatically map the boot up data to $5000. You can insert asm org $d000 in your code. Any code after that will be assigned to $d000 segment. And asm org $f000 is the last segment if you want to make a 16 KiloWord game. All of that is accessible by the CPU. It can see $0000-$FFFF 16-bit format like Atari 2600 can only see $0000-$0FFF in 8-bit format. It'll show that the ROM is 32 KB when all the segment is completely filled. You can make a 42 Kiloword(84KB) game by following the cart.mac format. http://wiki.intellivision.us/index.php?title=Cart.mac intvnut have a very descriptive port how Mattel style bankswitching works, http://atariage.com/forums/topic/254097-intybasic-support-for-rom-region-swapping/ I haven't tried it yet. I will refer to this once I need to use bankswitching or in a mood to experiment. And for the game itself, I played it and like the idea of it. I watched all the Celery Show that you made for the 2600 and liked them. Keep working on Celery Edited August 19, 2016 by Kiwi Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 19, 2016 Author Share Posted August 19, 2016 Thanks for the info, Kiwi. I've added a new level, level 3. I tried to make it harder than the first two. celery20160819v2.zip Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 19, 2016 Author Share Posted August 19, 2016 I think I fixed a bug pertaining to death and made the levels look better. I made a website for the game which you can view to get the latest binary files. You can look at it here: http://www.atari2600land.com/celeryintv/ 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted August 20, 2016 Share Posted August 20, 2016 If you're going to release a .bin file it's better to zip it together with the .cfg file (it contains useful info for emulators), or otherwise release the .rom file (contains both files) A note on this, the ROM format is the newer one intended to replace the BIN+CFG format. It combines both files. As far as I know, all emulators (with the exception of the very early ones used by Intellivision Productions, Inc.) support the newer ROM format, so there shouldn't be any reason to distribute BIN+CFG files for home-brews any more. By default, the assembler generates both formats, but you can tell it in a command-line option to only generate ROM. This is what the IntyBASIC SDK build tools do. Happy coding! dZ. Quote Link to comment Share on other sites More sharing options...
timdu Posted August 20, 2016 Share Posted August 20, 2016 I downloaded CELERY for Intellivision and have been playing it with the jzINTV emulator this morning. Very nice! I have some small suggestions: 1. I like the musical tune that plays at the intro screen. Could this be an option to play the tune while you are playing the game, sort of in the background? ( so the player could turn it on or off if they wanted to ) I like the tune... it is growing on me. I also like the little ditty that plays when you complete a level. 2. On level one (yellow), there are 2 peas to save. Can you make it so that on level one, there is one pea to save... on level 2 there are 2 peas to save, on level 3 there are 3 peas to save, on level 4 there are 4 peas to save, etc. I think that would be cool. 3. I have only gotten to level 3 in my testing so far. Level one's room (yellow) looks good, level two's room (blue) looks good, but level three's room (orange) blends in too much with the vegetarians ( since they are orange) Maybe it may be a good idea to avoid using this color and use different colors from the 16 in the Intellivision's color pallete. Keep up the good work! Tim Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 20, 2016 Author Share Posted August 20, 2016 I downloaded CELERY for Intellivision and have been playing it with the jzINTV emulator this morning. Very nice! I have some small suggestions: 1. I like the musical tune that plays at the intro screen. Could this be an option to play the tune while you are playing the game, sort of in the background? ( so the player could turn it on or off if they wanted to ) I like the tune... it is growing on me. I also like the little ditty that plays when you complete a level. 2. On level one (yellow), there are 2 peas to save. Can you make it so that on level one, there is one pea to save... on level 2 there are 2 peas to save, on level 3 there are 3 peas to save, on level 4 there are 4 peas to save, etc. I think that would be cool. 3. I have only gotten to level 3 in my testing so far. Level one's room (yellow) looks good, level two's room (blue) looks good, but level three's room (orange) blends in too much with the vegetarians ( since they are orange) Maybe it may be a good idea to avoid using this color and use different colors from the 16 in the Intellivision's color pallete. Keep up the good work! Tim 1. I think the tune is too short to have repeated while playing the game, so that is why it's not playing. 2. The peas are actually sprites, and the maximum number of sprites I can have on screen is 8, so, no, this is not an option. 3. I'm not sure, but I think I only have the first 8 colors to choose from, not all 16. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted August 20, 2016 Share Posted August 20, 2016 If your background color is one from 0-7 you could invert pixels and use the foreground color as background Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 20, 2016 Author Share Posted August 20, 2016 If we're supposed to be making .rom files, then the manual should be updated to tell us how to make them. Right now all it tells is how to make .bin files. That's why I have been making .bin files, because I don't know how to make .rom files. Quote Link to comment Share on other sites More sharing options...
Kiwi Posted August 21, 2016 Share Posted August 21, 2016 (edited) There's a utility that came with jzintv emulator called, "bin2rom.exe". It is located in the bin folder. You can drag the .bin file on to the bin2rom.exe icon and it'll generate the ROM file from the .bin and .cfg it find. Edited August 21, 2016 by Kiwi Quote Link to comment Share on other sites More sharing options...
+nanochess Posted August 21, 2016 Share Posted August 21, 2016 Just invoke the as1600 assembler with no extension for the output file and it will generate bin+cfg and rom files at same time. 3 Quote Link to comment Share on other sites More sharing options...
carlsson Posted August 21, 2016 Share Posted August 21, 2016 Cool to know! Up until a few minutes ago, I thought that BIN and ROM were equal files. Now I know they're not. 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 22, 2016 Author Share Posted August 22, 2016 OK, thanks for letting me know. I will be making .rom files starting now. I worked on the game a little today, just graphic improvements or changes. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 22, 2016 Author Share Posted August 22, 2016 I have a question about the extra space ($D000-$DFFF). Would I have to set a whole new engine up in this area, or can I use $D000-$DFFF just to store mazes and easily call them up when I need to? Say, only go to $D000 to get new maze data and then go back to my original engine. I worked a little bit on the game, I added a new maze. I altered level 5, the game starts here so you don't have to play through the whole game just to see what I changed. The game now has 6 mazes, yet is 12.5k. So you can see why I would need extra room for new mazes. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted August 22, 2016 Share Posted August 22, 2016 Yes. Just put ASM ORG $D000 in a line and start putting maps there. Check the generated cfg file to see how everything fits. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 22, 2016 Author Share Posted August 22, 2016 (edited) EDIT: Never mind, I experimented with the $D000 code and I got it working. Edited August 22, 2016 by atari2600land 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted August 23, 2016 Author Share Posted August 23, 2016 I improved the music and made a few other changes. I also made a mockup of an end label. What do you think? 1 Quote Link to comment Share on other sites More sharing options...
+cmart604 Posted August 23, 2016 Share Posted August 23, 2016 I like the idea of the dual green label, but I'm wondering if "50 FT CELERY" might look better given how small the space is on the carts. My $0.02 1 Quote Link to comment Share on other sites More sharing options...
intvnut Posted August 23, 2016 Share Posted August 23, 2016 A note on this, the ROM format is the newer one intended to replace the BIN+CFG format. It combines both files. Yes and no. The .ROM format is the Intellicart / CC3 format. For games with a straightforward memory map, it's sufficient. It has several technical limitations: No support for Mattel-style page flipping. Games like World Series Major League Baseball, for example, cannot be represented in .ROM format without modifying the game to use Intellicart bankswitching. 2K word address map granularity, with 256-word "fine-address" boundaries within each 2K word span. Hard limit at 64K words. No support for patching via '[macro]' statements No support for config variables, such as 'voice = 1' to instruct emulators to turn on Intellivoice. On the plus side, .ROM does specify a memory map and basic memory permission information (read/write/bankswitch/narrow); it's limited to the 2K granularity though. It also has some basic CRC checking built in, to detect corrupted files. At one point, jzIntv switched to only supporting .ROM format. Even AS1600 only really supported .ROM at one point, and only generated .BIN via a "rom2bin" conversion internally, effectively. That limited the assembler output to what was representable as .ROM, including the address map granularity. Eventually, I added BIN+CFG back to jzIntv because it's ultimately more flexible, and I needed it in order to support playing all games. WSMLB, Go For the Gold, etc. (That was many, many years ago now; pre-2006, at least.) Also, there's cases (admittedly baroque) where you want to be able to assemble stuff with finer granularity than .ROM offered. And, the assembler now supports Mattel-style page flipping, which raises the maximum theoretic ROM size to something like 768K words. All that said, for most users, .ROM saves a lot of hassles. It's a reasonable default, especially in the context of IntyBASIC SDK. You can always switch to .BIN+CFG later if/when your needs change. 1 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.