![]() |
Forum Index : Microcontroller and PC projects : Introducing: GUI Editor for the PicoMiteVGA
Author | Message | ||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 576 |
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: GermanyPosts: 1566 |
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: GermanyPosts: 576 |
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 ![]() ![]() 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 ![]() Greetings Daniel Edited 2025-06-29 07:08 by Amnesie |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1566 |
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! ![]() causality ≠ correlation ≠ coincidence |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1566 |
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: GermanyPosts: 1566 |
oops! Edited 2025-06-29 17:43 by twofingers causality ≠ correlation ≠ coincidence |
||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 576 |
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 ![]() I love that win 95 look ![]() Greetings Daniel Edited 2025-06-29 08:04 by Amnesie |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1566 |
not only! ![]() causality ≠ correlation ≠ coincidence |
||||
Peter63 Regular Member ![]() Joined: 28/07/2017 Location: SwedenPosts: 54 |
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: GermanyPosts: 1566 |
@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: GermanyPosts: 576 |
@ 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: GermanyPosts: 576 |
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: NetherlandsPosts: 5023 |
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: GermanyPosts: 576 |
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: GermanyPosts: 1566 |
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: UkrainePosts: 453 |
@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: GermanyPosts: 576 |
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 |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |