Amiga A500 Accelerator Boots from SD Card

Quite a bit of work has been going on behind the scenes on the FPGA based accelerator card, so it’s time for an update. TG68 is now running stable in 68020 mode at a clock frequency of 6x the motherboard clock (about 42 MHz), and an instruction cache has been implemented that can feed the core with 0 tick latency in the event of a cache hit. This has added up to some pretty impressive performance, with AIBB’s integer maths test running at more than double the speed of a 25 MHz 68040 A4000.

Being reasonably content with performance, and expecting a further increase on the final hardware anyway due to the use of a faster FPGA, we moved on to one of the other key features that this board will have at launch – support for booting from the on-board micro SD.

 

 

Continue reading

Amiga 500 FPGA Accelerator

The Amiga is still a popular platform with enthusiasts, with the vibrant add-on scene still seeing new accelerator cards being developed. Most of these are based on the long obsolete faster derivatives of the 68000, such as the 68030 and 68060. These are getting increasingly hard to find for a reasonable price.

For the last few weeks I’ve been tinkering with hooking an FPGA up to an A500+ in place of its 68000 CPU with a view to using the open-source TG68 core as a fast 68020. This core is already proven in projects such as Minimig and MISTer, so it seemed like a logical choice. Rather than going straight to a custom PCB I made the decision to use an existing FPGA development board that I had on hand, along with a simple level shifting interface put together on stripboard. This has proved to work perfectly well for testing, although the grounding did need to be beefed up with copper tape to get things working reliably. A proper PCB with an FPGA integrated will be designed in due course.

Continue reading

SD card and Ethernet on the Amiga 1200

It’s been a while since I last did any retro-computing stuff, but when someone contacted me recently asking for permission to use some of my VHDL in an open-source accelerator project for the Amiga 1200 my attention was grabbed.

The A1200 was the second Amiga I owned back in the 90s.  This is a Motorola 68EC020 based machine running at 14.2 MHz – twice the clock speed of the older Amigas.  As luck would have it I still had the A1200 in storage, and after replacing some capacitors and cleaning things up a bit it was back in full working order, so I agreed to help out…

Continue reading

Bridging Texecom’s Alarm Signalling Protocol to MQTT

Texecom Premier Elite RKPTexecom makes a nice range of alarm systems called Premier Elite, with products suited for everything from high-end domestic up to large commercial deployments.  The range includes two IP-based communicator modules for wired (Com-IP) or wireless (Com-WiFi) operation.

Normally these communicators would be used with Texecom’s own alarm receiving service, or with a paid-for third-party monitoring service using proprietary software.  I wanted to have a way to integrate the alarm with my own monitoring infrastructure, and with some other IoT projects I’ve got going on, so I spent some time reverse engineering the protocol.

Continue reading

ZX Spectrum and BBC Micro VHDL on GitHub

Spectrum +2A boot menu

Spectrum +2A boot menu

I’ve been promising for years to put the source for my FPGA retro-computing bits up on GitHub.  Well I’ve finally gone and done it.

These are essentially just the 2011 releases that are already available for download from here, but with the full development history intact.  I know that others have been doing some excellent work based on both of these projects, both in terms of adding new features and porting to other boards.  If anyone feels like forking and patching in their changes I will gladly accept pull requests in order to keep things together.

You can clone the BBC Micro from here, and the Spectrum from here, and if you missed the accompanying write-ups and videos you can find them up the top under Retro FPGA.

Introducing the Tiny Home Area Network Stack

TinyHAN MQTTIn the past I have bemoaned the resource requirements and closed nature of “standard” RF protocols such as ZigBee and other 802.15.4 based specs.  In the meantime low-cost radio modules like the RFM12B, RFM22B and the newer RFM69 series (all from HopeRF) have started to become the radios of choice in open source Internet of Things projects.  The problem is that despite a tendency towards standards like MQTT and HTTP on the Internet side, there does not seem to have been any attempt to standardise on what goes over the air, leaving a situation where everyone uses the same radios but nothing can actually interoperate.

Tiny Home Area Network (TinyHAN) is an attempt to address this in the form of an Apache licensed, highly portable protocol suite for resource constrained embedded systems using cheap sub-GHz radio hardware.  The software is written in portable C and uses a layered approach to enable interoperability even between devices using different radios.  This initial release of the suite supports basic client/server topologies currently without security, but with authentication and encryption to be added in the near future.  Various examples are included, as well as a GnuRadio based sniffing tool that can be used with an RTL-SDR dongle.

Continue reading

WG2 Flight Update

ms_wg2_final_smallThe WG2 long-range balloon flight is now over as far as being able to track it is concerned; it is quite likely still in the air somewhere over Russia, however (as of 27/6/14).

The flight performed much better than we expected for a first try, covering a known distance of 1500 miles, to finally go out of ground-station range over Ukraine about 31 hours after launch.  During the flight the balloon passed through a total of 8 countries (some more than once).

The balloon’s telemetry signal was received across Europe by a network of volunteers (many of whom are amateur radio operators), and fed into the central Habitat system operated by the UK High Altitude Society (UKHAS).  This enabled the flight to be seen in real-time through the spacenear.us site.

At the time contact was lost the balloon and the tracking electronics remained in good health, with the battery expected to last perhaps a further 8 to 10 hours.  Long-range flight predictions from the last known point suggest that the balloon will, if it remains airborne, travel up into Russia and then continue East towards Siberia.

Continue reading

Tiny Balloon Tracker

Tiny balloon trackerToday sees the first flight of my tiny ARM based GPS tracker.  The balloon (a 36″ Qualatex foil) was launched from Wirral Grammar School for Girls with their Astronomy Club, who were responsible for the successful WGGS1 high-altitude launch last October.

This flight is a float attempt, and can be tracked at spacenear.us with the callsign WG2.  Calculations suggest the battery (a single AAA) should be good until about Friday morning.

The tracker, shown in the picture (more here), has the connector piece removed once programmed.  For scale, the board is the same length as the AAA that powers it.  Wire antennas were used for both GPS and downlink, and these were just soldered straight to the board.  Total mass is about 12 g including the battery.  Technical details of the tracker follow…

Continue reading

ZX Spectrum on Altera DE2-70

Monty on the Run (DE2-70)

Laurent Mitnik has ported my FPGA Sinclair Spectrum to the Terasic DE2-70 board, and has very kindly allowed me to publish his changes.  The port is based on the 200110901 release from the Downloads page.

I don’t have a DE2-70 on which to test this, but Laurent provided the screenshot to the right showing his board running Monty On The Run.

You can download the port from here for now, with the longer term plan being to move the source for both onto Github (when I have some time to convert the existing SVN repo).

High Altitude Success!

wggs2080The last few months I have been providing engineering assistance to Wirral Grammar School for Girls in their project to launch a helium balloon into the stratosphere.  This first chapter of the project was brought to a stunning conclusion yesterday when we successfully launched and recovered a camera payload, lifting it to a final altitude of 35.5 km (116500 ft).

Telemetry from the balloon was transmitted back to the ground using a pair of trackers made from a modified version of my sensor boards.  The two trackers were configured on different bands using a 433 MHz and 868 MHz RFM22B module respectively, and custom firmware was written to communicate with a uBlox GPS receiver and transmit coordinates via 50 baud RTTY.  The primary downlink was on 434.3 MHz and was received as far away as Belgium and The Netherlands (thanks to all who helped out).

The downlink was received and decoded in real time from a chase car, with a rough landing site being obtained before the signal was finally lost.  Initial indications placed the landing worryingly close to a quarry, although a search with a 7 element yagi turned up an extremely weak signal which was enough to give us a bearing to follow – it turned out to be a further mile and a half away and behind a ridge, which is pretty good going for a 10 mW transmitter lying on the ground.  A short drive further and another wave of the yagi yielded a GPS fix which turned out to be 50 yards into a field about a mile further down the same farm track.  Recovery was quickly affected by DFing the 868 MHz tracker for the final few meters using the much more portable yagi we had for this band.  The camera was still snapping, and had shot over 1300 images.

Many thanks to everyone on #highaltitude on Freenode IRC for their valuable advice, and especially to those involved in the provision of the tools at habhub.org and spacenear.us.

Update 25/10/2013: Some images from the flight are now available on the new gallery