Apple II Talks To 3D Printer With A Little Modern Help

Controlling most desktop 3D printers is as easy as sending them G-code commands over a serial connection. As you might expect, it takes a relatively quick machine to fire off the commands fast enough for a good-quality print. But what if you weren’t so picky? If speed isn’t a concern, what’s the practical limit on the type of computer you could use?

In an effort to answer that question, [Max Piantoni] set out to control his Ender 3 printer with an authentic Apple IIc. Things were made a bit easier by the fact that he really only wanted to use the printer as a 2D plotter, so he could ignore the third dimension in his code. All he needed to do was come up with a BASIC program that let him create some simple geometric artwork on the Apple and convert it into commands that could be sent out over the computer’s serial port.

Unity controlling the Ender 3

Unfortunately, [Max] ran into something of a language barrier. While the Apple had no problem generating G-code the Ender’s controller would understand, both devices couldn’t agree on a data rate that worked for both of them. The 3D printer likes to zip along at 115,200 baud, while the Apple was plodding ahead at 300. Clearly, something would have to stand in as an interpreter.

The solution [Max] came up with certainly wouldn’t be our first choice, but there’s something to be said for working with what you know. He quickly whipped up a program in Unity on his Macbook that would accept incoming commands from the Apple II at 300 baud, build up a healthy buffer, and then send them off to the Ender 3. As you can see in the video after the break, this Mac-in-the-middle approach got these unlikely friends talking at last.

We’re reminded of a project from a few years back that aimed to build a fully functional 3D printer with 1980s technology. It was to be controlled by a Commodore PET from the 1980s, which also struggled to communicate quickly enough with the printer’s electronics. Bringing a modern laptop into the mix is probably cheating a bit, but at least it shows the concept is sound.

Continue reading “Apple II Talks To 3D Printer With A Little Modern Help”

Deaccelerating The Apple IIc Plus

The Apple IIc Plus is arguably – very arguably from my experience – the best Apple II computer ever made. It’s portable, faster than the IIe, had a much higher capacity built-in drive, and since the Plus could run at 4MHz, it was faster than the strange eight or sixteen bit Apple IIGS. Recently, [Quinn] has been fascinated with the IIc Plus, and has gone so far as to build a custom gamepad and turn the IIc Plus into a laptop. Now, she’s turned her attention to the few things Apple got wrong with the Apple IIc Plus – the startup beep and defaulting to 4MHz on every boot instead of Apple II’s standard 1MHz that’s used in the Apple II, II Plus, IIe, and IIc non-Plus.

The original Apple II is surprisingly primitive. Apart from writing a loop of NOPs and counting cycles, there’s no way to keep time. There is no clock, no timer, no tick counters, and no interrupts. If you’re writing a game for the Apple II that depends on precise timing, the best you’ll be able to manage is a delay loop. This worked for a time, until the Apple IIc Plus was released with a default clock of 4MHz. It was a great idea for AppleWorks and other productivity apps, but [Quinn] is doing retrocomputing, and that means games. Booting the Apple IIc Plus into its 1MHz mode means turning it on and holding escape while resetting the computer every time. It’s very annoying, but a mod to make the IIc Plus run at 1MHz by default would turn her into one of the most accomplished currently active Apple II developers.

The process of booting into the IIc Plus’ 1MHz mode requires holding down escape while restarting the computer. This should tell you something: it’s not a hardware switch that changes speed. It’s in the ROM, and that means diving into the Technical Reference Manual, looking at the listings in the ROM monitor, and figuring out how everything works.

The IIc Plus ROM is incredibly complex – it’s 32k of hand assembled code with jump tables bouncing everywhere. After a ton of research, [Quinn] successfully reverse engineered the ‘slow down if the ESC key is pressed’ routine, allowing her to boot the machine at 1MHz by default, and 4MHz if there’s a soft reset with the option key pressed. Everything works great, and [Quinn] has the video to prove it

This isn’t [Quinn]’s first attempt at hacking the lowest levels of the Apple IIc Plus ROM. Because the IIc Plus ran at 4MHz by default, the startup beep was so very wrong. She fixed that, and with two very useful patches under her belt, she burned a few new chips with her ROM patches. In total, there’s only a few dozen bytes of hers in the new 32k ROM, but that’s enough to make her one of the top current firmware developers for the Apple II platform.

[Quinn] Uses “Forsooth” To Win The Internet! –Also Fixes Apple IIc+ Beep

By this point we are all familiar with [Quinn Dunki] and her awesome engineering and retro hacking. [Quinn] aims her latest blog post at the Apple IIc Plus and its tone deaf bleeping beep. You can hear it for yourself in her beep comparison video after the break.

[Quinn] gets straight into the source code as expected and works through a logical process that she explains quite nicely while looking for the origin of the problem. There are some interesting and hard to follow moves in the source as control jumps around the ROM(s) all in the name of minimizing RAM. In proper form [Quinn] uses the ROM bank switching ability to her advantage as she see’s [the Woz’s] efficiency and raises him some fancy footwork of her own along with a beep that doesn’t make our skin crawl.

Continue reading “[Quinn] Uses “Forsooth” To Win The Internet! –Also Fixes Apple IIc+ Beep”

A Game Pad For The Apple II

[Quinn Dunki] has been hard at work building a Teddy Top – an Apple IIc Plus modified for a road warrior. It has a 3.5 inch disk drive, runs at a blistering four megahertz, and has a beautiful integrated color LCD. It would be a shame to have such a great machine and no way to play games as they were intended, so [Quinn] set about building a game pad for her lovable Apple II.

The Apple II joystick port isn’t as simple as an Atari or Commodore joystick port. Where the bog-standard Atari joystick is basically just a bunch of switches connected to pins, the Apple II joystick is analog. Weird, and even weirder is the value of the pots in these joysticks: 150kΩ. Somehow or another, nobody makes pots in this value any more. Luckily the hardware in these joysticks is well documented, and shoehorning in modern components isn’t that bad.

The Apple joystick has a bit of circuitry – a 556 timer chip that reads the values of each pot and converts that into a stream of 0s and 1s for the Apple. The joystick [Quinn] found for her game pad is an analog thumb stick on a neat breakout board manufactured by Parallax. This analog joystick has 10kΩ pots in it, and that just won’t work with the 556 timer chip. However, since this is just resistors and a 556 chip, adjusting some of the values on the original schematics does the trick. [Quinn] added a few capacitors to her circuit, and everything worked beautifully.

With the electronics down, she turned her attention to the case for her Apple II road warrior enclosure. She recently picked up a 3D printer, which means she’s new to 3D printing. After spending a few hours designing a controller in 123D Design, she sent the files over to the printer. Warping happened. She tried an ABS slurry. The part was stuck to the bed. It took a few tries (purple glue sticks are awesome, [Quinn]), but she eventually got her plastic enclosure printed out, and the circuitry installed. The result is a portable computer, with a custom controller, playing Lode Runner. Can’t beat that.

Fail Of The Week: Teddy Top And Fourteen Fails

Last summer, [Quinn] made the trip out to KansasFest, the annual Apple II convention in Kansas City, MO. There, she picked up the most modern Apple II system that wasn’t an architecturally weird IIGS: she lugged home an Apple IIc+, a weird little machine that looks like an old-school laptop without a screen.

Not content with letting an old computer just sit on a shelf looking pretty, [Quinn] is working on a project called the Teddy Top. ‘Teddy’ was one of the code names for the Apple IIc, and although add-ons to turn this book-sized computer into something like a laptop existed in the 80s, these solutions have not withstood the test of time. [Quinn] is building her own clamshell addition to her IIc+, and somehow failing at something she’s done hundreds of times before.

While the IIc+ has an NTSC composite output, the super-special video add-ons for the IIc+ used a DB15 expansion connector. Here, any add-on could access video sync signals, the a sound signal from the audio circuit, and even a +12V line that could drive loads up to 300 mA. It just so happened the display [Quinn] is using for this project runs at 12V, 200 mA. Everything was great, but as a worthy trustee of this computer’s Earthly existence, [Quinn] thought a bit of current limiting should be included in her addon. She designed a circuit around an NPN power transistor, that would allow the display to draw power until the load was around 250mA. After that, the transistor would start dumping excess power as heat. Yes, a fuse would be better. [Quinn] calls this Fail #1. There are thirteen more to go.

Continue reading “Fail Of The Week: Teddy Top And Fourteen Fails”

Hackaday Retro Submission: Browsing With An Apple IIc

We’ve had the retro edition of Hackaday up for about a week now, and already a few people have sent in a few neat builds that use an ancient computer to pull this page up. The latest comes from [RetroAppleFanToday] who used an Apple IIc to browse the Internet.

To load our humble retro edition, [RetroAppleFan] used a serial connection between the Apple and a Mac Mini to get a terminal running on the 30-year-old computer. From there, it was a simple matter of running lynx to browse the Internet.

There are a few more retro submissions cataloged on our retro successes page including a NEXT cube. If you have an old computer lying around that can pull up our retro site, don’t feel shy about sending it in; it’s pretty much guaranteed to get a mention.

As far as the development of the retro site is going, we’re posting 5 random stories every day. There’s a script to generate the front page every day, but if we get enough complaints or compliments we may just generate a new front page for every visitor.