![]() |
Forum Index : Microcontroller and PC projects : CMM2: Is it fundamentally flawed for developers?
![]() ![]() |
|||||
Author | Message | ||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
The ware leveling function and the option ram are both a very good Ideas and should both be implmented. I think another good idea would be to implement a fuller emulation of the CMM2 in the DOS/Win version with all the graphics and sound functions so that can be our TESTBED and development system for big projects. The only issues would be sensors and controller functions. With a WII/SNES to usb adapter like I have could help with the controler side of things. I have the Mayflash 2 port unint that has worked well for PC use of Nunchucks and Classic controllers. Is this a good or bad idea? You would have to have restrained graphic modes options to match the modes of the CMM2. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10315 |
Performance different running from RAM, some things faster, some slower, but effect marginal as all depends on vagaries of caching Solar eclipse RAM 16.07 FLASH 15.72 'lower better Lines/second RAM 295419 FLASH 294770 'higher better Grainbench RAM 14955 FLASH 14916 'higher better |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
Looks extremely promising Peter. ![]() Thanks again for making this change and additionally for taking the time to perform this profiling. Take the rest of the day off, you can start on adding full graphics support to the Windows version of MMBasic tomorrow ![]() Regards, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 675 |
Hi, I also had this question, which Tom here came up with, in my mind. I really like the idea to choose between RAM or FLASH mode. It would be really great if it would make it into the final version of mmbasic! Just for the paranoid ones of us :D |
||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
What is the base of this version? Is it 5.5.3X or 5.5.4RC5. Also can this be put into the 5.5.4X when you do release it? Also, how will the loss of the 512kb variable storage effect progrming. The veriables just go into ram? Sorry about my ignorance as I have no hands on yet I am waiting for my pcb version(hence my concern) to arived and it is just shipping from UK TODAY!!! I am in the US so who knows when I will get it. |
||||
Sasquatch![]() Guru ![]() Joined: 08/05/2020 Location: United StatesPosts: 377 |
It shows up as V5.05.04RC6 on the startup screen. -Carl |
||||
Sasquatch![]() Guru ![]() Joined: 08/05/2020 Location: United StatesPosts: 377 |
This simple program will print out the tokenized version of itself. Note requires latest Beta Version posted in this thread (V5.05.04RC6 or later) for the MM.INFO(Program) command. Print "This program will print out the tokenized version of itself:" 'Note that comments are completely skiped becuase they are not needed by the parser ' Get the address of the program in memory Start = MM.Info(program) 'Loop through the next 500 bytes and display as ASCII Print "ASCII:" X = 0 for i = Start to Start + 500 PrintAscii(Peek(BYTE i)); X = X + 1 if X Mod 24 = 0 then Print next i 'Loop through and display as HEX Print "HEX:" X = 0 for i = Start to Start + 500 Y = PrintHex(Peek(BYTE i)) X = X + 1 if X Mod 24 = 0 then Print next i ' Sub and function used to show code in tokenized version Sub PrintAscii(C) Print Chr$(C); End Sub Function PrintHex(H) Print Hex$(H,2),; PrintHex = H End Function Here is the output: ![]() -Carl |
||||
Sasquatch![]() Guru ![]() Joined: 08/05/2020 Location: United StatesPosts: 377 |
V5.05.04RC6 CSUBs do not seem to work with OPTION RAM enabled. Not sure if this is even possible as the CSubs use direct calls to MMBasic functions in Flash memory? Will the CPU support function calls like this? Edited 2020-07-21 03:33 by Sasquatch -Carl |
||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
![]() Try this test version OPTION RAM - programs will save and run from RAM, programs are lost with power, reset, or option change, variable storage reduced by 512Kb OPTION FLASH (default) programs will save and run from flash, all functionality as before MM.INFO(PROGRAM) gives the address where the program is stored CMM2V1.5.zip What is the base of this version? Is it 5.5.3X or 5.5.4RC5. Also can this be put into the 5.5.4X when you do release it? Also, how will the loss of the 512kb variable storage effect progrming. The veriables just go into ram? Sorry about my ignorance as I have no hands on yet I am waiting for my pcb version(hence my concern) to arived and it is just shipping from UK TODAY!!! I am in the US so who knows when I will get it. It shows up as V5.05.04RC6 on the startup screen. Thanks for the info. |
||||
GregZone Senior Member ![]() Joined: 22/05/2020 Location: New ZealandPosts: 114 |
Geoff Okay, so it seems this FLASH Endurance question has now hit a whole new problem... When the internal FLASH wears out, we may no longer be able to buy replacement Waveshare modules (or STM32H743IIT6 chips), as they'll probably be obsolete / out of production! Arrrgh! (Sorry, I couldn't resist that summarisation). |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10315 |
Thanks for the report. I'll look at it and work out if it is an absolute limitation or can be fixed. |
||||
greybeard Senior Member ![]() Joined: 04/01/2010 Location: AustraliaPosts: 174 |
It's like someone invented a new hammer and now everyone is running around looking for a nail to hit. A CMM2 might be a pretty clever/good hammer but just because it can hit nails doesn't mean that it's the magical solution for every nail. Just need to understand the tools you are using and what they are capable of. ![]() Edited 2020-07-21 17:55 by greybeard |
||||
Poppy![]() Guru ![]() Joined: 25/07/2019 Location: GermanyPosts: 486 |
Hammer is a good comparison, but more like how many nails can I make with it and how big can they be! The CMM2 is quite impressive on its hardware side, so some or many users just want to get some functional perception first. I wonder what it would have been like some 35 years ago about the C64 on the internet ... ![]() ![]() | ||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
The ultimate problem there may not be the obsolescense of STM32H743IIT6 chips but whether there will ever be someone to pick up Peter's mantle (or Geoff's) to port to the newest flash hardware. But I don't think I'll be around to face that problem. ~ Edited 2020-07-21 22:16 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
![]() Try this test version OPTION RAM - programs will save and run from RAM, programs are lost with power, reset, or option change, variable storage reduced by 512Kb OPTION FLASH (default) programs will save and run from flash, all functionality as before MM.INFO(PROGRAM) gives the address where the program is stored CMM2V1.5.zip I had a thought that might be interesting. Could you use the OPTION RAM and OPTION Flash dynamically to load a very static section of code into Flash and other sections of code into ram? Would this be a good or useless functionality? |
||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
OK no one has hit me back on my last post but now I have a new question. With the new OPTION RAM dose that not also remove the limitation of basic code being limited to the 512K imposed by flash only storage of code? Some one explain this and my last post. Thanks |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6283 |
And we would be back to the fear of wearing out the flash. There is room for 25000 lines of code with 512k so that is a very reasonable working space. Code that long is likely to need plenty of variable working space so further reduction would not be wise. Jim VK7JH MMedit |
||||
mclout999 Guru ![]() Joined: 05/07/2020 Location: United StatesPosts: 490 |
And we would be back to the fear of wearing out the flash. There is room for 25000 lines of code with 512k so that is a very reasonable working space. Code that long is likely to need plenty of variable working space so further reduction would not be wise. Jim Thanks for the response. |
||||
![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |