[www tom@zwizwa.be**20080807103923] hunk ./www/catkit/index.html 1 -
-CATkit, a PCB designed for Sheep. ++CATkit, a PCB designed in collaboration with GOTO10 and the +Huddersfield University Centre of Excellence in Digital Design. + hunk ./www/catkit/index.html 6 -Schematics + PCB layout are available upon request. + +This is the first iteration towards a standard platform for teaching +Staapl/Forth based embedded application development for PIC18. +However, it has some bootstrapping problems that introduce a +dependency on PIC programmer hardware and a specific (expensive) USB +serial cable that prevent its effective use as an essentially +zero-cost platform. I am looking into ways to solve this in a second +iteration. + +The schematics are available here. +This circuit is supported by the Sheep software. + +The PCB layout is freely available upon request. The board hardware +is no longer for sale. In return for feedback or collaboration on the +Staapl project, I can send you one of the remaining kits as a trade. + + hunk ./www/forthtv/index.html 2 -The ForthTV workshop about PIC18, Purrr and generating B/W video signals. +The ForthTV workshop about the PIC18 Forth and generating B/W video signals. +We used Johannes Taelman's USBPicStamp board. hunk ./www/forthtv/index.html 5 + + + hunk ./www/index.html 21 - Microchip PIC18 microcontroller architecture, and interaction tools - for shortening the edit-compile-run cycle. + Microchip PIC18 + microcontroller architecture, and interaction tools for a productive + edit-compile-run cycle. hunk ./www/index.html 38 -For the general idea behind Staapl metaprogramming, see the - introduction. - There is a more practical tutorial about +
staapl/pic18. It serves purpose as a the test
-suite part of the Staapl distribution. For more information have a
-look at
-the paper. The
-Sheep software is released under the GPL v2, and the schematic is
-placed in the public domain.
-
++ +The Sheep is an idiosyncratic 1-bit sound synthesizer implemented in +Staapl's PIC18 Forth dialect. It serves purpose as a the test suite +of the Staapl distribution. Next to that it is a fully functional +sound synthesis library that tries to take the most out of 1-bit sound +synthesis on a limited architecutre using a layered bottom-up +approach. + +The time-critical part is a 3-oscillator synth engine based on 3 +hardware 16-bit timers, giving an effective sample rate of 2 MHz. A +counter provides synchronization events on different time scales based +on the remaining 8-bit timer. The 3 oscillators can be combined to +square waves, cross modulated square waves (XOR) or envelopped waves +(AND). One of the oscillators can be switched to noise mode. The +oscillators can be synced to support hard-sync formant synthesis. + +The lower frequency modulation part (around 200Hz) is not time +critical. The PIC runs at 2 MIPS which gives about 10k instructions +per modulation tick. The code contains abstractions to split sound +generation in two cooperative tasks: one to implement loops (virtual +sound samples) and one to trigger those loops in a standard +hierarichal procedural way (music, notes). In addition it contains +some abstractions to build a pattern sequencer. + +The current version of Sheep runs on the PIC18F1220. It was +originally written for the PIC12F625 as part of the first iteration of +Staapl (april 2005). The Sheep software is released under the GPL v2, +and the schematic is placed in the public domain. + +Documentation: + * tutorial + * schematic + +