about summary refs log tree commit diff stats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* clean up treeshaking support for baremetalKartik K. Agaram2021-10-304-71/+125
| | | | | | | | | Check minified sizes by running: tools/translate_minified _files_ ls -l a.bin qemu-system-i386 code.img What I had before was for the linux/ version.
* .Kartik K. Agaram2021-10-101-2/+2
|
* .Kartik K. Agaram2021-09-011-0/+1
|
* .Kartik K. Agaram2021-08-111-2/+2
|
* .Kartik K. Agaram2021-08-111-0/+9
|
* new tool: creating a data diskKartik K. Agaram2021-08-101-0/+12
|
* .Kartik K. Agaram2021-07-161-8/+29
|
* html: better highlighting for int registersKartik Agaram2021-06-261-0/+13
|
* .Kartik Agaram2021-06-261-6/+0
| | | | Drop some long-obsolete tooling. I no longer use iTerm2.
* .Kartik Agaram2021-06-151-1/+1
|
* .Kartik Agaram2021-05-021-1/+44
|
* .Kartik Agaram2021-05-011-44/+1
|
* .Kartik Agaram2021-03-241-636/+0
|
* .Kartik Agaram2021-03-231-2/+2
|
* .Kartik Agaram2021-03-231-2/+3
|
* .Kartik Agaram2021-03-231-4/+3
|
* .Kartik Agaram2021-03-231-2/+2
|
* .Kartik Agaram2021-03-231-41/+30
|
* 7846Kartik K. Agaram2021-03-041-4/+6
|
* 7842 - new directory organizationKartik K. Agaram2021-03-03104-33908/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Baremetal is now the default build target and therefore has its sources at the top-level. Baremetal programs build using the phase-2 Mu toolchain that requires a Linux kernel. This phase-2 codebase which used to be at the top-level is now under the linux/ directory. Finally, the phase-2 toolchain, while self-hosting, has a way to bootstrap from a C implementation, which is now stored in linux/bootstrap. The bootstrap C implementation uses some literate programming tools that are now in linux/bootstrap/tools. So the whole thing has gotten inverted. Each directory should build one artifact and include the main sources (along with standard library). Tools used for building it are relegated to sub-directories, even though those tools are often useful in their own right, and have had lots of interesting programs written using them. A couple of things have gotten dropped in this process: - I had old ways to run on just a Linux kernel, or with a Soso kernel. No more. - I had some old tooling for running a single test at the cursor. I haven't used that lately. Maybe I'll bring it back one day. The reorg isn't done yet. Still to do: - redo documentation everywhere. All the README files, all other markdown, particularly vocabulary.md. - clean up how-to-run comments at the start of programs everywhere - rethink what to do with the html/ directory. Do we even want to keep supporting it? In spite of these shortcomings, all the scripts at the top-level, linux/ and linux/bootstrap are working. The names of the scripts also feel reasonable. This is a good milestone to take stock at.
* 7746Kartik Agaram2021-02-141-3/+2
|
* 7745Kartik Agaram2021-02-141-0/+9
|
* 7688Kartik Agaram2021-02-061-1/+1
|
* 7476Kartik Agaram2020-12-301-1/+1
|
* 7472Kartik Agaram2020-12-291-0/+9
|
* 7464Kartik Agaram2020-12-291-0/+9
|
* 7426Kartik Agaram2020-12-271-41/+41
|
* 7405Kartik Agaram2020-12-261-36/+45
|
* 7252Kartik Agaram2020-11-161-1/+1
|
* 7236Kartik Agaram2020-11-141-1/+1
|
* 7233 - fix some warnings from gcc 9Kartik Agaram2020-11-131-3/+3
| | | | | | Make strncpy a little less error-prone. Just use memcpy where that suffices: https://stackoverflow.com/questions/56782248/gcc-specified-bound-depends-on-the-length-of-the-source-argument/56782476#56782476
* 6774Kartik Agaram2020-09-111-0/+11
|
* 6674Kartik Agaram2020-07-251-5/+5
|
* 6631Kartik Agaram2020-07-111-4/+4
|
* 6617Kartik Agaram2020-07-051-7/+5
|
* 6610 - tweak the Linux boot image generatorKartik Agaram2020-07-051-8/+6
| | | | | So far we hardcoded the translation process and it only supported SubX. Now we pass in an ELF binary and outsource how it's generated.
* -Kartik Agaram2020-05-182-17/+20
|
* mu.subx: make handles in Primitives easier to readKartik Agaram2020-05-181-0/+17
|
* 6207 - tweaks while creating a videoKartik Agaram2020-04-191-3/+3
| | | | https://futureofcoding.org/two-minute-week
* 6123 - runtime helper for initializing arraysKartik Agaram2020-03-111-0/+636
| | | | | | | | | | | | | I built this in 3 phases: a) create a helper in the bootstrap VM to render the state of the stack. b) interactively arrive at the right function (tools/stack_array.subx) c) pull the final solution into the standard library (093stack_allocate.subx) As the final layer says, this may not be the fastest approach for most (or indeed any) Mu programs. Perhaps it's better on balance for the compiler to just emit n/4 `push` instructions. (I'm sure this solution can be optimized further.)
* 6003Kartik Agaram2020-02-091-4/+15
|
* 6002Kartik Agaram2020-02-091-3/+4
|
* 5910Kartik Agaram2020-01-201-2/+1
| | | | | Trace browser: Don't let the background color get too light, and cycle back to darker shades so I'm not squinting at low depths.
* 5900Kartik Agaram2020-01-191-0/+16
|
* 5899Kartik Agaram2020-01-192-4/+11
|
* 5897 - rename comparison instructionsKartik Agaram2020-01-161-16/+0
| | | | | | | Signed and unsigned don't quite capture the essence of what the different combinations of x86 flags are doing for SubX. The crucial distinction is that one set of comparison operators is for integers and the second is for addresses.
* 5891Kartik Agaram2020-01-141-0/+20
|
* 5884Kartik Agaram2020-01-121-0/+7
|
* 5881Kartik Agaram2020-01-101-7/+0
|
* 5875Kartik Agaram2020-01-021-7/+7
|