
Walking in Charles Village, to Kinko’s I go and to laminate this circuit design as a gift to relatives, or perhaps a dog placemat… My pockets are heavy with Jagermeister and other Peter B things, for I am off to lecture @ Red Room on:
"chubLISP: embedded computer music programming the ARM CORTEX, for SHBOBO squish device, the CHUB"
But what's this? There's no one there @ The Red Room for the computer programming jam? Well I will just have to write it all down in the BLOG as me'brain thinks it went, so hear is the "SHBOBO VIRTUAL PRESENTATION":::::::
yellow is the night. Here I have a laminated “CHUBGALLOWS” which demonstrates the layout of 32 bit processor codename “STEVE”. I won’t take but a sentence saying that I have heard Willie Nelson doing stand-up comedy and saying “I had my testicles laminated”! Anyway the codename for any previous work here at SHBOBO is “BOYSCOUTS”, for it involves some sort of 8 BIT CHIPPERY. Now is the future, I am 32 years olde. Thus I must program in 32 bits. Simple as that. The BOYSCOUTS work is essential, and you can see some of it in the letterhead for this BLOG! The CHUB and SHTAR were most recently re-incarnated on a double header board using PIC CHIPS, little 8 BIT FETISH-INSECTS. We will talk about the instruments themselves later on. For now, let us just go through this (preferably laminated) CHUBGALLOWS.
The first thing that strikes thine minds’ eyes, is that of the three obloid cartouches that sit at the bottom of this plan. They are for batteries, for these devices can self-power in the absence of a handy USB jack to plug in to. Seems like my life these days is consumed in plugging and un-plugging USB jacks. It was in the JUSTINTS phasz, which we will talk about in another post. Nowadays it is because I am programming a primitive USB (draws with chalk on floor, a trident with a circle, triangle and square at its tips, the USB logo) state machine in ARM CORTEX language. Now that I’ve started drawing, let me start the A,B,C,D sequence. That’s four characters i’d like you to phocus on now.
- The phirst is the Arm Cortex itself. This is actually a sort of punch, in computer science martial arts (CSMA). To do it, you need to have an actual living brain instead of a fist. So I don’t think many of you can do this punch. Well, anyway, imagine punching someone with a brain! This is codename of “A”
- Next is the Bi-Thumb symbol. Thumb-2 code is an invention of ARM intellect. ARM stands for Acorn RISC Machine (draws an acorn). Thumb code, being 16 bits (sweet 16, 16 candles), was meant to be the codename BOYSCOUTS in the ARM world, but they mostly stick to 32 bits, in true ARM code, which can do many things at once, like an octopus, or a person with 2 thumbs! So the Bi-Thumb symbol is taken to mean how Aliens-2 was actually “Aliens Squared”, i.e. “she’s pregnant,” thus Thumb-2 code can modulate between the ARM and the THUMB, pragmatically.
- Now we are on letter C. This is obviously stood in for by “cat”. In fact the central truth of SH’BOBO’s name is that it is a cat named BOBO as the mascot. SH is added to mean, “the sound of sophisticated and highly mentalized, synthesized computer music”.
- Dude is the fourth. His real name is Mr. Chinquonk, which is a Native American name for “the whigged one”, such as the British were when they first penetrated America. In fact, Mr. Chinquonk has quite a luxurious, braided whig, which he wears with sideburns to effect a sort of Elvish feel. He is master of situations, and in fact this meaning pervades throughout the device.
These phour concepts are used to number the barres of the chub, as well as the buttons. There are two Chinquonks on the back of the device, these are woven “personal antennae” to sense your user-flesh.
Before wrapping up this phirst diatom of the lecture, I would like to quickly get back to the pocket full of Jagermeister (takes a drink from that pocket). You know, it is very nice, to have a small flask of herbed liqueur, to “fortify” one’s humour, especially on a dusky and brisk baltimore winter’s night. I walk these dark and decorated streets wearing an oversize orange “HEY” shirt and orange velvet pants. The streets are decorated in a mix of raven paganism and santa/alien festivous. (my aluminum festivus pole is silent beneath its tunic).
I will now very quickly cover the topic of “pragmatism versus dogmatism” in the cutting edge of USB bathroom ARM CORTEX debugging and development. In fact I am actually in two places at once, here with you @ The Red Room, drinking Jagermeister, but also back at home, in my only place of solace, the “USB Bathroom”, where I program my USB state machine and sit plugging and unplugging USB, in and out, in and out. It is also my source of hellfire and brimstone, for this is where I spend my time in male cysto-sarcotic anger, wondering why Windows XP adds about 12 bytes to every GetDescriptor::Report request, for no reason but the goat-worms in my brain.
The pragmatic is simply this: a BLT. That’s Bacon Lettuce and Tomato. It’s also known as blt, as in the ancient RISC codeword for “Branch if Less Than”. You see, one of the many bright ideas behind ARM CORTEX is conditional execution, and this can be best demonstrated with bacon, lettuce and tomato. You can have any combination you want! Add mayo, even hots! Drink Jagermeister if you are going on long winter walks looking for an audience to lecture to!
“Branch” means to go off on a tangent, and “less than”, means, well, “less than”. This comes into critical mass at the end of transmitting a descriptor, and in particular, the end of my GetDescriptor::Report responses. You see, eight bytes is the standard payload in our packets here at SHBOBO. But when you are at the end of a texte, there may be a smaller amount of bytes that you need to transmit, so you have a Branch if Less Than 8 instruction. Thus we come back to our inspiration for the BLT, i.e. the “blt”.
The Dogmatic was already covered in the A,B,C,D section.
I will just finish up with one more swig from the Jagermeister bottle before I yield it up to my wife and my son (takes swig, and then puts in freezer). Now I want to come back to the number 8, which is the infinity symbol, sideways (draws this psychadelically on the floor with chalk). Remember, SHBOBO is inspired by 8 bit coding of the past, particularly that done with PIC chips, and oph course, ATMEL chips.
But looking at ST, i.e. “Steve”, what he has done with 32 bits, and licensing the ARM (the acorn was also licensed by the apple, Steve), we can’t ignore this development, and that is why we are igniting our warp engines to engage in ARM THUMB-2 coding, coding the CHINQUONK and the barres and mapping it onto the 32 bits. We have thus progressed through Microcontroller chips as thus:
- PIC18F14K50, low pin count, 8 bit, but with a USB engine. The phirst SHBOBO device was born, codename “DEERDICK”
- After an interstitial period of testing and much software development on the computer side, in Macintosh Windows and Linux, now we come to the need to redesign DEERDICK. There is thus a quick circuit-board-burn made in Colorado, introducing the SHTAR alongside the CHUB. These use PIC18F4550 and PIC18F24J50, which are obviously in the same 8 bit efficiency series as the phirst.
- 32 Bit is identified as a priority, to up the power of execution to allow an embedded (SoC System on a Chip) “chubLISP SOCK”, which is a sort of computer music, inspired by Phasze 2, notably JUSTINTS, but written in a language inspired by vintage 60s “LISP”. ST, a Chinese chip, is targeted as our platform, phor it automates ADC, has a stereo DAC, and can handle Mr. Chinquonk’s radio wig with the utmost suave. Now we land on our laminated piece of paper, the CHUBGALLOWS, with our STM32F103RCT6, our R2D2 of a 32 bit virtual chub vintage synthesis platform.
Here is a projected code sample to tantalize your computer music taste-buds:
(togo[mod,up] (swamp[atta,don] 33,43 (barre[clip,armcortex] 32 21)))
(trangle[saw,bithumb] 32 123 (fourses (dourses 9 2) 121
(ombulate[upp] 21 (button (chango (multo () (negwon) (mike)))
now of course this is pseudo-code. But it demonstrates the vintage feel of LISP, developed in Boston at MIT, as seen in the vintage font on the manual, available @ softwarepreservation.org. You see, while I was camped out at Chincoteague, VA, with my wife and son, I printed out this vintage manual courtesy of the Hampton Inn in which we were staying that night. And on this manual I pencilled in two distillations of the “style” of LISP:
- M-Expression: a keyword (opcode) phollowed by square brackets which express its options. For example,
- S-Expression: any combination of M-Expression, and literals (integer numbers) enclosed in parentheses.
- (ombulate[upp] 12 (trangle[saw] 32 31)
And there you have it pholks, this is the “Aesthetic Basis” of SHBOBO’s new Computer Music Sock, chubLISP. Look for the CHUB soon at your markets. Any questions?
