Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 02:36 29 Mar 2024 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 : some one Please tell me I didn't mess it up

Author Message
Rickard5

Guru

Joined: 31/03/2022
Location: United States
Posts: 328
Posted: 10:59pm 07 May 2022
Copy link to clipboard 
Print this post

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: Germany
Posts: 367
Posted: 11:08pm 07 May 2022
Copy link to clipboard 
Print this post

See manual page 43.
 
hitsware2

Guru

Joined: 03/08/2019
Location: United States
Posts: 705
Posted: 11:27pm 07 May 2022
Copy link to clipboard 
Print this post

Those work great ! So much easier than trying to sort
through the SPI wires  



my site
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 12:03am 08 May 2022
Copy link to clipboard 
Print this post

A few of us have them
 
KD5ZXG
Regular Member

Joined: 21/01/2022
Location: United States
Posts: 53
Posted: 04:33am 08 May 2022
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 5645
Posted: 06:47am 08 May 2022
Copy link to clipboard 
Print this post

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 Zealand
Posts: 2282
Posted: 09:59am 08 May 2022
Copy link to clipboard 
Print this post

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 States
Posts: 328
Posted: 09:54pm 08 May 2022
Copy link to clipboard 
Print this post

  robert.rozee said  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   :-)


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 Kingdom
Posts: 5645
Posted: 06:49am 09 May 2022
Copy link to clipboard 
Print this post

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 Zealand
Posts: 2282
Posted: 10:08am 09 May 2022
Copy link to clipboard 
Print this post

  Mixtel90 said  If you want heavy graphic handling then the PicoMite isn't what you want. Get a CMM2


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 Kingdom
Posts: 5645
Posted: 11:50am 09 May 2022
Copy link to clipboard 
Print this post

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 Zealand
Posts: 2282
Posted: 12:50pm 09 May 2022
Copy link to clipboard 
Print this post

  Mixtel90 said  Why not set up a couple of PicoMites and try this? [...] Try I2C between them or even SPI [...] If you can get something even remotely usable then [...]


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?


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


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.


  Mixtel90 said  Your competition is: [stuff deleted]


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 Kingdom
Posts: 5645
Posted: 01:16pm 09 May 2022
Copy link to clipboard 
Print this post

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


To reply to this topic, you need to log in.

© JAQ Software 2024