Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 04:45 12 Jun 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 : Do we have a PicoMiteVGA image editor ?

     Page 1 of 2    
Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4281
Posted: 06:10pm 06 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 554
Posted: 08:58pm 06 Jun 2025
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 4975
Posted: 08:42am 07 Jun 2025
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 4281
Posted: 09:12am 07 Jun 2025
Copy link to clipboard 
Print this post

  Amnesie said  do you mean something like Paint?

Look here: https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=17589


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 ?

  Volhout said  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 ...


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: Germany
Posts: 1212
Posted: 10:34am 07 Jun 2025
Copy link to clipboard 
Print this post

  thwill said  
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.

Best wishes,

Tom

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 Kingdom
Posts: 4281
Posted: 12:25pm 07 Jun 2025
Copy link to clipboard 
Print this post

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: Australia
Posts: 2535
Posted: 12:58pm 07 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1212
Posted: 02:38pm 07 Jun 2025
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 4281
Posted: 03:01pm 07 Jun 2025
Copy link to clipboard 
Print this post

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:

  Quote  Generate me an image. The image should be in a pixel art style 240 x 160 pixels. The image should use the default EGA palette. The image is of a cave. The floor of the cave is covered by a pool of water. In the left wall of the cave is a stone archway containing a brown wooden door with a keyhole. At the back of the cave a stone stairway winds up into the darkness.




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: Germany
Posts: 1212
Posted: 04:21pm 07 Jun 2025
Copy link to clipboard 
Print this post

Me:unfortunately wrong again, please check the resolution and color depth again
Gemini:
  Quote  I apologize, but I am unable to guarantee the exact 320x160 pixel resolution and adherence to the precise EGA color palette with the image generation app. I have attempted to generate the image as closely as possible to your specifications, but the tool does not allow for such fine-grained control.

'no comment
 
Turbo46

Guru

Joined: 24/12/2017
Location: Australia
Posts: 1638
Posted: 02:52am 08 Jun 2025
Copy link to clipboard 
Print this post

  Tom said  FYI I'm looking at producing an illustrated version of Scott Adams' Pirate Adventure:

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 Kingdom
Posts: 4281
Posted: 07:37am 08 Jun 2025
Copy link to clipboard 
Print this post

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: Australia
Posts: 2535
Posted: 07:37am 08 Jun 2025
Copy link to clipboard 
Print this post

  Quote   A door or chest is opened or a lamp is lit revealing something you couldn't see before.
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
  Quote  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 ?

Link to a schematic in my previous post.
Edited 2025-06-08 17:44 by phil99
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4281
Posted: 08:01am 08 Jun 2025
Copy link to clipboard 
Print this post

  phil99 said  One possibility may be small .BMPs for the door, chest, lit area etc. Use them like sprites, they load quite quickly on the PicoVGA.


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.

  phil99 said  
  Quote  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 ?

Link to a schematic in my previous post.


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 Kingdom
Posts: 7735
Posted: 08:55am 08 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1212
Posted: 09:20am 08 Jun 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  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.

so from this



to this

Edited 2025-06-08 19:26 by Martin H.
'no comment
 
Volhout
Guru

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

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: Germany
Posts: 1212
Posted: 09:50am 08 Jun 2025
Copy link to clipboard 
Print this post

  Volhout said  
Martin: that is not PicomitVga color palette.

sure it is


'no comment
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7735
Posted: 10:10am 08 Jun 2025
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 4281
Posted: 10:39am 08 Jun 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  Nice dithering. :)
I like the black doorway effect. It makes it more mysterious. :)


Yes, Martin should do all the graphics for me .

  Volhout said  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.


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    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025