Discrete 6502 Processor Sucked Into Linux By A BeagleBone

Often when we see projects using embedded Linux we think of them as not being hardware hacks. But this is a horse of an entirely different color. [Matt Porter] is leveraging a little known feature to directly access a 6502 processor from inside a Linux environment. In other words, this hack lets you write code for a 6502 processor, then load and execute it all from the same Linux shell.

The project leverages the best parts of the BeagleBone, which is an ARM development board running embedded Linux. It’s got a lot of GPIO pins that are easy to get via the boards pin sockets. And the design of the processor makes it fast enough to work well as a host for the 6502 chip. Which brings us back to how this is done. The Linux kernel has support for Remote Processors and that’s the route [Matt] traveled. With everything wired up and a fair amount of kernel tweaking he’s able to map the chip to the /dev/bvuart directory. If you want all the details the best resource is this set of slides (PDF) from his talk at Embedded Linux Conference – Europe.

This is one way to get out of all that hardware work [Quinn Dunki] has been doing to build her own computer around a 6502 chip.

[Thanks Andrew via Dangerous Prototypes]

Python Script Lets You Monitor Multiple Serial Devices At Once

Not knowing what’s going on inside of your electronics projects can make it quite difficult to get the bugs out. [John] was bumping up against this problem when working on wireless communications between several devices. At just about the same time his friend came up with a script with lets you monitor multiple serial devices in one terminal window.

We’re used to using minicom, a Linux package that does the job when working with serial connections of all kinds. But [John] is right, we’re pretty sure you can only connect to one device per minicom instance. But [Jim’s] Python serial terminal (available in this git repository) allows you to specify multiple devices as command line arguments. You can even use wildcards to monitor every USB connection. The script then automatically chooses a different color for each device.

The image above is from [John’s] wireless project. Even without any other background this shows how easy it is to debug this way rather than tab back and forth between windows which gets confusing very quickly.

Linux On A Nspire CAS CX Calculator

It’s great to see Linux running on a device in a way that was never intended. [tangrs] has successfully run a Linux kernel on the ARM based Nspire CAS CX graphing calculator. He’s developed an in-place bootloader that allows a kernel to be loaded from within the stock Nspire OS. It also allows for peeking and poking at memory for debugging.

[tangrs] also managed to get USB host mode working on the calculator. This allows for a USB keyboard and Wifi dongle to be connected. At this point, the calculator can connect to the internet and browse using a text-based browser: Links. The calculator runs a SSH server for remote access, and graphical browsing is in the works.

It looks like this calculator is on the way to being a handheld Linux device. All of the source for the kernel and bootloader are available on [tangrs]’s Github and updates on his blog. After the break, check out a video of text-based browsing using a full keyboard.

Continue reading “Linux On A Nspire CAS CX Calculator”

Building Your Own Fusion Drive

We missed the original announcement, but Apple unveiled more than just the iPad Mini at their last event. They’ve got a new storage system called Fusion Drive which is supposed to combine the access speeds of solid state with the storage density of platter drives. When you look just under the surface what you’re really seeing is a disc drive with grossly enlarged cache in the form of an SSD drive. How about moving from the 64 MB or so of cache seen on many large hard drives today to something like 64GB?

Well you don’t have to wait for Apple to do it. [Patrick Stein] gave it a shot using command line tools to combine an SSD with a physical drive. Sure, it’s not an all-in-one solution, but it is a pretty good proof. The linchpin that will really make it possible is a low-level driver that can handle the caching on the SDD, while ensuring that the data eventually makes it to the platter for long-term storage.

[via Engadget]

Playing Video Games On Your Office Phone

So IT has your computer locked down, but if you’re lucky enough to have this model of telephone you can still play video games while at work. [AUTUIN] was at the thrift store and for just $8 he picked up an ACN videophone on which he’s now playing video games. We don’t know what magical second-hand stores sell functioning electronics of this caliber  but you should never pass up an opportunity like this.

It turns out the phone is running Linux natively. After some searching [AUTUIN] found that it is possible to telnet to a root shell on the device. Doing so he was able to figure out that the phone uses standard packages like ALSA for the Audio and /dev/input/event0 for the keypad. It even includes an SD card slot so he loaded one with a Debian image and used pivot_root to switch over to that OS. At this point the phone is his to command and of course he loaded up a video game which you can see in the clip after the break.

Continue reading “Playing Video Games On Your Office Phone”

Guide To Developing With The Stellaris Launchpad On A Linux Box

So you picked up your very own Stellaris Launchpad, a TI ARM dev board which can be in your hands for just five bones. They do distribute several free IDEs which are not size-limited but perhaps you’re more of a text editor and command line sort of person. Well you’re in luck. There’s now a guide to show you how to code for and program the Stellaris Launchpad from a Linux box with using one of the IDEs.

There are two main things that are needed to accomplish this. The first is a cross-compiling toolchain for the ARM architecture; something that has been readily available for quite some time. The second is a way to talk to the in-built Stellaris programmer from a Linux machine. The hardware uses the ICDI protocol, and as we reported last week the lm4tools project can be used for this purpose. The guide also covers building the StellarisWare package. It’s not a requirement, but it makes using the peripherals much easier and provides names for the I/O pins, etc.

Our favorite for debugging microcontroller projects is OpenOCD. From this thread post it looks like there is now ICDI support in the development branch of the software if you don’t mind compiling from source.

Rooting A NeoTV Set Top Box From The Couch

The NeoTV is a set top box built by Netgear to compete with the likes of Roku. It streams video from the usual Internet sources like Netflix, Hulu Plus, and YouTube. [Craig] recently cracked his unit open, and in the process discovered that the NeoTV can be rooted using nothing but the remote control.

He starts with a hardware overview. The box houses a single-board ARM design with a 128MB of NAND and 256MB of RAM. The serial port is easy to find, but it does not provide a root shell (which often is one of the easiest ways to root a device). He next turns to poking around the unencrypted firmware update to see what he can learn. That’s how he discovered that the SSID value when connecting to WiFi is fed into a system() command. This glaring security hole lets you run just about anything you want on the device by issuing commands as fake SSID names. It’s just a matter of a little Linux know-how and [Craig] now has root access on his device.