29 Year Old Apple Computer Finally Gets An OS Update

The Apple IIGS is the 16 bit upgrade to the popular 8 bit Apple II computer line, and with its massive boost in graphics, an Ensoniq sound system, and backwards compatibility with the 8 bit machines makes this box desirable to many retro enthusiast. The last OS update, 6.0.1, was released over 22 years ago. While it worked well for the early 90s, it was by no means perfect.

Last Sunday, a post popped up on callapple.org, announcing Apple IIgs System 6.0.2. Updates include a driver for the unreleased Apple II Ethernet card,  fixes various bugs in the file system translation system, various bugfixes to existing system programs,  fast drawing and animation tools, and of course an update to the finder to show the new revision number.

With a hope for even more bug fixes in a possible 6.0.3 revision its good to see people still giving the old Apple II line some love, as the old Apples don’t have as large of a following as their Atari and Commodore brethren.

Viewing A Macintosh SE’s Video On A Modern Computer

[Bbraun] has an old Macintosh SE computer. He was looking for a way to view the video output from the SE on a newer, modern computer. He ended up working out a pretty clever solution using a stm32f4discovery board.

First, the SE’s logic board was removed from its case and placed onto a desk for easier access. The discovery board was then hooked up to the SE’s processor direct slot (PDS) using normal jumper wires. The discovery board acts as a USB COM port on a newer Mac OSX computer. The discovery board watches the SE for writes to video memory. When it sees that the R/W pin goes low, it knows that a write is occurring. It then waits for /AS to go low, which indicates that an address is on the bus. The discovery board reads the address and verifies that it falls within the range of the video frame buffer. If it does, then the discovery board writes a copy of the data to a local buffer.

The OSX computer runs a simple app that can make a request to the discovery board via USB. When the board receives the request, it sends its local frame buffer data over the USB connection and back to the host. The OSX computer then displays that data in a window using CGImage. The demo video below was captured using this technique. Continue reading “Viewing A Macintosh SE’s Video On A Modern Computer”

Reading Analog Values With A MagSafe Port

The MagSafe adapter in MacBooks and MacBook Pros is probably the greatest single advancement in laptop technology in the last 10 years. Interestingly, the MagSafe port is also a an analog volt meter that can be read by the OS, and it’s not just limited to monitoring battery voltage; with the right software, you can turn a MagSafe port into a terrible and expensive analog sensor, letting scripts on the computer run based on analog values.

[Peter] created a voltmeter application for his mac after realizing the System Management Controller – the chip responsible for charging the battery – was accessible through low-level kernel calls. If you care enough to chop an Apple power adapter in half, the MagSafe port can read other analog inputs.

The SMC Voltmeter app [Peter] wrote samples the voltage every second and displays values on a graph. This app also allows you to run scripts. While you won’t be able to do much with an extremely expensive, very slow, one-channel data logger (the battery is going to run down eventually), we’re sure we’ll see something that’s held together with duct tape and prayer that uses this weird tool.

Strapping an Apple II to Your Body

Now that the Apple wristwatch is on its way, some people are clamoring with excitement and anticipation. Rather than wait around for the commercial product, Instructables user [Aleator777] decided to build his own wearable Apple watch. His is a bit different though. Rather than look sleek with all kinds of modern features, he decided to build a watch based on the 37-year-old Apple II.

The most obvious thing you’ll notice about this creation is the case. It really does look like something that would have been created in the 70’s or 80’s. The rectangular shape combined with the faded beige plastic case really sells the vintage electronic look. It’s only missing wood paneling. The case also includes the old rainbow-colored Apple logo and a huge (by today’s standards) control knob on the side. The case was designed on a computer and 3D printed. The .stl files are available in the Instructable.

This watch runs on a Teensy 3.1, so it’s a bit faster than its 1977 counterpart. The screen is a 1.8″ TFT LCD display that appears to only be using the color green. This gives the vintage monochromatic look and really sells the 70’s vibe. There is also a SOMO II sound module and speaker to allow audio feedback. The watch does tell time but unfortunately does not run BASIC. The project is open source though, so if you’re up to the challenge then by all means add some more functionality.

As silly as this project is, it really helps to show how far technology has come since the Apple II. In 1977 a wristwatch like this one would have been the stuff of science fiction. In 2015 a single person can build this at their kitchen table using parts ordered from the Internet and a 3D printer. We can’t wait to see what kinds of things people will be making in another 35 years.

Continue reading “Strapping an Apple II to Your Body”

An Apple ][ emulator on an Arduino Uno

April Fools’ Day may have passed, but we really had to check the calendar on this hack. [Damian Peckett] has implemented an Apple ][, its 6502 processor, and a cassette port, all on an Arduino Uno. If that wasn’t enough, he also uses a PS/2 keyboard for input and outputs analog VGA. [Damian] is doing all this with very few additional components. A couple of resistors, a capacitor and some very clever hacking were all [Damian] needed to convince an Arduino Uno that it was an Apple.

Making all this work boiled down to a case of resource management. The original Apple ][ had 4KB of RAM and 8KB of ROM. The ATmega328 has only 2KB of RAM, but 32KB of Flash. The only way to make this hack work would be to keep as much of the emulation and other routines in Flash, using as little RAM as possible.

The core of this hack starts with the MOS 6502, the processor used in the Apple. [Damian] wrote a simple assembler which translates the 6502 opcodes and address modes to instructions which can be executed by the Arduino’s ATmega328. To keep everything in ROM and make the emulator portable, [Damian] used two large switch statements. One for address modes, and a 352 line switch statement for the opcodes themselves.

A CPU alone is not an Apple though. [Damian] still needed input, output, and the ROM which made the Apple so special. Input was through a PS/2 keyboard. The PS/2 synchronous serial clock is easy to interface with an Arduino. Output was through a custom VGA implementation, which is a hack all its own. [Damian] used the lowly ATmega16u2 to generate the video timing. The 16u2 is normally used as the Arduino Uno’s USB interface. The only external hardware needed is a single 120 ohm resistor.

The original Apples had cassette and speaker interfaces. So does this emulated Apple. [Woz’s] original cassette and speaker interface accurate loops to generate and measure frequencies. One of the trade-offs [Damian] accepted in his 6502 was cycle accuracy, so he couldn’t use the original routines. Not a problem though, as he was able to write simple functions to replace these routines and drop them in place of the Apple’s own ROM calls.

The Apple ][ ROM itself is handled as one giant character array. This includes the system monitor, Mini-Assembler, Sweet-16, and [Woz’s] own Integer Basic. [Damian] caps off this incredible project by booting his new computer, loading a  Mandelbrot set program from cassette -or in this case an audio file stored on his cell phone, and running it. The well-known fractal is displayed in all its glory on a modern LCD monitor, driven by a microcontroller, emulating a computer from nearly 40 years ago.

Continue reading “An Apple ][ emulator on an Arduino Uno”

Apple ][ Disk Emulation

A while ago, [Steve] over at Big Mess ‘O Wires created a device that would emulate old Macintosh disk drives, storing all the data on an SD card. No, it’s not SCSI; the early Apples had a DB-19 connector for connecting 400 and 800kB disk drives. It’s a great piece of hardware for bootstrapping that old Mac you might have sitting around. Apple ][s, IIs, and //s use an extremely similar connector for their disk drives. A few rumors on some forums led [Steve] to experiment with some ancient bromide-stained boxes, and the results are interesting to say the least.

After pulling out an old //e and IIgs from storage, [Steve] found his Macintosh Floppy Emulator didn’t work with the Apples. This was due to the way Apples could daisy chain their disk drives. There’s an extra enable signal on the connector that either brings Drive 1 or Drive 2 into the circuit. Macs don’t care about this signal, but Apples do. Luckily the 800kB drives for the IIgs have an extra board that handles this daisy chain and drive eject circuitry.

After removing this extra board from a IIgs drive and connecting it to the Floppy Emu, everything worked beautifully. With schematics and a working circuit in hand, it’s now a piece of cake to build an adapter board for using the Macintosh Floppy Emu with Apples, or to build that circuit into a future revision of the Floppy Emulator.

Considering how much trouble [Steve] had bootstrapping these Apples without an SD card to Floppy drive emulator, we’re thinking this is great. The current way of making an Apple II useful is ADTPro, a program that uses audio to communicate with Apples over the cassette port. In case you haven’t noticed, microphone and headphone ports on laptops are inexplicably disappearing, making a hardware device like a SD card floppy emulator the best way to bring disk images to 30-year-old hardware.

Control Anything with an Apple Remote

If you’re like us, you probably have more than one Apple Remote kicking around in a parts drawer, and if you’re even more like us, you’re probably really annoyed at Apple’s tendency to use proprietary hardware and software at every turn (lightning connector, anyone?). But there’s hope for the Apple Remote now: [Sourcery] has completed a project that allows an Apple Remote to control anything you wish.

The idea is fairly straightforward: A device interprets the IR signals from an Apple Remote, and then outputs another IR signal that can do something useful on a non-Apple product. [Sourcery] uses an Arduino to do the IR translation, along with a set of IR emitters and detectors, and now the Apple Remote can control anything, from stereos to TVs to anything you can imagine. It also doesn’t remove the Apple Remote’s capability to control Apple products, in case you need yours to do that as well.

[Sourcery] notes that sometimes working with RAW IR signals can be a little difficult, but the information on their project and in their 25-minute video discusses how to deal with that, so make sure to check that out after the break. Don’t have an Apple Remote? You can do a similar thing with a PS3 controller.

Continue reading “Control Anything with an Apple Remote”