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 : PicoMiteHDMI framebuffer thoughts
Page 2 of 4 | |||||
Author | Message | ||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9110 |
One more question: Does the PicoMiteHDMI support a standard Pico2 or should it be based on the Pimoroni PGA2350? A motherboard for that could be easily designed to include HDMI, USB-A, USB-C, SDcard, RTC, + lot's of I.O. using through hole modules (Mixtel90?). It has the added advantage of 16Mb flash and 8Mb of PSRAM, not especially fast but great for lots of framebuffers like the CMM2. I could then design a SMD version for when the raw chips become available to be built by JLC |
||||
PhenixRising Guru Joined: 07/11/2023 Location: United KingdomPosts: 857 |
Pimoroni, Pimoroni, Pimoroni. Thing is wicked. I was also thinking of Mixtel90 |
||||
Sasquatch Guru Joined: 08/05/2020 Location: United StatesPosts: 362 |
My thought was to use the Pi Pico2 with existing VGA board designs and firmware. Perhaps a re-compile with a few tweaks to use the floating point features and extra RAM. When my pico2s arrive, I plan to test the "pin and code compatible" claims with the current PicoMite betas as well as the Doom port etc. I also have some of the Pimoroni modules "in the mail" as they say! Edited 2024-08-16 03:49 by Sasquatch -Carl |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6781 |
At the moment my design is round a standard Pico, so a Pico 2 should drop in. USB is provided by a little 4-port hub board found on AE and all USB-A sockets. I haven't got room for all four ports though. Not with all the other bits I've squeezed in. :) The Pico's USB-C port isn't accessible from outside the case as the hub plugs into it. There is a USB-C to TTL converter for the 5V and console. The PGA2350 would be an interesting alternative even though it's almost twice the price. I'll have a look at it. Yay!! My Pico 2 boards have shipped. :) Edited 2024-08-16 03:54 by Mixtel90 Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9110 |
This has been useful already. Here is my current thinking Reserve 640x480x4bits for graphics use (150Kb) allowing significant increase in program size and no constraints on performance optimisations (code in RAM etc.) This can be used as follows: Mode 1: 1 x 640x480x2colour framebuffer (1 bit per pixel) with tiles. Tiles can be any one of 256 colours minimum tile size of 2x4 pixels - user selectable - everything defaults to give compatibility with current mode 1 Mode 2: 4 x 320x240x16colour framebuffers (4 bits per pixel) out of a pallet of 256, does away with having to create the extra framebuffer and layer buffers in user memory and gives another general purpose framebuffer - everything defaults to give compatibility with current mode 2. Existing FRAMEBUFFER CREATE/LAYER commands enable rather than having to create saving big chunks of user variable space. Mode 3: 1 x 640x480x16colours (4 bits per pixel) out of a pallet of 256 colours Mode 4: 2 X 320x240x256colour (4 bits per pixel) framebuffers, pages can be swapped, copied or merged, additional framebuffer could be created in user memory - memory allowing (75Kb) Mode 5: 2 x 640x480x4colour framebuffers (2 bits per pixel) out of a pallet of 256 pages can be swapped, copied or merged, additional framebuffer could be created in user memory - memory allowing (75Kb) They won't and can't run - need to be re-compiled and variances fixed Edited 2024-08-16 03:59 by matherp |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4223 |
At the moment I have no indication tha Peter wants to support VGA on the pico2. It would be completely logical to keep the 2040 for VGA, and use the 2350 for HDMI applications. Cluttering the 2350 with VGA will make debugging a long story, especially with the potential new modes and backward compatibility and concersions under the hood. Volhout PicomiteVGA PETSCII ROBOTS |
||||
Sasquatch Guru Joined: 08/05/2020 Location: United StatesPosts: 362 |
WOW! This exceeds my wish-list by a large margin! I expect things may evolve or adapt as required during implementation. -Carl |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6781 |
My latest design uses VGA, but it will probably be a minor change to make this one HDMI. That's how I think I've designed it anyway. :) It couldn't do both, it's either one or the other. At the moment anyway........... If the Pico 2 isn't going to support VGA then I think we need something doing to the version numbering of MMBasic so that it isn't attempted. Especially by me 'cos I'm very easily confused nowadays... :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
works fine for me, on a relatively new 27" philips 1080p monitor over an HDMI connection: the mode predates VESA, and is a part of the VGA and original BIOS specifications, accessible as modes 2 and 3. i suspect many motherboards would have required it to be supported to use a textmode bios setup. but, a width of 720 pixels may still be beyond the abilities of the RP2350, and i am just offering it as a suggestion without any expectations; likely i'd be the only person who would use the mode! cheers, rob :-) Edited 2024-08-16 04:43 by robert.rozee |
||||
Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 509 |
I think making the 2350 vrrsion HDMI only is fine, if you only have a monitor that supports VGA, you can always use a HDMI to VGA dongle, very cheap & work perfectly, I use one on one of my Pies, where the monitor only had DVI or VGA, & DVI was already in use. Otherwise Peters proposed options a couple of posts back, look good to me, especially as it gives more RAM to MMbasic, but still allows an extra, optional framebuffer; might even be able to get that Chess program working better, from a couple of years back, seem to remember it was running out of stack, with deeper searches, speed will still be an issue, plus the originator seemed a bit sticky. Regards Kevin Edited 2024-08-16 05:31 by Bleep |
||||
al18 Senior Member Joined: 06/07/2019 Location: United StatesPosts: 205 |
Peter, I really like the 5 modes you defined. These resolutions line up well with retro computer from the 80’s. The 640 x 480 x 16 color mode should work well for ANSI graphics terminal. |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9306 |
The five modes Peter suggests above gets my vote, for what it's worth. I also agree that the new beast should be HDMI only, and drop the VGA. As mentioned, you can continue to use the 2024 ports if you need VGA, and HDMI-to-VGA adaptors are easy to find and cheap. The ONLY question I have about using HDMI, is the licensing. VGA is free for anyone to use, but any product or PCB that uses HDMI, usually requires a license from the HDMI association, if you are going to SELL the boards. Has that changed? I have not looked it up for a few years now, but if that rule is still in effect, then I would not be able to sell the new beast, if the HDMI output is NOT licensed, and also last time I looked, the HDMI license is VERY expensive. You can, naturally, use HDMI on your own boards and designs without worrying about that, but the moment someone like myself wants to SELL boards with an HDMI connector on them, that licensing comes into affect. I'm just hoping that I am out of touch, and perhaps the HDMI association have relaxed the rules in that department in recent years. Can anyone comment on that? Smoke makes things work. When the smoke gets out, it stops! |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
the RP2350 will output DVI over the physical HDMI connection, which attracts no licensing requirements. the only limitation is that you can not label it as HDMI or use the "HDMI" logo. calling it 'DVI over HDMI' should be fine. DVI is free, and signal compatibility with DVI is a part of the HDMI specifications. ie, an HDMI monitor needs to also support a DVI signal if presented with it. cheers, rob :-) |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9306 |
Ahhhh - that sounds OK then. I had forgotten about the DVI standard being backwards-compatible with HDMI. Good to know. Smoke makes things work. When the smoke gets out, it stops! |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
Just a thought for the resolutions with high memory requirements to save the memory for a 2nd framebuffer and layer: How about an extended classic sprite routine (or Gui Bitmap)where you can specify a mask at the same time (binary 1 pixel remains visible, 0 for deleting the pixel) , so when called, the background of the sprite would then be saved away, Mask would be logically gated to then the area on the screen with AND and then the actual sprite data would be ORed with it. If the sprite is deleted or moved, the originally saved memory is written back to the screen. Sprite: Mask: Background: Background AND Mask OR ing the Sprite just an idea Edited 2024-08-16 22:24 by Martin H. 'no comment |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9110 |
Demo of the five video modes on youtube |
||||
Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 509 |
Looks great, thanks Peter, the colours used can be any of the 255 possible ie rgb332, so somewhere you have to define the mapping, of say the 16 colours to 16 of the 255 possible? When will there be a alpha, ;-) looks like my new shiny pico will arrive tomorrow, (or the next day) depending on postie. ;-) Regards Kevin. |
||||
vegipete Guru Joined: 29/01/2013 Location: CanadaPosts: 1109 |
I've found that uneven numbers of bits per pixel colour to be a bit of a pain, particularly with respect to grey scale. rgb332 does not work well for shades of grey. rgbi2222 is much nicer, if possible. The 2 i bits are added as the 2 lowest bits to all three colours. So the 4 bits of red = rrii, green = ggii and blue = bbii. Is that possible to implement? Visit Vegipete's *Mite Library for cool programs. |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4223 |
Hi Pete, In essence that is in line with what I proposed. RGB222 (64 colors) is good for greyscale. The ii bits are a nice bonus. I am actually creating a hardware "pallette" for the VGA mite that is RGBI 1111. 3x390 ohm from GP18,20,21 to RGB, and 3x820 ohm from RGB to combined GP19. That gives (a very close approximation of) the Windows 95 16 color palette. Using jumpers right now, but I like it so much I may use a small DPDT relay, controlled fro pin GP25. On the VGA pico that pin is useless, since the audio and video outputs pull so much current the power supply is in continuous mode -or- in my case I use a linear regulator. Regards, Volhout Edited 2024-08-17 04:19 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9110 |
I can do RGB222 but nothing more complex |
||||
Page 2 of 4 |
Print this page |