Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 18:06 23 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 : New Version: Colour Maximite 2 Ver 5.05.04

     Page 1 of 2    
Author Message
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 12:06pm 28 Jul 2020
Copy link to clipboard 
Print this post

There is a new version of the Colour Maximite 2's firmware and documentation available for download from https://geoffg.net/maximite.html (scroll to the bottom of the page).

This is Ver 5.05.04 and is a significant release which wraps up all the changes made in the recent run of beta versions that Peter has posted.  It is recommended that you upgrade, even if you are running the latest beta version.

The source code at http://mmbasic.com has been updated and if you have downloaded the V5.05.03 source you can use the same link to download this version.

Congratulations to Peter, this version represents another monumental effort.

Geoff
Geoff Graham - http://geoffg.net
 
realmnm

Newbie

Joined: 07/07/2020
Location: Australia
Posts: 34
Posted: 12:10pm 28 Jul 2020
Copy link to clipboard 
Print this post

Thanks to Peter for all the hard work, it is much appreciated.  Also to Geoff for the manuals.

 
This signature intentionally left blank.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3838
Posted: 01:34pm 28 Jul 2020
Copy link to clipboard 
Print this post

Thank you for all the hard work ...

... and I'm really sorry about this, and I'm just going to workaround it, but for the record

BUG: DIR$ and MM.INFO(FILESIZE, f$) don't handle '..' in path


> ls "src/sptrans/../common/map.inc"
A:/MBT/src/common
14:14 28-07-2020       1911  map.inc
0 directories, 1 file

> Print Mm.Info(FileSize "src/sptrans/../common/map.inc")
-1

> Print Dir$("src/sptrans/../common/map.inc", All)
Error: Could not find the path


I very much doubt this is a new bug in this release.

Sorry, sorry, sorry,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JoOngle
Regular Member

Joined: 25/07/2020
Location: Sweden
Posts: 82
Posted: 02:28pm 28 Jul 2020
Copy link to clipboard 
Print this post

There's another party pooper bug I discovered yesterday, I'm trying to reproduce the error but it didn't re-occur yet.

I was messing around with the sprite command manually in prompt, first to get copies of the screen text "as sprites" (the last number when set to 0 makes it copy the source from the sprite from the screen to the sprite), then I set it to one without having a sprite file, which displayed a garbled sprite (pretty much like it does on a commodore 64, because it takes it from memory then, which is okay ...or so I thought).

Then I wrote a small sprite program with it, and after running it - it would not let me run it as it said "line to long error" or something similar (I've erased the file on the SD card because the file sprite.bas became corrupted and suddenly exploded in size from 1kb to 29kb on the CMM2 itself.

I couldn't even F4 (edit) it, as it would give me the same error message, line too long, so I took it to the PC to study where it went wrong, but it just looked like ASCII code gibberish.

What went wrong, I have no real concept of, but what I did was exactly as I described above.

The program worked fine until I made one small change like adding a variable to the sprite code.

sprite 1,1,dx+40,400,40,40,1
The variable before that was only dx=dx+1
the above sprite command in the program was
sprite 1,1,40,400,40,40,1 before that, and ran just fine, albeit static ofc.

I tried reproducing the scenario today, but couldn't.

Since then, I've written this as a small test, but it works fine:


init:
cls
cx=-40
cx5=800
dx5=800
dx2=800
sk=1
start:
print " test "
box 1,20,796,40,1
box 1,60,100,60,1
box 1+233,60,100,60,1
box 1+466,60,100,60,1
box 1+696,60,100,60,1
box 1,300,796,30,1
box 1,500,796,30,1

game:
do
cx=cx+1
cx1=cx1+1.2
cx2=cx2+1.3
cx3=cx3+1.1
cx4=cx4+.60
cx5=cx5-.50

dx=dx+0.4
dx1=dx1+0.7
dx2=dx2-1
dx3=dx3+1.4
dx4=dx4+.80
dx5=dx5-.45

if cx>800 then cx=0
if cx1>800 then cx1=0
if cx2<-40 then cx2=800
if cx3>800 then cx3=0
if cx4>800 then cx4=0
if cx5<-40 then cx5=800

if dx>800 then dx=0
if dx1>800 then dx1=0
if dx2>800 then dx2=0
if dx3>800 then dx3=0
if dx4>800 then dx4=0
if dx5<-40 then dx5=800

sprite 1,1,cx,400,40,12,0
sprite 1,1,cx1,440,40,12,0
sprite 1,1,cx2,450,40,12,0
sprite 1,1,cx3,470,40,12,0
sprite 1,1,cx4,470,40,12,0
sprite 1,1,cx5,370,42,12,0

sprite 1,1,dx,130,40,12,0
sprite 1,1,dx1,145,40,12,0
sprite 1,1,dx2,160,40,12,0
sprite 1,1,dx3,175,40,12,0
sprite 1,1,dx4,190,40,12,0
sprite 1,1,dx5,220,42,12,0

pause 5
loop



Which runs just fine:

 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8572
Posted: 04:10pm 28 Jul 2020
Copy link to clipboard 
Print this post

  Quote  I very much doubt this is a new bug in this release.


I could either:
1: fix it in the next release
2: decide it is such a silly thing to type that if found the firmware will overwrite itself and then wind up the CPU clock fast enough that the chip overheats and dies.

  Quote   I'm trying to reproduce the error but it didn't re-occur yet.


Without a reproducible sequence there is nothing I can do
 
Shadamus
Newbie

Joined: 26/07/2020
Location: United States
Posts: 17
Posted: 06:12pm 28 Jul 2020
Copy link to clipboard 
Print this post

Can someone point me to the "How To" for updating the firmware?  

I've found TassyJim's old post that references to using the UPDATE FIRMWARE at the console, followed by plugging in the USB A-to-USB A cable.

But Can't seem to find what executable to run on my computer (Windows 10) to actually push the .bin file through the USB cable to the CMM2...

Thanks for helping a noob out!
 
Sasquatch

Senior Member

Joined: 08/05/2020
Location: United States
Posts: 296
Posted: 06:16pm 28 Jul 2020
Copy link to clipboard 
Print this post

  Shadamus said  Can someone point me to the "How To" for updating the firmware?  

I've found TassyJim's old post that references to using the UPDATE FIRMWARE at the console, followed by plugging in the USB A-to-USB A cable.

But Can't seem to find what executable to run on my computer (Windows 10) to actually push the .bin file through the USB cable to the CMM2...

Thanks for helping a noob out!


The information you seek has been cleverly hidden in Appendix G of the user manual.  Currently starting on page 118 of the latest manual revision

Note that if you don't have the elusive USB A-A cable, you can also upload the firmware over a virtual serial port using a standard USB A-B cable (plugged into the console port)  This method is about 7X slower than the A-A cable using the keyboard port.
Edited 2020-07-29 04:22 by Sasquatch
-Carl
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8572
Posted: 06:17pm 28 Jul 2020
Copy link to clipboard 
Print this post

  Quote  Can someone point me to the "How To" for updating the firmware?  


Appendix G in the user manual - exactly the same as loading for the first time
 
twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1133
Posted: 06:17pm 28 Jul 2020
Copy link to clipboard 
Print this post

Hi Shadamus,

please read the manual.

Regards
Michael
 
Shadamus
Newbie

Joined: 26/07/2020
Location: United States
Posts: 17
Posted: 06:42pm 28 Jul 2020
Copy link to clipboard 
Print this post

Thanks guys.  I knew it was around somewhere.  I'll be more persistent in searching next time.

Update accomplished.
 
mkopack73
Senior Member

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

Awesome Peter!!!

I’m really going to need to install a switch for the program/run pins if you keep cranking out firmware at this rate! Getting to be a pain having to keep opening the case up to swap the jumper around. :)
 
Sasquatch

Senior Member

Joined: 08/05/2020
Location: United States
Posts: 296
Posted: 07:25pm 28 Jul 2020
Copy link to clipboard 
Print this post

All kidding aside, I know that reading documentation isn't much fun but if you haven't skimmed through the entire User Manual a couple of times I recommend that you do.  You might just find a few hidden gems in there that you weren't aware of.

Oh, and use the link above at the start of this thread to download the latest version of the User Manual.
Edited 2020-07-29 05:26 by Sasquatch
-Carl
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8572
Posted: 07:39pm 28 Jul 2020
Copy link to clipboard 
Print this post

  Quote  I’m really going to need to install a switch for the program/run pins if you keep cranking out firmware at this rate! Getting to be a pain having to keep opening the case up to swap the jumper around. :)


You don't need to - check out the UPDATE FIRMWARE command
 
mkopack73
Senior Member

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

Ok I’m curious then, how do you all have your CMm2 hooked up?im using an Ac-usb power adaptor and then the usb  keyboard into the USB port. How are you all set up so you can develop on the Pc and push over code and firmware to the cmm2 without swapping the sd card.  

Are you just Powering the cmm2 directly from the pc so you can transfer the Files across that usb link? Something was mentioned about transferring from the keyboard but then how do you have the keyboard plugged in?

Just trying to optimize my development setup to make things easier /faster.  I currently do most of my big coding on MMEdit and then copying the files to the SD card and swapping it over, testing and making big fixes on the cmm2. Then popping out and copying back over to the laptop and so on.
 
Sasquatch

Senior Member

Joined: 08/05/2020
Location: United States
Posts: 296
Posted: 09:03pm 28 Jul 2020
Copy link to clipboard 
Print this post

  mkopack73 said  Ok I’m curious then, how do you all have your CMm2 hooked up?im using an Ac-usb power adaptor and then the usb  keyboard into the USB port. How are you all set up so you can develop on the Pc and push over code and firmware to the cmm2 without swapping the sd card.  

Are you just Powering the cmm2 directly from the pc so you can transfer the Files across that usb link? Something was mentioned about transferring from the keyboard but then how do you have the keyboard plugged in?

Just trying to optimize my development setup to make things easier /faster.  I currently do most of my big coding on MMEdit and then copying the files to the SD card and swapping it over, testing and making big fixes on the cmm2. Then popping out and copying back over to the laptop and so on.


If you have the USB A-A cable available, you can simply type the Update Firmware command (from the keyboard or serial console) and then switch the USB A-A cable for the keyboard cable.  I usually switch the keyboard back before a reset.

You can also update over the USB console port (virtual serial port) you will want to type the Update Firmware command and then close any console connection (i.e TerraTerm or MMEdit) so that the CubeProgrammer software can connect via the USB "serial port" (called UART in CubeProgrammer) note that updating via serial connection is about 7X slower than straight USB
Edited 2020-07-29 07:07 by Sasquatch
-Carl
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3011
Posted: 11:49pm 28 Jul 2020
Copy link to clipboard 
Print this post

  mkopack73 said  How are you all set up so you can develop on the Pc and push over code and firmware to the cmm2 without swapping the sd card.

I have the CMM2 connected via Teraterm with USB-A (PC) to USB-B (CMM2) and mostly develop on the PC using Notepad++, and then transfer to the CMM2 for debugging with XMODEM RECEIVE "filename" (and then XMODEM SEND it back).

For firmware, I use the USB-A to usb-A cable, flip the switch from "Flash" to "System", and flash the firmware with STM32CubeProgrammer. I haven't had the top on my case in weeks.

If I've downloaded other's code to the PC from the shed, I usually swap the SD card.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Andrew_G
Guru

Joined: 18/10/2016
Location: Australia
Posts: 840
Posted: 12:33am 29 Jul 2020
Copy link to clipboard 
Print this post

Hi all,

Just yesterday I installed a little slide switch (Jaycar, SS0834 but RS do them too).
A 3mm hole in the base allows me to slide it with a jeweler's screwdriver.
I'll now check out Peter's new approach.
(Edit: I've easily updated the firmware and am starting to play with Peter's changes - incredibly comprehensive. Many thanks to you all - A)  


Cheers,

Andrew


Edited 2020-07-29 12:11 by Andrew_G
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3838
Posted: 10:31am 29 Jul 2020
Copy link to clipboard 
Print this post

Hi Peter,

  matherp said  I could either:
1: fix it in the next release


That would be nice.

  Quote  2: decide it is such a silly thing to type that if found the firmware will overwrite itself and then wind up the CPU clock fast enough that the chip overheats and dies.


You could do that, but I think people would complain and ultimately it would just create more work for yourself.

It's only a "silly thing" to do when it is written as a literal, it's rather different when it is the result of a calculation as you might require when you have a relative path that you wish to resolve from somewhere other than Cwd$, e.g.:

Print Dir$($absolutePath + "/" + $relativePath, All)


I'm working round it by writing a function to canonicalise a path, but unless I'm making particularly heavy weather of it, it isn't a completely trivial algorithm.

Regards,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8572
Posted: 11:11am 29 Jul 2020
Copy link to clipboard 
Print this post

  Quote   I'm making particularly heavy weather of it, it isn't a completely trivial algorithm.


Correct!!!!

Try this


CMM2V5.05.05b1.zip
 
mclout999
Guru

Joined: 05/07/2020
Location: United States
Posts: 430
Posted: 02:52pm 29 Jul 2020
Copy link to clipboard 
Print this post

  matherp said  
  Quote  Can someone point me to the "How To" for updating the firmware?  


Appendix G in the user manual - exactly the same as loading for the first time


Keep in mind that Anyone that gets a preassembled version may never have installed an image.
 
     Page 1 of 2    
Print this page
© JAQ Software 2024