diff options
Diffstat (limited to 'www/devcon')
| -rw-r--r-- | www/devcon/IMG_4083.JPG | bin | 739023 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4084.JPG | bin | 744194 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4085.JPG | bin | 807416 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4086.JPG | bin | 626454 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4087.JPG | bin | 904011 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4088.JPG | bin | 1012372 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/IMG_4089.JPG | bin | 1006566 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/Makefile | 9 | ||||
| -rw-r--r-- | www/devcon/bildtext.txt | 5 | ||||
| -rw-r--r-- | www/devcon/img4083.jpg | bin | 67794 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4083t.jpg | bin | 12444 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4084.jpg | bin | 80091 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4084t.jpg | bin | 16550 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4085.jpg | bin | 90051 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4085t.jpg | bin | 10035 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4086.jpg | bin | 56036 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4086t.jpg | bin | 12220 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4087.jpg | bin | 79846 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4087t.jpg | bin | 8665 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4088.jpg | bin | 112641 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4088t.jpg | bin | 11368 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4089.jpg | bin | 101347 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/img4089t.jpg | bin | 18188 -> 0 bytes | |||
| -rw-r--r-- | www/devcon/index.t | 132 |
24 files changed, 0 insertions, 146 deletions
diff --git a/www/devcon/IMG_4083.JPG b/www/devcon/IMG_4083.JPG Binary files differdeleted file mode 100644 index d6ed305..0000000 --- a/www/devcon/IMG_4083.JPG +++ /dev/null diff --git a/www/devcon/IMG_4084.JPG b/www/devcon/IMG_4084.JPG Binary files differdeleted file mode 100644 index fedff94..0000000 --- a/www/devcon/IMG_4084.JPG +++ /dev/null diff --git a/www/devcon/IMG_4085.JPG b/www/devcon/IMG_4085.JPG Binary files differdeleted file mode 100644 index d592852..0000000 --- a/www/devcon/IMG_4085.JPG +++ /dev/null diff --git a/www/devcon/IMG_4086.JPG b/www/devcon/IMG_4086.JPG Binary files differdeleted file mode 100644 index 758c6ad..0000000 --- a/www/devcon/IMG_4086.JPG +++ /dev/null diff --git a/www/devcon/IMG_4087.JPG b/www/devcon/IMG_4087.JPG Binary files differdeleted file mode 100644 index 15846b5..0000000 --- a/www/devcon/IMG_4087.JPG +++ /dev/null diff --git a/www/devcon/IMG_4088.JPG b/www/devcon/IMG_4088.JPG Binary files differdeleted file mode 100644 index 53c760d..0000000 --- a/www/devcon/IMG_4088.JPG +++ /dev/null diff --git a/www/devcon/IMG_4089.JPG b/www/devcon/IMG_4089.JPG Binary files differdeleted file mode 100644 index 00dacfc..0000000 --- a/www/devcon/IMG_4089.JPG +++ /dev/null diff --git a/www/devcon/Makefile b/www/devcon/Makefile deleted file mode 100644 index 751a62f..0000000 --- a/www/devcon/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -ACTION=@echo preprocessing $@; rm -f $@; $(HOME)/bin/fcpp -WWW -I.. -Uunix -H -C -V -LL >$@ - -SRC := $(wildcard *.t) -OBJS := $(SRC:%.t=%.html) - -all: $(OBJS) - -%.html : %.t - $(ACTION) $< diff --git a/www/devcon/bildtext.txt b/www/devcon/bildtext.txt deleted file mode 100644 index f8869f8..0000000 --- a/www/devcon/bildtext.txt +++ /dev/null @@ -1,5 +0,0 @@ -4083: Comparison between Recorder and Player -4084: Contest: Spot the development box! -4086: A stack of "virgins"! -4087: A pre-4.50 player (left) and a post-4.50 player (right). -4089: There's lots of fun to be had with these things! diff --git a/www/devcon/img4083.jpg b/www/devcon/img4083.jpg Binary files differdeleted file mode 100644 index e26cb18..0000000 --- a/www/devcon/img4083.jpg +++ /dev/null diff --git a/www/devcon/img4083t.jpg b/www/devcon/img4083t.jpg Binary files differdeleted file mode 100644 index b615af2..0000000 --- a/www/devcon/img4083t.jpg +++ /dev/null diff --git a/www/devcon/img4084.jpg b/www/devcon/img4084.jpg Binary files differdeleted file mode 100644 index 9dbd59a..0000000 --- a/www/devcon/img4084.jpg +++ /dev/null diff --git a/www/devcon/img4084t.jpg b/www/devcon/img4084t.jpg Binary files differdeleted file mode 100644 index 31c2b6e..0000000 --- a/www/devcon/img4084t.jpg +++ /dev/null diff --git a/www/devcon/img4085.jpg b/www/devcon/img4085.jpg Binary files differdeleted file mode 100644 index 376a8f3..0000000 --- a/www/devcon/img4085.jpg +++ /dev/null diff --git a/www/devcon/img4085t.jpg b/www/devcon/img4085t.jpg Binary files differdeleted file mode 100644 index 52f3afe..0000000 --- a/www/devcon/img4085t.jpg +++ /dev/null diff --git a/www/devcon/img4086.jpg b/www/devcon/img4086.jpg Binary files differdeleted file mode 100644 index 051361c..0000000 --- a/www/devcon/img4086.jpg +++ /dev/null diff --git a/www/devcon/img4086t.jpg b/www/devcon/img4086t.jpg Binary files differdeleted file mode 100644 index 18736fe..0000000 --- a/www/devcon/img4086t.jpg +++ /dev/null diff --git a/www/devcon/img4087.jpg b/www/devcon/img4087.jpg Binary files differdeleted file mode 100644 index 2c047ba..0000000 --- a/www/devcon/img4087.jpg +++ /dev/null diff --git a/www/devcon/img4087t.jpg b/www/devcon/img4087t.jpg Binary files differdeleted file mode 100644 index 89ed228..0000000 --- a/www/devcon/img4087t.jpg +++ /dev/null diff --git a/www/devcon/img4088.jpg b/www/devcon/img4088.jpg Binary files differdeleted file mode 100644 index f2cb22f..0000000 --- a/www/devcon/img4088.jpg +++ /dev/null diff --git a/www/devcon/img4088t.jpg b/www/devcon/img4088t.jpg Binary files differdeleted file mode 100644 index 5200231..0000000 --- a/www/devcon/img4088t.jpg +++ /dev/null diff --git a/www/devcon/img4089.jpg b/www/devcon/img4089.jpg Binary files differdeleted file mode 100644 index a21385f..0000000 --- a/www/devcon/img4089.jpg +++ /dev/null diff --git a/www/devcon/img4089t.jpg b/www/devcon/img4089t.jpg Binary files differdeleted file mode 100644 index b344367..0000000 --- a/www/devcon/img4089t.jpg +++ /dev/null diff --git a/www/devcon/index.t b/www/devcon/index.t deleted file mode 100644 index 8f0e1d7..0000000 --- a/www/devcon/index.t +++ /dev/null @@ -1,132 +0,0 @@ -#define _PAGE_ Rockbox Developer Conference 2002 -#include "head.t" - -<table align="right"><tr><td><a href="show.cgi?img4083.jpg"><img src="img4083t.jpg" alt="photo" border=0 width=200 height=150></a><br><small><i>Comparison of Recorder and Player</i></small></td></tr></table> - -<p>Well, almost. :-) Björn, Linus, Daniel and Kjell sat down at Linus' house -friday night (2002-04-19) with our Archoses and had a long and fruitful discussion about software design. -Here are a few things that we discussed: - -<h2>Application Programming Interfaces</h2> - -<p>We want to try to stick to POSIX where these exist and are practical. The -reason is simply that many people already know these APIs well. Here are a -few which haven't already been defined in the code: - -<h3>File operations</h3> -<ul> -<li>open -<li>close -<li>read -<li>write -<li>seek -<li>unlink -<li>rename -</ul> - -<table align="right"><tr><td><a href="show.cgi?img4084.jpg"><img src="img4084t.jpg" alt="photo" border=0 width=200 height=150></a> -<br><small><i>Contest: Spot the development box!</i></small></td></tr></table> - -<h3>Directory operations</h3> -<ul> -<li>opendir -<li>closedir -<li>readdir -</ul> - -<h3>Disk operations</h3> -<ul> -<li>readblock -<li>writeblock -<li>spindown -<li>diskinfo -<li>partitioninfo -</ul> - -<p>We also decided that we will use the 'newlib' standard C library, -replacing some functions with smaller variants as we move forward. - -<h2>Multitasking</h2> - -<p>We spent much time discussing and debating task scheduling, or the lack -thereof. First, we went with the idea that we don't really need "real" -scheduling. Instead, a simple "tree-task" system would be used: A -main-loop, a timer tick and a "bottom half" low-priority interrupt, each -with an event queue. - -<p>Pretty soon we realized that we will want to: - -<ol style="a"> -<li> Use a timer tick to poll disk I/O (assuming we can't get an interrupt) -<li> Perform slow disk operations in both the MP3->DAC feeder and the user - interface, sometimes at the same time. -<li> Not lock up the user interface during I/O. -</ol> - -<table align="right"><tr><td><a href="show.cgi?img4086.jpg"><img src="img4086t.jpg" alt="photo" border=0 width=200 height=150></a> -<br><small><i>A stack of "virgins"!</i></small></td></tr></table> - -<p>At the same time, we agreed that we should not walk into the common trap -of engaging in "job splitting". That is, to split up jobs in small chunks -so they don't take so long to finish. The problem with job splitting is -that it makes the code flow very complex. - -<p>After much scratching our collective heads over how to make a primitive -"three-task" system be able to do everything we wanted without resorting -to complex job splitting, we finally came to the conclusion that we were -heading down the wrong road: - -<p><blockquote> - <b>We need threading.</b> -</blockquote> - -<p>Even though a scheduler adds complexity, it makes the rest of the code so -much more straight-forward that the total net result is less overall -complexity. - -<p>To keep it simple, we decided to use a cooperative scheduler. That is, one -in which the threads themselves decide when scheduling is performed. The -big gain from this, apart from making the scheduler itself less complex, -is that we don't have to worry as much about making all code "multithread -safe". - -<p>Affording ourselves the luxury of threads, we soon identified four basic -threads: - -<ul> -<li>Disk thread, performing all disk operations -<li>UI thread, handling the user interface -<li>MP3 feed thread, making sure the MAS is fed with data at all times -<li>I2C thread, handling the sometimes very relaxed timing of the I2C bus -</ul> - -<p>Threads use message passing between them and each have a message queue -associated to it. - -<table align="right"><tr><td><a href="show.cgi?img4089.jpg"><img src="img4089t.jpg" alt="photo" border=0 width=200 height=150></a> -<br><small><i>There's much fun to be had with these things!</i></small></td></tr></table> - -<p>In addition to the threads, we need a timer interrupt with the ability to -send messages to threads at specific intervals. This will also be used to -scan the keys of the jukebox and handle key repeat detection (when a key -has been pressed for a number of ticks). - -<p>None of these things are, of course, written in stone. Feel free to -comment, discuss and argue about them! - -<p>We are currently 89 subscribers to this list. If you want to get more -deeply involved in what's going on, I encourage you to: - -<ul> -<li>Subscribe to the rockbox-cvs list, to see all code that goes in. -<li>Join the #rockbox channel on irc.openprojects.net. There are always a -couple of us in there. -</ul> - -<p>I have written a set of guidelines for contributing code to the project. -Take a look at them in CVS or here: -<a href="http://bjorn.haxx.se/rockbox/firmware/CONTRIBUTING">CONTRIBUTING</a> - -<p>/Björn - -#include "foot.t" |