Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 23:35 06 May 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 : VGAMite V5.07.00 alpha releases

     Page 4 of 5    
Author Message
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 06:20pm 01 Dec 2021
Copy link to clipboard 
Print this post

CSUBs are done - that was quick.

In the above example, I can't tell whether a & b are integers or floats. Before you did SWAPI and SWAPF for the two different types, here you have just SWAP - is it datatype-agnostic?

h
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3852
Posted: 07:59pm 01 Dec 2021
Copy link to clipboard 
Print this post

  CaptainBoing said  In the above example, I can't tell whether a & b are integers or floats. Before you did SWAPI and SWAPF for the two different types, here you have just SWAP - is it datatype-agnostic?


If INTEGERs and FLOATs are both 64-bit then the same implementation would do for both provided it performed no type-checking - and I'm not certain CSUBs can do type checking without jumping through a few hoops.

Did the older 'mite have 32-bit FLOATs perhaps, hence the need for distinction ?

Best wishes,

Tom
Edited 2021-12-02 06:00 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 09:33pm 01 Dec 2021
Copy link to clipboard 
Print this post

alas not backed up by the CPU datasheet. One hopes a mis-print.


Micromite floats are single (4 byte) in software. Double precision can be done in software but then the FPU is redundant - at least on the face of things. Unless double and single are supported but that would be a massive change to the firmware, affecting every point where numbers are evaluated (a lot).

using a SP FPU is a missed opportunity by ST I think, especially as they already have a potentially suitable fab from other CPUs  

.
Edited 2021-12-02 07:39 by CaptainBoing
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 10:05pm 01 Dec 2021
Copy link to clipboard 
Print this post

Only the M7 CPU have double precision floating point. FP on the 411 (M4) is actually disabled in my build as it slows performance when using DP
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 02:59pm 15 Dec 2021
Copy link to clipboard 
Print this post

afternoon Peter.

Black pills arrived, burned 411VGAV5.07.00a3 and up and running in a few minutes - excellent.

I am straight onto pins 6&7 with a CH340G USB <-->serial jobby (usual setup for me) and USB-C providing power. No VGA monitor attached, just power and the three wires for serial

First playings:

> ?mm.device$
Micromite MkII  <-- just for comparison as I have it running on my desk all the time
> ?pi
3.14159

> ?mm.device$
VGAMite
> ?pi
3.141592654 <-- doubles! so happy *hugs*


baudrate wasn't the usual 38400 so i hunted and found it at 115.2K no probs, went to change it to 9600 for compatibility with all my other stuff and I get:

> option baudrate 9600
Error : Invalid with USB console  <-- not using USB


I was confused for a moment and thought maybe I had picked up a COM port from the USB connection but pulling the CH340 out confirmed I was definitely not on any other USB serial.

no biggie, can play at 115.2K can't use autosave tho' as lines get truncated. This is a common thing so not really a problem. I can use XModem.

Out of curiosity, I tried listing the options and some typos revealed stuff like this doesn't cause errors:
> option ploppy
> option kjhfkjhkjerkjertkh
>


Did my usual pi^... and it would seem overflows are not being correctly handled:
> ?pi^pi
36.46216583
> ?pi^pi^pi
80662.73437
> ?pi^pi^pi^pi
2.598771431e+15
> ?pi^pi^pi^pi^pi
0e+2147483647
> ?pi^pi^pi^pi^pi^pi
0e+2147483647
> ?pi^pi^pi^pi^pi^pi^pi^pi^pi^pi^pi
0e+2147483647
> ?1.0/0
Error : Divide by zero


I loaded up my torture code but I am getting weird lockups (have to reset to recover). I can't seem to pin it down as they change each time. Nothing fancy in the torture code just stock MMBasic - I have attached it on this post. Can others download it and test on the BP? (it runs fine on all other platforms I have tried). Test 3.zip

> ? now()
15-12-2021 14:27:22
> ?unixtime(now())
15-12-2021 14:27:35     15-12-2021 14:27:35
0
Error : Invalid font number #8407069
>
> ?unixtime(now())
15-12-2021 14:57:52     15-12-2021 14:57:52
0
Error : Invalid font number #8407070
> ?unixtime(now())
15-12-2021 14:515-12-2021 14:57:54
0
>
Error : Line is too long to edit
>
>


and lockups after random output:


(needs a reset at this point)

that is more than enough for now, if you need more just let me know what and I will sort it.

all the best

h
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 05:59pm 15 Dec 2021
Copy link to clipboard 
Print this post

Baudrate: trivial to fix
OPTION: trivial to fix
PI: AFAIK no versions of MMBasic check for FP overflow and without a big performance hit there is no way to do it
Bug: your code is too complex and you are trashing the stack. The current version doesn't have stack checking. If it did you would see
  Quote  Error: Expression is too complex

Only solution is to reduce variable space and therefore program space from 72Kbyte downwards
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 11:06am 17 Dec 2021
Copy link to clipboard 
Print this post

The PicoMite VGA edition has proved to have:

faster processing
more flexible architecture (including colour support)
more stable VGA image
Cheaper more available H/W

than the blackpill based VGAMite

The only significant disadvantage is the need for an external RTC as the RP2040 RTC does not survive resetting the processor and can't be battery backed (one asks why they therefore included an RTC on the silicon?) but given that DS3231 modules are so cheap and more accurate than the internal STM32 RTC this isn't a major issue.

According, I have decided to discontinue development on the VGAMite.
If anyone wants to take on the codeset then, subject to following Geoff's rules, I will make it available to them. The VGAMite code is not currently open source but this could be discussed with Geoff if anyone is interested.

Sorry if you have spent time on the VGAMite but there is no point in pursuing a lesser solution. The code above does work so it can be used as-is.
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1593
Posted: 11:30am 17 Dec 2021
Copy link to clipboard 
Print this post

Damn! I was afraid of that. My black pills have just arrived too...

Oh well c'est la vie.

Bill
Keep safe. Live long and prosper.
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 12:01pm 17 Dec 2021
Copy link to clipboard 
Print this post

yeah me too. I kind of guessed it when questions about the VGAMite went unanswered on other threads... la vee

Oh well, two more for the box. Beggars/choosers and all that - thanks for your efforts anyway Peter

  matherp said  
The only significant disadvantage is the need for an external RTC as the RP2040 RTC does not survive resetting the processor and can't be battery backed (one asks why they therefore included an RTC on the silicon?) but given that DS3231 modules are so cheap and more accurate than the internal STM32 RTC this isn't a major issue.

from my tests I found the RTC on the blackpill was a bit weak, gains 9 seconds a day, an hour a year - there are ways of trimming things but as it is also affected by reset (set the time, hold reset for 10 seconds, check the time)
Edited 2021-12-17 22:06 by CaptainBoing
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5742
Posted: 12:40pm 17 Dec 2021
Copy link to clipboard 
Print this post

If anyone would like me to continue with my little PCB for the Black Pill in the 90x70x28 case I'll be happy to do so.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
flasherror
Senior Member

Joined: 07/01/2019
Location: United States
Posts: 159
Posted: 12:53pm 17 Dec 2021
Copy link to clipboard 
Print this post

Nuts, I have the worst timing, ordered a few BPs and still waiting on them.

Oh well, might install/learn micropython at some point.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 01:00pm 17 Dec 2021
Copy link to clipboard 
Print this post

  Quote  My black pills have just arrived too...

  Quote  ordered a few BPs and still waiting on them.

Mine are still on route after too many weeks which is part of the decision making reason
Edited 2021-12-17 23:25 by matherp
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5742
Posted: 02:32pm 17 Dec 2021
Copy link to clipboard 
Print this post

My first one seems to be dead (not recognised by anything) so I only have one to bother about!
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 03:03pm 17 Dec 2021
Copy link to clipboard 
Print this post

Mine don't register on Windows. Hold BOOTP down and apply power and you should see it in the STM32Cube Programmer

does it register?
Edited 2021-12-18 01:03 by CaptainBoing
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3852
Posted: 03:06pm 17 Dec 2021
Copy link to clipboard 
Print this post

This exchange alone is enough to persuade me that Peter is making the correct call. I'm glad I chose not to be an early adopter on this one, my respect and commiserations to those who did.

Best wishes,

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

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 03:14pm 17 Dec 2021
Copy link to clipboard 
Print this post

  Quote  This exchange alone is enough to persuade me that Peter is making the correct call.


Yes: forgot to mention in my list of differences "ease of programming" where the Pico wins hands-down
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3852
Posted: 03:17pm 17 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  Yes: forgot to mention in my list of differences "ease of programming" where the Pico wins hands-down


This is ease of transferring the firmware isn't it ? I had formed the impression from other comments that you were unimpressed by the process of actually porting MMBasic to the PicoMite - which is now of course an all singing, all dancing, 16 colour "dog" , did I misunderstand ?

Best wishes,

Tom
Edited 2021-12-18 01:22 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8594
Posted: 03:52pm 17 Dec 2021
Copy link to clipboard 
Print this post

  Quote  This is ease of transferring the firmware isn't it ? I had formed the impression from other comments that you were unimpressed by the process of actually porting MMBasic to the PicoMite


Yes, just transferring the firmware. I still hate the Pico dev environment.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3663
Posted: 04:03pm 17 Dec 2021
Copy link to clipboard 
Print this post

  CaptainBoing said  Mine don't register on Windows.

From comments elsewhere I suggest trying Zadig to get Windows to do the right thing  with the USB subsystem driver.

John
 
flasherror
Senior Member

Joined: 07/01/2019
Location: United States
Posts: 159
Posted: 04:09pm 17 Dec 2021
Copy link to clipboard 
Print this post

  matherp said  
  Quote  This exchange alone is enough to persuade me that Peter is making the correct call.


Yes: forgot to mention in my list of differences "ease of programming" where the Pico wins hands-down


Were there any advantages to the STM32 architecture/port compared to the Picomite? The VGA is an obvious advantage but what about flash usage etc? How full is the Picomite flash?
Edited 2021-12-18 02:11 by flasherror
 
     Page 4 of 5    
Print this page
© JAQ Software 2024