Portable Apple II On An AVR

The Apple II was one of the first home computers. Designed by Steve “Woz” Wozniak, it used the MOS technologies 6502 processor, an 8-bit processor running at about 1 MHz. [Maxstaunch] wrote his bachelor thesis about emulating the 6502 in software on an AVR1284 and came up with a handheld prototype Apple II with screen and keyboard.

Prototype on veroboard

Originally, [maxstrauch] wanted to build an NES, which uses the same 6502 processor, but he calculated the NES’s Picture Processing Unit would be too complicated for the AVR, so he started on emulating the Apple II instead. It’s not quite there – it can only reference 12K of memory instead of the 64K on the original, so hi-res graphic mode, and therefore, many games, won’t work, but lo-res mode works as well as BASIC (both Integer BASIC and Applesoft BASIC.)

[Maxstrauch] details the 6502 in his thesis and, in a separate document, he gives an overview of the project. A third document has the schematic he used to build his emulator. His thesis goes into great detail about the 6502 and how he maps it to the AVR microcontroller. The build itself is pretty impressive, too. Done on veroboard, the build has a display, keyboard and a small speaker as well as a micro SD card for reading and storing data. For more 6502 projects, check out the Dis-Integrated 6502 and also, this guide to building a homebrew 6502.

Continue reading “Portable Apple II On An AVR”

Character Generation in 144 Bytes

[Jaromir Sukuba]  has an awesome BrainF*ck interpreter project going. He’s handling the entire language in less than 1 kB of code. Sounds like a great entry in the 1 kB Challenge. The only problem is the user interface. The original design used a 4 line character based LCD. The HD44780 controller in these LCDs have their own character table ROM, which takes up more than 1 kB of space alone.

[Jaromir] could have submitted the BrainF*ck interpreter without the LCD, and probably would have done well in the contest. That wasn’t quite enough for him though. He knew he could get character based output going within the rules of the contest. The solution was a bit of creative compression.

bf-cs-3Rather than a pixel-by-pixel representation of the characters, [Jaromir] created a palette of 16 single byte vectors of commonly used patterns. Characters are created by combining these vectors. Each character is 4 x 8 pixels, so 4 vectors are used per character. The hard part was picking commonly used bit patterns for the vectors.

The first iteration was quite promising – the text was generally readable, but a few characters were pretty bad. [Jaromir] kept at it, reducing and optimizing his vector pallet twice more. The final design is pretty darn good. Each character uses 16 bits of storage (four 4-bit vector lookup values). The vector pallet itself uses 16 bytes. That means 64 characters only eat up 144 Bytes of flash.
This is exactly the kind of hack we were hoping to see in the 1 kB challenge. A bit of creative thinking finds a way around a seemingly impossible barrier. The best part of all is that [Jaromir] has documented his work, so now anyone can use it in the 1 kB challenge and beyond.



If you have a cool project in mind, there is still plenty of time to enter the 1 kB Challenge! Deadline is January 5, so check it out and fire up your assemblers!


High-Quality Film Transfers with this Raspberry Pi Frame Grabber

Untold miles of film were shot by amateur filmmakers in the days before YouTube, iPhones, and even the lowly VHS camcorder. A lot of that footage remains to be discovered in attics and on the top shelves of closets, and when you find that trove of precious family memories, you’ll be glad to have this Raspberry Pi enabled frame-by-frame film digitizer at your disposal.

With a spare Super 8mm projector and a Raspberry Pi sitting around, [Joe Herman] figured he had the makings of a good way to preserve his grandfather’s old films. The secret of high-quality film transfers is a frame-by-frame capture, so [Joe] set about a thorough gutting of the projector. The original motor was scrapped in favor of one with better speed control, a magnet and reed switch were added to the driveshaft to synchronize exposures with each frame, and the optics were reversed with the Pi’s camera mounted internally and the LED light source on the outside. To deal with the high dynamic range of the source material, [Joe] wrote Python scripts to capture each frame at multiple exposures and combine the images with OpenCV. Everything is stitched together later with FFmpeg, and the results are pretty stunning if the video below is any indication.

We saw a similar frame-by-frame grabber build a few years ago, but [Joe]’s setup is nicely integrated into the old projector, and really seems to be doing the job — half a million frames of family history and counting.

Continue reading “High-Quality Film Transfers with this Raspberry Pi Frame Grabber”

Measuring Spurious Emissions of Cheap Handheld Transceivers

If you buy an amateur transceiver cheap enough to make a reasonable grab bag gift or stocking stuffer, you get what you pay for. And if this extensive analysis of cheap radios is any indication, you get a little more than you pay for in the spurious emissions department.

Amateur radio in the United States is regulated by the FCC’s Part 97 rules with special attention given to transmitter technical specifications in Subpart D. Spurious emissions need to be well below the mean power of the fundamental frequency of the transmitter, and [Megas3300] suspected that the readily available Baofeng UV-5RA dual-band transceiver was a little off spec. He put the $20 radio through a battery of tests using equipment that easily cost two orders of magnitude more than the test subject. Power output was verified with a wattmeter, proper attenuators were selected, and the output signal scanned with a spectrum analyzer. Careful measurements showed that some or all of the Baofeng’s harmonics were well above the FCC limits. [Megas3300] tested a few other radios that turned out to be mostly compliant, but however it all turned out, the test procedure is well documented and informative, and well worth a look.

The intended market for these radios is more the unlicensed crowd than the compliant ham, so it’s not surprising that they’d be out of spec. A ham might want to bring these rigs back into compliance with a low pass filter, for which purpose the RF Biscuit might prove useful.

[via r/AmateurRadio]

Converting Film Camera to Digital the Hard Way

[Robin] is a hobby photographer with some very nice old film camera gear. But who has the money or patience for developing film these days? (Well, lots of people, especially artists, but that’s a different Hackaday article.) So to update his old gear without breaking the bank, he glommed a Sony Nex digital camera onto the back of a nice old Nikon, and documented the process for us.

A friend of mine once said, “never underestimate what a good engineer can do with a file and patience.” [Robin]’s hack essentially consists of grinding the Sony’s CMOS sensor to fit exactly where the film plane would be in the old Nikon. For him, this meant relocating the IR filter glass, because it wouldn’t fit with the shutter, and then slowly and accurately trimming down the edges of the CMOS sensor’s retaining frame until it was just right.

Continue reading “Converting Film Camera to Digital the Hard Way”

Computers For The Masses, Not The Classes

Retro is new again, and everywhere you look you’ll find films, documentaries, and TV shows cashing in on the nostalgia of their target audience. There is one inaccuracy you’ll find with this these shows: Apple computers are everywhere. This isn’t a historical truth – Commodore was everywhere, the C64 was the computer the nerds actually used, and to this day, the Commodore 64 is still the best-selling computer in history.

Commodore is gone, replaced with a superfund site, but the people who made the best computers in history are still around. At the 2016 Hackaday SuperConference, Bil Herd gave a talk on the second act of Commodore’s three-act tragedy. Bil is a frequent contributor around these parts, and as always he illuminates the 1980s far better than Halt and Catch Fire ever could.

Continue reading “Computers For The Masses, Not The Classes”

Amiga Zorro HDMI Graphics Card Hits The Market

If you were a computer enthusiast in the late 1980s or early 1990s, the chances are that one of your objects of desire would have been a Commodore Amiga. These machines based on the 68000 line of processors and a series of specialized co-processors offered the best compromise between performance and affordability at the time, with multitasking, a GUI, and graphics capabilities that were streets ahead of their competition.

The Amiga story is littered with tales of what might have been, as dismal marketing and lacklustre product refreshes caused it to lurch from owner to owner and eventually fade away from the mainstream in the mid 1990s. But it’s been one of those products that never really died, as a band of enthusiasts have kept a small market for its software and hardware alive.

Workbench as you may not have seen it before.
Workbench as you may not have seen it before.

Earlier this year we showed you a prototype of an unusual graphics card, a modern GPU implemented on an FPGA board that brought up-to-date HDMI monitor support to the Zorro expansion slots found in the big-box Amigas. It’s thus very interesting today to find that the board made it to market, and that you can buy one for your Amiga if you have a spare 189 Euros (now sold out but taking pre-orders for another production run). Producing any niche electronic product is a significant challenge, so it is always positive to see one that makes it.

As well as HDMI output the board features a micro SD card slot that is mountable as an Amiga volume, and an expansion header that is toured as “Hacker friendly”. Best of all though, the whole board is open-source with all resources on a GitHub repository, so as well as reading our coverage of the prototype you can immerse yourself in its internals if that is your thing.

It’s always good to see a new piece of hardware for an old computer see the light of day, though it’s fair to say this development won’t revive the Amiga platform in the way that the Raspberry Pi has for RiscOS. Still, the mere fact of an open-source Zorro FPGA implementation being released should mean that other cards become possible, so we await developments with interest.

[via forums.xilinx.com]