Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 13:11 24 Nov 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 : PicoMite V6.00.00 release candidates - all versions

     Page 8 of 24    
Author Message
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 144
Posted: 09:00am 10 Oct 2024
Copy link to clipboard 
Print this post

electricat,

Have you tried the above yet?
The USB voltage is 5.072V and with version 6.00.00RC3 there were no problems.
There is nothing else connected to the Raspberry Pi Pico, only a reset button soldered directly to the PCB.

Jan.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 09:00am 10 Oct 2024
Copy link to clipboard 
Print this post

  Quote  What am I doing wrong?


MAP(15) returns a number which is an RGB888 value. You are then peeking an arbitrary location in memory which in this case probably doesn't exist.

electricat:
I can't replicate any of your findings. There have been NO changes in anything related to VGA since the last beta, certainly not in any of the RCs. I mentioned above that I have limited pin drive to 8mA for some functions but pin drive for VGA has never been changed.
 
guma1975
Newbie

Joined: 13/01/2023
Location: Poland
Posts: 7
Posted: 09:13am 10 Oct 2024
Copy link to clipboard 
Print this post

Thank you very much for your answer. I am just starting with graphics and I am a beginner in general. And such a question whether I can and how to read e.g. r, g, b from color no. 15 of the MAP(15) palette is such an example. Is there any way to read it?
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 09:17am 10 Oct 2024
Copy link to clipboard 
Print this post

By default the colours are (15 to 0):
   #define WHITE               RGB(255,  255,  255) //0b1111
   #define YELLOW              RGB(255,  255,    0) //0b1110
   #define LILAC               RGB(255,  128,  255) //0b1101
   #define BROWN               RGB(255,  128,    0) //0b1100
   #define FUCHSIA             RGB(255,  64,   255) //0b1011
   #define RUST                RGB(255,  64,     0) //0b1010
   #define MAGENTA             RGB(255,  0,    255) //0b1001
   #define RED                 RGB(255,  0,      0) //0b1000
   #define CYAN                RGB(0,    255,  255) //0b0111
   #define GREEN               RGB(0,    255,    0) //0b0110
   #define CERULEAN            RGB(0,    128,  255) //0b0101
   #define MIDGREEN            RGB(0,    128,    0) //0b0100
   #define COBALT              RGB(0,    64,   255) //0b0011
   #define MYRTLE              RGB(0,    64,     0) //0b0010
   #define BLUE                RGB(0,    0,    255) //0b0001
   #define BLACK               RGB(0,    0,      0) //0b0000

RGB(a,b,c) means (a<<16) + (b<<8) + c

You can use the map command to change any of the 16 colours in which case you know what you have set it to
 
guma1975
Newbie

Joined: 13/01/2023
Location: Poland
Posts: 7
Posted: 09:26am 10 Oct 2024
Copy link to clipboard 
Print this post

Thank you very much. I was confused by the fact that the pico HDMI froze. But if I wanted to read the memory that is not there....
Thank you again.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 11:16am 10 Oct 2024
Copy link to clipboard 
Print this post

Peter,

I am closer to catch problem.
I completely flash - erased pico rp2040.
Loaded firmware again.

Now, to my surprise (!) it drew lines as it should.
Good. Entered manually OPTIONS according to my system. Still drew lines OK.

Loaded large enough program ~30k
RUN and there it is. Black zone in upper part while trying to use LINE or CIRCLE inside that program.

OK. I do EXIT, trying to draw from command line -> LINE or CIRCLE comands .. and... old good problem. 12 pixels at top are lost.

ok. Power cycle off/on
Draw circle 100,100,200 . Draws ok
Load that bigger program again, tray to run - FAILS.

And while it fails draw CIRCLE or LINE, PRINT @(0,0) "something" prints OK no matter from program or command line

If you would try replicate problem loading bigger program and order to draw at the wery begining of program and see can you replicate this?

This is what I add at top of that larger program. (I don`t believe anything what is loaded, but not running in progam below these lines , can call this effect somehow ? )


Line  1,1,640,1,1
Line 1,480,640,480,1
Line 1,1,1,480,1
Line 640,1,640,480,1

circle 140,140,300,5
print@(0,0) "PRINTS OK"
circle 140,140,300,5
do
sssss=1
loop while ssss=1



I PM messaged you with program file I was working on.

P.S. Also tried downgrade to 6.0 RC1 with same fail.
Will tray downgrade to 5.09.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 11:27am 10 Oct 2024
Copy link to clipboard 
Print this post

Well, just downgraded to PicoMiteVGAUSBV5.09.00RC5.uf2
And it started to work as it should first tray.  

There might be some bug in between relay contacts  
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 11:50am 10 Oct 2024
Copy link to clipboard 
Print this post

When you have the black lines please try TILE RESET and let me know what happens

UPDATE

Ran your program and no missing lines
Edited 2024-10-10 22:14 by matherp
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2120
Posted: 01:15pm 10 Oct 2024
Copy link to clipboard 
Print this post

@matherp
these were the colours you posted 2 years ago. I found an old early sprite prog and testing on hdmi. I was new and used 8 colours until you posted 16 colours.
'colour shortcuts
const WH =RGB(255,  255,  255) 'WHITE
const YE =RGB(255,  255,    0) 'YELLOW
const LI =RGB(255,  128,  255) 'LILAC
const BR =RGB(255,  128,    0) 'BROWN
const FU =RGB(255,  64,   255) 'FUCHSIA
const RU =RGB(255,  64,     0) 'RUST
const MA =RGB(255,  0,    255) 'MAGENTA
const RE =RGB(255,  0,      0) 'RED
const CY =RGB(0,    255,  255) 'CYAN
const GR =RGB(0,    255,    0) 'GREEN
const CE =RGB(0,    128,  255) 'CERULEAN
const MI =RGB(0,    128,    0) 'MIDGREEN
const CO =RGB(0,    64,   255) 'COBALT
const MY =RGB(0,    64,     0) 'MYRTLE
const BL =RGB(0,    0,    255) 'BLUE
const Bk =RGB(0,    0,      0) 'BLACK
const Gy =RGB(128,  128,  128) 'GREY
const Lg =RGB(210,  210,  210) 'LITEGREY
const Og =RGB(255,  165,    0) 'ORANGE
const PK =RGB(255,  160,  171) 'PINK
const Gd =RGB(255,  215,    0) 'GOLD
const SA =RGB(250,  128,  114) 'SALMON
const BE =RGB(245,  245,  220) 'BEIGE
'
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 02:34pm 10 Oct 2024
Copy link to clipboard 
Print this post

  matherp said  Ran your program and no missing lines

Hands down, I am lost.
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 02:49pm 10 Oct 2024
Copy link to clipboard 
Print this post

Sent PM video recorded how i see it.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 02:53pm 10 Oct 2024
Copy link to clipboard 
Print this post

Electricat,

I cannot reproduce either. I think this is caused by
1/ a unreliable contact
2/ a bad power supply
3/ the monitor

Picomite VGA drives RGB, assuming there is a hard 75 ohm termination to ground. If your monitor has a different input circuit this may cause problems.

Can you share a photo of your system?

Volhout
Edited 2024-10-11 00:54 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 03:05pm 10 Oct 2024
Copy link to clipboard 
Print this post

  Quote  Sent PM video recorded how i see it.


The program you sent me looks completely different
However, looking at your video I am almost certain that somehow your program is somehow setting the foreground tile colour to black for parts of the top line. It isn't anything to do with monitors or video timing so don't replace the monitor


 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 05:25pm 10 Oct 2024
Copy link to clipboard 
Print this post

Peter,

Yes.

Added on top of drawing commands:

TILE RESET
TILE  HEIGHT 480

And lines printed!

Comented out TILE RESET and lines are printed.
Comented out TILE HEIGHT and problem came back!

UPDATE:
It does not have effect until TILE HEIGHT 12

TILE HEIGHT 13 already does work
Edited 2024-10-11 03:28 by electricat
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 05:53pm 10 Oct 2024
Copy link to clipboard 
Print this post

Another interesting observation
I loaded older version of same program and trying how stable changed line
to CIRCLE  240,240,251,5

and received error : Not enough heap memmory.

but this is not the case if I put same command out on inbuilt EDITOR.

But it is not the case with version I sent to You.
And now I remember few days ago while working on program I received strange system hang. Full hang. I observed problem was at some line there was

INC

without any params , so it was strange why system alowed such a nonsense to run at all without any warnings.

And now I came to idea to investigate my program file with HEX editor.
It might be something unexpected inside! Some crash+save mistake.
And that would explai why only I observe such effects!
Going to investigate file.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 06:05pm 10 Oct 2024
Copy link to clipboard 
Print this post

If you change versions you should always re-load a program from source. Never rely on a program saved in flash. If I make any change to command or function tokens then a program in flash will be corrupt. When doing full releases I can trigger the release to automatically delete anything in flash but I don't normally do this while in development mode.
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2120
Posted: 06:12pm 10 Oct 2024
Copy link to clipboard 
Print this post

  matherp said  If you change versions you should always re-load a program from source. Never rely on a program saved in flash. If I make any change to command or function tokens then a program in flash will be corrupt. When doing full releases I can trigger the release to automatically delete anything in flash but I don't normally do this while in development mode.

I was recommended to use flash_nuke or flash_clear as reflashing left old options so do when updating firmware. clean slate
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 06:23pm 10 Oct 2024
Copy link to clipboard 
Print this post

Peter,

No-no. I know that. And I am saving to b:/ SD card new iterations "just in case" as I had enough scarry cases in my life to make backup and backup and backup "just in case". (And then headaches with backups of backups   )
Everey new session another day I start from loading from sd card last saved yesterday.
No way I would leave something in flash before updating and trust it. But I might made some mistake. Going back to investigation.

@stanleyella
Mostly yes. But in most cases it is not necessary.
But new habits come with unpleasant experiences  
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 161
Posted: 06:45pm 10 Oct 2024
Copy link to clipboard 
Print this post

Please tray who`s interested investigate.

Peter, Volhout,

I made quick search with HEX editor and did not noticed anything bad.
Rolled back like 10 iterations of my programming works and found same behaviour.
Then I took two program files.

TassyJim`s File manager
And JAVAVI file manager

And added simple drawing commands.
Now, on first run both works OK

Now, comment out one by one (do not use /**/) drawing commands and let run file manager itself.
Now uncomment back drawing commands.

With Jim`s file manager nothin bad happen.
Not the case with JAVAVI`s. As it uses largely TILE !

Do you observe problem I described earlier ?
If not, I will record and show. But I think this time you will observe


JAVAVI-FM.zip

FEpico.zip
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2120
Posted: 06:45pm 10 Oct 2024
Copy link to clipboard 
Print this post

I use mmedit win and it's all saved in win. but clearing flash IS safest cos I updated firmware and old firmware options not created were in option list. keyboard uk was the giveaway when new firmware is keyboard us
 
     Page 8 of 24    
Print this page
© JAQ Software 2024