My expandable Apple 1 clone with built-in thermal printer

Let's talk about anything related to the 6502 microprocessor.
Post Reply
User avatar
Simon27
Posts: 12
Joined: 09 Dec 2014
Location: SE Scotland
Contact:

My expandable Apple 1 clone with built-in thermal printer

Post by Simon27 »

I was needing a general-purpose 6502 system that I could get up and running with minimal thought needed on system architecture or software, so I went with an Apple 1 clone!

It's based on the Apple 1 Mini circuit, but I went with an RC2014 backplane (but not RC2014 compatible) to allow me to extend the hardware with add-ons, and I also threw in a thermal printer for output which can be enabled or disabled by sending ASCII control codes to the output PIA.

My first expansion card so far is a 6522 with both ports exposed to the rear of the case on IDC headers. This is going to help a lot with some future projects I have planned...

It's shown here working with my all-in-one Raspberry Pi system as the terminal. All wire wrap construction, and I only found 1 missing wire before I was able to get it all working.
Attachments
IMG_7904.jpeg
IMG_7899.jpeg
IMG_7892.jpeg
User avatar
Individual_Solid
Posts: 72
Joined: 25 Jun 2021
Location: Portland, Oregon, USA
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by Individual_Solid »

Very cool build! We've got an [link=http://forum.6502.org/viewtopic.php?f=4&t=6730]ongoing thread[/link] about how to assign pins on a 40-pin backplane for 6502 builds. If you're interested in sharing pinouts, you may have figured out something we haven't yet!

I have a similar thermal printer that I want to interface some day, though I was probably going to use an ACIA. Would be interested to hear more about how you have the printer connected to your PIA...
User avatar
Simon27
Posts: 12
Joined: 09 Dec 2014
Location: SE Scotland
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by Simon27 »

Thank you! I'd love to say that the backplane was carefully planned out, but it's largely just the RC2014 pinout for address and data, and then matched the others as close as possible. It's not intended to be compatible with anything else that's out there. Currently ticks over just find at 1 Mhz but at some point I'll try a faster oscillator in there. I've attached my pinout for ref anyway (excuse my handwritten notes).

The printer is actually attached to the Arduino (well, barebones ATMega328) with SoftwareSerial library to get a second serial port. I just modified Ruud van Falier's sketch with a few lines to listen for ASCII code DC1 to turn enable, and DC3 to disable sending characters to the printer. Those codes are based on the same ones used by Epson in their old dot matrix printers. I'd share the new sketch but there's no license attached to the original so I don't want to just go posting without permission.
Attachments
IMG_7905.jpeg
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by drogon »

Ah, very nice. I remember doing a lot with the Aim-65 and it's little printer. Are you using it for anything specific or just a fun little project?

Cheers,

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
User avatar
Simon27
Posts: 12
Joined: 09 Dec 2014
Location: SE Scotland
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by Simon27 »

I'm working on a couple 6502 projects that are essentially embedded* (they use a discrete 6502 but there's no general keyboard/monitor for developing on), so was needing a system that I could use to develop the hardware with, hence the backplane for expansion.

Printer was really just "because I can!", but it's already been useful to just quickly print out and annotate sections of memory for reference.

*turnkey is probably a better word
User avatar
cjs
Posts: 759
Joined: 01 Dec 2018
Location: Tokyo, Japan
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by cjs »

Simon27 wrote:
I'd love to say that the backplane was carefully planned out, but it's largely just the RC2014 pinout for address and data, and then matched the others as close as possible.
Was there any particular reason for moving some of the signals that already existed on the RC6502 bus, or was it just something you weren't bothered to try to match up? (I ask in case there's anything you came across that we should be considering when tweaking the RC6502 bus.)

I like the printer. It's also a nice example of how it can be handy to have the serial console TX and RX lines on the bus: you can add additional output devices that listen in and, possibly, additional input devices (such as a keyboard), if you're willing to avoid sending input from two places at the same time so they don't stomp on each other.
Curt J. Sampson - github.com/0cjs
User avatar
Simon27
Posts: 12
Joined: 09 Dec 2014
Location: SE Scotland
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by Simon27 »

cjs wrote:
Was there any particular reason for moving some of the signals that already existed on the RC6502 bus, or was it just something you weren't bothered to try to match up? (I ask in case there's anything you came across that we should be considering when tweaking the RC6502 bus.)
Sadly not, no! Compatibility was never a target so I went with a layout that worked well with what the Apple 1 mini already used and kept pins grouped somewhat logically.
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by cbmeeks »

That looks amazing! I love designs like that.
Cat; the other white meat.
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: My expandable Apple 1 clone with built-in thermal printe

Post by BigDumbDinosaur »

cbmeeks wrote:
That looks amazing! I love designs like that.

..and with the thermal printer built in, it could be used as part of a retro credit card processing station. :D
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Post Reply