+nanochess Posted February 27, 2014 Share Posted February 27, 2014 Hi everyone. After a slight pause finally I was able to implement the SCROLL and BORDER statements in IntyBASIC , also path selection for libraries using a command-line argument. Documentation was added to manual and also SCROLL.BAS to show how to use it. The libraries are slightly accelerated with DZ-Jay contributions and some parts of scrolling code were contributed by intvnut. Myself I've a hard time getting scroll upwards to work without flicker, but it now is fine. Looking forward to a test in real hardware of scroll routines. For the newcomers, IntyBASIC is an integer BASIC language cross-compiler for Intellivision that helps greatly to ease game writing. The original IntyBASIC thread is here http://atariage.com/forums/topic/221362-intybasic-compiler/ but I had to start a new one because I cannot edit further the original. Platforms supported: Wind*ws, Mac OS X (32/64 bits) and Linux. Edit: Mar/03/2014. Now added IntyBASIC v0.6 with CONST statement, also corrects a bug in FOR STEP, and added sample for MOB use in SCROLL.BAS intybasic_compiler_v0.5.zip intybasic_compiler_v0.6.zip 5 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/ Share on other sites More sharing options...
+Gemintronic Posted February 27, 2014 Share Posted February 27, 2014 Hi everyone. After a slight pause finally I was able to implement the SCROLL and BORDER statements in IntyBASIC , also path selection for libraries using a command-line argument. Documentation was added to manual and also SCROLL.BAS to show how to use it. The libraries are slightly accelerated with DZ-Jay contributions and some parts of scrolling code were contributed by intvnut. Myself I've a hard time getting scroll upwards to work without flicker, but it now is fine. Looking forward to a test in real hardware of scroll routines. For the newcomers, IntyBASIC is an integer BASIC language cross-compiler for Intellivision that helps greatly to ease game writing. The original IntyBASIC thread is here http://atariage.com/forums/topic/221362-intybasic-compiler/ but I had to start a new one because I cannot edit further the original. Platforms supported: Wind*ws, Mac OS X (32/64 bits) and Linux. That's kinda strange since you're a subscriber. I think it's time someone suggested a sub-section for IntyBASIC just like batariBASIC. 2 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2937525 Share on other sites More sharing options...
+nanochess Posted February 27, 2014 Author Share Posted February 27, 2014 That's kinda strange since you're a subscriber. I think it's time someone suggested a sub-section for IntyBASIC just like batariBASIC. I think it's only editable for a month... Yep, you're right. A subsection for IntyBASIC looks like something useful for future homebrews Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2937529 Share on other sites More sharing options...
retroillucid Posted February 27, 2014 Share Posted February 27, 2014 Excellent! Thanks alot for your contribution! 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2937719 Share on other sites More sharing options...
Jess Ragan Posted February 27, 2014 Share Posted February 27, 2014 Man, I really need to make some software with this thing! Arrgh! Keep on keepin' on, Nanochess. You're making some great progress with IntyBASIC and I can't wait to see the games that will result from it. (Just wish there were better emulators for those games...) 2 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2937749 Share on other sites More sharing options...
Rev Posted February 28, 2014 Share Posted February 28, 2014 2 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2937923 Share on other sites More sharing options...
Rev Posted February 28, 2014 Share Posted February 28, 2014 http://intellivisionrevolution.com/intybasic Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938475 Share on other sites More sharing options...
retroillucid Posted February 28, 2014 Share Posted February 28, 2014 Now, I just need to find (take?) the time to make Smurf Rescue for Intellivision I'm also interested to make Tarzan and Montezuma's Revenge as well 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938647 Share on other sites More sharing options...
Rev Posted February 28, 2014 Share Posted February 28, 2014 Do it! Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938655 Share on other sites More sharing options...
+cmart604 Posted March 1, 2014 Share Posted March 1, 2014 Now, I just need to find (take?) the time to make Smurf Rescue for Intellivision I'm also interested to make Tarzan and Montezuma's Revenge as well Sweet! Do them all! I might be able to help finance those as I'd love to see all the Coleco vapourware for Inty games get made just like you've been doing on the CV 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938674 Share on other sites More sharing options...
+5-11under Posted March 1, 2014 Share Posted March 1, 2014 Nano, is there a way to make a constant such as... PI = 3 DOWNSCROLL = 4 ... where the compiler would replace the values for you (and not use RAM, of course)? 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938687 Share on other sites More sharing options...
Rick Reynolds Posted March 1, 2014 Share Posted March 1, 2014 Wow. I'm really impressed with what this compiler is enabling people to do. Any reservation I expressed in Intellivisionaries episode 6 is hereby retracted! I've seen Basic projects in the past that were lack-luster, so I didn't give this project much thought or investigation when it came out. But now that I have looked at it a bit it is truly impressive. Well done! 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938761 Share on other sites More sharing options...
+nanochess Posted March 1, 2014 Author Share Posted March 1, 2014 Nano, is there a way to make a constant such as... PI = 3 DOWNSCROLL = 4 ... where the compiler would replace the values for you (and not use RAM, of course)? Your suggestion is excellent! I'll put it in IntyBASIC v0.6 2 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938803 Share on other sites More sharing options...
catsfolly Posted March 1, 2014 Share Posted March 1, 2014 5-11under, on 01 Mar 2014 - 09:44 AM, said: Nano, is there a way to make a constant such as... PI = 3 DOWNSCROLL = 4 ... where the compiler would replace the values for you (and not use RAM, of course)? Your suggestion is excellent! I'll put it in IntyBASIC v0.6 I second this request. My IntyBasic programs are full of "magic numbers" now. It would be much clearer if I could write "y + XFLIP" instead of "y + $400". Catsfolly 2 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2938951 Share on other sites More sharing options...
GroovyBee Posted March 1, 2014 Share Posted March 1, 2014 Its coming along nicely but you can claw back 23 16bit RAM words. ORG $327,$327,"-RWB" ; ; 16-bits variables ; _scroll_buffer: RMB 20 ; Not used sometimes So this RAM block (where all the 16bit variables reside) tarts at $327 but the stack finishes 23 locations earlier :- SYSTEM: ORG $2F0, $2F0, "-RWBN" STACK: RMB 32 This code sequence could be optimised a bit more too :- CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 To :- CLRR R0 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2939153 Share on other sites More sharing options...
+nanochess Posted March 1, 2014 Author Share Posted March 1, 2014 Its coming along nicely but you can claw back 23 16bit RAM words. ORG $327,$327,"-RWB" ; ; 16-bits variables ; _scroll_buffer: RMB 20 ; Not used sometimes So this RAM block (where all the 16bit variables reside) tarts at $327 but the stack finishes 23 locations earlier :- SYSTEM: ORG $2F0, $2F0, "-RWBN" STACK: RMB 32 This code sequence could be optimised a bit more too :- CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 CLRR R0 MVO@ R0,R5 MVO@ R0,R5 To :- CLRR R0 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 MVO@ R0,R5 Thanks Mark. The current IntyBASIC architecture puts the 16-bits variables just after the stack, so them grow from $0310 to upper locations. Giving a little less than 23 16-bits variables with scroll and 20 more when not using scroll (the scroll library is only included if SCROLL statement is used) On the other side, I've read in Intellivision docs that one should avoid more than two adjacent instructions that aren't interruptible. MVO is not interruptible. 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2939169 Share on other sites More sharing options...
GroovyBee Posted March 1, 2014 Share Posted March 1, 2014 Thanks Mark. The current IntyBASIC architecture puts the 16-bits variables just after the stack, so them grow from $0310 to upper locations. Sounds like a good plan. Giving a little less than 23 16-bits variables with scroll and 20 more when not using scroll (the scroll library is only included if SCROLL statement is used) You can claw some more back as long as you aren't using the stack much. On the other side, I've read in Intellivision docs that one should avoid more than two adjacent instructions that aren't interruptible. MVO is not interruptible. But the code is in the ISR so nothing else can interrupt you and you are in VBLANK time so there will be no visual artefacts . 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2939171 Share on other sites More sharing options...
+DZ-Jay Posted March 1, 2014 Share Posted March 1, 2014 Also, it looks like your ISR is setting up the video display mode and color stack on every VBLANK. You may be able to get away with setting the video mode on initialization, and updating the color stack only when requested, e.g., perhaps offering a command to set the stack colors. -dZ. 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2939235 Share on other sites More sharing options...
catsfolly Posted March 3, 2014 Share Posted March 3, 2014 So, I threw out the balloons and the stretcher (trampoline?) carriers, added in some platforms, and viola, a jumping game (or the beginnings of one, anyway...) (Someday I've got learn how to make those "click to animate" things...) Catsfolly 5 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940510 Share on other sites More sharing options...
+cmart604 Posted March 3, 2014 Share Posted March 3, 2014 Gah! Don't throw them out, make them both part of a multi game pack like Paddle Party. 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940535 Share on other sites More sharing options...
+nanochess Posted March 3, 2014 Author Share Posted March 3, 2014 So, I threw out the balloons and the stretcher (trampoline?) carriers, added in some platforms, and viola, a jumping game (or the beginnings of one, anyway...) jump1.gif (Someday I've got learn how to make those "click to animate" things...) Catsfolly Wow! it looks great! 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940554 Share on other sites More sharing options...
RevEng Posted March 3, 2014 Share Posted March 3, 2014 Great work, catsfolly! If you make those platforms disappear after hitting them and add in some moving targets, you will pretty much have Winter Bells. There was an excellent demake of Winter Bells for the 2600 called bell hopper, by Tjoppen. It would be cool to see an Inty version. 1 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940589 Share on other sites More sharing options...
+DZ-Jay Posted March 4, 2014 Share Posted March 4, 2014 So, I threw out the balloons and the stretcher (trampoline?) carriers, added in some platforms, and viola, a jumping game (or the beginnings of one, anyway...) jump1.gif Doodle Jump!! Cool! (Someday I've got learn how to make those "click to animate" things...) It's nothing really. When you post an animated GIF image in AA, it will display a preview frame in the thread; you'll have to click it to open the image viewer to play the animation. That's the standard behaviour, even with your own post. What we do is just type the magic words " Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940822 Share on other sites More sharing options...
Rev Posted March 4, 2014 Share Posted March 4, 2014 (edited) So, I threw out the balloons and the stretcher (trampoline?) carriers, added in some platforms, and viola, a jumping game (or the beginnings of one, anyway...) jump1.gif (Someday I've got learn how to make those "click to animate" things...) Catsfolly The platforming jumping reminds me of this section in Super Metroid for some reason. You have to jump up on these little platforms while making your way to the top (or bottom). Edited March 4, 2014 by revolutionika Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940850 Share on other sites More sharing options...
+nanochess Posted March 4, 2014 Author Share Posted March 4, 2014 Well, just updated to IntyBASIC v0.6 with CONST statement support. It can be used this way: CONST my_constant = $1234 CONST other_constant = 3*7/2 A = my_constant B = other_constant CONST should be declared before being used, otherwise IntyBASIC will take reference as non-defined variable. Besides I've solved a bug in FOR STEP that happened if the TO value wasn't exact, like FOR A=1 TO 11 STEP 3 Finally I've added an example of MOB offset correction when using with SCROLL, check SCROLL.BAS example 3 Quote Link to comment https://forums.atariage.com/topic/222570-intybasic-compiler-v05/#findComment-2940854 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.