L-Star: 65C02 controlled by a Propeller

For discussing the 65xx hardware itself or electronics projects.
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

Many of you may already know this, but in case you don't:
2016-11-10 17.31.23.jpg
2016-11-10 17.32.36.jpg
Since 2011, I've been working on a project to combine a Parallax Propeller with a 6502. The basic premise is that the Propeller clocks the 6502 and monitors the address bus, data bus and R/!W lines, and therefore controls how the 6502 sees the world. So it's not really a Replica of any specific computer but it's also not emulation (there's a real 6502 after all), it's something in between. I called it a "Software Defined Computer".

When I started out with the project, I used some extra chips to multiplex the data bus, address bus and control pins so I would have some pins left over. However, as it turns out, this caused some major headaches with programming. Long story short: I abandoned that idea and put the address bus and data bus straight onto the Propeller pins. This didn't leave many pins available but that can be solved with expansion boards. It's good enough to replicate an Apple 1 or a Superboard II (a.k.a. OSI Challenger C1P a.k.a. Compukit UK-101), and it should be enough for a PET/CBM or an Acorn Atom or others. I'm thinking of designing an expansion board with 7-segment displays and pushbuttons to make a KIM-1 or Elektor Junior replica.

You can buy the L-Star Plus kit on Tindie at https://www.tindie.com/products/jac_gou ... -computer/.

The official website is l-star.org but I only just started that and it only has the building instructions on it at this time, so you may want to refer to https://hackaday.io/project/3620 for more information. Both the hardware and software are open source, and distributed under MIT license via Github. A link is on the Hackaday page.

Let me know what you think!

===Jac
Martin_H
Posts: 837
Joined: 08 Jan 2014

Re: L-Star: 65C02 controlled by a Propeller

Post by Martin_H »

Neat. Any chance of a reduce parts count kit for Propeedle owners who have all the IC's?
Tor
Posts: 597
Joined: 10 Apr 2011
Location: Norway/Japan

Re: L-Star: 65C02 controlled by a Propeller

Post by Tor »

I think I have all the parts too.. or nearly so.
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

Martin_H wrote:
Neat. Any chance of a reduce parts count kit for [Propeddle] owners who have all the IC's?
Hi Martin, Tor,

Absolutely! Send me a PM on Tindie to let me know which parts you don't need. I'll add an option for a reduced parts kit, and you can order that. That way I can track everything inside Tindie. [EDIT: No DIP chip option added and order received. Thanks!]

https://www.tindie.com/stores/jac_goudsmit/

===Jac
Last edited by jac_goudsmit on Tue Nov 29, 2016 8:42 pm, edited 1 time in total.
GunPilot
Posts: 15
Joined: 25 Mar 2013
Location: Arizona

Re: L-Star: 65C02 controlled by a Propeller

Post by GunPilot »

Ordered! I forgot to use the coupon code though dangit. That's what I get for buying things half asleep in bed ;)
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

GunPilot wrote:
Ordered! I forgot to use the coupon code though dangit. That's what I get for buying things half asleep in bed ;)
Thanks for your order!

I wish Tindie would just automatically add on-page advertised discounts. I'll still let you have the discount though; check your email.

===Jac
Tor
Posts: 597
Joined: 10 Apr 2011
Location: Norway/Japan

Re: L-Star: 65C02 controlled by a Propeller

Post by Tor »

It looks like I have everything except the SRAM, regulators, crystal and power switch (and PCB), but I think I'll have to pass due to the recent shipping cost barrrier between USA and Europe.
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by cbmeeks »

Will you be selling the board only?

I have everything else.
Cat; the other white meat.
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

Tor wrote:
It looks like I have everything except the SRAM, regulators, crystal and power switch (and PCB), but I think I'll have to pass due to the recent shipping cost barrrier between USA and Europe.
I buy all my parts in bulk at Mouser (click here). It looks like they're out of the switches too, as well as some of the sockets. Mouser has European shipping but I think they're in England, so I don't know how Brexit is going to affect shipping.

I'll check if I can add an option to my Tindie page to sell the PCB by itself. You can always order the board from OSHPark (click here) but you'll have to order a minimum of three boards at a time so that's going to add up.

Bottom line is: It's an open-source project and ordering your own parts is okay, but it's probably going to be more expensive than ordering from me because I buy the parts in bulk and share the price difference with my customers. If you order from me, I make a tiny bit of profit that I'll reinvest in the project, but it also motivates me to keep working on the project :)

===Jac

EDIT: I now added an option to buy just the PCB. Don't forget the discount code on the product page; Tindie doesn't add it automatically.
Last edited by jac_goudsmit on Thu Dec 01, 2016 5:12 am, edited 3 times in total.
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

cbmeeks wrote:
Will you be selling the board only?

I have everything else.
CBMeeks, I know you already have one. Check your email!

===Jac
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by cbmeeks »

Thanks for that!

I was wondering, how are you handling the 128K? Can, for example, Microsoft BASIC peek/poke to the expanded RAM?

Thanks.
Cat; the other white meat.
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

cbmeeks wrote:
Thanks for that!

I was wondering, how are you handling the 128K? Can, for example, Microsoft BASIC peek/poke to the expanded RAM?

Thanks.
The 65C02 address bus, data bus and R/!W pin are connected straight to the SRAM chip. It's possible to jumper the !CE line of the SRAM chip to pin P265 or P27 of the Propeller. In the schematics the optional line from the Prop to !CE is called !RAMEN (RAM Enable Not). The Propeller can pull this pin low during Phi2 to let the 65C02 use the SRAM chip as ROM or RAM. The Apple1SRAM project demonstrates this.

To use the upper half of the SRAM chip, the Propeller has to control the 17th address line A16 as well as !CE. A16 can be jumpered to P25 or P26. There are no projects that use A16 at this time. How the Propeller uses A16, is up to the software.

For example, though it's not possible to emulate a C64 without extra hardware, having the 128K SRAM chip will help with a possible future C64 replica design: The Propeller would intercept write operations to what would normally be the I/O port in the 6510, and switch A16 on or off based on the current address and based on the last value written to the output port, to emulate the bank switching between RAM and ROM (Kernal, Basic interpreter and character generator ROM).

The SRAM chip is really only necessary because the Propeller only has 32K of hub memory. The reason that it's a 128KB chip and not a 64KB chip, is that 64K SRAM chips are surprisingly hard to find.

As for BASIC: It would be impossible to do a PEEK or POKE into the upper half of a 128K memory chip, because basically a PEEK or POKE translates to a LDA or STA instruction in absolute mode, and of course you can only use a 16 bit address with those instructions, not a 17 bit address, so that's quite impossible. Yes, it might be possible to expand a BASIC interpreter to control the bank switching logic and accept a 17 bit address for PEEK and POKE, but that would be a lot of extra trouble that's not needed; after all, the bank switching logic is probably based on writing a magic value to an I/O port, and BASIC can do that too: you would just have to do 2 pokes instead of one. But again: it's all up to the Propeller firmware and I have no application in mind for the upper half of the SRAM at this time.

Final words: I could have used a 256K chip and used all three free pins of the Propeller to control it, but I figured that would be feature creep. The bank switching may not be very useful anyway because there's no address translation hardware: depending on A16 you can either see the first 64K or the second 64K in the chip. If you'd want to create a system that runs Fuzix, you would probably need some hardware that lets you see all the upper memory through a small window in the memory map. That would require extra hardware so it's something that will just not be possible with the motherboard. A small amount of hardware could be put on an expansion card (or a breadboard) to allow multiple megabytes of bank-switched RAM (or ROM) but there are so many other ideas that have a higher priority in my head. :)

===Jac
Last edited by jac_goudsmit on Sun Dec 04, 2016 9:28 pm, edited 1 time in total.
Martin_H
Posts: 837
Joined: 08 Jan 2014

Re: L-Star: 65C02 controlled by a Propeller

Post by Martin_H »

I accidentally used my wife's account to buy it and my kit came addressed to her. So when she opened it she was going "what is this?" We figured it out pretty quickly and I looked it over. The board looked like a really simple build, but I read the instructions, verified that I understood what the parts were, and where they go.

The only thing different from the instructions is it looks like the power jack and switch were swapped in a later revision. Jac also noted that you need to be aware that one of the capacitors is 470pF, but since I've assembled a few Propeller video boards in the past I was pretty familiar with this.

So I had about an hour before running some errands and I am nearly done. Hopefully I will finish before the weekend and upload the firmware.
User avatar
BigDumbDinosaur
Posts: 9428
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by BigDumbDinosaur »

Martin_H wrote:
I accidentally used my wife's account to buy it and my kit came addressed to her. So when she opened it she was going "what is this?"
When she asked "what is this" you should have replied "Your Christmas gift." and then run like hell! :lol:
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
jac_goudsmit
Posts: 229
Joined: 23 Jun 2011
Location: Rancho Cucamonga, California
Contact:

Re: L-Star: 65C02 controlled by a Propeller

Post by jac_goudsmit »

Martin_H wrote:
I accidentally used my wife's account to buy it and my kit came addressed to her. So when she opened it she was going "what is this?"
Ha! I was wondering about that. I figured maybe you didn't have a Tindie account but your wife did, or you had some reason not to let the mail service know where you live, or something. I just copied what I got from Tindie and mailed it that way. I hope you enjoyed the confusion :-)
Quote:
The only thing different from the instructions is it looks like the power jack and switch were swapped in a later revision.
You must have used an earlier version of the instructions (perhaps the instructions on Hackaday.io?). The L-Star.org website has the updated instructions for the latest PCB design. But as you noticed, it should have been really easy to build, unless you've really never soldered anything before.
Quote:
Jac also noted that you need to be aware that one of the capacitors is 470pF, but since I've assembled a few Propeller video boards in the past I was pretty familiar with this.
The 470pF capacitor is the only one that doesn't have a "curl" in its legs (I used two variations of capacitors on purpose, to make it easy to distinguish them). The updated instructions point this out but the old instructions may not have.
Quote:
So I had about an hour before running some errands and I am nearly done. Hopefully I will finish before the weekend and upload the firmware.
Thanks for the update and keep us/me informed! And if you need help, you know where to find me.

I'll try to add some content to the L-star.org website this weekend but I'm busy with work, Christmas decorations and tons of other things so I don't know if I can.

Enjoy!

===Jac
Post Reply