Last updated: 04 Nov 2011 - 20:46
If you haven't already, check out my ChipKIT implementation of Conway's Game of Life because I'm not explaining all that again! In this version there are some subtle changes to it that make it more pretty to watch, although arguably more confusing to see what's going on.
Last updated: 03 Nov 2011 - 22:08
After the success of the ChipKIT pong demo I started to think about the ways to improve the graphics output and came up with the idea of a coarse pixel display. This is a more traditional pixel based display where a rigid grid is displayed on the screen rather than the more vector based display that I had used previously. This demands more of the CPU time because it has to copy the pixels to the display manually as there is no DMA on the UNO32, rather than only having to display the colour for a tiny fraction of each display line like the pong game did.
Last updated: 23 Jul 2011 - 21:34
I'm going to be at OggCamp again this year. I'm planning a talk for the barcamp on open source hardware, particularly hardware more powerful or less well known than the Arduino. The ChipKIT will feature in the talk and hopefully the Pong game will be there for you to play. I'm also going to be bringing a ChipKIT MAX32 for the raffle courtesy of Farnell, so for your chance to win this awesome board, you need to come along.
Last updated: 15 Jul 2011 - 19:59
Following on from my review of the new ChipKIT Uno32 from Farnell, I've done a little project to test out what it's capable of. I had never programmed for an Arduino before and I've learned a lot about the way the system works from this project. One of the early revelations which amazed me was that the Arduino "Wiring" language is in fact not a language at all but simply a couple of header files that wrap up some boiler plate C++ code. I can see the reason that it was marketed as an "easy to use language" and the mention of C++ was avoided initially as it made the platform more attractive to artists and hobbyists not interested in learning a big scary "real" programming language. The fact that you can just use any old PIC (or on the original AVR) compatibile C code makes it a lot more attractive for those wanting to dig a bit deeper.
Last updated: 13 Jul 2011 - 21:51
Video Graphics Array "VGA" is a standard for computer display. It has a lot going for it in the hobby electronics field as it is a pretty simple standard and quite straight forward to implement with sufficient signalling speed, there are also a lot of monitors around to test projects on! Colour is a lot easier to generate on a VGA monitor than on a composite video monitor, but it requires a lot more speed as the frames are more detailed and there are more signals to generate.
Last updated: 24 Jun 2011 - 19:38
At the first British Vintage Computer Festival last week among the bits I picked up were a replacement membrane and a keyboard cover for my Spectrum. The original metal shield was beginning to go rusty, probably because of the years spent in a shed or garage before I got it at a garage sale. The keyboard membrane was also on its last legs, I'd taken the Speccy apart a couple of times and the membrane ends that plug into the main board were on the verge of breaking. Now I could take it apart again without worrying about loosing the keyboard I decided to go the whole way and rip out the modulator and just wire up a composite video output in its place. This is really simple, the input to the modulator block is power and composite video, so to get composite out all you have to do is trace the signal and connect up a suitable connector, I used a phono connector and a bit of angle aluminium to mount it. Previously I had both modulated RF and composite connections with the composite connector on a flying lead hanging out of the back of the case.
Last updated: 13 Jun 2011 - 18:37
Disclosure: The ChipKit Uno32 for this review was supplied free of charge by Farnell.
Product name: ChipKit Uno32
Price: £17.99 ($26.95)
Category: Microcontroller development board
The ChipKit Uno32 is a new Arduino-compatible board from Digilent and Microchip, based around a PIC32 MIPS microcontroller. This makes it a vastly more powerful platform than the ATMEGA328 based Arduino Uno, a lot of the press releases about it seem to be claiming that it's the first 32 bit based Arduino compatible, whether or not you consider the Maple to be equally worthy of this title, it has to be said it's a huge leap for the power of the platform.
Last updated: 16 Mar 2011 - 16:41
I've just uploaded a group of new photos to the existing Z80 project gallery. These show the new MMU and the UI board, never before seen on the internet!
Last updated: 14 Mar 2011 - 00:11
The Mark 2 Z80 project featured a pair of memory slots each capable of taking up to 32K of RAM. This meant that a full 64K of RAM could be used because the ROM image is copied from the PIC's memory at boot time. However that didn't seem like much to me so a banking system and MMU were in order. (Also I found I couldn't get the 32K RAMTRON FM1808 chips in DIP any more!)
The new system is designed around 512K SRAM chips, up to 8 of them, although I've only wired up two sockets for 1MB of RAM for now. If you know your base 2 maths you should realise that I need a 22 bit address bus for the 4MB address space. This initially seems like an odd size but the design is based on the internals of the Amstrad NC100, a portable Z80 machine from the early '90s. The top 8 bits of the 22 are provided by one of four latches. Which of these latches provides the last 8 bits is decided by the Z80 address lines A14 and A15.
This means the physical memory space of the Z80 is made up by four 16K
Last updated: 19 Dec 2010 - 12:33
I recently received an enquiry about how the I/O throttling on the PIC worked to ensure that the PSP was shifting valid data out to the Z80. I had a look back at my code and figured out how I'd done it. However I realised in that conversation that the schematics for the project were vastly out of date and it seemed that I hadn't been keeping as up to date as I thought I was with my local copies. I've spent several evenings in the last week and more or less re-drawn all the schematics from scratch, referencing the old snippets and the code and occasionally resorting to the continuity tester!
The schematics are in a number of fairly self contained PDFs here, I'll push the KiCAD source to git hub in the new year after I've finished my Christmas trips. Each unit of the system is mainly only connected by the Z80 busses (data, control and address) although the interrupt controller and the I/O decode have a lot of ancillary signals in them. Hopefully this is all fairly clear, it inclu