Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - reddeercity

#1
Quote from: names_are_hard on Yesterday at 03:51:55 PMThanks.  I can only test 5d3 in qemu - is that still useful for you?  Can test both fw versions.

Yes please do both, if you can can you do a FA_Capture(Test-Image) that the log from the 5D2 i got that info on changing reg's

Quote from: names_are_hard on Yesterday at 03:51:55 PMI'd be interested in getting high fps working, especially on newer cams.  These have a much higher base clock for the sensor, so possibly they can sample faster?  84MHz on 200D, compared to 24 or 32 on old cams.  Some of the new cams have 120fps native, which ones are capable but not enabled?  How far can we push this with raw video?  Fun to find out.

The only old cam I have is 70D, so if you have working code for high fps there, that would be ideal.  If not, a good write up so I can attempt to copy the approach would be great :)

Its was base off the Crop_Recording but instead of large frame size (4k,3k etc. ...) its reduce frame size (sometime vertical compression-> stretching 1.67 (ADTG12[100c])
not very difficult.
Here in this post i explain & post images how i got 1856x704 10bit @50p with regs
sumary of the reg i used , the post explaines it better. I can do i better write up on D4 crop_record in general with hi speed frame rate , there a few rabbit hole to watch or the cam will crash/lockup
i can't tell you how many time i though I broke i may cam  :'( , i would get so hot i couldn't handle in my hands (close to 75 degrees celsius  :o )   
Here is better post with cleaner image & more info on how its done
1856x704 50fps
cmos[1]   0xc00 -->0xbeD
c0f0713c  0x4f3 -->0x2d3 //liveview preview (vertial)//
c0f07150  0x523 -->0x3D3 //liveview preview (horizontal)//
c0f06008  0x23b023b --> 0x23bD237 //frame horizontal width//
c0f06088  0x4f40432 --> 0x2d4D432 //frame vertial height//
c0f06014  0x577  --> 0x34c //framerate timer "B" (i think)//
ADTG12[100c] 0x2 --> 0x4 //cmos pixel binning line (1.67:1 vertial compressing)


Quote from: names_are_hard on Yesterday at 03:51:55 PMI have a question about all these branches.  Do you like this approach?  Is it a good thing somehow, that the code is scattered across multiple branches, rather than in one place?  I don't even know which branches I'm supposed to use, there are so many.  In the repo I maintain I've merged many branches, so there is no need to switch.  Would you prefer that?
I have branches locally i need for D4 cams development , much of the info/code parts i use come from old branches (more then 5 years ago if not 10, e.g. Motion Jpeg video code etc. ....) so i'm not sure how to answer that . I'm not a true coder etc. ... i'm a old retired mechanic that pickup some coding skill here on Magic Lantern , After the 5D3 came out the deveolpment slowly stoped on D4 cam (5D2) so if i wanted the latest and exciting feature from 5D3 (mainly crop_record) or Dual ISO video etc. ...
I had to figure it out myself (and the fact that a1ex & other devloper had no time or not enough time to help everyone) , i fumbled my way thought it . As long i can see a sample of coding i can read it and duplicate but i can't write code from scratch , i have to fellow other examples i find & of course google is my friend in coding also.   
#2
Yup , i know but i think there incomplete alone with reg's for udma there's HP timers and
i think there need to be configured also . Just like crop_mode it's at least 6 reg's
just to make a basic preset etc. .... I believe qemu will expose them so i can see
how the routine works in 5D3 D5 cam not just the regs.
I don't expect the reg's in 5D3 to be the same 5D2 but there usually pretty close
that how i do most of work on crop record just find the corresponding
setting in 5D2,  it works most of the time. :)
I need to see this from the 5D3 log . 
[   CSMgrTask:ffbdb7d8 ] (22:06) GetFirstTuple: CISTPL_CONFIG
[   CSMgrTask:ffb8c454 ] (22:06) GetConfigurationTuple
[   CSMgrTask:ffb8bcb0 ] (22:01) RequestConfiguration: pLStorage=0x685504
[   CSMgrTask:ffb8bcc8 ] (22:01)                       ConfigBase=0x200, StatusReg=0
[   CSMgrTask:ffb8bce0 ] (22:01)                       PinRepReg=0, CopyReg=0
[   CSMgrTask:ffb8bcf8 ] (22:01)                       ConfigIndex=0x1, Present=0xf
[CFATA] at CSMgrTas:FFB8BD04:FFB8BD04 [0xC0628100] -> 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD0C:FFB8BD04 [0xC0628100] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD18:FFB8BD18 [0xC0628100] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD24:FFB8BD24 [0xC0628100] -> 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD2C:FFB8BD24 [0xC0628100] <- 0x2       : ???
[CFATA] at CSMgrTas:FFB8BD38:FFB8BD38 [0xC0628100] <- 0x2       : ???
[CFATA] at CSMgrTas:FFB8BD48:FFB8BD44 [0xC0628044] <- 0x0       : Interrupt related?
[CFATA] at CSMgrTas:FFB8BD5C:FFB8BD54 [0xC0620200] <- 0x41      : ???
[CFATA] at CSMgrTas:FFB8BD68:FFB8BD68 [0xC0620200] -> 0x0       : ???
[   CSMgrTask:ffb8bd80 ] (22:01) RequestConfiguration: Base = 200, Data = 0
[CFATA] at CSMgrTas:FFB8BD98:FFB8BD94 [0xC0620202] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BDB0:FFB8BDAC [0xC0620204] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BDC8:FFB8BDC4 [0xC0620206] <- 0x0       : ???
[   CSMgrTask:ffb8bde0 ] (22:01) RequestConfiguration: SUCCESS
If this approach fail to yield result i can still do the overclock CF Controller
with software in the hp_parm branch   , got the idea from a1ex in this post
https://www.magiclantern.fm/forum/index.php?msg=199697

I did early test with the information from a1ex on 5d3
https://www.magiclantern.fm/forum/index.php?msg=207128
But failed just like waza57 did but there again i just change one reg and that's not enough
#3
A old experiment from a 2-3 years ago , the video hi-speed frame rate are small h264.mp4 around 25-30Mb in size .
Proof that is can go beyond 48fps , but not in standard HD size at least for the 1st one  1600x832 & the other 12080x720 HD .
i can clean up the 1600x832 @ 62.5fps(i can drop it to 60fps for stability) also i should be able to clean up that
1280x720 also @ 70.086fps with some work (not the easiest to do but can be)
The question I ask is, is this useful ? Or just a novelty say i can do xxfps
by the way the highest i can achieved is 72fps @ 720 , i've had more but i smaller frame size
i think 86fps or around there @ a little more then SD Rez (800x600 i think) then it crashed.
I never came back to it but i though if there a interest i can pursue it futher.  :)     


1600x832-62.5fps-M02-2327.mov




5D2_1280x722-70.086-fps-M05-2305.mov
#4
Quote from: names_are_hard on Yesterday at 12:57:29 AM...... I'm out until someone gives me a build they want tested :)
I what everyone to test  :D
Sorry just Lazy today , I'm still getting my head back in to Magic Lantern Mode ,
Lots of rabbit holes to fall in to  ;D

Ok here we go , i did both 1.1.3. ver firm & 1.2.3 firm . Didn't know which is the most used
I/O_Trace_Full_5D3.123
I/O_Trace_Full_5D3.113

Mainly startup , anything to expose the Cf controller routines/regs . But i'm still thinking
i may still need to go in to Qemu from other I/O Traces I've seen seems to miss the regs changing.
but that was D4 cams i think. I don't have a 5d3 cam so i can't test of couse but i've build other I/O trace builds for 7d , 550d , etc. ... with out any issue so i expect it should work.
Post the Logs here or same where i can download & or Read Thanks !   
#5
Thank for the reminder on tracing , i do have dm_spy i/o trace already setup in one of my branches
for D4 it should be setup for D5 cam also . Just hadn't had the time to fire up my Linux VM where i compile my builds , I work outside of Linux when researching or coding, i do most of that in old win7 pc
 :) 
#6
It looks like i my have found the CF card controller routines. I was searching all my ML Logs files  from my old Win7 PC AMD-FX SSD HD
(FX board blow all the Caps around CPU) I found 5D2 FA_Capture(Test-Image) Log from Qemu. It use this to run ./run_canon_fw.sh 5D2,firmware=boot=1
This what I'm looking for [   CSMgrTask:ffbdb7d8 ] (22:06) GetFirstTuple: CISTPL_CONFIG
[   CSMgrTask:ffb8c454 ] (22:06) GetConfigurationTuple
[   CSMgrTask:ffb8bcb0 ] (22:01) RequestConfiguration: pLStorage=0x685504
[   CSMgrTask:ffb8bcc8 ] (22:01)                       ConfigBase=0x200, StatusReg=0
[   CSMgrTask:ffb8bce0 ] (22:01)                       PinRepReg=0, CopyReg=0
[   CSMgrTask:ffb8bcf8 ] (22:01)                       ConfigIndex=0x1, Present=0xf
[CFATA] at CSMgrTas:FFB8BD04:FFB8BD04 [0xC0628100] -> 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD0C:FFB8BD04 [0xC0628100] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD18:FFB8BD18 [0xC0628100] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD24:FFB8BD24 [0xC0628100] -> 0x0       : ???
[CFATA] at CSMgrTas:FFB8BD2C:FFB8BD24 [0xC0628100] <- 0x2       : ???
[CFATA] at CSMgrTas:FFB8BD38:FFB8BD38 [0xC0628100] <- 0x2       : ???
[CFATA] at CSMgrTas:FFB8BD48:FFB8BD44 [0xC0628044] <- 0x0       : Interrupt related?
[CFATA] at CSMgrTas:FFB8BD5C:FFB8BD54 [0xC0620200] <- 0x41      : ???
[CFATA] at CSMgrTas:FFB8BD68:FFB8BD68 [0xC0620200] -> 0x0       : ???
[   CSMgrTask:ffb8bd80 ] (22:01) RequestConfiguration: Base = 200, Data = 0
[CFATA] at CSMgrTas:FFB8BD98:FFB8BD94 [0xC0620202] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BDB0:FFB8BDAC [0xC0620204] <- 0x0       : ???
[CFATA] at CSMgrTas:FFB8BDC8:FFB8BDC4 [0xC0620206] <- 0x0       : ???
[   CSMgrTask:ffb8bde0 ] (22:01) RequestConfiguration: SUCCESS


"0xC0620200"by changing 0xC0620200 -> 0xCxxx201 etc. ...is not enough by it self
need more , I still don't know what "ConfigIndex=0x1, Present=0xf" are .
Here some more CF contoller HD commands
[HPTimer] at DbgMgr:FF9B36D8:FF86BFD4 [0xC0243300] -> 0x1000    : Which timer(s) triggered
[HPTimer] at DbgMgr:FF9B3650:FF86C074 [0xC02431A0] <- 0x0       : HPTimer #10: disabled?
[HPTimer] at DbgMgr:FF9B36A0:FF86C07C [0xC02432A4] <- 0x0       : HPTimer #10: reset trigger?
[HPTimer] at DbgMgr:FF9B36A4:FF86C07C [0xC02432A4] -> 0x0       : HPTimer #10: ???
[HPTimer] at DbgMgr:FF9B36D8:FF86C188 [0xC0243300] -> 0x0       : Which timer(s) triggered
[CFATA] at CSMgrTas:FFB89A40:FFB89A40 [0xC0622007] -> 0x50      : ATA command/status
[CFATA] at CSMgrTas:FFB89B98:FFB89B94 [0xC062200E] <- 0x0       : ATA device control: int enable
[CFATA] at CSMgrTas:FFB8C0C4:FFB8C0C4 [0xC0622007] -> 0x50      : ATA command/status
[   CSMgrTask:ffb89be8 ] (22:01) cfSoftReset SUCCESS
[   CSMgrTask:ffbdb86c ] (22:01) &CurCardInfo=0x4c9f0
[CFATA] at CSMgrTas:FFB8ABE8:FFB8ABE4 [0xC0628040] <- 0x0       : Interrupt enable?
[CFATA] at CSMgrTas:FFB89A40:FFB89A40 [0xC0622007] -> 0x50      : ATA command/status
[CFATA] at CSMgrTas:FFB8AC64:FFB8AC64 [0xC0622006] <- 0x0       : ATA drive/head port
[CFATA] at CSMgrTas:FFB8AC74:FFB8AC70 [0xC0622007] <- 0xEC      : ATA command/status
[CFATA] at CSMgrTas:FFB8AC84:FFB8AC80 [0xC0628040] <- 0x1       : Interrupt enable?
   186:   442.624 [CF] ERROR GetFirstTuple: CISTPL_CONFIG
   187:   442.624 [CF] ERROR GetConfigurationTuple
[CFATA] at PowerMgr:FFB8B8DC:FFB8B8DC [0xC0628044] -> 0x1       : Interrupt related?
[CFATA] at PowerMgr:FFB8B8EC:FFB8B8E8 [0xC0628044] <- 0xFFFFFFFE: Interrupt related?
[CFATA] at PowerMgr:FFB8B918:FFB8B918 [0xC0622007] -> 0x58      : ATA command/status
[CFATA] at CSMgrTas:FFB8ACC0:FFB8ACC0 [0xC0628040] <- 0x0       : Interrupt enable?
[CFATA] at CSMgrTas:FFB89C48:FFB89C48 [0xC0622007] -> 0x58      : ATA command/status

As you can see its using the 0xC062200x & 0xC06280x , before when i tested a few years ago i changed
0xC062200 to 0xC062203 and lockup/crashed but not before i did a R/W test , i writing @ 80Mb/s & reading @ 2200Mb/s then it crashed
( did get a screen shot throu) sound like the read was internal ram read I/O , after see this i see i need more regs like 0xCo6280xx maybe?
More research is needed for sure , i my need to start working in Qemu
Last I found I think the Timers Regs for CF/HD contoller
[HPTimer] at CSMgrT:FF9B3680:FF86D404 [0xC0243280] <- 0x0       : HPTimer #8: inactive
[HPTimer] at CSMgrT:FF9B3650:FF86D40C [0xC0243180] <- 0x0       : HPTimer #8: disabled?
[HPTimer] at CSMgrT:FF9B35D4:FF86D418 [0xC0243184] -> 0xCBF00   : HPTimer #8: output compare
[HPTimer] at CSMgrT:FF9B35E8:FF86D418 [0xC0243184] <- 0xEC50A   : HPTimer #8: output compare (delay 10 microseconds)
[HPTimer] at CSMgrT:FF9B36A0:FF86D420 [0xC0243284] <- 0x0       : HPTimer #8: reset trigger?
[HPTimer] at CSMgrT:FF9B36A4:FF86D420 [0xC0243284] -> 0x0       : HPTimer #8: ???
[HPTimer] at CSMgrT:FF9B3640:FF86D428 [0xC0243180] <- 0x1       : HPTimer #8: enabled?
[HPTimer] at CSMgrT:FF9B3650:FF86D454 [0xC0243180] <- 0x0       : HPTimer #8: disabled?
[HPTimer] at CSMgrT:FF9B36A0:FF86D45C [0xC0243284] <- 0x0       : HPTimer #8: reset trigger?
[HPTimer] at CSMgrT:FF9B36A4:FF86D45C [0xC0243284] -> 0x0       : HPTimer #8: ???
[HPTimer] at CSMgrT:FF9B3660:FF86D468 [0xC0243280] <- 0x1       : HPTimer #8: active
[CFATA] at CSMgrTas:FFB89B68:FFB89B64 [0xC062200E] <- 0x2       : ATA device control: int disable
[HPTimer] at CSMgrT:FF9B3680:FF86D404 [0xC0243290] <- 0x0       : HPTimer #9: inactive
[HPTimer] at CSMgrT:FF9B3650:FF86D40C [0xC0243190] <- 0x0       : HPTimer #9: disabled?
[HPTimer] at CSMgrT:FF9B35D4:FF86D418 [0xC0243194] -> 0xCC300   : HPTimer #9: output compare
[HPTimer] at CSMgrT:FF9B35E8:FF86D418 [0xC0243194] <- 0xECBE8   : HPTimer #9: output compare (delay 1000 microseconds)
[HPTimer] at CSMgrT:FF9B36A0:FF86D420 [0xC0243294] <- 0x0       : HPTimer #9: reset trigger?
[HPTimer] at CSMgrT:FF9B36A4:FF86D420 [0xC0243294] -> 0x0       : HPTimer #9: ???
[HPTimer] at CSMgrT:FF9B3640:FF86D428 [0xC0243190] <- 0x1       : HPTimer #9: enabled?
[HPTimer] at CSMgrT:FF9B3660:FF86D444 [0xC0243290] <- 0x1       : HPTimer #9: active
[GPIO]   at HotPlug:FF81DF88:FF816CB8 [0xC0220044] -> 0x1       : GPIO_17
[HPTimer] Firing HPTimer #9
[HPTimer] at DbgMgr:FF9B36D8:FF86BFD4 [0xC0243300] -> 0x400     : Which timer(s) triggered
[HPTimer] at DbgMgr:FF9B3650:FF86C074 [0xC0243190] <- 0x0       : HPTimer #9: disabled?
[HPTimer] at DbgMgr:FF9B36A0:FF86C07C [0xC0243294] <- 0x0       : HPTimer #9: reset trigger?
[HPTimer] at DbgMgr:FF9B36A4:FF86C07C [0xC0243294] -> 0x0       : HPTimer #9: ???
[HPTimer] at DbgMgr:FF9B36D8:FF86C188 [0xC0243300] -> 0x0       : Which timer(s) triggered
[HPTimer] at CSMgrT:FF9B3680:FF86D404 [0xC02432A0] <- 0x0       : HPTimer #10: inactive
[HPTimer] at CSMgrT:FF9B3650:FF86D40C [0xC02431A0] <- 0x0       : HPTimer #10: disabled?
[HPTimer] at CSMgrT:FF9B35D4:FF86D418 [0xC02431A4] -> 0xCC700   : HPTimer #10: output compare
[HPTimer] at CSMgrT:FF9B35E8:FF86D418 [0xC02431A4] <- 0xED0E8   : HPTimer #10: output compare (delay 1000 microseconds)
[HPTimer] at CSMgrT:FF9B36A0:FF86D420 [0xC02432A4] <- 0x0       : HPTimer #10: reset trigger?
[HPTimer] at CSMgrT:FF9B36A4:FF86D420 [0xC02432A4] -> 0x0       : HPTimer #10: ???
[HPTimer] at CSMgrT:FF9B3640:FF86D428 [0xC02431A0] <- 0x1       : HPTimer #10: enabled?
[HPTimer] at CSMgrT:FF9B3660:FF86D444 [0xC02432A0] <- 0x1       : HPTimer #10: active
 [HPTimer] Firing HPTimer #10
  184:   360.192 [CF] ERROR GetRotatingDeviceInfo
   185:   400.896 [CF] ERROR GetMakerAndVersionTuple : SearchTuple (CISTPL_VERS_1)

This is very promising , very good info this well definitely help 100%  :D
 
#7
Quote from: names_are_hard on April 19, 2024, 03:16:20 PMWhere's the code to generate the logs?  Lots of people have 5d3 and can run tests.
Just assumed that after 10 years there would a lot Log file around.
After looking at Logs generated by Real Cam hardware its not giving the detailed information i needed 
I'll need detailed Logs out of qemu with camera rom
#8
I thought i had some 5D3 log file but it seems i don't anymore ,
is there anyone with a 5D3 startup log? or any 5D3 logs that has any CF card info?
:)
#9
found some interesting stuff in the MPU-ROM.BIN from my 5D2 ,seems to be a lot of stuff going on in the MPU
-. Switch State Information . LockSw : .UnLock(On).Lock(Off).
CardCover: .Open.Close. BatCover
CFDetectSw : .On.Off. ELButton
SubDialLockSw: .UnLock.Lock. Sw1: . Sw2
AELockButton
AFStartButton
SpdnButton
AFFrameSelectButton
AFModeButton
MeteringModeButton
ISOButton
InfoButton
EraseButton
EasyDirectButton
PictureStyleButton
MultiContoller
Center.Up.UpRight.UpLeft.Right.Left.DownRight.DownLeft.Down.None.... ModeDial
Program.Tv.Av.Manual.Bulb.A DEP.Green.CreativeGreen.NightPortrait.Sports.Portrait.Landscape.Closeup.FlashOff.Custom
1.Custom2.Custom3. MainDial
SubDial
MIF

[FG_BATT_SEND]...[FG]SioToVldet..[FG]VldetToSio..ÿÿ.[FG_ERR]RcvCmdSize > Buff..
[FG_ERR]CheckSumErr...[FG_IC_RCV]..[FG_BATT_RCV]...[FG]NinshoOK..
[FG]NinshoNG...COFFS:..RC:..SC:.[FG_ERR]ComErr..[FG_ERR]OverRetryCnt..[FG_ERR]BattReWakeUp..
[FG]FgInit..BGM-E6.[FG]VLDET..[FG_ERR]Timeout..[FG]FirstWakeUp..[FG]IcInitComp...
[FG_BATT]FirstWakeup..[FG]:WftBattOpen..ÿÿ.[FG_IC_SEND]...[FG_ICU]Slot:..
[FG_ICU]Type:..[FG_ICU]Level:...[FG]:WftConnect..
[FG]:WftDisConnect...BattRomRead:...PowerChange:.BC.%x.%2x..RCP:...H.êƒ,.[ƒh..ÿÿ..ÿÿ.E0Off..
[MAIN]:<TIMEOUT>strobo func get..[MAIN]:<TIMEOUT>strobo func set..
[MAIN]:<TIMEOUT>strobo func reset..[MAIN]:<TIMEOUT>strobo cfn get..
[MAIN]:<TIMEOUT>strobo cfn set..[MAIN]:<TIMEOUT>strobo cfn reset..
[MAIN]:<TIMEOUT>strobo wireless get..[MAIN]:<TIMEOUT>strobo wireless set..ÿÿÿ
[MAIN]:<TIMEOUT>lv ae..ÿ[Mecha]E
K218 is the 5D2
K218 Debug Monitor (Ver 0.00)
MakeFile K218_eep.mot.S00F00006B3231385F6565702E6D6F74D3..ÿ....k218_ÿÿÿ%lx..
[Error] ƒpƒ‰ƒ..[ƒ^•s'«,Å,·...[Error] ƒpƒ‰ƒ..[ƒ^ƒ~ƒX...
[Error] –³Œø,ȃRƒ}ƒ"ƒh,Å S315.S70500000000FA.address   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
DUMPB.DUMPW.DUMPL.%lx.?....  . .MMOT.
MakeFile (MPU)..
DEF_MPU_S0LINE.S315.S70500000000FA..ÿÿÿÿ.äreturn code error
Please Reset and Retry
MPU Ver...0x.  MPU code   area check sum...0x....ÿÿÿ.error code : %03d.,%03d...usage: release [<Tv> <Av> <Xout>]..ex. release..ex. release 68 38 1
TestRelease..%x.usage: shutterready [<Tv> <Av> <Xout>]..ex. shutterready..ex. shutterready 68 38 1 ...TestShutterReady
TestMirrorUp...TestChargeShutter...TestChargeMirror...Test1stShutterRun...Test2ndShutterRun...TestMirrorDown...TestShutterOpen...usage: fgcomm <target> <command>
<data>...TestFgComm...OK...NG...usase : SetCoffs <coffs>...SetCoffs...usase : SetOffs <offs>...SetOffs...GetRcp...GetRc...GetSc...EficTemp:

H.MPU Send RAM Program.....EEP write start....format error1..format error2
format error3..format error4..format error5..format error6...
Please Send *.bny..Update Bin ERR1..Update End..Update Bin ERR3...Update Bin ERR4..
File input error!!...File format error!!..*....mload Complete....Complete...ÿ.MON>>
E1ON.MON>>..E1OFF..ÿÿÿð.............ÿþýüûúÿÿ...D. ...ÿMCell

cyc_main.alm_uitimer1.alm_uitimer3.alm_uitimer6.alm_uitimer7.alm_uitimer8.alm_uitimer9.
alm_uitimer10.alm_uiackwait.alm_uiirwait.alm_main_afclosewait.alm_mecha_mirror_motor.
timeout.alm_mecha_shutter_motor_timeout.alm_mecha_bccomm.alm_main_dl_timer.alm_main_
studio_sp_mode_interval_timer.alm_main_caprdy_enable_timer
alm_mecha_check_x_timer.alm_main_rel_conti_timer.
alm_main_fg_timer.alm_main_fg_ic_timer
alm_main_shutter_over_run.alm_main_mirror_over_run.alm_main_ae_accum_timeout_timer

that all i could read in text , need to decompile the EPU ROM.BIN file , there a lot of function
in there , if we could offload some of ML tasks in the MPU chip and hack in to them i would think would free up a lot of overhead . Thou this all highly speculative but it seems logical i think  :D 



#10
Yup , of course i'm was comparing 4 different rom at the same time with the same search keyword.
I use visual studio in Windows7 , I do 80% of my work in there , its great at reading the decompiled Rom files. :)
#11
I also found my address for lossless compressed raw in one of my Logs
this is good! I had the compression routine code wrong or should i say miss some parts
its different then the 5d3/D5 cams but not by much , it very similar in structure with more parts that all.
Now i'm not saying I've got it working,  i see the problem in the code so hopefully i can correct it. ;D
#12
Found some interesting CF card related info in the Rom's(5D2,5D3,6D,7D)
They have the same or similar Function Calls for storage device e.g.CF/SD cards

RequestConfiguration
5D2
*"RequestConfiguration: pLStorage=%#x"
*"RequestConfiguration: Base = %x, Data = %x"
*"RequestConfiguration: SUCCESS"
*"CF_RequestConfiguration ERROR(%#x)"
*"CF_RequestConfiguration: err=%#x"

5D3
*"RequestConfiguration: pLStorage=%#x"
*"RequestConfiguration: Base = %x, Data = %x"
*"RequestConfiguration: SUCCESS"
*"CF_RequestConfiguration ERROR(%#x)"
*"CF_RequestConfiguration: err=%#x"
6D
*"RequestConfiguration: pLStorage=%#x"
*"RequestConfiguration: Base = %x, Data = %x"
*"RequestConfiguration: SUCCESS"
*"CF_RequestConfiguration ERROR(%#x)"
*"CF_RequestConfiguration: err=%#x"

7D
*"RequestConfiguration: pLStorage=%#x"
*"RequestConfiguration: Base = %x, Data = %x"
*"RequestConfiguration: SUCCESS"
*"CF_RequestConfiguration ERROR(%#x)"
*"CF_RequestConfiguration: err=%#x"

CF_GetAccessTiming
5D2
"CF_GetAccessTiming : DatTim = %d, DatMod = %d":
"CF_GetAccessTiming : DatTim = %d, DatMod = %d"
5D3
"CF_GetAccessTiming : DatTim = %d, DatMod = %d":
"[CF] CF_GetAccessTiming : DatTim = 3, DatMod = 7"
6D
"CF_GetAccessTiming : DatTim = %d, DatMod = %d":
7D
"CF_GetAccessTiming : DatTim = %d, DatMod = %d":

5D3 is the only one that has the Data timing & Data Mode preset in the ROM,
interesting , so this maybe able to be set by Regs only in 5D2 , 7D & 50D cams
 
cfIdentifyDrive
5D2
*"cfIdentifyDrive: TakeSem(%#x)"
*"cfIdentifyDrive: Cache Support"
*"cfIdentifyDrive: Idle Command(500mSec)"
*"cfIdentifyDrive: Emergency Stop"
*"cfIdentifyDrive: Set UDMA( Mode=%d )"
*"cfIdentifyDrive: Emergency Stop"
5D3
*"cfIdentifyDrive: TakeSem(%#x)"
*"cfIdentifyDrive: Cache Support"
*"cfIdentifyDrive: Idle Command(500mSec)"
*"cfIdentifyDrive: Emergency Stop"
*"cfIdentifyDrive: Set UDMA( Mode=%d )"
"[CF] cfIdentifyDrive: Set UDMA( Mode=7 )"
*"cfIdentifyDrive: Emergency Stop"
6D
*"cfIdentifyDrive: TakeSem(%#x)"
*"cfIdentifyDrive: Cache Support"
*"cfIdentifyDrive: Idle Command(500mSec)"
*"cfIdentifyDrive: Emergency Stop"
*"cfIdentifyDrive: Set UDMA( Mode=%d )"
*"cfIdentifyDrive: Emergency Stop"
7D
*"cfIdentifyDrive: TakeSem(%#x)"
*"cfIdentifyDrive: Cache Support"
*"cfIdentifyDrive: Idle Command(500mSec)"
*"cfIdentifyDrive: Emergency Stop"
*"cfIdentifyDrive: Set UDMA( Mode=%d )"
*"cfIdentifyDrive: Emergency Stop"

Here again we see the mode preset in the 5D3 rom under the cf Identify Drive function
cfIdentifyDrive: Set UDMA( Mode=7)

So i need to find a 5D3 setup log or any logs with CF card on the 5D3 to know the reg set
but in the mean time i'll search some more on the forum , i'm sure i saw some , just cant remember where.   :)
#13
Ok, thanks anyways  :)
#14
found some interesting CF Card info form 1 of my logs (dm-0000[raw-startup-log.2018Jan29])
84023>  CSMgrTask:ffb8bcb0:22:01: RequestConfiguration: pLStorage=0x884e40
8404F>  CSMgrTask:ffb8bcc8:22:01:                       ConfigBase=0x200, StatusReg=0x0
8407A>  CSMgrTask:ffb8bce0:22:01:                       PinRepReg=0x0, CopyReg=0x0
840A4>  CSMgrTask:ffb8bcf8:22:01:                       ConfigIndex=0x1, Present=0xf
840D3>  CSMgrTask:ffb8bd80:22:01: RequestConfiguration: Base = 200, Data = 41
840FF>  CSMgrTask:ffb8bde0:22:01: RequestConfiguration: SUCCESS
This the configuration that the 5D2 calls , I've tried to manually change the reg with the base 200(201->207)
but it either locks up or runs slower (20Mb/s) or has super fast read but lockup on write. So there's more then this regs i believe.
852E3>  CSMgrTask:ffbdbb3c:22:03: CF_GetAccessTiming : DatTim = 3, DatMod = 6
DatMod = 6 is the UDMA mode D52 is 6 on 5D3 its 7
But i haven't figured out what the DatTim=3 is yet , i must be missing that reg configurationh
I'm trying to overclock the CF card timing with the Regs alone without adding a lot of extra code.

Edited: Does any one has a 5D3 with a startup Log ?
 I'm looking for the Timing information like what i have post above in the code box , to see if and how it differs , thanks.
Oh yea a 7D mark1 (D4 cam) would maybe help too .
#15
Thanks to @liteo for a great find , https://www.magiclantern.fm/forum/index.php?msg=238721
i have access to all my old LOG file i capture 5+ years ago , i do have most of them but there are
across several different hard drives & computers.
specially the compressed raw routine in the TTL.LOG file very helpful
8C541>    LVC_DEV:00096678:00:00:     28)        4 (write channel 0x4)
8C569>    LVC_DEV:00096678:00:00:     29)    10005 (read channel 0xd)
8C595>    LVC_DEV:00096678:00:00:     30)    20005 (write connection 0x5)
8C5BD>    LVC_DEV:00096678:00:00:     31)    30003 (read connection 0x3)
I believe i have these addresses correctly hard coded , but i have suspicion
its changing , so its not static maybe a floating address it pick a free channel or something
Just guess at best right now , but the log with help isolate the issues/problem. :D     
#16
I figured out the problem , its the python version , i'm on python 2 , and its seem the new d678x cams are on python 3 , so ever thing i have is in python 2 so i guess i'll stay there as its what i know.
It not a big deal , i can figure out the Linux thing it need to complies as its just for investagations to over clocking CF card & possibe SD Card(why not? just need to get the MHz frequency correct & of course you need to boost the voltage also , it goes hand in hand.) 
#17
Quote from: liteo on April 27, 2022, 10:06:40 AM.......
The bitbucket to download the release no longer exists but can be found here https://bitbucket-archive.softwareheritage.org/new-static/e6/e6b5dbd1-408b-4864-b984-289cb9371366/attachments/
Good find ! Very helpful to me, even-though most of this is mind old development info etc.......
i don't have all the log in one place , Thanks
special the TTL.Log file it has address to compressed raw on D4 cams , i can check that against my code
hard coded address , but i has a suspicion its a changing address (not sure but the Log will help cause i won't have to capture no log , which take a lot of time)

 
#18
So what happen here ? I'm lost can't even found the latest posts it's so out of place even going to desktop version doesn't help . I hope the old site is coming back soon. Even searching window I can't found this deftly is going to put a damper on my work in general sorry don't mean to be negative here but "it it's not broke don't fix it" so was there a problem with the old site?
And what with the "I agree" thing when I logged in ? It doesn't even give the terms of the agreement so what I'm I Agreeing too here ?
#19
Just for kicks i try to build the 50D & 5D2 with @names_are_hard  magiclantern_simplified but failed tried comment the error but make it worse  :(
here a few screen shots . Do i need to update my Linux ? to the what is being used by you ? will i have problem compile my crop_rec builds ?
Anyways here the screen shots :

5D2
 
50D
#20
Ok trying to compile , getting a error , but i don't know how to solve , Just compile the module by it self not a full build
did some warning but that's to be expected , being code from the old core.

#21
Quote from: names_are_hard on February 15, 2024, 04:57:11 PM
Thanks, I understand what's going on now.  ... I assume the intent was to learn what control was possible over CF cards, then make nicer (and importantly, smaller) code to do the parts we care about.
Yes that's right , i hope to learn where the timing control regs are to manually enable UDMA 7 plus maybe bypass some canon routines to limit the overhead.
Quote from: names_are_hard on February 15, 2024, 04:57:11 PM
.... I've removed the linux specific stuff, here: https://github.com/reticulatedpines/magiclantern_simplified/tree/hdparm_hack
Thanks , i'll give it a try
Quote from: names_are_hard on February 15, 2024, 04:57:11 PM
That should build more easily.  Because it's based on my repo, you can use a more modern linux. 
I recommend Debian Testing.  It might not work on whatever old linux you're using, mainly because we converted everything to python3. 
Try it and see if you want.
Ok , I'm on Ubuntu 18.4x something , it use gcc arms 5.3 i think.
Quote from: names_are_hard on February 15, 2024, 04:57:11 PM
I haven't tested the code in any way.  Will it destroy your cam?  Maybe!
"With Great Risk Comes Great Reward"
at least that's what they say :D
I'll more then likey try it on my 50D first ! , just in case something goes south  :P
only paid $150 5 years ago , that may sacrificial lamb
#22
Quote from: Walter Schulz on February 15, 2024, 07:58:19 AM
Found a piece of contradicting info claiming UDMA-5, 6, 7 all using 3v3.
I found in the documents that the CF cards  are 5v tolerate 
https://www.transcend-info.com/support/product/memory-card/compactflash-1000#SpecificationsModal
says there cards are 3.3v & 5V , i think the 5v is from the older ide PC interface like cd roms & 3.5' floppy disc etc. ....
when CF cards where used for backup soooo long ago  :P
#23
@ names_are_hard
Here other post that references cf card sppeds & cf_acc hdparm
CF Card Info screen shot https://www.magiclantern.fm/forum/index.php?topic=19336.msg207054#msg207054 ,
a1ex links the "hd_parm" build https://www.magiclantern.fm/forum/index.php?topic=19336.msg207053#msg207053 ,
direct reg for UDMA7? https://www.magiclantern.fm/forum/index.php?topic=19336.msg207128#msg207128 ,
some useful info , its where i got the idea to over clock the CF card bus from a1ex https://www.magiclantern.fm/forum/index.php?topic=12862.msg199697#msg199697
From a1ex on cf speed & overclocking
QuoteI was doing sector-level benchmarks with Canon routines from bootflags.c, filling the entire card with 0xFFFFFFFF, 0x00000000, 0x55555555, 0xAAAAAAAA, 0x5A5A5A5A etc,
to see if that makes any difference in benchmarks. It didn't, but some blocks were written at ~120MB/s, others at ~85MB/s, and a very small percentage of them were written at lower speeds.
That pattern wasn't exactly repeatable, but the histograms were pretty much the same .....
Quote@reddeercity: more details after I'll get a new card (it *is* possible to overclock the 5D2 CF interface).
https://www.magiclantern.fm/forum/index.php?topic=12862.msg199759#msg199759 a1ex quoted"You can send ATA commands to the CF card (QEMU emulates them), so if the only difference between UDMA 6 and 7 is timing, it might even be possible to put the card in UDMA7."
#24
Quote from: names_are_hard on February 14, 2024, 10:36:51 AM
Sorry, I missed some of this as I was busy with digic 7 raw video.
No worries , raw video on D7 that great !!  8)
Quote from: names_are_hard on February 14, 2024, 10:36:51 AM
You definitely don't want "LINUX_PATH=$(HOME)/src/linux-3.19".  That's just wrong.  Can you link to the source for this module?
Ok , i found the source I'm using in foss.heptapod.net
Here's the link to the module , it looks the same as my source i downloaded about 4 years ago
cf_acc hdparm
#25
Ok I thing i figured this out , i need to put the Linux parts in my "Path" for compiling .
Been learning all about the "Linux Path" environment for developing, etc. .....
Finally found a list of command for terminal command line , it's really not that different then old DOS or 4DOS  :)
It all coming back now  :D , had to deep dive in to the "Path" stuff now i can move on and make some progress .