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 : MMbasic 5.3 Requests.
Page 1 of 11 | |||||
Author | Message | ||||
Phil23 Guru Joined: 27/03/2016 Location: AustraliaPosts: 1664 |
Hi Geoff, I know a list probably already exists, but thought I create a thread that can be added to. Hoping it stays limited to only things that can't already be done in basic & have a usable purpose. Read Access to pins assigned to the SD card, CD & WP. It would make checking their state possible without returning an error BEFORE attempting to access the card. [Code]> print Pin(30) Error: Pin 30 is reserved on startup >[/code] Read only access to the registers where time & date is stored internally in (Integer form I Presume). This would be extremely useful for time & date based calculations where presently Time & Date strings need to be converted to Integers before calculations can be performed. I do have functions for that, but they can bog down code. Maybe 2 read only variables. MM.iDate - Days since 1900? MM-iTime - Seconds since midnight. Not sure how you store it internally at present, but whatever the form is I think that would suffice as long as we know how to decode it. Cheers Phil. |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
MM.VER returns the same number as the 'version number'. Currently see MM.VER = 5.02 for MMBasic version 5.2 For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Make it possible to return the value of BACKLIGHT without having to store it in your own variable For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Some good ideas here... Should be easy. These might not be as easy. I try to avoid cluttering the language with too many specialised keywords and variables, especially when a simple subroutine can be written to do the same thing. This will need some thought. The current notation was chosen so that you could do compares. For example: IF MM.VER > 5.01 THEN ... If the same as version number was returned V5.1 and V5.10 MM.VER would return for both 5.1 Another specialised keyword, but worth thinking about. Geoff Geoff Graham - http://geoffg.net |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Maybe instead of a keyword it could be an index in an array. Maybe introduce one single keyword in the MM range. [code] CONST VERSION = 1 'As an example MM.Ver could be at index 1 IF MM.Index(VERSION) > 5.01 THEN [/code] or drop the sub keyword [code] IF MM(VERSION) > 5.01 THEN [/code] Any new variable can then just be added to the array [code] CONST BACKLIGHT = 15 'Imagine this is the current BackLight value IF MM(BACKLIGHT) = 50 THEN [/code] This could be made backwards compatible by still accepting the current way and internally map those to an index. Adding new values can then be done without the need to use any new keywords. Those could then be replaced with a list of constants that can be declared at the top of your program. Microblocks. Build with logic. |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
I see what you've done now. However this would be well confusing when you release MMBasic V5.10 and MM.VER is reporting 5.1. On this basis is it not worth calling the current version of MMBasic V5.02 instead of V5.2 simply keeping the same notation for both? For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Phil23 Guru Joined: 27/03/2016 Location: AustraliaPosts: 1664 |
Maybe 2 read only variables. MM.iDate - Days since 1900? MM-iTime - Seconds since midnight. These might not be as easy. I try to avoid cluttering the language with too many specialised keywords and variables....... Realistically this request would probably be best supplied as a CSub. Not everyone would use it, and have a sub would relieve extra congestion of the manual. The raw values used would do if they are easy to operate on. [Quote]The current notation was chosen so that you could do compares. For example: IF MM.VER > 5.01 THEN ... Only issue I've experience with the version notation was have 6 different MM's I was playing with & loosing track of the Beta's. Would be handy to distinguish that when you are swapping back & forth. Phil |
||||
lew247 Guru Joined: 23/12/2015 Location: United KingdomPosts: 1676 |
Allow advanced GUI controls to work with non GUI commands if possible |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Please Geoff, I hope this is an easy one (and much needed in my role of supplying MM+'s When you do a GUI CALIBRATE for the touch screen, can the confirmation message that all is done without error (or indeed the error message displayed instead) be displayed on the TFT as well as the console? May seem trivial, but this is one of those little things that catches me out every time Thanks, WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Now that does make sense... I have put it on the todo list. Geoff Geoff Graham - http://geoffg.net |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Yes, this is something that I will have to work on. The problem is that you can create millions of non GUI things (think of the PIXEL command for example) and for them to be managed they have to be tracked by the GUI draw/hide mechanism which would rapidly consume all the RAM. But, there needs to be a way of getting better integration. I have done it with the CLS command and I need to look at the others. Geoff Geoff Graham - http://geoffg.net |
||||
bigmik Guru Joined: 20/06/2011 Location: AustraliaPosts: 2870 |
Hi Geoff, All, Now that does make sense... I have put it on the todo list. Geoff Can the measured co-ordinates be also displayed as well, (even on the Console would be nice to see how far off when you get a failure on calibrate. Kind Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Sprites I know Geoff thought hardly anyone used these before but please can this be reconsidered. As an embedded controller Sprites may seem a silly thing to be included in MMBasic. But now use an Explore100 as a standalone computer and with the current graphics capabilities then having Sprites begins to make a lot of sense. The MicroMite is now so similar to a 80's home computer in terms of features (and obviously the MM has many more hardware-peripheral-features than the 80's computer) - that it would be a real shame if Sprites were not incorporated even at a very simple level. I am planing on converting some 80s games for the MM+ and Sprites would make this task easy (virtually copy line-for-line any 80s game listing! Thought I'd mention it once agin Geoff to see if it has a wider appeal now that the E100 is out there! For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Sprites is something that I am not good at (I discovered this when implementing them for the Colour Maximite). I think that it is because I just don't grok action games. I will re look at them but if someone out there knows of a suitable sprite syntax/architecture please let me know. With that in front of me writing the code to implement them would be much easier. Geoff Geoff Graham - http://geoffg.net |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9066 |
Grok?! Does not compute...... Smoke makes things work. When the smoke gets out, it stops! |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Likewise - I can't stand computer 'action' games; but writing game code for something simple is a joy! Sprites opens up the second generation of computer games (after Pong and Space Invaders) to things like PacMan on the MM+. Lets leave it to Peter M to write 3D 100fps action Game CSubs! I will take a look at some of my manuals form 80s computers and see if there is a couple of command syntax's I could recommend. Will email you so this doesn't take over this thread For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 278 |
Likewise - I can't stand computer 'action' games; but writing game code for something simple is a joy! Sprites opens up the second generation of computer games (after Pong and Space Invaders) to things like PacMan on the MM+. Lets leave it to Peter M to write 3D 100fps action Game CSubs! I will take a look at some of my manuals form 80s computers and see if there is a couple of command syntax's I could recommend. Will email you so this doesn't take over this thread The syntax for sprites needs something like- SPRITE(spritenumber,spriteimage,x,y,colision) Dave. |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8592 |
SPRITE(spritenumber,spriteimage,x,y,colision) what is the functionality? |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 278 |
SPRITE(spritenumber,spriteimage,x,y,colision) what is the functionality? To place a Sprite on the screen at coordinates X,Y and test the image or image colour under said sprite to check for colision. Dave. |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8592 |
If you look at this thread and the linked video, it looks like the things I'm missing are a simpler programmer interface and collision detection. I assume collision detection happens when the sprite boundary of one sprite overlaps another? What about if they touch without overlapping? |
||||
Page 1 of 11 |
Print this page |