Author Topic: Vram Menu for 600D  (Read 2732 times)

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Vram Menu for 600D
« on: September 28, 2012, 11:08:17 PM »
The vram menu is messed up on the 600D. The fonts were set really small which isn't a problem with scrolling, I think I can fix that. The problem is that when I change the settings I can't see anything, usually set is what makes a menu transparent and in this case it does not. The changes revert before I can see what they do.

I wanted to fix full screen magic zoom for crop mode. I assume tweaking the parameters would help to see what is wrong, pitch, LV address, etc.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12260
  • Emergencies only
Re: Vram Menu for 600D
« Reply #1 on: September 28, 2012, 11:19:08 PM »
Parameters are probably overwritten in update_vram_params - try blocking that while menu is active.

For magic zoom, you only need to find the pitch as a function of digital zoom ratio. This is probably in DMA registers, around REG_EDMAC_WRITE_HD_ADDR.

With this, it's probably possible to have a portable way of getting LV/HD image sizes, rather than guesswork based on current settings. There is a register containing W and H values (offset C or 10, don't remember).

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: Vram Menu for 600D
« Reply #2 on: September 28, 2012, 11:51:42 PM »
I've switched getting vram address from old method to new method.

https://bitbucket.org/OtherOnePercent/tragic-lantern/changeset/ff0643720565a960d27ba41dc36e68faeb446c76

I think its right. Dialogs seem faster but otherwise no change. Now I guess I have to find the register containing the pitch value?

A little /ot but is the delay with overlays like TV/AV, BR indicator, etc with the new peaking from CPU limitations or some other reason, the LV feels almost realtime but there is some tearing. Its almost a 1/2sec+ before I see those menus after pressing disp.

nanomad

  • Administrator
  • Hero Member
  • *****
  • Posts: 2918
  • All your websites are belong to us
Re: Vram Menu for 600D
« Reply #3 on: September 29, 2012, 12:13:06 AM »
On the 1100D the + vram_hd.pitch is not needed since the image buffer has the "dummy" line at the bottom and not the top. Take a silent pic in video mode and check if it has a "corrupted" line at the bottom
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: Vram Menu for 600D
« Reply #4 on: September 29, 2012, 12:51:27 AM »
Neither seems to have a corrupted line at the bottom but I took a simple pic. I'll just leave it out.

REG_EDMAC_WRITE_LV_ADDR also seems to work but code isn't set up for it.

210, 310, possible candidates. 308 doesn't match but I got 1/2 of LV visible when I tried to use it like the HD buffer address.

Code: [Select]
Non-Crop
c0f04000:        1
c0f04004: 20000000
c0f04008:  f529c00
c0f04010:   e00020
c0f04200:        1
c0f04204: 20000000
c0f04208:  4000080
c0f04210:  3b70d20
c0f04300:        1
c0f04304: 20000000
c0f04308:  c233800
c0f04310:  1df05a0

Crop:
c0f04000:        1
c0f04004: 20000000
c0f04008:  f526000
c0f04010:   e00020
c0f04200:        1
c0f04204: 20000000
c0f04208:  4000080
c0f04210:  3cb0d80
c0f04300:        1
c0f04304: 20000000
c0f04308:  c240dc0
c0f04310:  19305a0

480P
c0f04000:        1
c0f04004: 20000000
c0f04008:  f529c00
c0f04010:   e00020
c0f04200:        1
c0f04204: 20000000
c0f04208:  4000080
c0f04210:  1df0500
c0f04300:        1
c0f04304: 20000000
c0f04308:  f11d800
c0f04310:  1df05a0

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12260
  • Emergencies only
Re: Vram Menu for 600D
« Reply #5 on: September 29, 2012, 10:41:43 AM »
c0f04310 should be LV size: 1df05a0 = 1440x479, correct. In crop mode, it is 19305a0 = 1440x403. Is the image 16:9 in this mode? Does it have any black bars?

For HD buffer, c0f04310 shows 3b70d20 = 3360x951 in non-crop and 3cb0d80 in crop = 3456x971, correct.

Update: this code should be portable, in theory:
https://bitbucket.org/hudson/magic-lantern/changeset/29523951c46e

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: Vram Menu for 600D
« Reply #6 on: September 29, 2012, 05:07:49 PM »
I just tried everything from the repo and full screen magic zoom in crop is still garbled. I should take a pic of it because the SS only shows graphics.

There are black bars and now we're drawing over the image instead of them.

http://imgur.com/VGl4H



Image buffers Non Crop: 720x480 1680x952
                             Crop: 720x404 1728x972
Pics
GD:OFF
Normal:Crop

GD:ON
Normal:CROP+Fullscreen zoom

http://imgur.com/a/7SpEZ

Without exception its working fine, just still that magic zoom. It looks like when I had wrong buffer while testing new peaking.

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: Vram Menu for 600D
« Reply #7 on: September 30, 2012, 07:23:37 PM »
I didn't want to make a new post since this is related.

My white focus box is no longer cleared. The magic zoom overlay cuts out about 1/2 of it and the other half is left on the screen.