![]() |
Forum Index : Microcontroller and PC projects : Do we have a PicoMiteVGA image editor ?
Page 1 of 2 ![]() ![]() |
|||||
Author | Message | ||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
Hi folks, Do we have an image editor that runs on the PicoMiteVGA, I need something that can handle 240 x 160 images and has the correct palette, hence looking at running on the PicoMiteVGA itself. As a bonus getting it running under MMB4L would help me move MMB4L forward. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 554 |
Hello, do you mean something like Paint? Look here: https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=17589 Greetings Daniel |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4975 |
Hi Tom, Before the above PAINT program existed, I used MS PAINT to create a picture, let the PicoMite load the picture with LOAD IMAGE / LOAD JPG, then did a SAVE IMAGE or SAVE COMPRESSED IMAGE and got it in the correct color palette for pico. Sometimes it did not convert well, and a manipulated the original in MS PAINT to improve. Then did the cycle again. I also tried with a limited palette in MS PAINT but that did not give much benefit. The LOAD SAVE cycle was simply to quick and immediately gave the good result. Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
Thanks Daniel, that is what I meant. In that post you showed an illustration from a PicoMite(VGA?) that had been modified to allow grey in the palette though you never posted a schematic ? TBH I'm becoming inclined to do something similar. Use MMB4L to reduce resolution and colour depth (probably to RGB333) and then KolourPaint (Linux) with the PicoMiteVGA palette for final editing down to RGB121. FYI I'm looking at producing an illustrated version of Scott Adams' Pirate Adventure: ![]() ![]() Illustrations by ChatGPT. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1212 |
RGB121: ![]() ![]() Just used my little MMB4Windows Program (MMB4L should also di the job): FN$="sandy-beach":W=240:H=160 '--------------------------------- mode 1 load png FN$+".png" for y=0 to h for x=0 to w cl%=0 n=Pixel(x,y)AND &HFFFFFF 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) 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: 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 Edited 2025-06-07 20:39 by Martin H. 'no comment |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
Thanks Martin, those look pretty good, perhaps I can go straight to RGB121 from the original images then. The reason to got to RGB333 and manually intervene was that I was worried about unnecessary reduction in clarity from many to one mappings. In theory AI should be able to do this for me, in practice I've had a lot of "fun and games" especially when I only get 4 image generations a day. My favourite exchange went something along the lines of: Me: Generate an image of a cave with a stone stairway on the left-hand side and a wooden door in an archway on the right-hand side. ChatGPT: Generates the describe image but with a dark tunnel out of the cave in the middle of the image. Me: Remove the tunnel in the middle of the image. ChatGPT: Generates EXACTLY the same image. Me: Is there a tunnel in the middle of the image ? ChatGPT: No. Me: Do you see the dark circle in the middle of the image ? ChatGPT: Yes. Me: That is a tunnel. ChatGPT: Oh yes, I'm sorry, you are correct, there is a tunnel in the middle of the image. Me: Remove the tunnel in the middle of the image. ChatGPT: Generates EXACTLY the same image. Me: ?#***!##!! Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
phil99![]() Guru ![]() Joined: 11/02/2018 Location: AustraliaPosts: 2535 |
You can get grey with a RGBI network, though for maximum compatibility with Pico VGA RGIB is better. RGIB resistors For image conversion I used a Pico LCD and a program (in the link above) to distort the colours so they would decode correctly through the RGB121 codec in the Pico VGA. |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1212 |
I asked Google Gemini: Generate an image of a cave with a stone stairway on the left-hand side and a wooden door in an archway on the right-hand side. ![]() 'no comment |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
It is amazing isn't it. I thought I didn't have access to Gemini image generation in the UK (or for that matter in Europe), but apparently we do. However, it still does what it likes: ![]() Not the default EGA palette, not 240 x 160 pixels, or even in the correct aspect ratio. However still amazing, if frustrating (I find trying to get consistent style is especially problematic) ... ... and maybe by feeding this image into ChatGPT I can get it to produce the image I really want. Best wishes, Tom Edited 2025-06-08 01:01 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1212 |
Me:unfortunately wrong again, please check the resolution and color depth again Gemini: 'no comment |
||||
Turbo46![]() Guru ![]() Joined: 24/12/2017 Location: AustraliaPosts: 1638 |
Hi Tom, That is an interesting project. I can see how moving to a new location can trigger the loading of a new image. But without changing the text of the adventure, how would you handle it when the scene changes? A door or chest is opened or a lamp is lit revealing something you couldn't see before. Change the illustration or just rely on the text? Would it be easier to start with something like Bruce Hansen's Mini Adventure? Cheers, Bill Keep safe. Live long and prosper. |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
Hello Bill, You are correct in your observations. At least in an initial pass I'm not intending to have dynamic illustrations, just a fixed one per location and rely on the text for any dynamic elements. Scott Adams & co. did produce an illustrated Pirate Adventure of their own and I believe that had at least one dynamic illustration (I've seen images of the attic with the bookcase both open and closed). I would guess that he either extended the instruction set / state model in some way for that version, or it was a "glorious hack". This project is more in the line of some light-hearted experimentation, perhaps with something more interesting and less derivative to follow at a later date ... or perhaps not. As my past collaborator I'll get the images so-far up in a github repo for you to take a look at. Best wishes, Tom Edited 2025-06-08 17:45 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
phil99![]() Guru ![]() Joined: 11/02/2018 Location: AustraliaPosts: 2535 |
One possibility may be small .BMPs for the door, chest, lit area etc. Use them like sprites, they load quite quickly on the PicoVGA. Especially if loaded from A:. > gui test lcdpanel 'stop with ctrl-c > SAVE image "bubtest.bmp", 99,99,111,111 > cls > load image "bubtest.bmp", 77,66 > Edit Link to a schematic in my previous post. Edited 2025-06-08 17:44 by phil99 |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
Hi Phil, It's not that I couldn't do it as you describe for a *specific* case (my so called "glorious hack"), it's that "Pirate Adventure" (like the other Scott Adams adventures) is a "program" that runs under a generic interpreter (https://github.com/thwill1000/cmm2-saaint-public/blob/main/src/interp.inc) so to do so "properly" would require developing a general extension to that interpreter - and that's just not something that floats my boat at the moment. Thanks, I kind of wish that had become the PicoMiteVGA standard rather than RGB121, bit it's too late to roll back time now ![]() Best wishes, Tom Edited 2025-06-08 18:39 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7735 |
I attempted a sort of 3D "adventure" some time ago. I did dynamic doors rather as you suggested, Tom. When closed you see the door, when open it's just black - you couldn't see into the next location. I can't see anything wrong in that. In fact, the walls and floor were surfaces that could be coloured. The door archways were polygons that were drawn over them, with the doors as further polygons inside them, covering the black area. It didn't get very far. IIRC there were about 5 locations. :) I never got round to having objects. I was trying to figure out if they could be represented in the image at all. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1212 |
so from this ![]() to this ![]() Edited 2025-06-08 19:26 by Martin H. 'no comment |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4975 |
The door could be on framebuffer L Martin: that is not PicomitVga color palette. Tom, if you like the 16 color Windows 95 palette more, we can standardize on that. Even when so late in the game, I am sure we can create a conversion for It. Modifying the hardware is simple. It can even be made switchable. Daniel did that. Volhout P.S. I like what you are doing. That was also on my long list of things to do. When I talked about Magnetic Scroll adventures. Edited 2025-06-08 19:42 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Martin H.![]() Guru ![]() Joined: 04/06/2022 Location: GermanyPosts: 1212 |
Martin: that is not PicomitVga color palette. sure it is ![]() 'no comment |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7735 |
Nice dithering. :) I like the black doorway effect. It makes it more mysterious. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4281 |
I like the black doorway effect. It makes it more mysterious. :) Yes, Martin should do all the graphics for me ![]() I don't know Harm, the "Boot to BASIC retro-computer" aspect of this group has bifurcated so many times it sometimes feels like each of us is a group of one. If I'm honest I think it came off the rails when the parts crisis "killed" the CMM2 ... those of us interested in reliving retro games development would have been better served if the only things that existed were the CMM2 (and perhaps the Game*Mite, or equivalent, I'm not precious, only mildly disappointed). Though personally I do have a soft-spot for the limitations presented by the PicoMiteVGA platform (with a better palette) ... but even that tri-furcated with the RP2350 and HDMI. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Page 1 of 2 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |