Delimiter-free languages – bus pirate and txtzyme

A few weeks ago I was experimenting with the clever little “bus pirate” board and its odd control language. A little later I was reading an article about some of the fun things Ward Cunningham has been getting up to with electronics, and I came across “txtzyme.” Thinking further on the similarities between the two …

Continue reading ‘Delimiter-free languages – bus pirate and txtzyme’ »

CORNELIUS code changes again

One thing which has been causing me to scratch my head more than any other as I have chugged along the development of CORNELIUS (my bare-metal operating system and language for the Raspberry Pi) is the difference between the code needed when building an application and the code needed when running an application. For example, …

Continue reading ‘CORNELIUS code changes again’ »

Progress I made at the Norwich Raspberry Jam

In my excitement to write about attending my first Raspberry Pi meetup yesterday, I forgot to say anything about what I actually got up to myself. In between chatting and finding out about other projects I did make some progress on mine. In quiet moments I hacked on the ELIUS code to get the remaining …

Continue reading ‘Progress I made at the Norwich Raspberry Jam’ »

Another big step for ELIUS

One of the odd things about working with bare-metal and operating system level software is how tiny things can seem like huge steps when you know what is going on behind the scenes. In this case the “one small step” is the traditional “hello world”, something that ELIUS has not really been able to up …

Continue reading ‘Another big step for ELIUS’ »

Programming while tired

I guess it happens to all of us. In theory, I make use of as many techniques as I can to mitigate against suffering from mistakes while I’m programming. I use Test-Driven Development, I make small changes and use frequent check-ins to my source code repository. Every now and then though, I lose the plot …

Continue reading ‘Programming while tired’ »

ELIUS Memory Primitives

I can’t help but feel that progress is slow on ELIUS, my from-the-ground-up programming language. This is a natural and expected side-effect of only being able to work on it in spare time during the evenings and weekends, but it is still frustrating. Today I made some progress on adding the first set of “primitive” …

Continue reading ‘ELIUS Memory Primitives’ »

Developing memory-mapped IO

I’m trying to make a concerted push on a first working version of CORNELIUS at the moment, and it’s throwing up all sorts of interesting aspects of software development. For the first version I am building the minimum OS and language in C. However, I am trying very hard to minimise the amount of C …

Continue reading ‘Developing memory-mapped IO’ »

Hardware abstraction layers

I feel as though I have been spending most of my CORNELIUS efforts on the ELIUS (language) part, and neglecting the CORN (operating system) part. Recently, though, I have been thinking about the notion of a “hardware abstraction layer” (HAL). This is a common part of many systems, and serves to isolate the messy, hardware-specific …

Continue reading ‘Hardware abstraction layers’ »