Commit Graph

1302 Commits

Author SHA1 Message Date
Kevin Lange
9bd14b5a24 [tree] Fix branch removal 2011-11-29 07:01:36 -06:00
Kevin Lange
63ae277053 [tree/list] Some additional functions 2011-11-29 06:52:26 -06:00
Kevin Lange
47a6832606 [tree] Simple tree implementation for processes 2011-11-29 02:49:19 -06:00
Kevin Lange
f5d1d411cf [list] Lists only got bigger... 2011-11-29 01:55:11 -06:00
Kevin Lange
05b59d366f [list] Fix some bugs in that. It never works on the first push anyway, right? 2011-11-28 23:45:33 -06:00
Kevin Lange
ea7ddfe61d [list] Simple doubly-linked list implementation 2011-11-28 23:28:55 -06:00
Kevin Lange
bb606f948d [shell] Line editing. 2011-11-26 17:18:35 -06:00
Kevin Lange
010475b6ee [bochs] Add a function to force a redraw of the cursor 2011-11-26 17:18:20 -06:00
Kevin Lange
94fe43a45e [vfs] Fix an allocation bug 2011-11-26 17:18:00 -06:00
Kevin Lange
1b1cad3f4a [shell] Scroll through history 2011-11-26 16:14:35 -06:00
Kevin Lange
0be609c334 [shell] Simple command history 2011-11-26 15:52:24 -06:00
Kevin Lange
d8c15cb0b1 [shell] Fix tab completion, I was an idiot 2011-11-26 15:26:12 -06:00
Kevin Lange
75329eed95 [misc] strstr, startswith 2011-11-26 15:25:59 -06:00
Kevin Lange
062e6fcd43 [shell] Tab completion, basic work on writing files 2011-11-24 18:59:23 -06:00
Kevin Lange
149225e097 [fs] Code cleanup 2011-11-24 12:33:20 -06:00
Kevin Lange
2efc98d5a6 [fs] Unify all read calls, add a write_block function 2011-11-24 12:28:21 -06:00
Kevin Lange
b8b48cfc65 [fs] Print some debug information on mount 2011-11-23 22:27:18 -06:00
Kevin Lange
450a8784e2 [misc] Prepare for the inevitable support for file writes 2011-11-23 21:38:51 -06:00
Kevin Lange
65e6b0e800 [shell] Redraw prompt on ^L 2011-11-23 21:22:25 -06:00
Kevin Lange
63f57855bf [shell] Complete rewrite (sort of) 2011-11-23 21:18:48 -06:00
Kevin Lange
d8e7198473 [shell] Highlight executables in green. Add info command. 2011-11-23 13:45:08 -06:00
Kevin Lange
8aee786497 [sys] This seems to help fork() a small bit 2011-11-18 22:14:00 -06:00
Kevin Lange
4052a8f63a [ext2/disk] Increase cache size
Also move cache entries to a malloc'd block so we allocate them
dynamically after mounting.
2011-11-18 22:13:10 -06:00
Kevin Lange
26a717db14 [bochs] Change output for wallpaper loading 2011-11-18 15:16:04 -06:00
Kevin Lange
6f93daf326 Get rid of a warning 2011-11-18 14:58:11 -06:00
Kevin Lange
b2b8185494 Load wallpaper from file on disk 2011-11-18 14:38:27 -06:00
Kevin Lange
31c07ba434 Fix some signed/unsigned issues 2011-11-18 00:00:54 -06:00
Kevin Lange
4697dd4c06 [mouse] Load the mouse cursor from initird 2011-11-17 23:34:35 -06:00
Kevin Lange
9fa8e10bce [ext2] Read from hard disk. Seems to work wonderfully. 2011-11-17 23:29:08 -06:00
Kevin Lange
3c0b30b5ee Wallpapers in the gits and by default 2011-11-17 19:01:14 -06:00
Kevin Lange
6297ac68ee [shell] Add ls <path> 2011-11-17 16:08:20 -06:00
Kevin Lange
77b575bfd7 [vfs] Fix relative opens from / 2011-11-17 16:08:08 -06:00
Kevin Lange
20d89355dc [vfs] Working directories, I hope 2011-11-17 15:55:59 -06:00
Kevin Lange
eb98180d0e [pci] Add pci config read/write to system.h 2011-11-03 17:06:27 -05:00
Kevin Lange
5f5dee5648 [ext2] Read a superblock from disk, anyone? 2011-11-02 00:01:17 -05:00
Kevin Lange
49bea4b221 [shell] Do at least /some/ path canonicalization... 2011-11-01 18:51:15 -05:00
Kevin Lange
34d065399d [shell] Show directories in blue... 2011-11-01 18:35:09 -05:00
Kevin Lange
3b6e3745c1 Wallpapers 2011-10-31 17:41:16 -05:00
Kevin Lange
2c9f6c163a [ide] Fix minor bug 2011-10-31 17:40:50 -05:00
Kevin Lange
87df39b19c [font] Fix silly 8 2011-10-31 17:40:37 -05:00
Kevin Lange
cefc902d32 [mouse] Screw it, increase mouse speed
I give up, I don't care about the touchpad.
2011-10-31 12:36:02 -05:00
Kevin Lange
28cc0725d0 [shell] Remove reset-keyboard command 2011-10-31 10:35:43 -05:00
Kevin Lange
b433abe28e [kbd] Fix bad modifier handling 2011-10-31 01:48:03 -05:00
Kevin Lange
4cdef2bd06 [mouse] Disable interrupts while processing mouse 2011-10-31 01:30:48 -05:00
Kevin Lange
773cdc72f7 [kbd] Optionally disable notices for unrecognized keys 2011-10-31 01:18:44 -05:00
Kevin Lange
e604e4d655 [core] Some extra macros to make life easier 2011-10-31 01:17:26 -05:00
Kevin Lange
f2b745faa9 [mouse] A real mouse cursor 2011-10-30 23:19:14 -05:00
Kevin Lange
88b31af4b4 [mouse] Silly graphical pointer 2011-10-30 22:58:42 -05:00
Kevin Lange
1805dd5ffe [mouse] Start mouse at center of screen 2011-10-30 19:15:32 -05:00
Kevin Lange
bce5d78bed [mouse] block cursor 2011-10-30 19:11:04 -05:00
Kevin Lange
64a4d880be Add mouse_install to headers... 2011-10-29 20:33:24 -05:00
Kevin Lange
441acfa7c6 [mouse] Mouse drivers 2011-10-29 00:33:45 -05:00
Kevin Lange
a4e37ae963 [sys] Debugging tool 'STOP' 2011-10-26 19:11:05 -05:00
Kevin Lange
aabfe27f46 [shell] Don't assume the sector didn't have random NULL bytes 2011-10-26 18:33:42 -05:00
Kevin Lange
e1003c7bcd [shell] Remove a bunch of shell commands 2011-10-26 14:04:48 -05:00
Kevin Lange
c0e2c891ba [ide] Shell command to read slave drive 2011-10-26 13:56:37 -05:00
Kevin Lange
80656d9257 [ide] Missed the headerS 2011-10-25 23:33:14 -05:00
Kevin Lange
de0a750659 Move IDE into its own module with functions 2011-10-25 23:30:50 -05:00
Kevin Lange
5630a8a036 [ide] Do that properly, operate on master (hda) 2011-10-25 23:16:48 -05:00
Kevin Lange
e83ca6c0b7 [hack] IDE disk reads to HDB
Run read-disk from the kernel shell to read the first sector of -hdb,
run write-disk to write the sequence "DCDCDCDCDC..." to the first
sector.
2011-10-25 21:39:55 -05:00
Kevin Lange
732e660a37 [kbd] Clean up the keyboard a bit. 2011-10-22 19:32:03 -05:00
Kevin Lange
d24dca3329 [kbd/task] Add a task killer to the keyboard handler 2011-10-22 19:17:52 -05:00
Kevin Lange
7a2741cc55 [kgets] Fix yet another ^L bug 2011-10-22 19:17:35 -05:00
Kevin Lange
d8cbf27e08 [timer] Comment and decruftify the PIT driver 2011-10-22 19:17:16 -05:00
Kevin Lange
8fc81a92f6 Vague support for ^L 2011-10-21 13:45:06 -05:00
Kevin Lange
13540d43ae Remove some warnings and errors from gcc 2011-10-21 13:01:12 -05:00
Kevin Lange
202d5af168 Fix broken task switching. [...]
We failed to inform the compiler of which registers we were clobbering
in performing that bit of assembly, so it did a wonderfully fun thing
and move esp into %ecx, eip into something, that something into %ecx,
then tried to load %ecx into %esp. Oops. *boom*.
2011-10-21 12:28:39 -05:00
Kevin Lange
d68f8a529e License header changes 2011-10-12 23:24:19 -05:00
Kevin Lange
855eecbb41 [sys] Rearrange some things 2011-05-07 01:55:49 -05:00
Kevin Lange
7531c6328d more tiles 2011-05-02 21:47:05 -05:00
Kevin Lange
6849c484e3 Mostly game stuff 2011-05-01 01:51:48 -05:00
Kevin Lange
36fd03a4ab [elf] Zero your bss, you fucking moron 2011-04-30 19:09:29 -05:00
Kevin Lange
f38360f5a7 Julia fractals, better direct keyboard handling. 2011-04-30 03:40:36 -05:00
Kevin Lange
9f49d915ba Oh my. 2011-04-29 21:41:29 -05:00
Kevin Lange
a3e8265030 oh god oh god it hurts 2011-04-29 19:54:07 -05:00
Kevin Lange
4b218387e7 [sys] Various. 2011-04-29 12:43:09 -05:00
Kevin Lange
03a8066742 Uh, we need more space. 2011-04-24 22:30:48 -05:00
Kevin Lange
8f520f2456 stupid hacks 2011-04-24 21:49:35 -05:00
Kevin Lange
a99fbf39a2 [sys] Special-case stdio for now, need to make these actual files later. 2011-04-24 21:09:36 -05:00
Kevin Lange
69ea583746 [sys] Print should not be shelling to printf... 2011-04-19 01:34:12 -05:00
Kevin Lange
ab00c88b63 uggg 2011-04-18 19:45:29 -05:00
Kevin Lange
04873afb23 [kbd] Keyboard arrow keys 2011-04-18 18:12:37 -05:00
Kevin Lange
59a1676f0a [ansi] More support, terminfo 2011-04-18 17:43:18 -05:00
Kevin Lange
9995266b11 [ansi][bochs] 256 color support (xterm palette) 2011-04-18 15:46:37 -05:00
Kevin Lange
c430668e8a [task] Drop debug output for fork stacks (that's all cleared up) 2011-04-18 15:04:27 -05:00
Kevin Lange
3017ffb8e7 [sys] I am very unhappy with most of this 2011-04-17 18:54:40 -05:00
Kevin Lange
3c299a19ed [sys] sbrk, fix stacks? 2011-04-17 18:28:40 -05:00
Kevin Lange
eb0c5d05e1 [sys] Holy crap. 2011-04-17 17:44:29 -05:00
Kevin Lange
254ceb51ab [sys] More system calls, more stability, kill bad processes 2011-04-17 13:26:31 -05:00
Kevin Lange
9e3d03da4f [cat] Some error handling 2011-04-16 20:54:02 -05:00
Kevin Lange
ad7d5d7acc [sys] read/write/open/close, also cat 2011-04-16 20:01:04 -05:00
Kevin Lange
20a2a8ae60 [ansi] Couple extras I missed 2011-04-15 22:09:33 -05:00
Kevin Lange
f2a6dc1bf6 ESC [ J 2011-04-15 22:01:33 -05:00
Kevin Lange
d2ff4c474e [ansi] Support for more escape sequences. 2011-04-15 21:48:20 -05:00
Kevin Lange
d9a6c37e17 [font] VGA font updates 2011-04-15 18:42:31 -05:00
Kevin Lange
7cf04ad13e [elf] Separate exec and system 2011-04-15 17:33:19 -05:00
Kevin Lange
3e3c7fb544 [shell] And that's what was causing a bunch of my problems. 2011-04-15 16:56:25 -05:00
Kevin Lange
371e487be2 [docs] Various. 2011-04-14 21:02:44 -05:00
Kevin Lange
3a913fb6c3 [fpu] Docs 2011-04-14 20:49:36 -05:00
Kevin Lange
7219b9bd94 [cmos] Docs 2011-04-14 20:43:20 -05:00
Kevin Lange
d1676852d8 [cmos] Make a single function to dump the CMOS 2011-04-14 20:42:15 -05:00
Kevin Lange
c551734e0c [args] Comments. 2011-04-14 20:36:51 -05:00
Kevin Lange
3b281848f3 [elf] Comments are nice. 2011-04-14 20:32:19 -05:00
Kevin Lange
c5dc546663 Missed a free... 2011-04-14 15:27:03 -05:00
Kevin Lange
5c889a168d Non-shell tests 2011-04-12 15:48:00 -05:00
Kevin Lange
7fb5720e6b [sys] Faster memcpy, memset using direct x86 assembly calls that I had no idea exists. 2011-04-12 14:37:10 -05:00
Kevin Lange
28a36e3a91 [task] Don't free the task struct for now. Find a better way of doing this. 2011-04-11 20:06:58 -05:00
Kevin Lange
7eb44a784b [task] Make sure we free everything. WARNING: this actually breaks some things as is 2011-04-11 20:05:40 -05:00
Kevin Lange
b66432c94f trying to track down an oops 2011-04-11 17:10:52 -05:00
Kevin Lange
3b12812608 [sys] Move syscalls to a separate header 2011-04-11 16:45:15 -05:00
Kevin Lange
679bd270f4 [mem] That should fix a bunch of stuff. 2011-04-11 14:17:15 -05:00
Kevin Lange
67901b3bf7 I definitely broke a bunch of stuff. 2011-04-08 17:53:52 -05:00
Kevin Lange
fabd941361 [task] Actually deschedule tasks that exit 2011-04-08 16:26:34 -05:00
Kevin Lange
42c9b0e782 [shell] Execute externals directly. 2011-04-08 16:17:36 -05:00
Kevin Lange
e273784242 [elf] Execute simple static ELF binaries. 2011-04-08 15:27:12 -05:00
Kevin Lange
d31d763058 [util] Readelf utility, actually reading some elfs. Cool. 2011-04-07 01:24:21 -05:00
Kevin Lange
60016e6e2b [main] Shouldn't be DMA'ing any of that... 2011-04-06 17:59:34 -05:00
Kevin Lange
75a221829d [mboot] Oops 2011-04-06 17:06:07 -05:00
Kevin Lange
9b3c3a1e60 [bin] Working on ELF binaries. Redid some multiboot stuff (larger ramdisks should work now) 2011-04-06 16:50:37 -05:00
Kevin Lange
148f1aa995 [devfs] Quit yelling at me! 2011-04-05 22:17:44 -05:00
Kevin Lange
f06f65d941 [ansiterm] Fix a bunch of crap with the ANSI term and output in general. 2011-04-05 19:12:08 -05:00
Kevin Lange
ad8175e0f5 How about this... 2011-04-04 22:22:22 -05:00
Kevin Lange
bff65f127f Let's try without that? 2011-04-04 22:20:28 -05:00
Kevin Lange
6eb1550d9e I'm doing something wrong, this is a workaround. 2011-04-04 20:16:56 -05:00
Kevin Lange
17bcf67667 Remove garbage coloring from various pre-display bits 2011-04-04 19:23:38 -05:00
Kevin Lange
5404428b4a Significant terminal updates. Scrolling is faster, ansi support (limited), and some other things 2011-04-04 18:51:55 -05:00
Kevin Lange
9dea4713c8 [vfs][panic] Missed a few calls... 2011-03-30 12:11:42 -05:00
Kevin Lange
cde56093d2 [panic] Updated panic screen 2011-03-30 02:16:30 -05:00
Kevin Lange
e6fc3c3783 [syscall] Why I am throwing those around void pointers... 2011-03-30 01:22:31 -05:00
Kevin Lange
5658037d2d [panic] Make damn well sure we're dead. 2011-03-29 22:46:58 -05:00
Kevin Lange
3f8a8e62ab [user] Still slightly broken userspace 2011-03-29 21:08:56 -05:00
Kevin Lange
e7f6a59e68 [shell] Change shell prompt. smash 2011-03-29 17:17:49 -05:00
Kevin Lange
9c85c544eb [fpu][bochs][sys] FPU enabled, line drawing function, abs(), max() 2011-03-29 16:35:02 -05:00
Kevin Lange
488d6bc8ca [vga] Fix serial background colors 2011-03-29 15:47:18 -05:00
Kevin Lange
0e43b3007f [vga] Actually convert VGA colors to ANSI colors 2011-03-29 15:02:20 -05:00
Kevin Lange
1ce1ab9aaf [mem] Enable direct mappings for memory, video now works with paging 2011-03-29 14:43:39 -05:00
Kevin Lange
a9365528b3 [binlits] Move binary literals to system include so we can use them anywhere 2011-03-29 13:49:15 -05:00
Kevin Lange
6150acf320 [vga_font] Fix binary literals with some macro magic (thanks Dave) 2011-03-29 13:06:12 -05:00
Kevin Lange
0ea46796a7 [vga_font] Futile effort to improve the とある characters 2011-03-29 01:46:13 -05:00
Kevin Lange
630205d03b [bochs] Fix a minor annoyance with clear 2011-03-28 21:35:10 -05:00
Kevin Lange
e9aa992baf [bochs] Fix scroll: 2011-03-28 21:34:02 -05:00
Kevin Lange
43f820be04 More minor fixes. 2011-03-28 20:43:06 -05:00
Kevin Lange
14248e7ddd Fix everything back up. 2011-03-28 20:41:17 -05:00
Kevin Lange
516490a711 [hacks] HACKS 2011-03-28 20:34:53 -05:00
Kevin Lange
9b1ab6e97f [bochs] Framebuffer terminal. PAGING HAS BEEN DISABLED 2011-03-28 19:34:44 -05:00
Kevin Lange
b01c79a95c [vga_font] とある 2011-03-28 16:55:46 -05:00
Kevin Lange
57d5196509 Oops 2011-03-28 16:33:07 -05:00
Kevin Lange
5450546a15 [vga_font] Font rendering updates. 2011-03-28 16:29:59 -05:00
Kevin Lange
16050f2da8 [vga_font] Useful font is useful. 2011-03-28 16:10:06 -05:00
Kevin Lange
8efe64dc2e [vga_font] c 2011-03-28 15:51:43 -05:00
Kevin Lange
c633c731dd [vga_font] More characters 2011-03-28 15:50:20 -05:00
Kevin Lange
88b93880a6 [bochs] Font rendering, working on font still. Does numbers. 2011-03-28 15:18:48 -05:00
Kevin Lange
6d95cf95a0 [mem] Various fixes. gcc4.4 and 4.5 hate me, use 4.3 or a clange >2.0 2011-03-28 00:26:35 -05:00
Kevin Lange
5408885078 [This too, sorta] 2011-03-27 23:58:54 -05:00
Kevin Lange
f4f780ed90 [TEMP FIX] This is a temporary attempt to fix forking. 2011-03-27 23:52:02 -05:00
Kevin Lange
04817c0423 [bochs] Do /something/ with that... 2011-03-27 19:41:31 -05:00
Kevin Lange
9a46092e4c [bochs] Proper bitmap reading, smaller boot logo. 2011-03-27 18:08:41 -05:00
Kevin Lange
ee167bd889 [bochs] Perhaps I should work on something other than this display driver... 2011-03-27 13:41:00 -05:00
Kevin Lange
42218847e3 [bochs] More extensibility with the logo reading. 2011-03-27 12:44:53 -05:00
Kevin Lange
f0d0d8421c [bochs] Various extensibility fixes 2011-03-27 12:43:08 -05:00
Kevin Lange
2686ba9cc1 [cpu] CPU detection by Brynet, BSD license 2011-03-26 21:36:49 -05:00
Kevin Lange
9057eade4e [bochs] Some simple display scrolling by 16 pixels 2011-03-26 14:15:24 -05:00
Kevin Lange
f978a0ebc2 [bochs] Typo in comment 2011-03-26 13:47:58 -05:00
Kevin Lange
827f742464 [bochs] Free buffer with the logo when we're done with it 2011-03-26 13:44:08 -05:00
Kevin Lange
a62649aafe [main] Kernel argument parsing (of a limited sort); qemu vid mode defaults 2011-03-26 13:30:08 -05:00
Kevin Lange
216a91524b [vid] Fix up the graphics driver, support more stuff, boot logo. 2011-03-25 23:24:22 -05:00
Kevin Lange
4d3118bad7 [vid] Working on VBE graphics support for Bochs/Qemu 2011-03-25 22:29:54 -05:00
Kevin Lange
4c475a2d29 Dammit, vim, let's try to keep things consistent now, shall we? 2011-03-25 19:54:48 -05:00
Kevin Lange
c3395de72f [shell] Fix a potential null-pointer derefence because we didn't check that cmd wasn't null 2011-03-25 19:49:44 -05:00
Kevin Lange
cdd9aaab7c [main] As ugly as this is, it works... 2011-03-25 01:50:50 -04:00
Kevin Lange
53024c3b49 [vga] Enable/disable cursor movement, for clock mostly 2011-03-25 01:13:44 -04:00
Kevin Lange
be3c4d2d04 [cmos] Add CMOS module 2011-03-25 01:09:23 -04:00
Kevin Lange
562a5d219f [main] save some cycles on the physical hardware 2011-03-24 20:34:37 -05:00
Kevin Lange
a84b5003f4 Classic text colors. 2011-03-24 20:24:59 -05:00
Kevin Lange
fffa6d99ae One task runs the clock, one task runs the shell. 2011-03-24 20:18:14 -05:00
Kevin Lange
80804862a4 [main] Huzzahs are in order. 2011-03-24 20:03:52 -05:00
Kevin Lange
35b6175121 [main] Pretty colors... 2011-03-24 18:55:07 -05:00
Kevin Lange
41493d779c [task] Fuck everything about this, but it finally works. 2011-03-24 18:49:57 -05:00
Kevin Lange
0363ffdf34 [various pieces of garbage] 2011-03-24 18:24:24 -05:00
Kevin Lange
781659d67b [build] Various. 2011-03-22 00:57:24 -04:00
Kevin Lange
45082c1011 [task] Sometimes, we have only the kernel. 2011-03-18 22:27:43 -05:00
Kevin Lange
19d47ce98e [docs] ... 2011-03-04 21:05:03 -06:00
Kevin Lange
e26c53dfc0 [docs] Commenting... 2011-03-04 18:18:14 -06:00
Kevin Lange
0b3ecfd4e4 Less-broken context switching, maybe? Also, run the terminal, type 'exit' 2011-03-03 23:12:26 -06:00
Kevin Lange
24ff0b84f2 Merge branch 'master' of github.com:klange/osdev 2011-03-03 01:39:46 -06:00
Kevin Lange
58dc0bb922 [task] Minor stuff 2011-03-03 01:39:26 -06:00
Kevin Lange
a2bea1ab48 [debg] Remove debug text from various places 2011-03-02 00:54:15 -06:00
Kevin Lange
3ee67c75e3 [task] um, cooperative multi-tasking? that's good, right? 2011-03-01 20:14:55 -06:00
Kevin Lange
ee04a7271d [task] Holy crap, tasking. That took forever and it's still broken. 2011-03-01 17:48:39 -06:00
Kevin Lange
937f1dd547 [mem] Oops, don't forget that. 2011-02-27 22:00:08 -06:00
Kevin Lange
407558256d [mem] Naïve, wasteful, utterly terrible, page-aligned allocations with valloc(). Works with free, too. 2011-02-27 21:58:34 -06:00
Kevin Lange
211ad21467 [init] Meh 2011-02-27 21:19:54 -06:00
Kevin Lange
ad9eb394d6 [init] vim:syntax on start.s 2011-02-27 21:14:03 -06:00
Kevin Lange
4f8cd57996 [vari] Fix a typo, move some stuff 2011-02-27 21:08:55 -06:00
Kevin Lange
20efbe7b74 [boot] Well now, we have a stage two that almost does something 2011-02-21 23:51:06 -06:00
Kevin Lange
ebd3efb47b Revert "[boot] A third stage? Really?"
This reverts commit c23080c46c.
2011-02-21 19:36:18 -06:00
Kevin Lange
c23080c46c [boot] A third stage? Really? 2011-02-21 19:09:57 -06:00
Kevin Lange
e64ce6ba38 [boot] Boot modes in kernel startup... 2011-02-19 19:27:46 -06:00
Kevin Lange
aa915adcbf [serial] Add input support using interrupts so we can work with kgets(); time drop the the text console 2011-02-19 15:27:41 -06:00
Kevin Lange
4b72e895fb [panic] HLT on panic / failed assertion, rather than busy looping 2011-02-13 23:41:43 -06:00
Kevin Lange
d42b2168c4 Crash. 2011-02-13 02:39:27 -06:00
Kevin Lange
0da56e6e51 [meta] Restructure directory tree and output files. 2011-02-12 16:47:20 -06:00