Shop OBEX P1 Docs P2 Docs Learn Events
L-Star Plus — Parallax Forums

L-Star Plus

I just finished building jac_goudsmit's cool L-Star Plus kit. It is a 6502 platform that uses a Propeller chip for I/O and memory. The assembly instructions are great and the kit quality is as well. It worked the first time and is running the Apple 1 emulation. I'll have to try the code that uses the SRAM next. Nice job, Jac!

Comments

  • jac_goudsmitjac_goudsmit Posts: 418
    edited 2018-04-08 00:12
    Thanks David! Happy to hear you got it working.

    I'm working on documentation, and The 8-bit Guy on YouTube is going to do a review of it soon.

    Https://l-star.org
    Https://hackaday.io/project/3620

    I'm planning on emulating other computers like the PET-2001 and the Acorn Atom. Also I want to design an expansion board to emulate the KIM-1, SYM-1 and Elektor Junior. And I have some ideas about a version that runs faster and uses a 65C816 instead of a 65C02.

    ===Jac
  • Been a long while since I've been around here!

    Anyway...

    @jac

    One thing I struggle with using a Propeller with my 65C02 projects is that I can't seem to get above 1 MHz. My ambitious goal would be VGA with a 2-4 MHz 65C02.

    So, I'm certainly curious how you would produce a faster design using a 65C816?

  • cbmeeks wrote: »
    One thing I struggle with using a Propeller with my 65C02 projects is that I can't seem to get above 1 MHz. My ambitious goal would be VGA with a 2-4 MHz 65C02.

    I've been thinking about (among other things) other designs where the 6502 could run faster. As you probably know, the WDC 65C02S can run at up to 14MHz, and the SRAM chip that I used in the design can also handle much faster frequencies than 1MHz.

    The easiest solution I can think of is to use an external address decoder that generates a signal when addresses are within the range that the Propeller needs to handle. One cog would be dedicated to generating the 6502 clock, and it would generate a fast clock signal as long as the address bus is "uninteresting". Whenever the address is something that the Propeller needs to act upon, the clock cog would slow the clock down to 1MHz or less. As long as the Propeller is not accessed too much, this could result in a nice fast system.

    And it's not difficult to imagine a system where the Propeller is not needed most of the time. Most of the time, the 65C02 needs to access memory, and though the current projects lean heavily on letting the Propeller emulate the memory, it's also not too hard to use the SRAM chip, even for ROM data. The Propeller can feed read-modify-write instructions (such as INC Absolute) to the 65C02, and fake the data that the 65C02 reads, and make it store the data into the SRAM. Then reset the 65C02 and prevent writing to it. Voila, ROM cache :-)
    So, I'm certainly curious how you would produce a faster design using a 65C816?

    I had a glance at the '816 datasheet a while ago and I bought an '816 in DIP-40 package from Mouser too. I want to design a system based on L-Star that can run Fuzix some day. If I remember correctly, I concluded from the datasheet that it should be possible to plug a 65C816 into the current circuit board, and either use the Propeller or external hardware to decode the multiplexed address. Then the system can be booted in the same way as mentioned above, where it uses the SRAM chip as fast ROM cache as well as RAM (and the Propeller probably has enough time to control A16 of the SRAM chip from the multiplexed address, even when the clock runs faster than 1MHz).

    You mentioned VGA; I assume you mean you want to use a Propeller-based VGA output in some way. Obviously this isn't possible with the L-Star Plus board, since there aren't enough pins available. I've been thinking of ways to make it possible to connect a second Propeller to the system without using almost all of its pins, and I ran into this thread, where Beau Schwabe describes a high-speed serial transport system. I think that can easily be modified into sort of a "pin extender" where the master Propeller sends the value of the 65C02 address bus, data bus and other pins to the slave Propeller via a 1-pin connection, at high speed. The slave Propeller receives this signal and decodes addresses, stores data in its hub, and sends data from its hub back to the master. A slave Propeller that implements a VGA text screen would certainly belong to the possibilities.

    It might be a fun experiment by itself, by the way: a VGA display using a second Propeller that's connected to the master Propeller via a single wire. Or even more fun: use three cogs on the slave Prop, for 24 bit VGA output. No wait, not enough memory. Use three Propellers instead, one for red, one for green, one for blue. All controlled by a single wire with a protocol that could be similar to the TMS99xx chips that I know you've been playing with. 14 megabits may not be fast for a pixel bus, but with a bit of creative programming of the slave Propellers, you can probably generate some nice graphics demos. :-)

    ===Jac
  • hinvhinv Posts: 1,255
    Hi Jac,

    I just found your l-star last month. This post seems to reference the l-star plus. What is the plus?
    Also, I tried to buy one of these on tindie as I think it would be a nice project for me and my son to work on together, but you seem to be out. Any idea when it will be back in stock?

    Thanks,
    hinv
  • kwinnkwinn Posts: 8,697
    ....

    ....Use three Propellers instead, one for red, one for green, one for blue. All controlled by a single wire with a protocol that could be similar to the TMS99xx chips that I know you've been playing with. 14 megabits may not be fast for a pixel bus, but with a bit of creative programming of the slave Propellers, you can probably generate some nice graphics demos. :-)

    ===Jac

    Fascinating idea. Using one propeller per primary color leaves 21 cogs for doing other things. That's a lot of processing power that could be used for some interesting projects.
  • hinvhinv Posts: 1,255
    Jac, I was thinking the exact same thing! Notice on that post you linked to Baggers mentions his propGFX project. That would be great fit, I think.
  • jac_goudsmitjac_goudsmit Posts: 418
    edited 2018-09-25 22:13
    hinv wrote: »
    I just found your l-star last month. This post seems to reference the l-star plus. What is the plus?

    The original "L-Star" was the concept of a 65C02 with a Propeller (on a breadboard or on a Parallax USB Protoboard), that could emulate the Apple 1 or OSI Challenger C1P.

    The "Plus" is mostly for the added SRAM chip and expansion port, but also a little for the (almost) all-in-one design with the voltage converters, PS2 keyboard socket, RCA video socket and the jumper bed all on one PCB as a kit.
    Also, I tried to buy one of these on tindie as I think it would be a nice project for me and my son to work on together, but you seem to be out. Any idea when it will be back in stock?

    Sorry about that! I expect to get parts again by probably mid-October 2018. It's expensive to order parts for an entire batch of L-Star kits, and let's just say the stars are just a little bit out of alignment for the next few weeks.

    ===Jac
  • hinvhinv Posts: 1,255
    Did the 8-Bit Guy ever do a review of the L-Star? I see he did a review of the PE6502, which also uses a Propeller, but is a bit different. Alas I think the port-B prop would have worked nicely for his dream computer (and mine too), especially if there was a full deserializer in the counters and the mul/div instructions implemented. Shouldn't have taken this long either.
  • hinvhinv Posts: 1,255
    edited 2018-11-06 13:42
    I would love to see what you guys could do with a 65C816S though as well. Looks like a neat project.
    Also, of course the Propeller2 should be pretty good if they can get it into production. The P2 should make a pretty good computer mostly by itself with some memory chips.
  • jac_goudsmitjac_goudsmit Posts: 418
    edited 2018-11-14 00:13
    No, the 8-bit guy hasn't done a review (yet). I'm assuming he just hasn't gotten around to it. Which is fine by me because I haven't had much time to update my website l-star.org.

    In other news though, I made an L-Star on the add-on board of the Hackaday Supercon 2018 badge (and missed the deadline by a hair because I misinterpreted a schematic). It was featured in a Hackaday post today.

    https://hackaday.com/2018/11/13/apple-1-emulator-is-a-perfect-fit-for-supercon-badge/

    As for an L-Star with a 65C816, I may have already mentioned here or elsewhere that I think it's possible to do that. I'm thinking of making a version of L-Star with a 65C816, a megabyte of memory or so, and some modified software for the Propeller to allow the '816 to run at 14MHz when the Propeller doesn't to keep up. It should be possible to run Fuzix that way and do some neat stuff.

    I'm interested in the Propeller 2 but I don't know yet if and how I'll use that in this project. It's going to be so powerful that it can probably emulate the 6502 at 1MHz or higher, and that just takes all the fun out of it :-)

    ===Jac
  • Sorry to drum up an older post. Been offline for a while and I'm catching up.

    I don't know if you really want the 8-Bit Guy to review the L-Star. Sure, it would be some publicity but if you watch his earlier videos on these SBC's, you can tell he doesn't favor them very much. He goes as far as basically saying they aren't useful because you can't write Tetris on them in BASIC.

    I have a theory about this....he's announced a few times on his blog (and a video, IIRC) about teaming up with some people and releasing his own SBC. When his latest game is finished, he mentioned starting on that. I think he's already started on it and has probably gotten a few other people on board.

    Thing is, I actually somewhat agree with most of his specs for a SBC. But I just can't help but get the feeling that he's downplaying some other SBC's to better promote his.

    He certainly has that right.

    Of course, this is all theory (conspiracy??) on my part.
  • cbmeeks wrote: »
    I don't know if you really want the 8-Bit Guy to review the L-Star.

    After the unboxing video in March 2018 I got something like 10 orders in two weeks. And I think it was only visible for less than a minute! So for that reason I would like him to review it. But if he decides not to review it, that's fine with me too at this point.

    I know David wants to build his own 6502 computer; he mentioned it several times in various places. I think he allowed me to send him a kit so he could see if there were any inspiring ideas that he could use for it. I'm sure I could help but he hasn't asked, and I think he wants to do it himself anyway. That's okay.

    At the time of this writing, I'm working on some other projects instead of L-Star. I'm getting little or no feedback on the L-Star project and sales are dwindling, and I'm getting some really great feedback on other projects, so I'm prioritizing those. I'll get back to L-Star when the time is right. If he does a review, that will be the time. Otherwise, it will be a little (probably a month, maybe two) before I'll have them back in stock.

    ===Jac
  • At the time of this writing, I'm working on some other projects instead of L-Star. I'm getting little or no feedback on the L-Star project and sales are dwindling, and I'm getting some really great feedback on other projects, so I'm prioritizing those.
    Can you describe these other projects? I liked the L-Star kit and would like to see what else you've created.

  • David Betz wrote: »
    Can you describe these other projects? I liked the L-Star kit and would like to see what else you've created.

    If you want, you can follow me at https://hackaday.io/jac and at https://github.com/JacGoudsmit . Not much else going on with the 6502 at this time, but almost all my projects involve a Propeller in some way.

    ===Jac
  • hinvhinv Posts: 1,255
    I was able to pick up an older green L-Star Plus rev 5 from ebay, and I ordered the processor, memory and eeprom from Mouser.
    My son and I got the L-Star finished, and working today. It was a nice simple project and fun.
    After getting it set up, I am glad that it does serial and not just TV as the Apple1 video sucked, just as the 8-Bit Guy found out. I actually like the fact that I can get to it over the serial port instead anyways. It means I don't have to find a composite monitor somewhere, and hopefully I can do 6502 assembly again from the convenience of my desk or any desk in the house, actually.

    I could use a little help getting these running:
    Integer Basic
    Ken Wessen’s “Krusader”
    An assembler
    AppleSoft BASIC

    as well as learning how to get MiniCom to dump stuff into WozMon.

    On a another topic, now that I have played with it a little, I had an idea that might simplify things for you. If you want to do memory mapped graphics, why not just have a second prop on the Address and Data buss + r/w pin which leaves the 6 pins you need to do VGA and a single pin to boot the propeller from the other while sharing a pin from VGA? That way the 65C02 could use the existing prop for the 16K of RAM + 8K ROM, and map the upper 32K to the second part where 24K could be 1bit color 512x384 VGA, and the other 8K as character map, character buffer, and command buffer area for the propeller to do complex graphics. Of course, if you can pull off very fast serial between the propellers, you might have enough pins to do a 32MB SDRAM for a huge frame buffer for the graphics prop.
  • jac_goudsmitjac_goudsmit Posts: 418
    edited 2019-03-10 08:52
    hinv wrote: »
    I was able to pick up an older green L-Star Plus rev 5 from ebay, and I ordered the processor, memory and eeprom from Mouser.

    For your information: That L-Star didn't come from me, I never made green PCBs. That's okay, the software and hardware are distributed under MIT license meaning clones (like the one you have) are okay, as long as they mention my name.
    After getting it set up, I am glad that it does serial and not just TV as the Apple1 video sucked, just as the 8-Bit Guy found out. I actually like the fact that I can get to it over the serial port instead anyways. It means I don't have to find a composite monitor somewhere, and hopefully I can do 6502 assembly again from the convenience of my desk or any desk in the house, actually.

    On the original Apple 1, the video took up almost the entire board. And the only special character it could handle was the line feed (or was it carriage return? I don't remember).

    To be honest, L-Star doesn't even attempt to accurately reproduce the character set and blinking cursor on the video output. It's basically a text display that can scroll, but it can't even blank the screen. I used a font that I believe came from an Atari font ROM; I don't remember where I found it.

    The serial connection makes things much easier because you can just use a terminal but it sort of defeats the purpose because you need a PC to use the L-Star, and the original Apple 1 didn't work this way. Oh well, I guess you need it to load and save programs and data anyway since there's no tape interface.
    I could use a little help getting these running:
    Integer Basic
    Ken Wessen’s “Krusader”

    To start Integer basic, enter E000R at the prompt.
    To start Krusader, enter F000R .

    For more information, download the Replica 1 manual from brielcomputers.com. Ken Wessen also has a manual on his website. Google is your friend :smile: .
    An assembler

    Krusader has a built-in assembler.
    AppleSoft BASIC

    All you need to do is replace the FILE command in the Apple1.spin module to refer to the Applesoft file instead of what it is now. Note: You also have to delete (or comment out) the patch that changes the backspace character in Woz mon, because the Applesoft rom dump has a slightly different Woz mon. I've been meaning to fix that for a while but I've been distracted by other projects...
    as well as learning how to get MiniCom to dump stuff into WozMon.

    What Woz Mon spits out, it also eats. So if you enter a command in Woz mon to dump memory and capture the output to a text file, you can later send that text file to Woz Mon again and it will work. There's just one problem: there is no flow control and Woz Mon takes a little bit of time at the end of each line of hexadecimal data to process the input. You will need to configure your terminal program to insert a delay at the end of each line. I think I have my TeraTerm set to 400 microseconds of delay at the end of each line. It also doesn't hurt to insert an extra one or two microsecond delay between characters.
    On a another topic, now that I have played with it a little, I had an idea that might simplify things for you. If you want to do memory mapped graphics, why not just have a second prop on the Address and Data buss + r/w pin which leaves the 6 pins you need to do VGA and a single pin to boot the propeller from the other while sharing a pin from VGA?

    It's not that easy. If I would want to map, say, 24KB of the Propeller hub RAM into the 6502 memory space, I would need 15 address pins and 8 data pins, plus one pin for the clock and one for R/~W. That only leaves 7 pins; not enough for full VGA. And some of those pins are needed to download the program into the Propeller, and if you don't use an EEPROM and Prop plug, the hardware to do that gets complicated fast.

    As you know, I'm working on a solution that frees up the address bus pins by sending the address bus via a fast serial connection. I think it's possible (but only barely: timing will be very tight). I'll be sure to report in the forums when I work it out.

    ===Jac

  • hinvhinv Posts: 1,255
    Any update on this really fast serial connection?
  • hinvhinv Posts: 1,255
    BTW, thanks very much on your answering my previous questions.
  • hinv wrote: »
    Any update on this really fast serial connection?

    Sorry, I haven't had time for it for the last two weeks or so...

    ===Jac
  • My L-Star PLUS works great in Apple I mode. I want to use the expansion connector to flash an external LED and to control other things. Can you point me toward the basics of using the expansion connector? I'm just a beginner at 6502 assembler and machine code programming. Thanks.

    Jim Rybak
Sign In or Register to comment.