![]() |
Forum Index : Microcontroller and PC projects : Do we have a PicoMiteVGA image editor ?
![]() ![]() |
|||||
Author | Message | ||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10226 |
The HDMI version of the PicoMite has massive advantages over VGA especially for this sort of thing - full colour support, or stay with 16 colour but pick any 16 from 65536 using the map capability. If there were to be a simplification my vote would go for just 3, the RP2350 PicoMite, RP2350 WebMite + RP2350 HDMIUSB. The RP2350 is completely software compatible with the RP2040, is faster, has more memory, has a better ADC and MMBasic circumvents E9. It would certainly make my life easier. I will probably stop RP2040 development after 6.00.02. I've then got some fun ideas for the RP2350 PicoMite using a proper in-memory framebuffer and with the 2nd CPU updating the physical display in the background. I've played with this already and can get 50Hz full screen refresh rates on a SPI ILI9341. Stick a RP2350 onto the Game*Mite with this support and the opportunities are endless |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4301 |
Spun off https://www.thebackshed.com/forum/ViewTopic.php?PID=240499 in the hopes of avoiding further platform discussion in this thread - sorry, I probably started it. Tom Edited 2025-06-08 21:24 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1220 |
This is useful because the MAP command can also be used to display gray and brown tones. This does not change the file size. Unfortunately, this would also leave out many VGA users, which in my opinion would severely limit the distribution and acceptance of the program. One solution would be to use 2 graphics packages, one for VGA and one for HDMI. But let's let Tom write the game first. ![]() Have you adjusted the load image routine so that it takes the colors from a 4-bit BMP correctly for HDMI? Cheers Martin 'no comment |
||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 624 |
Sorry, here is the schematic: Schematic_gainta_2025-06-08.pdf Greetings Daniel |
||||
Turbo46![]() Guru ![]() Joined: 24/12/2017 Location: AustraliaPosts: 1639 |
I feel that the colour depth on the VGA is not great enough. If the images could be made suitable for the Pico HDMI, MMB4W, MMB4L and the CMM2 that would reach a wider audience. It's Tom's baby of course but I would choose that option with a view to later down grading the colour depth to suit the VGA version. Who knows, there may be a 2350 VGA with greater colour depth in our future? Speaking of an audience, how many members have actually used SAAINT to any extent? Not too many have tried it and persisted with any adventure I expect. Bill Keep safe. Live long and prosper. |
||||
phil99![]() Guru ![]() Joined: 11/02/2018 Location: AustraliaPosts: 2603 |
Assuming firmware support is practical, the existing 4 colour pins could have a selection of plugin resistor modules for different palettes. For Images matching codecs would be needed. If firmware support isn't viable it can be done in Basic and pre-processing for images but it is a bit clumsy. |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7852 |
HDMI uses only two more pins than RGB121. You could, potentially, use RGB222 VGA for the same number of pins but that's still only 64 colours and you don't get the benefit of the HSTX to push the data out faster. Of course, the frame buffer is bigger to make space for the extra colour bits. So there is more data to move. IMHO there is nothing to be gained by using VGA now other than the fact that the connector is easier to solder. If you accept that both RP2350 VGA and (poor) HDMI displays handle a maximum resolution of 640x480 then HDMI still wins hands down as the 16 available colours are mapped from RGB555 and you get the HSTX speed. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Bleep Guru ![]() Joined: 09/01/2022 Location: United KingdomPosts: 625 |
Or simply use a very cheap, self powered HDMI to VGA dongle. Then you have all the advantages of MMBasic HDMI but on a VGA screen, with no rewiring and full MMBasic support? |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7852 |
I used one when I got my first Raspberry Pi. :) That monitor had VGA and DVI sockets. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4301 |
Martin, what software are you using to achieve your dithered images using the RGB121 palette ? Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1220 |
Tom I use “ditherit.com" for dithering. But the image I posted was a mixture of dithering and a simple customization of an image in MM-Basic 4 Windows: 'ForPico.bas In the program, you can adjust the threshold values as required to obtain a useful result.'MMB4W Modes etc. Loads a source PNG and translatet ist to 121 RGB BMP 'Source Filename,width and height here FN$="source":W=124:H=240 '--------------------------------- mode 1:'(MMB4W Mode) load png FN$+".png" for y=0 to h for x=0 to w cl%=0 n=Pixel(x,y)AND &HFFFFFF '-->get Red r=n AND &HFF if r>96 and r<128 then if (y mod 2)then R=255*(x mod 2) else R=255*not (x mod 2) endif end if inc cl%,255*(r>127):n=int(n/256) '-->get Green g=n AND &HFF select case g case >191 inc cl%,&HFF00 goto weiter case >127 inc cl%,&H8000 goto weiter case >63 inc cl%,&H4000 end select weiter: '-->get Blue n=int(n/256) b=n AND &HFF inc cl%,&Hff0000*(b>64) pixel x,y,cl% next next save image FN$+".bmp",0,0,w,h I then merged both images into one using Paint.net, i.e. I took the parts I liked better from the respective version.(An alternative to Paint.net is Pinta, designed for Linux and Mac,) Edited 2025-07-02 04:37 by Martin H. 'no comment |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4301 |
Thanks again Martin. Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Turbo46![]() Guru ![]() Joined: 24/12/2017 Location: AustraliaPosts: 1639 |
Hi Martin, I'm trying to use AI to generate some images for Tom. The nearest AI can get to 240x160 is 1536x1024 which I can easily reduce using MS Paint. I changed the image size in the program to: FN$="source":W=240:H=160 and it worked well. Thank you Martin. I tried using the original size of 1536x1024 but got an error message "Image too large". Time to RTFM. The manual says that mode 16 will do 1920x1080 so I made that change to the program. mode 16:'(MMB4W Mode) (The colon is redundant) The result was that a message flashed up on the screen and disappeared too quickly for me to read and left a blank screen in it's wake. AI does not seem to like to use only the colours I want (to suit the Pico VGA palette). I need to generate an image, convert the colours using the above program, correct the original and repeat until I get a useful image. I would prefer to use the original file size if possible as it would remove one step from the process and, I suspect, produce a better end result. If anyone does know if MMB4W can LOAD a PNG image of 1536x1024 and point out my stupid mistake I would be very grateful. Bill Keep safe. Live long and prosper. |
||||
![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |