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 : some one Please tell me I didn't mess it up
Author | Message | ||||
Rickard5 Guru Joined: 31/03/2022 Location: United StatesPosts: 328 |
So Last night I sold my soul. I may be going to the fiery place below, went to that book store Captain Kirk runs like a Chinese Labor Camp, and was looking for an ILI19488 LCD for a PM Project I have in my mind when Low and Behold I found This Please tell me this will work I drunk bought 2 of them I turned the volume on the monitor to max and could hear sound. Thanks Stanleyella |
||||
Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 367 |
See manual page 43. |
||||
hitsware2 Guru Joined: 03/08/2019 Location: United StatesPosts: 705 |
Those work great ! So much easier than trying to sort through the SPI wires my site |
||||
Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
A few of us have them |
||||
KD5ZXG Regular Member Joined: 21/01/2022 Location: United StatesPosts: 53 |
I have one or two. Do work, but gave up hope for console support and bought a pair of 7" parallel that I've been too busy of late to experiment. I wonder if one pico will be able to switch between them, or only disturb some necessary initialization. No big deal if two picos are the only answer. Edited 2022-05-08 14:38 by KD5ZXG |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 5645 |
AFAIK the PcoMite can only handle a single graphic LCD display. Even if you fudge the CS lines, I don't think you can ever get two because of the display initialisation process. You would need to run OPTION LCDPANEL twice, the results of which are stored in flash. The second run would overwrite the first. You can use some LCD displays as both the console and the graphics output, of course. If you want to use two parallel displays then you'll need a PicoMite each for the same reason, but you can link the PicoMites over I2C - but not to write directlt yo the other's display, it's too slow. Also, you haven't got many I/O pins left anyway. I did a little SSD1963 adapter board that incorporates a MX170 to get some I/O back. (There is a later version with dual PicoMites on - this is the minimalist version!). Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2282 |
wouldn't it be neat... having two picos, running in tandem. one generating the VGA output with nearly the whole 264k of RAM as a graphics buffer, and the spare core acting like a GPU. the other one running the mmbasic interpreter, with the spare core perhaps dedicated to providing a keyboard matrix scanner. cheers, rob :-) |
||||
Rickard5 Guru Joined: 31/03/2022 Location: United StatesPosts: 328 |
That is an Awesome Idea. I'm just Spitballing here, but wouldn't we want to keep the Hi Res Graphics Mode limited to 16 colors @ 280×192 so we have room for sprites :) I turned the volume on the monitor to max and could hear sound. Thanks Stanleyella |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 5645 |
If you want heavy graphic handling then the PicoMite isn't what you want. Get a CMM2. Linking two Picos has to use either serial or parallel interface: Parallel leaves you with few I/O pins but it's the faster option. Serial (SPI) leaves you with plenty of I/O but is *much* slower. In both cases you need I/O routines etc. before you consider a frame buffer. If you want buffered graphics then that buffer space is taken from any space left for your frame buffer - you can't magic over 264k. Even the CMM2 has to use very fast copying to get data from an external chip. The RP2040 can't match that speed. The RP2040 can't even copy RAM-RAM at the CMM2's speed. Before you even consider keyboard scanning on the Pico count the pins. 15 of those precious pins will give you 56 keys. You have 11 left. :) If you want to talk to another Pico using a parallel interface you will need (as a minimum, I think) 8 pins in 4-bit transfer mode. You now have 3. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2282 |
there is the slight problem of where to get your CMM2 from, or in particular the STM32H743 processor chip. the original waveshare PCB (https://www.waveshare.com/coreh743i.htm) currently lists for us$150. keyboard scanning (if you're wiring up the keyboard yourself) can can be done using charlieplexing (https://en.wikipedia.org/wiki/Charlieplexing) that requires 8 I/O lines for 56 keys, or 9 I/O lines for 72 keys. so keyboard and VGA output can be easily handled by a single pico running a suitable C application. if we target 640x480 graphics, 16-colour (RGB+I), that requires a frame buffer of around 160k, leaving 100k for miscellaneous graphics objects (sprites, character bitmaps, etc) and any code that requires to be RAM-resident. this seems pretty generous to me. since we would just be sending graphics commands from the MMbasic pico to the GPU pico, the communications overhead would be modest. sure, bitmaps etc would be uploaded once when your game starts running, but thereafter there would just be commands sent to say with to do with those objects. ie "place sprite #7 at coordinates 300, 400". this could easily be accommodated over a serial link: spi, I2c, or even ttl-rs232. the key point is that there are unlikely to be any more CMM2's built over the next few years due to lack of parts. there are also unlikely to be many more RPi's available, and the supply of PC's is also likely to become more limited. at the moment, the pico seems to be one of the few players left on the field. cheers, rob :-) Edited 2022-05-09 20:11 by robert.rozee |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 5645 |
Why not set up a couple of PicoMites and try this? Try I2C between them or even SPI, forget keyboard scanning for the moment - it's not needed. MMBasic is fast enough for a trial if you run it at max speed. If you can get something even remotely usable then you *might* get others interested. At the moment I doubt very much if that will happen. Bear in mind that it's not all about graphics - you are going to need some text handling, screen scrolling etc. and it will probably have to be on the display processor as otherwise it will very likely be way too slow. Your competition is: A) The SSD1963 version of the PicoMite. Fast, parallel interface LCD touch screen display. B) The PicoMite VGA, which runs with very little load on MMBasic as it uses the 2nd CPU and a PIO. Both will work with a PS/2 keyboard. You could probably make your own keyboard using a PicoMite as the scanner and convert the output to PS/2 so it will work with anything. Why tie up I/O pins? Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2282 |
i'm pretty sure that a serial bus between two picos that are sitting right next to each other will work. if it didn't, then the pico would not be of use for anything much at all - apart from perhaps flashing an LED. the onboard peripherals are there to be used for communications with off-chip devices. why do you think it would not work? well yes, that is what the GPU pico is there for. it would handle rendering text, scrolling areas of screen, and indeed just about everything associated with what you see at the VGA output. while the MMbasic pico would generate sequences of graphics (and text) commands, the GPU pico would carry them out. indeed, this is what a GPU is for. not really a competition. just a suggestion of how a dual-pico machine could be made to fill the gap that the CMM2 is no longer able to due to a chronic long-term lack of availability. the (existing) VGA MMbasic pico is a marvelous piece of software engineering, pulling together several projects to achieve a result that few of us would have believed possible a few years back. i'm just suggesting a way to add a US$5 component that will double the available RAM and add a whole load of other extra hardware resources to enable a far richer VGA experience to those who are so inclined. personally, i'd be more interested in lopping off the USB interface (it creates issues) and bolting on a 2nd pico to act as a terminal - acting much like Geoff's MX150-based ASCII Video Terminal. but that is a path i suspect others are less interested in cheers, rob :-) Edited 2022-05-09 22:54 by robert.rozee |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 5645 |
Doesn't matter how close the PicoMites are - there's a maximum speed that the interface can run at. COM is the slowest. I2C is next up and SPI is the fastest - but also the most difficult of the three to work with as the PicoMite implementation doesn't buffer received data, you have to keep checking for it (It's not a true SPI slave). The very fastest interface would be to use a PIO on each device,but you'd need a CPU core to handle the fast data (and the other to handle the display on one or MMBasic on the other). Of course, that takes you into the world of PIO programming and working in C - not for me. You have to do it on both devices and invent the protocol too. :) This is one reason why I'd suggest a lower speed test with what's currently available. What you're adding is a way to add extra RAM over a *very* slow and convoluted interface. :( Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Print this page |