Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 23:40 24 Nov 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 : PicoMiteHDMI firmware - first cut

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 06:10pm 21 Aug 2024
Copy link to clipboard 
Print this post

PicoMiteHDMI.zip

Should run on any RP2350 with pins GP12 to GP19 broken out.
Wiring:
GP12 : D0+  GP13 D0-
GP14 : CK+  GP15 CK-
GP16 : D2+  GP17 D2-
GP18 : D1+  GP19 D1-

This should behave pretty much like the VGA firmware. CPU speed is fixed at 315MHz and your screen will see 640x480@75Hz
The maximum number of variables is increased to 768 and the maximum number of function/subroutines/labels to 512.
Maximum program size is now 180Kbytes and there is 42Kbytes used for simple variables and variable headers and another 180Kbytes for arrays and strings.
I expect with the M33 core that it should be possible to enable MP3 playback with just the standard audio connections. This is the next job.
There are many conditional compilation directives to support the HDMI/RP2350 version with exactly the same codebase as all other Picomite variants so there may well be bugs and/or functionality I have patched out and not yet converted - please report anything you find


At the moment graphics modes 1 and 2 are implemented and things like frame-buffers and layer-buffers should work like the VGA version EXCEPT that when creating them you don't use any of the user memory. Set OPTION COLOURCODE ON to have colour highlighting in mode 1 editing as before.

The map command is now more powerful and will work in mode 2.

MAP(n)=RGB888colour 'n=0 to 15

'this sets up an internal mapping for colour n in RGB555

MAP SET

'this actions any previous map(n) commands and the screen will then change colour. So you can now use any 16 of 32768 colours in mode 2

MAP RESET

'sets the mapping back to the default RGB332 mapping

MAP GREYSCALE/GRAYSCALE

'instantly changes all 16 colours to greyscale levels. Try this then do GUI TEST LCDPANEL to see the effect. You can then still use the MAP(n)/MAP SET to change some of the greys to another colour

MAP MAXIMITE

'instantly changes all colours so that colours 0 to 7 are the same as the colour Maximite

REMEMBER to access a mapped colour use the MAP function

MAP(1)=RGB(50,50,50):MAP SET
TEXT 0,0,"Hello world",,,,MAP(1) 'output text in the grey colour just defined

PSRAM can be enabled with

OPTION PSRAM PIN n ' n=0, 8, 19, or 47. If this is done on a RP2350 without PSRAM then the option will be automatically disabled.
To access PSRAM use the address &H11000000

e.g.
poke word &H11000000,&H12345678
? peek(word &H11000000)

More to come on this later



Edited 2024-08-22 04:11 by matherp
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1113
Posted: 06:23pm 21 Aug 2024
Copy link to clipboard 
Print this post

Thank you Peter

with the Map command we are able to redefine the Color pallet at runtime, right?
So it should be possible to make those deluxe paint color mapping animation like on the AMIGA back then

I'll test it out as soon as I get the Pico 2
Edited 2024-08-22 04:28 by Martin H.
'no comment
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6780
Posted: 08:36pm 21 Aug 2024
Copy link to clipboard 
Print this post

@Peter

When using the USB version, are GP8 and GP9 bitbanged as a serial oprt or is COM2 used for the console? Just trying to sort out whether to put a ESP on COM2.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
al18
Senior Member

Joined: 06/07/2019
Location: United States
Posts: 205
Posted: 08:31am 22 Aug 2024
Copy link to clipboard 
Print this post

Peter,
What Pico2 hardware are you using?
Based on the info you’ve mentioned, I’ll guess Pimoroni Pico Plus 2 with the Adafruit DVI breakout board 4984
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 08:43am 22 Aug 2024
Copy link to clipboard 
Print this post

  Quote  What Pico2 hardware are you using?


My own little adapter board (gerbers on the other thread ) and a breadboarded Pimoroni PGA2350



Edited 2024-08-22 18:47 by matherp
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 04:10pm 22 Aug 2024
Copy link to clipboard 
Print this post

For completeness, I have run the BubbleUniverse on this HDMI version, as well as the others and get the following results:-
2040  VGA  @ 378MHz bubble runs at 286mS per frame
2350A VGA  @ 378MHz bubble runs at 163mS per frame
2350A HDMI @ 315MHz bubble runs at 191mS per frame
For VGA approx. a 1.75 times speed up, over 2040 VGA. :-)
For HDMI approx. a 1.5 times speed up, over 2040 VGA, only limited by the fact that the core frequency is 315Mhz (HDMI clock requirement) as opposed to 378Mhz for VGA.
Not too shabby. I'll have to increase the number of points it plots to slow it down again ;-)
Otherwise everything I have so far tested is working fine on the PicoMiteHDMI, display quality looks good stable & sharp & full screen. :-)

Regards Kevin.
Edited 2024-08-23 02:47 by Bleep
 
Print this page


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

© JAQ Software 2024