Display (bitmap overlay) - page 39 - General Discussion and Assistance - CHDK Forum  

Display (bitmap overlay)

  • 403 Replies
  • 133171 Views
*

Offline reyalp

  • ******
  • 14098
Re: Display (bitmap overlay)
« Reply #380 on: 30 / December / 2021, 20:22:38 »
Advertisements
Any thoughts on why CHDK screws up the HDMI output on the current trunk release?  I don't recall anything in the porting process specific to HDMI output.
HDMI needs the CAM_SUPPORT_BITMAP_RES_CHANGE found in many D6 ports.

FWIW, I believe the SX710 handles all the available output modes correctly, both in ximr tree and the trunk, and being a 640x480 cam, should be similar to G16 in terms of viewport/bitmap dimensions.

I will need to create a version using the old display code that dumps the ximr_context structure data to a file.
FWIW, my take on this is in  https://chdk.setepontos.com/index.php?topic=12788.msg146511#msg146511
Don't forget what the H stands for.

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Display (bitmap overlay)
« Reply #381 on: 30 / December / 2021, 20:46:10 »
Here's a G16 XIMR build with the SX710HS HDMI values - on the chance that these are the same for the G16.
Thanks reyalp.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: Display (bitmap overlay)
« Reply #382 on: 30 / December / 2021, 22:19:16 »
Here's a G16 XIMR build with the SX710HS HDMI values - on the chance that these are the same for the G16.
Thanks reyalp.
Bad news, good news.

The bad news is that your new version still crashes right away if HDMI is connected. 

The good news is that I basically C&P'd the SX710HS code from its lib .c to the G16 and rebuilt the trunk.  Now HDMI is stable for the G16, which suggests at least some of the SX710HS values work for the G16.

I'll post a patch file momentarily in the usual place.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Display (bitmap overlay)
« Reply #383 on: 31 / December / 2021, 00:40:33 »
The bad news is that your new version still crashes right away if HDMI is connected. 


Here's a new test build - this is using the old display code and includes reyalps code for recording the ximr_context data.
When you have a chance can you do the following with this build.
- start in play mode on the lcd
- open the Canon menu a few times to fill the buffers to be saved
- connect chdkptp console to the camera (don't restart the camera)
- run this command in chdkptp
    rmem 0x00325f3c 6272 -f=ximr_lcd_play.bin
- repeat all the above in REC mode; but change the filename in the chdkptp rmem command
- finally repeat the above connected to HDMI (both play and REC modes, changing filename each time).


If you can then upload the 4 .bin dump files please.


Edit: incorrect build removed.

« Last Edit: 31 / December / 2021, 15:54:55 by philmoz »
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


Re: Display (bitmap overlay)
« Reply #384 on: 31 / December / 2021, 15:30:20 »
Here's a new test build - this is using the old display code and includes reyalps code for recording the ximr_context data.
When you have a chance can you do the following with this build.
- start in play mode on the lcd
- open the Canon menu a few times to fill the buffers to be saved
- connect chdkptp console to the camera (don't restart the camera)
- run this command in chdkptp
    rmem 0x00325f3c 6272 -f=ximr_lcd_play.bin
- repeat all the above in REC mode; but change the filename in the chdkptp rmem command
- finally repeat the above connected to HDMI (both play and REC modes, changing filename each time).
If you can then upload the 4 .bin dump files please.
I was pretty careful to follow your instructions step-by-step but the resulting files all see to be filled with NULs?    (I ran the chdkptp gui and used the console from there if that matters).   Files attached.


EDIT : my version of chdkptp is from  April 2017 if that matters
« Last Edit: 31 / December / 2021, 15:38:37 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Display (bitmap overlay)
« Reply #385 on: 31 / December / 2021, 15:54:07 »
I was pretty careful to follow your instructions step-by-step but the resulting files all see to be filled with NULs?


Sorry about that - my mistake. Here's a new version that should work (fingers crossed).


Edit: the chkdkptp rmem command should now be:
    rmem 0x00326d84 6272 -f=dump_filename.bin

« Last Edit: 31 / December / 2021, 16:02:05 by philmoz »
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: Display (bitmap overlay)
« Reply #386 on: 31 / December / 2021, 16:48:52 »
Sorry about that - my mistake. Here's a new version that should work (fingers crossed).
Edit: the chkdkptp rmem command should now be:
    rmem 0x00326d84 6272 -f=dump_filename.bin
No problem - less than two minutes to rerun the tests as I left everything setup.

New files attached - non-zero contents so hoplefully that's more useful.  I'll leave everything setup just in case.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 14098
Re: Display (bitmap overlay)
« Reply #387 on: 31 / December / 2021, 18:51:22 »
Here are the dumps decoded with a slightly updated ximrdesc.lua (chdkptp r1081). Since dryos52 seems have a different layout, you can use something like
Code: [Select]
!xd=require'extras/ximrdesc'
!xd.export('ximr_hdmi_rec.bin',nil,{dry_ver=52})

I haven't looked at this stuff for a while, but the fields generally seem reasonable.

Also..
G16 supports HDMI out in rec, or does the HDMI turn off when you switch to rec? I thought this was only supported on the EOS M and newer cams like G7 X II and G5 X.
Don't forget what the H stands for.


Re: Display (bitmap overlay)
« Reply #388 on: 01 / January / 2022, 16:15:06 »
Reloaded the second version of @philmoz 's ximr G16 code (g16-101c-1.6.0-6032-full.zip).  Crashes regardless of whether the HDMI cable is plugged in before boot or after boot.   I've attached ROMLOG's from both cases.

G16 supports HDMI out in rec, or does the HDMI turn off when you switch to rec? I thought this was only supported on the EOS M and newer cams like G7 X II and G5 X.
G16 does not actually support HDMI out in rec.  The files I posted were create using chdkptp while the camera was in REC mode with the HDMI cable connected (even though no HDMI output was active).

Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Display (bitmap overlay)
« Reply #389 on: 01 / January / 2022, 16:22:46 »
Reloaded the second version of @philmoz 's ximr G16 code (g16-101c-1.6.0-6032-full.zip).  Crashes regardless of whether the HDMI cable is plugged in before boot or after boot.   I've attached ROMLOG's from both cases.


Thanks for that. It's the same crash as earlier and it seems to be happening when CHDK tries to refresh the display before the display type has been set up properly.


Here is a new ximr version that does not try and refresh the display if the 'displaytype' variable is not valid.


Edit: removed non-working attachment.
 
« Last Edit: 02 / January / 2022, 00:57:46 by philmoz »
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal