Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:07 02 Jul 2025 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 : Introducing: GUI Editor for the PicoMiteVGA

Author Message
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 06:50pm 28 Jun 2025
Copy link to clipboard 
Print this post

Hello all,

since I need some GUIs for my project all the time, I was tired to start every single time at zero. So I thought: "well let's SIMPLY write a program for that"... uhm.. easier thought than done. My editor is still in beta (obviously!) but as it turns out: it works really really well and saves me a lot of time.

First some pictures:













A few words on my setup (see pictures)... I often said this many times. I am not happy with the colour palette of the VGA version, since it is missing grey. On my own designed PCB I made it switchable via jumpers, so you can choose between standard picoVGA and a pseudo windows 95 16 colour palette. In another thread I posted a schematic of exactly this PCB. So I designed this editor around my "grey" mod. So if it hurts your eyes for the standard picoVGA, just change them in the code!

The second point is: At the moment it is designed for:

Resolution 720 and Mode 3... Maybe I will add more modes later on...
I use it with PS/2 mouse and keybaord. Maybe for USB you must adjust the code!

What can you do with it? Well.. At this moment in time, you can:

- create one window
- add "items":
- Checkboxes
- GroupBoxes
- Buttons
- Entry Form
- Edit its height & width and set coordinates
- Change colours of every item (foreground, background, text)
- Finally: save the whole GUI / window with mouse integration as a *.bas

TODO:
functionality:
- better save function, in which you can choose if you want the mouse integration etc.
- way more editing options (especially entry form, to choose the option to enter only numbers, for example)
- allow more items
- text item is at the moment with no function
- allow to enter a specific variable name for the window, this allows to "connect" more GUIs / windows together in one file

Acknowledgements:
a lot of rework for less code and mention the author of the functionality I used for the "entry form" item. I think this was Michael from Germany?! He adapted it from the pico file manager - I have to look that up, cause the forum search is terrible. The colour palette idea is from Peter, who used it in his "paint" program.

At this state there is still much work to do, but since it is so helpful and time saving already I thought I share it with you, even at this state.

The GUI Editor:

gui_editor_b20.zip



Greetings
Daniel
Edited 2025-06-29 05:09 by Amnesie
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 08:24pm 28 Jun 2025
Copy link to clipboard 
Print this post

Hi Daniel,
that looks really promising! Congratulations!

... .. I often said this many times. I am not happy with the colour palette of the VGA version, since it is missing grey. ...


Unfortunately, I don't have a VGA device. Maybe this will help or give you some ideas? I'm not sure I understand the problem correctly. For me (HDMI, mode), the example shows grayscale on the screen.

For i = 0 To 15
Map(i)=RGB(i^2,i^2,i^2)
Next
Map set

For i = 0 To 15
 Color Map(i),Map(i)
 Print i
Next

or simply "MAP GREYSCALE"?
I'm curious to see your progress.
Regards
Michael
causality ≠ correlation ≠ coincidence
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 08:47pm 28 Jun 2025
Copy link to clipboard 
Print this post

Hello  Michael,

in the VGA device it is not possible to map grey into the software, it can only be implemented via hardware tricks. There is a whole thread about this. I don't really like the HDMI version (SMD .. and I am not a fan of breakoutboards) but MAYBE I will take a look at it in near future.

Another thing; I've already mentioned it in the initial post. I want to acknowledge the work I've used for the "Entry Form" routine. It was originally namend something like "LineEdit" and seems to be from a fork of the pico file manager. Is that piece of code from you, Michael? I can't find anything via the forum search... maybe I am just to dumb to use it correctly   . Anyways, if it is from you, I want to mention you in the code. This is genius! I often save interesting or useful code on my desktop and later don't find the source...  

EDIT: I was finally able to handle the forum search function! And yes, this piece of code (LineEdit) is from you! I've now mentioned you in the code   You can't believe how often I use this in my own (private) fun projects! Previously I used the MMBASIC INPUT function... which is... not good.

Greetings
Daniel
Edited 2025-06-29 07:08 by Amnesie
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 09:08pm 28 Jun 2025
Copy link to clipboard 
Print this post

  Amnesie said  ... in the VGA device it is not possible to map grey into the software, ...

That's a shame!
Pico color management is already very complex, especially because of the different displays (HDMI, VGA, LCD).

Yes, the LineEdit (called InputE here) is mine. But I saw that you've expanded it considerably, it's hardly recognizable!    Great! I'm glad you were able to continue using it!
causality ≠ correlation ≠ coincidence
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 09:39pm 28 Jun 2025
Copy link to clipboard 
Print this post

By the way, your project reminds me of this:

https://www.thebackshed.com/forum/ViewTopic.php?TID=13615&P=1
causality ≠ correlation ≠ coincidence
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 09:43pm 28 Jun 2025
Copy link to clipboard 
Print this post

oops!
Edited 2025-06-29 17:43 by twofingers
causality ≠ correlation ≠ coincidence
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 09:47pm 28 Jun 2025
Copy link to clipboard 
Print this post

  twofingers said  By the way, your project reminds me of this:

https://www.thebackshed.com/forum/ViewTopic.php?TID=13615&P=1


Wow! This looks professional! I've never knew that there IS a GUI Editor for MMBASIC, but as it seems it only supports the CMM2      ... my MMBASIC journey initially started with the CMM1 and I've even had an CMM2.. but there are so many reasons I dislike it. The biggest point is the price and availability + obsolecence statements... To be perfectly clear, I only dislike the CMM2 for its STM-chip, not the MMBASIC implementation. But this would be another topic to discuss. What Peter accomplished with the PicoMite Variants is just insane.. like squeezing water out of stone. And the picos cost next to nothing + raspberry pi's obsolecence policy is phenomenal.

I love that win 95 look  

Greetings
Daniel
Edited 2025-06-29 08:04 by Amnesie
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 10:30pm 28 Jun 2025
Copy link to clipboard 
Print this post

  Amnesie said  ... but as it seems it only supports the CMM2 ...   

not only!
causality ≠ correlation ≠ coincidence
 
Peter63
Regular Member

Joined: 28/07/2017
Location: Sweden
Posts: 54
Posted: 02:42am 29 Jun 2025
Copy link to clipboard 
Print this post

Hello Daniel

Seems like a good idea, even for VGA mode. Good job according to the pictures. I haven't had the time to check the program. But I can only understand that there is someone who has put in a lot of effort into the coding.

/Peter63
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 10:00am 29 Jun 2025
Copy link to clipboard 
Print this post

@Daniel

By the way, it's amazing that you're introducing this project now, because just a few days ago I was thinking about what it would be like to use something like this for a  PicoSynth (a simple Synthesizer for Picos).

Michael
causality ≠ correlation ≠ coincidence
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 11:37am 29 Jun 2025
Copy link to clipboard 
Print this post

@ Peter63

Thank you, in my new version, I acknowledged you too, because I "borrowed" your idea for the colour palette! I love this simplicity!

@ Michael

being a musician myself I would be very interested in this synth project!

in the current version there is support for more items already. But for now, I have to do other things for my daytime job. In a few days I have some time to work on it again  

Greetings
Daniel
Edited 2025-06-29 21:39 by Amnesie
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 08:09pm 29 Jun 2025
Copy link to clipboard 
Print this post

Small update:

- fixed bug in button item, now it is possible to change the text colour (middle mouse)
- rearranged code in subroutines, MAIN LOOP is now clean
- small fixes in mouse routine
- Acknowledgements added (Michael & Peter)

Next update will be:

- more items
- allowing more than three items each
- entry form will have more editing options (eg. allowing only numbers as input & input length)


gui_editor_b21a.zip


Greetings
Daniel
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5023
Posted: 08:01am 30 Jun 2025
Copy link to clipboard 
Print this post

Hi Daniel,

Any chance I can get a blank pico main board from you ?
I like the feature set you implemented.

Volhout
P.S. I am also interested in a populated board. If you are selling ?
Edited 2025-06-30 18:02 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 08:32am 30 Jun 2025
Copy link to clipboard 
Print this post

  Volhout said  Hi Daniel,

Any chance I can get a blank pico main board from you ?
I like the feature set you implemented.

Volhout
P.S. I am also interested in a populated board. If you are selling ?


Hello Volhout,

this isn't a problem I have a lot of boards here (including panels). If you don't mind, write me an email (amnesie@posteo.de). I think shipping shouldn't be a problem to the netherlands from germany  

At the moment I have no populated board, but unpopulated ones. If you don't have the audio IC, I have tons of them here - no problem. But please have a look at my PCB layout & schematics - so if there are any questions I can help with that. Just write me an email, what you need and if you have any questions.

Here you go:


picoMiteVGApcb.pdf


picoMiteVGASchematics.pdf

- There are a lot of features, VGA colour selectable via jumpers etc.
- there are SMD parts, BUT I chose the biggest SMD-footprint and it is easy to solder with flux (flux is the keyword!).
- there is no "typical" diode as reverse polarity protection but a mosfet (way better!)
- mouse and keyboard, both with level shifters (2N7002)

Greetings
Daniel
Edited 2025-06-30 18:33 by Amnesie
 
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1566
Posted: 08:52am 30 Jun 2025
Copy link to clipboard 
Print this post

  Amnesie said  @ Michael

being a musician myself I would be very interested in this synth project!

Hi Daniel, currently, it's not ready to be shared (it's messy). If I manage to clean it up a bit, I'll let you know. Don't promise too much, though. The Pico's resources are limited (as you know), and I only needed it for sound snippets under 0.5 seconds. I used "PLAY LOAD SOUND" for that. But in principle, it's not a problem to write a WAV file and play it back later.

Regards
MIchael
causality ≠ correlation ≠ coincidence
 
javavi

Guru

Joined: 01/10/2023
Location: Ukraine
Posts: 453
Posted: 03:24pm 30 Jun 2025
Copy link to clipboard 
Print this post

@Amnesie

Hello Daniel,
To quickly switch the color palette of the VGA121, a push-button switch can be made on the board instead of jumpers.

 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 576
Posted: 03:55pm 30 Jun 2025
Copy link to clipboard 
Print this post

Hi javavi,

I also thought about that and have proper switches here, but there is no room left on my pcb to implement it without messing around with too long pcb tracks.In 99% of the time I have it set to the "Windows 16 colour palette" ... only made it switchable for others than me, who use the standard palette.

Greetings
Daniel
Edited 2025-07-01 01:56 by Amnesie
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025