Picomite/PicoMiteVGA V5.07.05 release candidates


Author Message
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 1776
Posted: 02:15am 06 Dec 2022      

At 378MHz about 1MHZ seems to be the limit.

> setpin 9,fin : setpin 4,pwm : dim integer n=900000
> do :pwm 1,n,50 : pause 11000:? n,pin(9) :inc n,10000 : loop
900000  894901
910000  905725
920000  915993
930000  925087
940000  934304
950000  946149
960000  955839
970000  965730
980000  975826
990000  986130
1000000         994005
1010000         1.004649e+06
1020000         1.015489e+06
1030000         1.025798e+06
1040000         1.034334e+06
1050000         1.043009e+06
1060000         1.054803e+06
1070000         1.063828e+06
1080000         1.074e+06
1090000         1.0854e+06
1100000         1.094971e+06
1110000         1.10378e+06
1120000         1.092688e+06
1130000         1.082784e+06
1140000         1.071426e+06
1150000         1.062888e+06
1160000         1.058435e+06
1170000         1.046447e+06
1180000         1.042621e+06
1190000         1.03643e+06
1200000         1.041723e+06
1210000         1.030806e+06
1220000         1.013033e+06
1230000         1.019278e+06
1240000         1.024406e+06
1250000         995328
1260000         1.001987e+06
1270000         1.01175e+06
1280000         1.017865e+06
1290000         1.024198e+06
1300000         1.033941e+06
>

Let it go much higher and it locks up.

with this one

> setpin 4,pwm :setpin 9,fin :dim integer n=900000, m
> do:pwm 1,n,50:pause 99:m=pin(9):pause 1100:?n,m :inc n,10000:loop

managed to stop it before it locked up, it was printing less than one character per second.

It took about a minute to do this:-

> memory
Program:
  2K ( 1%) Program (64 lines)
118K (99%) Free

RAM:
  1K ( 1%) 2 Variables
  0K ( 0%) General
151K (99%) Free
>
Until the power is cycled it stays that way.

Edit
Setpin 9,off

Can restore normality.

PicoMite MMBasic Version 5.07.05RC10
Copyright 2011-2022 Geoff Graham
Copyright 2016-2022 Peter Mather

> ? mm.info(cpuspeed)
126000000
> setpin 4,pwm :setpin 9,fin :dim integer n=300000, m
> do:pwm 1,n,50:pause 99:m=pin(9):pause 1100:?n,m :inc n,10000:loop
300000  0
310000  192765
320000  299175
330000  314853
340000  324725
350000  332562
360000  339458
370000  353016
380000  363289
390000  355038
400000  348000
410000  343708
420000  335452
430000  330396
440000  334806
450000  330926
460000  331820
470000  339536
480000  344049
>.
Edited 2022-12-06 16:42 by phil99