;;; hacks

(require-library 3e8-html)

;;; main

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

 (navskip)
 (call-resp (category 'hacks)
            "Things I cobbled together.")

 (navbar 'hacks)
 
 `(div (@ (id "content"))
       (div (@ (id "main1"))

            (div (@ (class "appenclosure"))
                 (div (@ (class "hiliteapp"))
                      ,(link "brkout/"
                             '(img (@ (src "brkout-hilite.png")
                                      (alt "[screenshot: brkout level editor]"))))
                      (p "brkout is a breakout clone for the Sega Dreamcast.  It features seventeen premade levels and a level editor that saves to VMU.  "
                         ,(raquo (link "brkout/" "Go to brkout"))))
                 (div (@ (class "hiliteapp"))
                      ,(link "ultima6/"
                             '(img (@ (src "tiles-hilite.png")
                                      (alt "[screenshot: pu6e and gargoyle underworld]"))))
                      (p "pu6e is an OpenGL-based world editor for Ultima 6 and the Worlds of Ultima games.  It runs on Windows and Linux.  "
                         ,(raquo (link "ultima6/" "Go to pu6e")))))

            
            ,(section "Subhacks" 'otherhacks
                      (program (link "dc/" "Dreamcast")
                               "Dreamcast programs")
                      (program (link "/zb/" "Zbigniew's page")
                               "Chicken Scheme programs")
                      (program (link "/pub/" "the pub")
                               "Public file repository"))
            ,(section "Patches" 'hacks-patches
                      (program (link "/pub/lighttpd-1.4.18-tcpnodelay.diff" "lighttpd anti-nagle")
                               "Disable Nagle's algorithm in lighttpd 1.4.18")
                      (program (link "/pub/snes9x-osx-gcc4.patch" "Snes9x OSX gcc4")
                               "Get Snes9x Custom HQ 1.43 working with gcc4")
                      (program (link "/pub/tree-1.5.0-os-x.diff" "tree 1.5.0 OSX")
                               "Get tree 1.5.0 working with OS X"))

            ,(section "Forth" 'forth
                      (program (link "/pub/jonesforth-modified.tar.gz" "Enhanced Jonesforth")
                               "Modified version of Jonesforth with tail-call optimization; DOVAR/DOCON -> simplified CONSTANT, VARIABLE, and VALUE; FIG-FORTH-style CREATE ... DOES> support; case-insensitive FIND; Pentium optimizations; SEE aborts on word not found; constant, variable and DOES> decompilation (and indicate primitives).")
                      (program (link "/pub/doer-make-simple.fs" "Simple DOER/MAKE")
                               "A simple DOER/MAKE implementation which is just vectored execution with a little sugar."))

            ,(section "Miscellany" 'miscellany
                      (program (link "/pub/adouble-fix.pl" "rsync+hfsmode Appledouble fix")
                               "Fix endian issues on Intel in AppleDouble files created by rsync+hfsmode. (2009-07)")
                      (program (link "/pub/libffi-20071207.tgz" "libffi-20071207")
                               "libffi built from SVN on 2007-12-07, for Leopard support.  Also see the " (link "/pub/libffi-20071207-build.txt" "build instructions."))
                      (program (link "/pub/e-date.prc" "e-date.prc")
                                "A little gem which displays the realtime e-date, in canonical format, on a Palm Pilot.  Great for impressing the sex of your choice."))

            ,(section "Historical" 'historical
                      (program (link "/pnes.html" "pNES")
                               "A hacked-up version of nestra 0.64.")
                      (program (link "/pub/gpm-1.14-accel.tgz" "gpm-1.14-accel")
                               "A patch that provides graded acceleration in GPM 1.14 and therefore X.")
                      (program (link "/pub/apple2-v004-ggi.tgz" "apple2-v004-ggi")
                               "A port of apple2 v0.04, an Apple ][+ and //e emulator for Linux, to GGI.  Does not compile with any recent libggi.")
                      (program (link "/pub/et6000-ggi-1.0.tar.gz" "ET6000 driver")
                               "My ET6000 driver, written for "
                               (link "http://www.ggi-project.org" "GGI") ".")
                      (program (link "/pub/plmpatch.tar.gz" "playmidi patch")
                       "For v2.3; fixes segfaults and percussion problems with the Ultrasound.")
                      (program (link "/pub/gusdj-0.1.tar.gz" "gusdj")
                               "\"GUS Joystick Interface Disabler.\"  Disables the joystick port on the Ultrasound ACE under Linux."))
            )
       ))
