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 : CMM2: V5.05.05 beta
Page 4 of 7 | |||||
Author | Message | ||||
Sasquatch Senior Member Joined: 08/05/2020 Location: United StatesPosts: 296 |
Yep, that seems to have the sprite issue fixed. Thanks again for all your hard work on this project!!! -Carl |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
The speed would not be a problem because all routines are timed to cap the framerate and the sound are fixed to 10ms using a native interrupt. I will see now what´s going on... |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Well, I have tested here. I have the Y version of the CPU that is running at 400Mhz, I don´t saw any difference in the speed of Gauntlet in this firmware. |
||||
Sasquatch Senior Member Joined: 08/05/2020 Location: United StatesPosts: 296 |
So it looks like I have only played Gauntlet with Option RAM enabled. When I upgraded, Option RAM was off. With option RAM enabled, the game slows down much more with additional monsters on screen. So I guess I was always playing it slower than normal and now I have "normal" speed without Option RAM? This may be why it seemed so much faster after the firmware upgrade. With Option RAM off, I get ~20FPS maximum and ~10FPS with 40 monsters on screen. At least that's what the numbers in the lower right of the screen seem to be telling me. At 10FPS the game is noticeably slower but still seems smooth and responsive. I'll do some more testing to see what I get with Option RAM back on. Edited 2020-08-19 10:13 by Sasquatch -Carl |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Humm... I´m not using OPTION RAM for a while, I will test it too. This week I intend to launch a new video on YouTube and update the source to support 2 players. In my tests, the speed was almost the same as one player (what consumes more CPU is the enemies and 8-bit music style). Thanks for your tests! |
||||
Sasquatch Senior Member Joined: 08/05/2020 Location: United StatesPosts: 296 |
Yes! When the game slows below 10FPS it has more noticeable lag and becomes much less smooth moving and scrolling. With Option RAM enabled I am seeing frame rates as low as 5-6 when the screen is full of monsters. The Troll looking monsters seem even worse than the Ghosts. -Carl |
||||
mkopack73 Senior Member Joined: 03/07/2020 Location: United StatesPosts: 261 |
matherp, Is there any way we can get maybe 2 additional digits of precision in the firmware version number to indicate the beta/release build revision? ie: you post up build 5.05.05b10, but MM.INFO will report that back as 5.0505 currently... Could we get it to report that in some way to indicate the beta number as well? (I was initially thinking 5.050510 but that won't work because it'll have a rev > than the 5.0505 that the actual release will get... :( ) I guess this is why MS and others use whole number build versions and even the betas get a full number and then final release gets a higher number... I'm just looking for a way to allow us to be able to catch when we need the firmware to be above a specific beta build number (like we used something that you fixed in 5.05.05b6 for example).... Otherwise I guess we really can only use that check for actual firmware release version checks... |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
I think (hope) this is a temporary issue. I expect to release 5.05.05 in the next couple of weeks unless many more bugs arise. In any case 5.05.05 will essentially just be a bug fix release and the code should then be pretty stable. Certainly I'm not intending to make any further functional changes in the near future |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
5.05.05b12 posted http://geoffg.net/Downloads/Maximite/CMM2_Beta.zip Thanks to Geoff for providing a final fix to the DATA issue. The code now correctly interprets unquoted strings in both upper and lower case and also allows expressions in both upper and lower case. This means all existing programs using expressions in DATA statements should now work again. New MODE 7 320x240. This give a full screen display with square pixels on a normal aspect ratio monitor. Pages 0-13 are available in this mode with pages 0 and 1 in fast processor memory Experimental new OPTION for comment. OPTION DEFAULT MODE n n can be 800 (default) or 640 This sets the resolution in mode 1 to be either 800x600 or 640x480. This should allow the CMM2 to use the cheap 7" TFT screens like this. This is a permanently saved option but does not cause a reboot so can be used in a program. However, developers should probably not use it in code to be circulated as you will reconfigure a user's CMM2 |
||||
vegipete Guru Joined: 29/01/2013 Location: CanadaPosts: 1084 |
It seems dangerous to me if mode 1 can have different resolutions. It might be safer to have, say, a mode 8 that is 640x480 and allow the default mode to be 1 or 8 ================== The data saga. If I want a string that is the same as a keyword, variable or expression, I must put in quotes. If I want a comma to be part of a string, the string must be in quotes. What happens if an unquoted string in a data statement is later used as a variable name? CONST col_dark = &h101010 What will the data values be? 1, 2 or 3 numbers? (Does "red" only have a particular value when used in the rgb() statement?data col_dark, col_light, red col_light = &hA0A0A0 Visit Vegipete's *Mite Library for cool programs. |
||||
realmnm Newbie Joined: 07/07/2020 Location: AustraliaPosts: 34 |
Awesome! If in my program I set mode 1 and the user has set it to 640, I will be in a 640x 480 screen, correct? Martin This signature intentionally left blank. |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
Correct and you can tell by reading MM.HRES |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
Thinking about it more, this is a better idea. It is a bigger job but I'll make the change and re-post |
||||
MauroXavier Guru Joined: 06/03/2016 Location: BrazilPosts: 303 |
Final Fight and Gauntlet will appreciate this new resolution. Thanks! |
||||
capsikin Guru Joined: 30/06/2020 Location: AustraliaPosts: 341 |
Thinking about it more, this is a better idea. It is a bigger job but I'll make the change and re-post Another option would be a mode 8 that's 640x480, and a mode 0 (or other new number) that's either 640x480 or 800x600 (and is the default), leaving mode 1 as 800x600 Edited 2020-08-20 22:09 by capsikin |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
It will stay the same (ie, a string). This is because the READ command uses the type of the variable being used in the command to determine how to treat the DATA element that it finds. So, for example, in the latest beta: DIM tt = 123 DATA tt, tt READ n, s$ Will result in n having the value 123 and s$ having the value "tt". As a rule, all strings in DATA statements should be quoted. Unquoted strings can get messy and they are only allowed in MMBasic because Microsoft BASIC allowed them. I am not sure why Bill did this but we are now stuck with it. BTW, the reason why you must quote strings that are the same as function names is that these are turned into single byte tokens when the program is loaded into program memory and the tokeniser does not have the smarts to know that the unquoted string is part of a DATA statement. Yes, the RGB() function looks for specific text (ie, red, blue, etc) and returns that colour if it finds that text. Geoff Geoff Graham - http://geoffg.net |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 3852 |
Hi Peter, Could this be made to work? or is there an alternative way to choose a DATA section to restore based on a value held in a variable without using IF or SELECT CASE: Cls Read s$ Print s$ ' Prints "foo". label$ = "foo_label" Execute "Restore " + label$ Read s$ Print s$ ' I would like this to Print "foo" too. foo_label: Data "foo" bar_label: Data "bar" Currently reports: [7] Error: Unknown command Regards, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
No: as I have said many times before I do not and will not change Basic language elements |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 3852 |
No: as I have said many times before I do not and will not change Basic language elements Sorry, is that what I asked for? I thought I was asking you to extend EXECUTE to allow it to be used to call RESTORE ... and EXECUTE isn't a Basic language element ... as in you added it specifically for the CMM2. Regards, Tom Edited 2020-08-22 07:52 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8600 |
My mistake, didn't know restore had an optional parameter. Does it work at all? |
||||
Page 4 of 7 |
Print this page |