Taking on the most complex, miniaturized part of a computer and going in the other direction takes a special kind of mind. Doing it “because I want to” takes it to the next level.
James Newman is building a CPU out of individual transistors and LEDs. The goal is to build a 14 meters long wall of blinkenlights performing data processing, 16 bits at a time. Check out his progress over at The Mega Processor blog.
The picoc interpreter, created by Zik Saleeba, is an embeddable, minimal C interpreter environment that you can integrate into your system. On x86, the stripped executable ends up only 118kB, with the standard libraries, so it is very compact.
Browsing the code, the include module looks easy enough to work with, so you can extend the environment for your specific needs. The code is BSD licensed, allowing you many freedoms.
Looking at the code, it does suffer from some code rot. The last commit is a year old. However, the code looks well structured and builds nicely, so it is not very hard to maintain.
The simulator runs slowly, but that is the trick. Everything is simulated at half-clock accuracy. On my i7 laptop, I get around 12-15 ms/clk, meaning that it is running at ~70Hz. Much slower than the 1.19MHz of the original hardware.
Still, this is an interesting project, demonstrating how to do accurate hardware simulations and how much slower they are, compared to emulators.
Posted inElectronics, Retro|Comments Off on Transistor level Atari 2600 simulation
With the launch of the Raspberry Pi 2, the pricing of the old B+ felt a bit out of shape. For $35 you got either the newest model with ARMv7 and far more CPU power, or the older B+ with some additional ports.
Now the Raspberry Pi Foundations has announced some adjustments to the pricing. The new setup means that Raspberry Pi 2 retails at $35, Raspberry Pi B+ at $25 and Raspberry Pi A+ at $20.
This has been made possible through production optimizations, but I would guess that outselling even the most optimistic forecasts might have something to do with it as well. The end result is a pricing for the B+ and A+ that feels more accurate, given the price tag on the Raspberry Pi 2 – and, of course, cheaper pies for everyone.
Josh Triplett just did a presentation at PyCon demonstrating Python running in GRUB and EFI. He has a full interactive Python 2.7 environment, including the ability to peek and poke at memory, including the framebuffer.
What excites me about this, is that we are finally back to this:
Paul Gardner-Stephen and MEGA, museum of electronic games and art, just announced the MEGA65. It is a modern day 8-bit computer. It is compatible enough with the C64 to run old ROMs and programs, while it supports modern interfaces such as SD-cards, Ethernet and more.
The project is open source and available on github. Right now you can download an FPGA bitstream, the VHDL source and some bootstrapping programs. The plans are to build a physical machine with a proper 8-bit look and feel. That is something that I really am looking forward to.
The SigRok project produces open source software for interfacing various types of measurement devices such as logic analyzers, oscilloscopes and more. The target is to provide cross platform software that words on Linux, OS X Windows, Android and more for measuring, visualizing and analyzing.
Here’s a quick overview of the protocols that are decoded:
The TPIU (Trace Port Interface Unit) is a stream formatter and multiplexer that combines data from several sources into one stream. It is used inside an ARM-based microcontroller or SoC to combine ITM and ETM trace output into a single port.
ARM ITM (Instrumentation Trace Macroblock) allows tracing of software events, and also with the help of DWT (Debug, Watchpoint and Trace) the tracing of exceptions and data watchpoints. It also supports periodic sampling of PC values.
ARM ETM (Embedded Trace Macroblock) allows tracing of every instruction executed on the CPU. Currently only ETM version 3 (the newest version, present in Cortex-M3 and other ARMv7-m) is supported.
The end result is that you can run traces and use sigrok to perform low level debugging. Awesome!
Posted inARM, Electronics|Comments Off on SigRok lets you measure instructions
When working with retro computers, you sooner or stumble upon aged disk media. Unfortunately data is lost. Various solution exists such as gotek, C64FC or custom hacks.
However, when encountering old, unreadable disks, there is still hope. The problem is that magnetization is lost over time, but by measuring it at greater accuracy, it is possible to retrieve and recreate the information.
KryoFlux is a USB-based device designed specifically for the reliability and precision needed to acquire reliable low-level reads suitable for software preservation. This is the official hardware developed by The Software Preservation Society, an authority in authentic floppy disk imaging and preservation.
Posted inRetro|Comments Off on Kryoflux – low level floppy controller