Daniel’s Stuff

Somewhere where I can muse about the things that interest me

Archive for the 'Programming' Category

Bob Lives!

After a couple of false starts with dead voltage regulators, Bob (my daughter named it) the PIC based ethernet device lives in a more permanent incarnation.  Bob is made from bits and pieces I had around the place (I now have several very dead network hubs).  The budget for the project was zero ;)
My Dad provided me with the PIC prototyping board pictured above and many of the pieces as well as the PIC18F452.  The ENC28J60 ethernet controller was kindly provided by Microchip through their very generous free samples.
The original voltage regulator on the PIC prototyping board didn’t seem to be up to powering both the PIC and the ethernet controller, so I went through my old retired networking gear until I found a 3.3V regulator.  Unfortunately I think I popped it in the process of removing it from the board and it no longer worked :( .  In the end I used a 7805 5V regulator and then ran the output of that through a pair of diodes in a bridge rectifier (thank again for the help with that one Dad) to drop the voltage down to about 3.5V or so.
Now I need to get my PIC Forth running on this hardware and then I’ll have a networked Forth device I can play with :)
1 comment

What I’ve been up to lately

I’ve been really busy recently and have not had much time to work on my side projects.
One that I’ve been working on off and on for some time is a networked PIC micro-controller.
This morning I finally got it responding to ICMP echo request (ping) :)

The next thing I need to do is make a board for it.  That brings me to another project I’ve just started.  I have started a port of the awesome PCB program to Cocoa.  Things are coming along really nicely :)
No comments

A little further with the decompression routine

I’ve gotten just a little bit further with the decompression code :)



X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MTtTQ0w9MA==

X-Message-Status: n:0

X-SID-PRA: Daniel Parnell <me@danielparnell.com>

X-Message-Info: JGTYoYF78jHVrAq/T4xfKLLpTvwPwE0t6g/vyq6tyzbqln5iNnXwcSMg41wQCSulCxd5N8UB57Lq6un/ug7i0YsGX30yo+pm

Received: from randymail-a4.g.dreamhost.com ([208.97.132.207]) by bay0-mc8-f11.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);

Thu, 29 Jan 2009 16:06:38 -0800

Received: from 192-168-1-101.tpgi.com.au (60-241-72-192.static.tpgi.com.au [60.241.72.192])

(using TLSv1 with cipher AES128-SHA (128/128 bits))

(No client certificate requested)

by randymail-a4.g.dreamhost.com (Postfix) with ESMTP id 97A67194DD3

for <danielparnell@live.com>; Thu, 29 Jan 2009 16:06:26 -0800 (PST)

Message-Id: <8EEE4310-25CC-47BE-8FCB-330EBCD75A21@danielparnell.com>

From: Daniel Parnell <me@danielparnell.com>

To: danielparnell@live.com

Content-Type: multipart/mixed; boundary=Apple-Mail-33–583770588

Mime-Version: 1.0 (Apple Message framework v930.3)

Subject: more test messages

Date: Fri, 30 Jan 2009 11:06:23 +1100

X-Mailer: Apple Mail (2.930.3)

Return-Path: me@danielparnell.com

X-OriginalArrivalTime: 30 Jan 2009 00:06:38.0411 (UTC) FILETIME=[9F1AB1B0:01C9826E]


The headers of the email message are coming through now, and I’m starting to get the message body

4 comments

More Windows Live decompression progress

I’ve not had much time recently to work on the decompression routines as family and work need to take priority over side projects…  Last night I picked the code up again and had a bit more of a look.  I found a couple of mistakes in the code I’d written and am now getting a bit further in the decompression :)

The expected results as before:

X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MTtTQ0w9MA==

X-Message-Status: n:0

X-SID-PRA: Daniel Parnell <me@danielparnell.com>

X-Message-Info: JGTYoYF78jHVrAq/T4xfKLLpTvwPwE0t6g/vyq6tyzbqln5iNnXwcSMg41wQCSulCxd5N8UB57Lq6un/ug7i0YsGX30yo+pm

Received: from randymail-a4.g.dreamhost.com ([208.97.132.207]) by bay0-mc8-f11.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);

Thu, 29 Jan 2009 16:06:38 -0800

Received: from 192-168-1-101.tpgi.com.au (60-241-72-192.static.tpgi.com.au [60.241.72.192])

(using TLSv1 with cipher AES128-SHA (128/128 bits))

(No client certificate requested)

by randymail-a4.g.dreamhost.com (Postfix) with ESMTP id 97A67194DD3

for <danielparnell@live.com>; Thu, 29 Jan 2009 16:06:26 -0800 (PST)

Message-Id: <8EEE4310-25CC-47BE-8FCB-330EBCD75A21@danielparnell.com>

From: Daniel Parnell <me@danielparnell.com>

To: danielparnell@live.com

Content-Type: multipart/mixed; boundary=Apple-Mail-33–583770588

Mime-Version: 1.0 (Apple Message framework v930.3)

Subject: more test messages

Date: Fri, 30 Jan 2009 11:06:23 +1100

X-Mailer: Apple Mail (2.930.3)

Return-Path: me@danielparnell.com

X-OriginalArrivalTime: 30 Jan 2009 00:06:38.0411 (UTC) FILETIME=[9F1AB1B0:01C9826E]

What I’m getting now:

X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MTtTQ0w9MA==

X-Message-Status: n:0

X-SID-PRA: Daniel Parnell <me@danielparnell.com>

X-Message-Info: JGTYoYF78jHVrAq/T4xfKLLpTvwPwE0t6g/vyq6tyzbqln5iNnXwcSMg41wQCSulCxd5N8UB57Lq6un/ug7i0YsGX30yo+pm

Received: from randymail-a4.g.dreamhost.com ([208.97.132.207]) by bay0-mc8-f11.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);

Thu, 29 Jan 2009 16:06:38 -0800

Received: from 192-168-1-101.tpgi.com.au (60-241-72-192.static.tpgi.com.au [60.241.72.192])

(using TLSv1 with cipher AES128-SHA (128/128 bits))

(No client certificate requested)

by 


Hopefully I’ll get some more time to work on the code soon :)

No comments

i48 is now available on the iPhone App Store

Get it while it’s hot!

Available on the iPhone App Store

4 comments

BlogThing 2.0 has finally been released

After what seems like ages I have finally released BlogThing 2.0.  This new release is totally rewritten from scratch and provides some very nice new features.  The coolest one is the new video upload facility.  Just add a video file to the page and press the Post button.  BlogThing will encode the file and upload a custom Flash based video player.  It just works automagically :)
No comments

New graphics for i48

The other day I received an email from Staffan Sevon containing some new graphics for the display of the application.  These look so much nicer.  Thanks Staffan!

35 comments

More progress on the HP48GX emulator for the iPhone

I had a bit more of a play with the emulator code tonight and fixed up a few little glitches.  I also changed the color of the emulation screen to look more like the real thing :)  Now off to bed!  It also looks like it is OK to distribute the ROM file as apparently HP released the ROMs to the public some time in 2000.  The github repository (http://github.com/dparnell/i48/tree/master) has been updated to include the ROM file.

5 comments

A HP48GX emulator for the iPhone and iPod Touch

I have just released the source to a HP48GX emulator for the iPhone and iPod Touch.
It’s a very rough port of x48 to the iPhone, but it works :)  There is the occasional screen glitch and I’m not too happy with the screen buffer code.  Something else that is a bit annoying is that it appears that compiling in Debug mode to run on the device does not work.  It looks like one of the case statements in the x48 emulation code is too big to be compiled for ARM under gcc.  I had a quick look at using the LLVM compiler but it didn’t seem to like it.
The code can be downloaded from http://github.com/dparnell/i48/tree/master 
Another thing to be aware of is that the code does not include a ROM, but they are fairly easy to come by with a bit of googling :)

1 comment

FreeTDS and my new Mac Pro

I’ve been having some “fun” with my new Mac Pro.  In order for me to be able to use it for my daily work I need to be able to connect to a Microsoft SQL Server instance from the Rails app I’m working on at my day job.  Normally this is just a simple matter of installing FreeTDS, Ruby-ODBC and the Ruby DBI and DBD packages.  When I did this, as soon as I tried to make a connection to the SQL Server instance my application would crash with a bus error!  After a bit of digging around with gdb I discovered that the application was crashing when FreeTDS was trying to deallocate a string using the standard C library memory function free.  The really weird thing is that the string was pointing to a valid string.  I dug a little further and found that if I changed the code that was allocating the string to use malloc and strcpy instead of strdup it worked!  If anybody out there knows why this might make a difference I’d really like to hear from them about it.

2 comments

Next Page »