Jump to content
Opry99er

BASIC on CART Contest (BoCC)

Recommended Posts

I don't want to step on Willsy's contest here, but I thought I would go ahead and announce this contest, since some of you are already aware of it.

 

 

This contest will start immdiately--- all entries should be posted to the "Official BASIC on CART Contest" thread which I will start as soon as someone has a game to post. Similarly to the SSGC, that dedicated thread will be ONLY for posting entries. =)

 

This should be fun... console BASIC games are big deals on other platforms, particularly VIC-20 and the like. This contest is designed to take advantage of our console BASIC and really showcase what you programmers can do... People say our BASIC is slow... it's obviously not the fastest thing ever, but I GUARANTEE we will surprise ourselves with what's actually possible.

 

 

Contest guidelines:

 

*Write a TI console BASIC game

*Game must be <=14k (for cassette loading)

*All games must run on an unexpanded /4a

*All entries due by January 14th

*You may enter as many 14k games as you wish, but only one will be considered for prizes

*Game may be either an original idea or a port of another game for another platform

 

Winning entry will be put onto cartridge!!! Winner receives (3) cartridges of his/her game and the bin files of the game.

 

Judging guidelines:

 

*Games will be judged in three categories:

-Graphics (I want pretty games) :)

-Gameplay (game MUST perform well on real hardware)

-Speed (let's prove that TI BASIC isn't molasses)

 

During the SSGC, I feel some of the programmers became dependant on CPU Overdrive mode in Classic99. For this contest, performance on real iron is going to be emphasized even more. Some games don't require a ton of speed, but some do... and if your game's performance is dependant on CPU Overdrive mode, it won't fare as well as others.

 

Any questions, comments, ideas, thoughts, insults, whatever... feel free to post here. I look forward to seeing this happen. =) Tell all your friends!

Edited by Opry99er

Share this post


Link to post
Share on other sites

Good luck with the contest Owen!

 

Coincidently, I've been thinking about the possbility to store TI-BASIC programs in a ROM module (not GROM!).

 

If I'm not mistaking TI-BASIC programs are executed from VDP memory. We could write a copy routine that copies the TI-Basic program from ROM to VDP memory,

setup scratchpad memory, workspace & registers and then jump right into the TI-Basic interpreter and run the program.

 

I think something similar has been done with TI-Basic programs stored in GROM. I can't remember the name of that module though.

Didn't further follow up on this, but now with the contest it would be worth a try ;)

 

EDIT: The programs will not run faster as normal. However, I could imagine that we would be able to start them faster. Kinda like coming back from a "suspend to disk" in windows.

Edited by retroclouds

Share this post


Link to post
Share on other sites

Yes... The TI Intern has data on this. I believe (when loaded) it writes to a high VDP address and builds downward. Paolo posted something to the list when I asked a question about this--- he specified a specific GROM address, but it makes sense that BASIC games could be in ROM and copied to VDP to be read by the TI BASIC interpreter.... It "could" work similarly to how NeverLander works... while that one copies directly to 32k, this could work for programs small enough in size to copy to VDP. =) Of course there's alot more to it than I realize, but it makes sense in theory. Somehow I always had the idea that BASIC games could run from cart...

 

In addition, BASIC games will compile with Wilhelm's compiler. =) fast fast fast.

 

 

I'm excited to see what we can do with BASIC here in this contest... I bet we all get surprised by what comes out of this contest... TI BASIC hasn't really been hit hard recently, so I'm excited to see how the talent on this list works with it. =) I'm also going to mention this contest on other computer programming forums here on Atariage... try to get some people over here to work with us

Share this post


Link to post
Share on other sites

Yes... The TI Intern has data on this. I believe (when loaded) it writes to a high VDP address and builds downward. Paolo posted something to the list when I asked a question about this--- he specified a specific GROM address, but it makes sense that BASIC games could be in ROM and copied to VDP to be read by the TI BASIC interpreter.... It "could" work similarly to how NeverLander works... while that one copies directly to 32k, this could work for programs small enough in size to copy to VDP. =) Of course there's alot more to it than I realize, but it makes sense in theory. Somehow I always had the idea that BASIC games could run from cart...

 

That's a good example Owen. Neverlander copies to RAM and we'll be copying to VDP RAM, same procedure except that we have to additionally setup scratchpad memory, CPU registers and VDP registers.

Could imagine taking a VDP memory dump using the classic99 debugger, store it in 2x 8K banks and we should be ready to roll :D

Share this post


Link to post
Share on other sites

Contest guidelines:

 

*Write a TI console BASIC game

*Game must be <=14k (for cassette loading)

*All entries due by January 14th

*You may enter as many 14k games as you wish, but only one will be considered for prizes

*Game may be either an original idea or a port of another game for another platform

Good initiative.

 

How do one measure that a game is <= 14K ?

 

:)

Share this post


Link to post
Share on other sites

Contest guidelines:

 

*Write a TI console BASIC game

*Game must be <=14k (for cassette loading)

*All entries due by January 14th

*You may enter as many 14k games as you wish, but only one will be considered for prizes

*Game may be either an original idea or a port of another game for another platform

Good initiative.

 

How do one measure that a game is <= 14K ?

 

:)

 

If you get "MEMORY FULL" you've gone too far. :)

 

An old cheat method to determine available space in BASIC is to insert this at the start of the program:

 

1 A=A+8
2 GOSUB 1

 

When the program crashes with "MEMORY FULL", print the A value. That's your available memory.

 

Adamantyr

Share this post


Link to post
Share on other sites

That's cool Adamantyr. =)

 

Anyway... 14k. Lemonade Stand ended up being like 22k. Yikes!! Could have been about half that had I taken out onscreen instructions. That was a TON of text.

Share this post


Link to post
Share on other sites

Coincidently, I've been thinking about the possbility to store TI-BASIC programs in a ROM module (not GROM!).

If I'm not mistaking TI-BASIC programs are executed from VDP memory. We could write a copy routine that copies the TI-Basic program from ROM to VDP memory, setup scratchpad memory, workspace & registers and then jump right into the TI-Basic interpreter and run the program.

 

That's a neat idea, and should work! I didn't think of that one! :)

 

I think something similar has been done with TI-Basic programs stored in GROM. I can't remember the name of that module though. Didn't further follow up on this, but now with the contest it would be worth a try ;)

 

BASIC is supposed to be able to execute from GROM modules already. I don't know the magic word to start it, but you shouldn't have to do anything else. :)

Share this post


Link to post
Share on other sites

I have some ideas about how to expand this contest and bring others in on it... If any of you are members of other computing forums, please post this link to them. VIC-20 people, Commodore people... Only thing is, I'm not sure what to offer as a prize... Perhaps a program cassette recorder? =) Would that draw other groups in on this? What would it take to get some outside interest in TI BASIC programming?

Share this post


Link to post
Share on other sites

Anyway... 14k. Lemonade Stand ended up being like 22k. Yikes!! Could have been about half that had I taken out onscreen instructions. That was a TON of text.

But Lemonade is XB. We are talking about stripped down bare bone console TI Basic with no addons. And 14K is then all about not running out of memory, right !?

 

:)

Share this post


Link to post
Share on other sites

That is correct. :) I was not aware that BASIC ran out of room at the cassette limit. Interesting. So if that is the case, then yes. :)

 

Sound good to you guys? Not too late to change it from BASIC14 to BASIC9 or something. :)

Share this post


Link to post
Share on other sites

I think leaving it wide open is good... It'll just be a full-on TI BASIC contest--- no limits, just code... More like the RGPC than the SSGC... Except instead of an open platform choice, this is restricted to TI BASIC... I like that.... No need to constrain every contest with size limitations. :). I have a very cool idea for first prize now, but I need to talk with a few people first before I announce it. :)

Share this post


Link to post
Share on other sites

Well the goal of this contest is to encourage new programming efforts. If your games have never been posted anywhere or released before, then they would qualify. But please, do feel free to start a new program as well. :) Please do submit as many games as you wish.. The goal is to increase the TI BASIC library and hopefully bring new programmers into the mix. I'm glad to know you'll be submitting some efforts. :)

 

:cool:

Share this post


Link to post
Share on other sites

Ummm... I think I'm gonna opt out of this one. With the crap game competition going on - and the fact that basic is single statement lines - way too much hassle... Think I'm gonna sit this one out.

 

Thanks - Howie

Share this post


Link to post
Share on other sites

As far as basic file size you can just save the file in classic99 and look at the file size in Windows to get a accurate file size.

 

Also the file size that stores is not the memory requirement to run the file.

for example,

10 dim a(1000)

20 end

 

Is not a very big file for storage but requires alot of space. I think it allocates a word for each a in the array.

 

So the old cheat method only returns the amount of memory left after allocating stacks. Because when you run a basic program, it first sets all the variables and then runs. So

1 A=A+8

2 GOSUB 1

10 dim a(1000)

20 end

 

Is not going to tell you how much storage space is required to store the program but how much memory is required to run it. It is very easy to make a file that needs more memory then you have available. something as simple as,

10 dim a(5000)

will cause a memory overflow but you can see needs very little space for storage. And programs that require more memory to run then storage can be loaded and then not be runnable because basic doesn't allocate memory until the program runs.

 

This will be a fun contest, I wonder if anyone has written any big TI-Basic programs lately??? You know something like Bouncing Babies, or TI-Wormy, hmmmmm..........

Share this post


Link to post
Share on other sites

Hey Howie... You might change your mind when you hear about the prize. Besides-- the whole reason for the BASIC format is to put us all back in 1981... No PBoxes, no XB.... Just a console and a tape recorder. :). It's the purest form of BASIC programming we can do.

 

@John...

 

You have had the BASIC market cornered in the last few months.. We're about to change that, sir. ;)

Share this post


Link to post
Share on other sites

Hey Howie... You might change your mind when you hear about the prize. Besides-- the whole reason for the BASIC format is to put us all back in 1981... No PBoxes, no XB.... Just a console and a tape recorder. :). It's the purest form of BASIC programming we can do.

 

Fine. Consider my mind opened. :) I like prizes. Hell, I don't know what the crap game competition prize is - if anything - but a boy always wants to be know by his kaka.

Share this post


Link to post
Share on other sites

I am interested in this comp. Just for clarification... I understand it needs to be less than 14K. However, can we still take use of CALL LOAD which would normally require the expansion? I think we should... I don't consider this taking anything away from the romance or goal of this comp.

Share this post


Link to post
Share on other sites

I am interested in this comp. Just for clarification... I understand it needs to be less than 14K. However, can we still take use of CALL LOAD which would normally require the expansion? I think we should... I don't consider this taking anything away from the romance or goal of this comp.

 

sorry bones, call load is a xb, command.

Share this post


Link to post
Share on other sites

Ummm... I think I'm gonna opt out of this one. With the crap game competition going on - and the fact that basic is single statement lines - way too much hassle... Think I'm gonna sit this one out.

 

Thanks - Howie

 

 

Single line statements, ha.... wait till you work with the limited IF-THEN statement.

Share this post


Link to post
Share on other sites

Don't get me wrong here--- BASIC is a bit painful if you are just used to XB... No SPRITEs, no multiple-statement lines, no DISPLAY AT.... It's a tight, selfish language. But damn, is it cool!!!

 

Think 1981, and you'll get into the groove. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...