Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 00:52 25 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 : RP2350 firmware

     Page 7 of 20    
Author Message
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 02:41pm 31 Aug 2024
Copy link to clipboard 
Print this post

  JanVolk said  >... and the contents of drive A: are erased.

Jan


this is normal at the moment

Matthias
 
matherp
Guru

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

Martin's program works in Mode 2 but not not quite in Mode 3


Which program?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6781
Posted: 03:11pm 31 Aug 2024
Copy link to clipboard 
Print this post

It's not unusual that DVI needs a direct connection. It isn't HDMI and doesn't have the necessary control signals - DVI is only partially compatible.
Mick

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

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 03:33pm 31 Aug 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  It's not unusual that DVI needs a direct connection. It isn't HDMI and doesn't have the necessary control signals - DVI is only partially compatible.

this makes sense
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 03:34pm 31 Aug 2024
Copy link to clipboard 
Print this post

  matherp said  
Martin's program works in Mode 2 but not not quite in Mode 3


Which program?


https://www.thebackshed.com/forum/ViewTopic.php?TID=17173&P=6#225699
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 03:44pm 31 Aug 2024
Copy link to clipboard 
Print this post

Seems to work for me - what are you seeing that I'm not?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6781
Posted: 03:46pm 31 Aug 2024
Copy link to clipboard 
Print this post

I can confirm that BUTBANG and DEVICE for the WS2812B don't work. There is no error message. I'm using GP22, with a direct connection to the LED. I've temporarily patched in a different Pico onto the same 3V3 and GP pin of the socket and the LED is working fine so the connections & pcb are ok.

Pico 2. HDMI+USB version. b2

.
Edited 2024-09-01 02:02 by Mixtel90
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: 2350
Posted: 05:25pm 31 Aug 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  It's not unusual that DVI needs a direct connection. It isn't HDMI and doesn't have the necessary control signals - DVI is only partially compatible.


are you able to provide a reference for this?

as far as i am aware, an HDMI receiving device (such as an LCD screen) by design must also be capable of handling a DVI input signal. and if an HDMI outputting device (such as a DVD player) finds itself driving into a DVI display it must, again by design, produce DVI compatible output signals. these requirements, of course, being subject to mutually compatible resolutions and the success of any requisite HDCP key negotiations.

now it is still possible that the RP2350 may not produce a 100% compliant DVI signal (which is not against the law), and it is also possible that some devices labelled as HDMI are in fact not 100% HDMI compliant (in which case they are not legitimate HDMI devices).


cheers,
rob   :-)
 
matherp
Guru

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

  Quote  I can confirm that BUTBANG and DEVICE for the WS2812B don't work

Bloody pipelined processors. Code which works on the RP2040 doesn't on the RP2350. Have found the issue and will fix in the next iteration. Probably affects all RP2350 versions
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6781
Posted: 05:58pm 31 Aug 2024
Copy link to clipboard 
Print this post

This is quite good. Doctor HDMI

DVI can't handle the higher resolutions of HDMI at all. The clock and data frequencies are way too low. Also, it has no audio support. HDMI is much newer. If there is going to be any compatibility it is the HDMI device that adjusts itself to suit the DVI one.

I think it can be assumed that if the DVI signal from a Pico 2 is being accepted and displayed correctly by a HDMI monitor then the signal must be correct and the HDMI display is handling it correctly. However, there's no guarantee that any intermediate device wouldn't mess it up.

.
Edited 2024-09-01 04:11 by Mixtel90
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: 2350
Posted: 06:29pm 31 Aug 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  This is quite good. Doctor HDMI

DVI can't handle the higher resolutions of HDMI at all. The clock and data frequencies are way too low. Also, it has no audio support. HDMI is much newer. If there is going to be any compatibility it is the HDMI device that adjusts itself to suit the DVI one.

I think it can be assumed that if the DVI signal from a Pico 2 is being accepted and displayed correctly by a HDMI monitor then the signal must be correct and the HDMI display is handling it correctly. However, there's no guarantee that any intermediate device wouldn't mess it up.

.


the link contains an excellent article     key point is "High-Definition Multimedia Interface (HDMI), a forward-compatible standard that also includes digital audio transmission". ie, an HDMI device must support/accommodate attachment to a [single link] DVI device (albeit with limitations).

i did also notice the interesting line: "To ensure a basic level of interoperability, DVI compliant devices are required to support one baseline video mode, "low pixel format" (640×480 at 60 Hz.)". this makes me wonder if we should not be using a 60Hz refresh rate, rather than the 75Hz that is currently used. any comment, Peter? would it be practical to have the rate switchable between 60Hz and 75Hz?


cheers,
rob   :-)
Edited 2024-09-01 04:31 by robert.rozee
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6781
Posted: 06:43pm 31 Aug 2024
Copy link to clipboard 
Print this post

It may be possible to get 60Hz - but only by reducing the system clock frequency. It'll be done with smoke, mirrors and clock division ratios I suspect.
Mick

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

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2120
Posted: 08:05pm 31 Aug 2024
Copy link to clipboard 
Print this post

Connected to COM11 at 115200
option list
PicoMiteVGA MMBasic USB Edition  6.00.00b2
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD UK
OPTION CPUSPEED (KHz) 252000
> OPTION AUDIO GP0, GP1
Error : Pin 2/GP1 is in use
>

I dunno why
but the usb vga keyboard works. thanks for this version. bet you wished you never started pico2 support. star you are Mr.math sir
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 08:19pm 31 Aug 2024
Copy link to clipboard 
Print this post

@Peter,

Running the PicoMite 6.0 b2 software (non VGA).

This code shows the new 2350 mnemonics and MMBasic commands work.







This is the test program. It checks the PIO(READFIFO ) and PIO WRITEFIFO commands, as well as the mnemonics for MOV RXFIFO[y],isr and MOV RXFIFO[number],isr

The other mnemonics are not tested (MOV osr,RXFIFO[]), but compile okay, and the interface command PIO WRITEFIFO works. So I see not reason why it should not also work.

The code

'only for RP2350 assembler. this does not work on RP2040

pio clear 1

pio assemble 1,".program test"
pio assemble 1,".line 0"
pio assemble 1,"set y,4"            'just a value 4 in Y
pio assemble 1,"mov isr,y"          'copy Y to isr
pio assemble 1,"jmp y--,next"       'y=y-1 always to next
pio assemble 1,"next:"
pio assemble 1,"mov rxfifo[y],isr"  'should program 4 in fifo [3]
pio assemble 1,"mov isr,y"          'copy Y to isr
pio assemble 1,"mov rxfifo[2],isr"  'should program 3 in fifo [2]
pio assemble 1,"jmp 0"              'repeat
pio assemble 1,".end program"
'pio assemble 1,".end program list"

f=1e6 '1MHz

'PIO(EXECCTRL a,b,c)
'a/ the GPIO pin for conditional JMP (e.g. GP0)
'b/ the WRAP TARGET line number(e.g. 1)
'c/ the WRAP line number(e.g. 2)
e=pio(execctrl gp0,0,31)  'default value, not actually changed

'PIO(SHIFTCTRL a,b,c,d,e,f,g,h,i,j)
'a/ push threshold (leave 0 for now)
'b/ pull threshold (leave 0 for now)
'c/ autopush (leave 0 for now)
'd/ autopull (leave 0 for now)
'e/ IN-shiftdir (1 = shift MSB, 0 = shift LSB)
'f/ OUT-shiftdir (1 = shift MSB, 0 = shift LSB)
'g/ fjoin_rx (join TX and RX fifo to 1 RX fifo)
'h/ fjoin_tx (join TX and RX fifo to 1 TX fifo)
'i/ FJOIN_RX_GET, when 1 ARM can write individual RX FIFO registers
'j/ FJOIN_RX_PUT, when 1 ARM can read individual RX FIFO registers
sr=pio(shiftctrl 0,0,0,0,0,0,0,0,0,1) 'read individual RX, RX=3 deep
sw=pio(shiftctrl 0,0,0,0,0,0,0,0,1,0) 'write individual RX, RX=3 deep

'PIO(PINCTRL a,b,c,d,e,f,g)
'a/ the number of SIDE SET pins (0...5), SIDE SET can write 5 pins at once
'b/ the number of SET pins (0...5), SET can write 5 pins at once
'c/ the number of OUT pins (0...31), OUT can write 32 pins at once
'd/ the lowest pin for IN pins (GP0.....GP31) IN can read up to 32 pins at once
'e/ the lowest pin for SIDE SET (GP0.....GP31)
'f/ the lowest pin for SET (GP0.....GP31)
'g/ the lowest pin for OUT (GP0.....GP31)
p=pio(pinctrl 0,0,0,gp0,gp0,gp0,gp0) 'defaultvalue , not actually changed


'the test sequence

'clear the fifo
pio init machine 1,0,f,p,e,sw,0     'init machine for writing to RX fifo
for i=0 to &h3  'write the 4 RXFIFO registers
 pio writefifo 1,0,i,&h100*(i+1) 'write a value
next

'verify clear
print "3 RXFIFO registers before running the program"
pio init machine 1,0,f,p,e,sr,0    'init machine for reading the RX fifo
for i=0 to 3   'read the 4 RXFIFO registers
   print i,hex$(pio(readfifo 1,0,i)) 'verify they are 0
next
print

'now we run the PIO program. That should (continuously) write to reg 2 and 3
pio start 1,0

'verify writes
print "3 RXFIFO registers after running the program"
for i=0 to 3   'read the 4 FIFO registers to see if the program works
   print i,hex$(pio(readfifo 1,0,i))
next


Edited 2024-09-01 06:29 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

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

Works for me, Stan. Have you used that pin for anything previously? Try setpin GP1 off.

> option list
PicoMiteVGA MMBasic USB Edition  6.00.00b2
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD UK
OPTION CPUSPEED (KHz) 315000
OPTION AUDIO GP0,GP1', ON PWM CHANNEL 0
>
Mick

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

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2120
Posted: 09:33pm 31 Aug 2024
Copy link to clipboard 
Print this post

er dunno but seems ok, thanks Mick,
> option list
PicoMiteVGA MMBasic USB Edition  6.00.00b2
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD UK
OPTION CPUSPEED (KHz) 252000
OPTION AUDIO GP0,GP1', ON PWM CHANNEL 0
>

isn't pico2 complicated now. not basic :)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6781
Posted: 09:53pm 31 Aug 2024
Copy link to clipboard 
Print this post

lol!
Oh, it's ok Stan. :)

Just listening to Africa by Toto on mine. :)  I had to lash up a filter - I've run out of bits. Very promising now though.
Mick

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

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 07:50am 01 Sep 2024
Copy link to clipboard 
Print this post

  matherp said  Seems to work for me - what are you seeing that I'm not?




I see that in mode 3 the first time I start nothing, the second time I change the colors for everything. When stopping, the default colors are not restored either. Only a mode change helps.

In mode 2 everything works.

Or I have not understood the meaning.

 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6097
Posted: 07:58am 01 Sep 2024
Copy link to clipboard 
Print this post

Beta 2 seems to have fixed the PAUSE issue.
3 hours and counting.

Jim
VK7JH
MMedit   MMBasic Help
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 08:25am 01 Sep 2024
Copy link to clipboard 
Print this post

Homa

I think I fixed this is b2. Please could you re-load and try again. Alternatively wait a bit and sometime later today I'll post b3 which will have 320x240x256-colour and 320x240x32768-colour modes.
 
     Page 7 of 20    
Print this page
© JAQ Software 2024