;;; zb

(require-library 3e8-html)

;; dated program
(define (dprogram date name . desc)
  `(tr (td (@ (class "date")) ,date)
       (td (@ (class "prog")) ,name)
       (td ,@desc)))

;; program with additional download column
(define (program/dld date name dld . desc)
  `(tr (td (@ (class "date")) ,date)
       (td (@ (class "prog")) ,name)
       (td ,@desc)
       (td (@ (class "dld")) ,dld)))

;; download column (typically, L is a list of links)
(define (dld . L)
  `(ul ,@(map (lambda (x) `(li ,x))
              L)))

;;; main

(render-page
 "3e8.org - Hacks - Dreamcast"

 (navskip)
 (call-resp (category 'hacks 'dc)
            "Dreamcast-related junk, and stuff.")

 (navbar 'hacks)
 
 `(div (@ (id "content"))
       (div (@ (id "main1"))
            ,(section "Apps" 'apps
                      (program/dld "2002-06-06"
                                   (link "/hacks/brkout" "brkout")
                                   (raquo (link "/hacks/brkout" "to brkout page"))
                                   "A breakout clone, complete with level editor.")
                      (program/dld "2002-02-07"
                                   "tuxnes-dc"
                                   (dld (link "/pub/tuxnes/tuxnes-dc-0.2.tgz" "Source")
                                        (link "/pub/tuxnes/tuxnes-dc-0.2-bin.tgz" "Binary")
                                        (link "/pub/tuxnes/tuxnes-dc-0.2-README.txt" "README")
                                        (link "/pub/tuxnes/tuxnes-dc-CHANGES.txt" "CHANGES"))
                                   "DC port of TuxNES 0.75 with raster and tile renderers.")
                      (program/dld "2004-03-11"
                                   "zarya"
                                   (dld (link "/hacks/dc/zarya-a01.bin.gz" "Binary")
                                        (link "/hacks/dc/zarya1.png" "Screen 01")
                                        (link "/hacks/dc/zarya2.png" "Screen 02")
                                        (link "/hacks/dc/zarya3.png" "Screen 03"))
                                   "Space shmup, v0.1 alpha."))
            
            ,(section "Demos" 'demos
                      (program/dld "2004-02-23"
                                   "punch"
                                   (dld (link "/pub/kos/punch-01.tgz" "Source")
                                        (link "/pub/kos/punch-01.bin.gz" "Binary"))
                                   "Test harness for benchmarking large polygons (especially punch-throughs).  Requires "
                                   '(a (@ (href "/pub/kos/20040223-pvr_reset_stats.diff")) "pvr_reset_stats")
                                   " patch, below. [v01]")
                      (program/dld "2004-02-18"
                                   "Oceano"
                                   (dld (link "/pub/kos/oceano-01.tgz" "Source")
                                        (link "/pub/kos/oceano-01.bin.gz" "Binary")
                                        (link "oceano-ss.png" "Screen"))
                                   "Basic specular highlighting example.  Requires "
                                   (link "http://www.renate-hat.onlinehome.de/tillorg/a128/SpecularHighlightPVR.rar"
                                         "specular highlight patch")
                                   " and " (link "/pub/kos/20040218-plx_spec.diff" "libparallax patch") ". [v01]")
                      (program/dld "2004-02-08"
                                   "Serpent"
                                   (dld (link "/pub/kos/serpent.tgz" "Source")
                                        (link "/pub/kos/serpent.bin.gz" "Binary"))
                                   "KOS bubbles demo modified to run about 5x faster.  This technique is applicable for any precomputed model.")
                      (program/dld "2002-01-15"
                                   "Paletted texture example"
                                   (dld (link "/pub/pal.tar.gz" "Source"))
                                   "4 and 8bpp paletted texture example for "
                                   '(a (@ (href "http://cadcdev.sf.net")) "KOS")
                                   " 1.1.6.  I was sick to my stomach while I wrote this, and it shows."))
            ,(section "Patches" 'patches
                      (dprogram "2004-02-23"
                                (link "/pub/kos/20040223-pvr_reset_stats.diff" "pvr_reset_stats")
                                "Add capability to reset pvr statistics mid-program.")
                      (dprogram "2004-02-18"
                                (link "/pub/kos/20040218-plx_spec.diff" "plx_spec")
                                "Allow libparallax to access specular highlighting.")
                      (dprogram "2004-02-06"
                                (link "/pub/kos/20040206-mat_trans.diff" "mat_trans_single")
                                "Increase mat_trans_single performance by 10-20%.")
                      (dprogram "2004-02-02"
                                (link "/pub/kos/20040202-sq_cpy.diff" "sq_cpy")
                                "Increase sq_cpy performance by 20-40%."))
            ,(section "Utilities" 'dc-utilities
                      (dprogram "2004-08-19"
                                (link "dc-chain-0.1.tar.gz" "dc-chain 0.1")
                                "Makefile which builds the dc development toolchain.  Initial release only; the community has taken over this project."))
            )
       ))
