From: chaoskagami Date: Sun, 22 May 2016 07:11:15 +0000 (-0400) Subject: Docs commit X-Git-Tag: stable-1~58 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=439469908aa43cf21733138378188693e4f2a758;p=corbenik%2Fcorbenik.git Docs commit --- diff --git a/copy.sh b/copy.sh index 53b5e83..4aaa3b0 100644 --- a/copy.sh +++ b/copy.sh @@ -1,4 +1,8 @@ #!/bin/bash + +# This is just a helper script I use to copy shit to my own unit. +# You don't and shouldn't need to use it. + mount /dev/sdb1 /media/cd || exit 0 cp out/arm9loaderhax.bin /media/cd/anim/boot/none.bin || exit 0 cp out/arm9loaderhax.bin /media/cd/anim/boot/r.bin || exit 0 diff --git a/doc/compiling.md b/doc/compiling.md index 58dc7fb..0eacb7d 100644 --- a/doc/compiling.md +++ b/doc/compiling.md @@ -1,17 +1,19 @@ Cloning / Compilation -------------------------- -Okay, first thing's first. I can't support compiling on Windows. Use Linux. The repo abuses symbolic links links with good reason. +Okay, first thing's first. I can't support compiling on Windows. Use Linux. The repo abuses symbolic links, relies on certain software being present which isn't with devkitPro, and has host tools which are untested on Windows and require a native gcc (as in, mingw only.) + +If you want to fix windows builds, be my guest. I'll merge it so long as it A) doesn't break my machine's builds and B) uses mingw/cygwin as the native compiler. No msvcisms will be allowed on my watch. You'll need the following to compile: * git * gcc (as in, host gcc) - * arm-none-eabi-gcc (as in, devkitarm OR baremetal...but I can't necessarily help with the latter) + * arm-none-eabi-gcc (as in, devkitarm OR baremetal gcc (the latter isn't well tested, but may work) * a brain (hard requirement) To clone: use `git clone --recursive`. Some parts of this CFW are submodules. -To build: run `make`. Output is in `out`. Done. +To build: run `make`. Output is in `out`. Done. Optionally, parallel make works so pass `-jN` to speed up things. Not every revision is 100% guaranteed to build. I'll set up a CI eventually. diff --git a/doc/todo.md b/doc/todo.md index 751b634..d97f6f2 100644 --- a/doc/todo.md +++ b/doc/todo.md @@ -1 +1,19 @@ * Attempt to create a replacement handler for Service 0x3D, AKA OutputDebugString(void const, int) to log to a file on SD. + * Might be a pipe dream. It still would be cool to capture debug logs from games. + * Pretty sure this goes over JTAG on PARTNER units and anything else >/dev/null. + * Implement some kind of curses-like backend and replace terrible printf rewind on top screen. + * Alternatively, implement a monochrome GUI. + * We also need UTF8 support. I want translation support. + * Dragging in freetype or a bitmap font tool. + * Ugh, VWF. Not like I haven't done it before... + * Config fragments for modules; and these need to be part of the modules, not corbenik's options menu. + * Oppa Kconfig style. + * Busybox may be helpful. + * Probably need to reimplement anyways due to lack of userland. + * Implement program loading as...something else. The current linker is broken. There's multiple ways to go about this: + * Figure out why it breaks, and fix it up. + * Embed a function table in corbenik itself, and rip this table out and generate a header post-compile which can be used by modules. + * Allow modules to be internal AND external, and to build either way. Think of the whole kmod-versus-builtin deal. + * All in all, this simplifies testing and allows multiple release types. + * Rewrite all hardcoded constants that are machine code as assembly. + * Read: all the patches diff --git a/external/service/README.md b/external/service/README.md new file mode 100644 index 0000000..5cb9cd3 --- /dev/null +++ b/external/service/README.md @@ -0,0 +1,3 @@ +This directory contains service fragments for ARM11. This includes svcbackdoor. + +As easy as it would be to rely on armips (bleh) I've instead taken the harder route of clever gas and objcopy use. No armips will ever be required for this repo.