Forum Update - Announcement about May 10th, 2018 update and your password.

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

  • 3 Comments sorted by Date Added Votes
  • jac_goudsmitjac_goudsmit Posts: 387
    edited April 8 Vote Up0Vote Down
    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
    Rancho Cucamonga, CA
  • 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
    Rancho Cucamonga, CA
Sign In or Register to comment.