Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 21:20 20 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Source Code Archive for CMM2?

     Page 1 of 3    
Author Message
William Leue
Guru

Joined: 03/07/2020
Location: United States
Posts: 381
Posted: 02:35pm 21 Jul 2020
Copy link to clipboard 
Print this post

I see a few short BASIC programs posted here from time to time, but it would be really handy to have a comprehensive archive site for CMM2 (and other Maximite models) for freeware BASIC source code.

Does anyone know if such an archive already exists? Maybe GITHUB?

I have some code I would like to contribute to an archive.

-Bill Leue
 
mkopack73
Senior Member

Joined: 03/07/2020
Location: United States
Posts: 261
Posted: 02:52pm 21 Jul 2020
Copy link to clipboard 
Print this post

There's fruitoftheshed - http://www.fruitoftheshed.com/MMBasic.Default.aspx

But personally I've been keeping everything I work on on my GitHub page (as much for my own safekeeping and version control) but anyone is free to hit it and do anything they want with it... I try to comment my code pretty well to make it understandable.  Granted I've only just gotten started so my tests are FAR from as impressive as some of the stuff others here have produced...    http://githhub.com/mkopack73/cmm_tests
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3833
Posted: 03:44pm 21 Jul 2020
Copy link to clipboard 
Print this post

Hi Bill,

I think the "Fruit Of The Shed" is intended to serve as that archive, but I'm not sure what "versioning" support it has; my understanding is that Wiki's generally version their pages, but not any attachments to them.

I'm also uncertain as to who the "Administrator" is, it may be "CaptainBoing" or he may simply be the most ardent contributor. Either way he is likely to be the best person to offer guidance on the existing facilities/workflow.

I'm not convinced that github (or the like) will serve if there are multiple contributors and no controller/archivist, it sounds like a recipe for anarchy, but then again up until now I've never been a contributor to "open-source". Also, no offence intended to them, but some of the grey-beards with hardware rather than software backgrounds might initially struggle ... more likely there will just be some good natured complaining about "young people"

Personally I am using github to manage my own projects, only one of which is currently "public": https://github.com/thwill1000/zmim

Regards,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
jeff510
Newbie

Joined: 19/07/2020
Location: United States
Posts: 13
Posted: 04:19pm 21 Jul 2020
Copy link to clipboard 
Print this post

I work with kids and teens, and I'm trying to develop curriculum around CMM2 for my students.  I've really enjoyed working with small groups around my vintage Atari 800, but I'm looking for something I could feasibly use in a small class environment, giving each student a device.

I tried to make use of fruitoftheshed, but I found that most of the examples had errors.  There's a tag system, but not much organization beyond that.

It would be nice if all of the major examples in the user manual were reproduced.  More than anything, I think this project needs smaller, more focused code snippets that show how to do a single thing using best practices.

Here's the examples page for P5.js: https://p5js.org/examples/

P5.js is an educational project (a web canvasing framework) that's become very popular with educators and digital artists. I think it's a great model for thinking about ways this project could expand its reach.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3833
Posted: 04:30pm 21 Jul 2020
Copy link to clipboard 
Print this post

I don't disagree Jeff it just needs someone or some group to have the time and will to organise and clean-up Fruit of the Shed. Since the community appears to be gathering strength then it is possible someone will step forward.

Regarding the examples with "errors", it's likely they were developed on previous generations of 'mites as whilst the core of MMBasic itself is mostly stable there are variations in graphics capabilities and some of the more esoteric commands/functions of the various devices.

Regards,

Tom
Edited 2020-07-22 02:31 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
jeff510
Newbie

Joined: 19/07/2020
Location: United States
Posts: 13
Posted: 05:25pm 21 Jul 2020
Copy link to clipboard 
Print this post

Awesome.  I'm happy to step up and make simple example scripts.  Stuff like directional movement of sprites with the arrow keys, a single example that shows all of the graphic shapes, text animations.  It would be great to include some of the classic turtle scripts, like the triangle web and the square spiral.

If I put together a set of simple trivial examples of that type, would that be useful?  That's what I'm currently doing for my students.

Maybe we could also note 'mite version compatibility? I'd be happy to go through them all with the CMM2.
 
MauroXavier
Guru

Joined: 06/03/2016
Location: Brazil
Posts: 303
Posted: 05:51pm 21 Jul 2020
Copy link to clipboard 
Print this post

My 2 cents:
https://github.com/mauroxavierneto
 
mkopack73
Senior Member

Joined: 03/07/2020
Location: United States
Posts: 261
Posted: 06:06pm 21 Jul 2020
Copy link to clipboard 
Print this post

Yeah I have to say that’s one of my (minor) gripes about this site and the fruit of the shed - it would be noce if there were separate sections for each model Mite and then one for generic MMBAsic stuff.  Currently it’s all mixed together and you have to figure out if it pertains to your device or not.

I would love to help out on a “newbie to CMm2” guide and set of examples.

As I suggested elsewhere, if there is a set of unit tests that are used to check each new cmm2 firmware/MMBAsic version against those tests could be VERY helpful to newbies trying to understand how to use a command. If such tests don’t exist then it might be a good idea for us as a community to come up with them.
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 08:38pm 21 Jul 2020
Copy link to clipboard 
Print this post

New Namespace for the CMM2 has been created. Fill your boots!
 
capsikin
Guru

Joined: 30/06/2020
Location: Australia
Posts: 341
Posted: 02:30am 22 Jul 2020
Copy link to clipboard 
Print this post

  mkopack73 said  There's fruitoftheshed - http://www.fruitoftheshed.com/MMBasic.Default.aspx

But personally I've been keeping everything I work on on my GitHub page (as much for my own safekeeping and version control) but anyone is free to hit it and do anything they want with it... I try to comment my code pretty well to make it understandable.  Granted I've only just gotten started so my tests are FAR from as impressive as some of the stuff others here have produced...    http://githhub.com/mkopack73/cmm_tests


That address typo leads to a spam page, but I did like the examples when you posted the link before, it might have been https://github.com/mkopack73/cmm2_tests

Good to see the nunchuk and classic controller test programs, and I'll probably have a look at the others too.

Small programs may be less impressive but they're also easier to read.

  jeff510 said  Awesome.  I'm happy to step up and make simple example scripts.  Stuff like directional movement of sprites with the arrow keys, a single example that shows all of the graphic shapes, text animations.  It would be great to include some of the classic turtle scripts, like the triangle web and the square spiral.

If I put together a set of simple trivial examples of that type, would that be useful?  That's what I'm currently doing for my students.

That would be useful, yes. I'm particularly interested in stuff that's useful for games, so the directional movement of sprites with arrow keys. And I remember when I was getting into programming initially, I liked learning with examples of drawing things on the screen.

It would also be useful to gather together some examples using different types of games control devices - e.g. keyboard, classic controller dpad, maybe classic controller joystick, nunchuk.

And different types of movement control, e.g. simple 4 directional, or the gravity based system like you used in flappy bird.
Edited 2020-07-22 12:35 by capsikin
 
mkopack73
Senior Member

Joined: 03/07/2020
Location: United States
Posts: 261
Posted: 03:22am 22 Jul 2020
Copy link to clipboard 
Print this post

Another thing I recommend to all developers (and I do this in my stdsettings.inc file I use in all my
Code - put in a machine and firmware version check, especially if you use functions that were only introduced in a specific version and above (currently I look for 5.4.4 since I’m running RC4 of it).

Will make everyone’s lives a lot easier!
 
jeff510
Newbie

Joined: 19/07/2020
Location: United States
Posts: 13
Posted: 06:54am 22 Jul 2020
Copy link to clipboard 
Print this post

  capsikin said  I'm particularly interested in stuff that's useful for games, so the directional movement of sprites with arrow keys.


Here's two directional movement scripts, one with easing and one without.  

CMM2_MVMT_EXAMPLES.zip

I'm also going to include these two group physics script.  One bounces the group off the ground, and the other collides the group with itself.

DUCKIES.zip
Edited 2020-07-22 17:10 by jeff510
 
jeff510
Newbie

Joined: 19/07/2020
Location: United States
Posts: 13
Posted: 01:16am 23 Jul 2020
Copy link to clipboard 
Print this post

Here's a driving movement script:
CMM2_MVMT_THRUST_DRIVE.zip


Here's an Asteroids style movement script:
CMM2_MVMT_THRUST_SPACE.zip

I want to make a grid-based directional script also - with and without gliding.
Edited 2020-07-23 11:39 by jeff510
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3833
Posted: 09:07am 23 Jul 2020
Copy link to clipboard 
Print this post

Hi folks,

I've not even written this post yet and I'm already regretting it.

OK, the Captain setup a CMM2 area on Fruit of the Shed and code is still not being posted there, is this because:

   - we can't be bothered ?
   - it's too hard ? I find the organisation a bit wierd myself and I think that has more to do with the idiosyncrasies of the wiki software in use than anything the administrators have done.
   - a wiki with attachments isn't a great way to keep source-code ?

Should we setup a repository on github for a "shared library" ? github is after-all intended for storing source-code and it does have its own Wiki facilities.

Do people know how to use git ?

Does anyone have any experience with using a github repository with lots of collaborators ... or do you just have have a few acting as sentries and everybody else working with pull requests ?

Is it worth risking a schism ? There is good work, done by good people on the Fruit of the Shed and I'd hate to be treading on toes.

To be honest I'm hoping there will be a great outcry against this telling me to get back in my box ... it's just my public service instincts tell me that the best thing for the community in the long-term might be to migrate to github

Yours truly,

Tom
Edited 2020-07-23 19:12 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3649
Posted: 09:54am 23 Jul 2020
Copy link to clipboard 
Print this post

I've used git quite a bit but never for the kinds of things being suggested - how well (if at all) does it cope / is it suitable?

(When I've used it, each project was unconnected to the other projects, had multiple updates being made to the one main project - which commonly had side branches.)

(Don't recall using any wiki features, either.)

Hopefully others have done the kinds of (to me very different) uses mentioned and can say how good it was.

John
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3833
Posted: 11:10am 23 Jul 2020
Copy link to clipboard 
Print this post

Hi John,

  JohnS said   ... how well (if at all) does it cope / is it suitable? ...


That is the big question ... my educated guess is that it would be more suitable than just using a wiki since it is designed for storing code, will provide version control and full history and also make all code readable/browsable/searchable without having to unpack any .zip attachments.

I was assuming that the "CMM2 MMBasic Library" would be managed as a single project/repository (of small programs and fragments) with multiple collaborators. An alternative might involve git "submodules" but I've no experience with them and may well be talking out of my arse in that regard.

We could use the Wiki to provide links to other repositories that contained programs of significant size that were being separately/privately managed, e.g. Mauro's and my repositories, and also to code that remained on The Fruit of the Shed.

Regards,

Tom
Edited 2020-07-23 21:12 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3833
Posted: 11:30am 23 Jul 2020
Copy link to clipboard 
Print this post

Another major problem is that a github repo has an "owner" ... and my being that owner is (and I somewhat understand) likely to go down like a ton of bricks amongst some of the shed denizens. I'd also rather not have the responsibility for any of this, hence the reluctance to get involved that I expressed in my earlier post ... the problem is I'm also community minded

Regards,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
mkopack73
Senior Member

Joined: 03/07/2020
Location: United States
Posts: 261
Posted: 12:24pm 23 Jul 2020
Copy link to clipboard 
Print this post

Personally, I want control over stuff I write. I don’t mind others copying it and using it - the whole reason I post it and make it public is for others to be able to learn and build Off what I’ve done. But I also don’t want somebody else coming in and modifying my code out from under me and checking it back in.   It’s one thing if we are collaborating on a project, it’s another if it’s mine and somebody does that to me.

The Amiga community for years has had a FTP server with a web front end for it to allow people to post up PD software And files for others to grab and use.

As I see it we need someplace where:

1) authors can upload code (either as .bas or .zip for larger multi-file projects). We can assign tags to help searching. And can include short descriptions that help downloaded know what they are getting. Maybe even a screen shot... uploads are date/time/version stamped in some way.
2) people can search for stuff to download.
3) supports versioning of the uploaded stuff where only the original author can upload a new version. And the system keeps track of the versions. If somebody else downloads the files, makes and change and uploads it’s a totally different upload, not a new version of the original project.

Personally I have no problem with using GIt but  with the cmm2 not having network support  any of these  options are going to require people to play the SD card swap Game both to download and upload code (which I’m finding to be a pain).
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3010
Posted: 12:54pm 23 Jul 2020
Copy link to clipboard 
Print this post

  mkopack73 said   with the cmm2 not having network support  any of these  options are going to require people to play the SD card swap Game both to download and upload code (which I’m finding to be a pain).

There is the alternative (when connected with, say, Teraterm) to use XMODEM RECEIVE "fn".
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
mkopack73
Senior Member

Joined: 03/07/2020
Location: United States
Posts: 261
Posted: 01:02pm 23 Jul 2020
Copy link to clipboard 
Print this post

  lizby said  
  mkopack73 said   with the cmm2 not having network support  any of these  options are going to require people to play the SD card swap Game both to download and upload code (which I’m finding to be a pain).

There is the alternative (when connected with, say, Teraterm) to use XMODEM RECEIVE "fn".


Can you give me more info about this? How does the cmm2 have to be hooked up?  I know there is an option in MMEdit for pushing code over but how do I have to hook up the cmm2 to do that? Usb power port to the windows machine? Great then I’m swapping usb cables instead of Sd cards.  

I really want to get the sdwifi setup working so that both machines can use the card directly without requiring swapping, and thus I could edit in windows, save the file and immediately use it on the cmm2... that would also allow direct downloading from the web to the cmm2’s card and direct git access. (Currently I have my gut repo cloned into a folder on my windows machine that I copy back/forth over the address card which is error prone).
 
     Page 1 of 3    
Print this page
© JAQ Software 2024