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.

Messages - coco_goat

Pages: [1]
@coco_goat - welcome aboard, glad you got it working!  I will warn you, it's almost entirely untested.  Chances of it breaking something are much higher than real ML.  It looks like you tried to do a non-CONFIG_HELLO_WORLD build.  That's especially untested and increases risk as it will try to use more functionality.  People willing to work with the code and try and understand what's going on are definitely welcome though!

Consider joining the Discord, you can get quicker feedback there and I don't post everything to the forums, only the stuff that's more generally interesting.

Thanks, I'll visit you someday :) I had some experience in reversing x86 code with OllyDdg and tried to dig a bit 200D firmware in IDA/Ghidra, but it looks quite hazy so far. Toolchain itself is very inconvenient, e.g. I have no idea how to quickly load 200 ROM fragments produced by to different addresses, what's preventing running 200D FW in QEMU, what are that gdb patches (and how to use gdb at all, lol), how ML bootstraps itself, like where does control go after after my_big_init_task... etc. But at least it's now builds!


BTW have you guys seen this?
Someone ported avrcraft to 200D! (it's Minecraft server, not client)

Improved CONFIG_HELLO_WORLD platform/200D build:

Yay, thank you for your work, names_are_hard! I'm trying to run this on my 200D, no luck so far.

- I've downloaded BOOT200D.FIR from this post
- Enabled boot flag (I guess. "BOOT=-1" is okay?)

- Made my card bootable

- Compiled autoexec.bin

Code: [Select]
> …/magiclantern_simplified/platform/200D.101/git rev-parse --short HEAD

> …/magiclantern_simplified/platform/200D.101/make
Using ~/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-gcc (preferred).
[ VERSION  ]   ../../platform/200D.101/version.bin
......... strip .........
[ LD       ]   magiclantern
[ OBJCOPY  ]   magiclantern.bin
[ STAT     ]   magiclantern.bin
magiclantern.bin: 210700 bytes
[ CC       ]   reboot.o
[ CC       ]   disp_direct.o
[ CC       ]   font_direct.o
[ CC       ]   footer.o
[ LD       ]   autoexec
[ XOR_CHK  ]   ../../build_tools/xor_chk
[ OBJCOPY  ]   autoexec.bin
[ XOR_CHK  ]   autoexec.bin

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000100 0x001b6300 0x001b6300 0x3370c 0x3f5fc RWE 0x100

Tip: to compile faster, try one of these:
    make -j4
    export MAKEFLAGS='-j4'

[ SYMBOLS  ]   magiclantern.sym
[ CP       ]   200D_101.sym

- Dropped autoexec.bin on my card (just autoexec.bin, without ML directory)

... and my camera freezes right after boot.
I see "sensor cleaning" animation and that's all, it does not respond to keys, or, at best, reboots.
What I'm doing wrong? If I'm doing everything right, could you please share your autoexec.bin? Or maybe I can somehow dump some logs to card?

UPD: It actually works. ML directory was mandatory :D

And even ML itself is kinda trying to work, hehe, throws some asserts:

Code: [Select]
at ../../src/bmp.c:69 (BMP_VRAM_START), task console_task
lv:0 mode:0

console_task stack: 2c3580 [2c36d0-2c26d0]
0xUNKNOWN  @ 1b6b7b:2c3580

Magic Lantern version : Nightly.2021Mar03.200D101
Mercurial changeset   : NO_HG
Built on 2021-03-03 21:43:07 UTC by username@tp.
Free Memory  : 0K + 2759K

at ../../src/bmp.c:69 (BMP_VRAM_START), task notifybox_task
lv:0 mode:0

notifybox_task stack: 2ad448 [2ad690-2ac690]
0xUNKNOWN  @ 1b6b7b:2ad448

Magic Lantern version : Nightly.2021Mar03.200D101
Mercurial changeset   : NO_HG
Built on 2021-03-03 21:43:07 UTC by username@tp.
Free Memory  : 0K + 2760K

Pages: [1]