L-Star: 65C02 controlled by a Propeller
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
L-Star: 65C02 controlled by a Propeller
Many of you may already know this, but in case you don't:
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
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
Re: L-Star: 65C02 controlled by a Propeller
Neat. Any chance of a reduce parts count kit for Propeedle owners who have all the IC's?
Re: L-Star: 65C02 controlled by a Propeller
I think I have all the parts too.. or nearly so.
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
Martin_H wrote:
Neat. Any chance of a reduce parts count kit for [Propeddle] owners who have all the IC's?
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.
Re: L-Star: 65C02 controlled by a Propeller
Ordered! I forgot to use the coupon code though dangit. That's what I get for buying things half asleep in bed 
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
GunPilot wrote:
Ordered! I forgot to use the coupon code though dangit. That's what I get for buying things half asleep in bed 
I wish Tindie would just automatically add on-page advertised discounts. I'll still let you have the discount though; check your email.
===Jac
Re: L-Star: 65C02 controlled by a Propeller
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.
Re: L-Star: 65C02 controlled by a Propeller
Will you be selling the board only?
I have everything else.
I have everything else.
Cat; the other white meat.
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
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'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.
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
cbmeeks wrote:
Will you be selling the board only?
I have everything else.
I have everything else.
===Jac
Re: L-Star: 65C02 controlled by a Propeller
Thanks for that!
I was wondering, how are you handling the 128K? Can, for example, Microsoft BASIC peek/poke to the expanded RAM?
Thanks.
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.
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
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.
I was wondering, how are you handling the 128K? Can, for example, Microsoft BASIC peek/poke to the expanded RAM?
Thanks.
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.
Re: L-Star: 65C02 controlled by a Propeller
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.
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.
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
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?"
x86? We ain't got no x86. We don't NEED no stinking x86!
- jac_goudsmit
- Posts: 229
- Joined: 23 Jun 2011
- Location: Rancho Cucamonga, California
- Contact:
Re: L-Star: 65C02 controlled by a Propeller
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?"
Quote:
The only thing different from the instructions is it looks like the power jack and switch were swapped in a later revision.
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.
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.
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