Shop OBEX P1 Docs P2 Docs Learn Events
Proposal for a Propeller based Retro computer — Parallax Forums

Proposal for a Propeller based Retro computer

BeanBean Posts: 8,129
edited 2012-11-13 15:21 in Propeller 1
I was wondering if there is any interest in making a propeller based "retro" computer ?

Here are my ideas:
Instead of adding external memory, use two propeller chips. One to handle VGA and SD card FAT32, keyboard. One to handle BASIC interpreter.

VGA (320x240) 4-color unique palette for each 8x8 block of pixels. Sprites ???
SD card FAT32 for program and data storage
PS/2 keyboard
PS/2 Mouse ???
BASIC Interpreter (written in LMM) - Floating point, structured no line #s.
I/O ports ???

Any other ideas ?
«134

Comments

  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-04-19 16:24
    I would use ATA instead of SD, and LEAN FS instead of FAT32. Also why not use an external frame buffer to allow better color, this way we can at least reach the graphics quality of late 70s microcomputers. Do you intend to emulate a CPU from that time or run full speed Prop?
  • jaegjaeg Posts: 156
    edited 2011-04-19 16:31
    Since I'm working on a cosmac elf I'm a tad biased but emulate and 1802 and a pixie chip and get a blistering 64x32 display resolution. That's probably more retro than you want to go into however. haha
    On a more serious note I think you have a good idea going. You could use a mouse and have a windows style form system going. One form were you enter the code and the other form displays the output so you can see both at the same time.
  • jazzedjazzed Posts: 11,803
    edited 2011-04-19 16:44
    Bean wrote: »
    I was wondering if there is any interest in making a propeller based "retro" computer ?

    Here are my ideas:
    Instead of adding external memory, use two propeller chips. One to handle VGA and SD card FAT32, keyboard. One to handle BASIC interpreter.

    VGA (320x240) 4-color unique palette for each 8x8 block of pixels. Sprites ???
    SD card FAT32 for program and data storage
    PS/2 keyboard
    PS/2 Mouse ???
    BASIC Interpreter (written in LMM) - Floating point, structured no line #s.
    I/O ports ???

    Any other ideas ?

    I have something like that now with MicroProp-PC in a $5 off the shelf case.

    Propeller 1: Serial Port, EEPROM, RTC, Status LED, SD Card, +32MB SDRAM.
    Propeller 2: Serial Port, EEPROM, VGA, USB/PS2 Keybd, USB/PS2 Mouse, Stereo Audio.

    The propellers are connected by an 8 bit I2C+8 bus. Propeller Serial Port on USB is switch selectable.

    I stopped working on MicroProp-PC because the Inter-Propeller data Channel "IPC" got the best of me. The IPC works fine at 2.5MB/s (80MHz) on separate oscillators. The VGA is working in text mode.

    I'll bring 2 of these to UPEW: 1 for potatohead, and 1 for whoever wants it most.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-04-19 17:04
    That's an interesting idea Bean. Bagger's and Coley showed a long time ago that a lot can be done without extra memory if you dedicate a Prop to just video generation - I am ofcourse talking about PropGFX.

    I think at one point they were going to make a dual prop board similar to what you are thinking of, but due to increased work load for them it never happened.

    Personally, I think its Prop2, with 128k of hub, and enough pins for fast SDRAM, that will make video / retro on the prop really take off.

    On a different note, I'd love see your embedded basic target running out of any memory supported by jazzed's caching memory driver or my VMCOG.

    Not to steal Bean's thread, but there are a number of multi-prop pcb's out there that can were designed for this purpose.

    All are documented, however all but possibly the Hive are commercial pcb's, ie not open source hardware.

    TriBlade - I think Cluso99 was the first with one to make a multi-prop, or at least the first to show one; one of the three Prop's could theoretically use its SRAM as a frame buffer, no one has written a driver for it
    http://forums.parallax.com/showthread.php?111093-Single-Board-Computer-RUNNING-Propeller-ICs-and-TriBladeProp-PCB&p=790917

    Hive - also has three props (thanks Martinh - Hive is open-source hardware and software)
    https://sites.google.com/site/robothomeschool/home/hive-project

    Morpheus - my dual prop commercial design (please take discussions of Morpheus to the thread below, I do NOT want to hijack Bean's thread)
    http://forums.parallax.com/showthread.php?113929-Morpheus-256-colors-high-rez-bitmap-VGA-0.5-7.5MB-XMM-**NEW**-VGA-320x240-sprites-UPEW-see-p11

    Jazzed's upcoming MicroProp-PC (I added it after I saw his post here, sorry steve, I initially forgot about it)

    Now as for single Prop retro platforms:

    The original Parallax Demo Board - can emulate many old systems all by itself
    http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/SortField/0/Level/a/ProductID/340/Default.aspx

    The original Prop gaming board - the Hydra
    http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/hydra/List/0/SortField/4/ProductID/467/Default.aspx

    The C3 ... tiny descendant of Hydra
    http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/CategoryID/73/List/0/SortField/0/Level/a/ProductID/721/Default.aspx

    Dr_Acula's DracBlade, with some retro Z80 emulators already available for it
    http://www.smarthome.jigsy.com/propeller

    PropCade - my commercial design for retro action and terminal emulation (please take discussions of PropCade to the thread below, I do NOT want to hijack Bean's thread)
    http://forums.parallax.com/showthread.php?121315-PropCade-Propeller-computer-for-emulation-gaming-RS485-networking-more-%28Joysticks-IR-see-p5%29

    Not to mention the MANY different prototyping platforms, add on memory, etc out there...

    But another Prop project never hurts... it spreads the WORD OF THE PROPELLER, and helps us increase the following.... (tongue firmly in cheek while I typed that)
  • martinhmartinh Posts: 58
    edited 2011-04-19 17:35
    All are documented, however all but possibly the Hive are commercial pcb's, ie not open source hardware. (I can't tell about the Hive, I don't read german)

    The Hive is a completely open source and (as open as possible by using standard components) open hardware project.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-04-19 17:47
    Thanks for the info! I wish the pages/docs/etc were translated to english, the bits of it that I can understand makes it look like a really nice system.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 17:51
    Are any of these multi-Propeller boards still available? TriBlade has been discontinued I think. As you say, Hive is a little difficult to pursue because there is no English translation of the documentation. Jazzed's MicroProp hasn't been released.
  • mindrobotsmindrobots Posts: 6,506
    edited 2011-04-19 18:03
    Wow! I started thinking "retro" and a Prop driven Altair 8800 front panel popped into my head. Plenty of I/O line for data and address buses plus control I/O plus a COG and some I/O lines for a Tarbell cassette interface......now, where is that tape I had with Tiny Basic on it???

    Ahhhhh.....those were the days!
  • jazzedjazzed Posts: 11,803
    edited 2011-04-19 18:06
    David Betz wrote: »
    Jazzed's MicroProp hasn't been released.
    And probably wont be unless someone gets truly inspired to finish the Inter-Prop Channel software.

    So ... don't hold your breath.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 18:08
    jazzed wrote: »
    And probably wont be unless someone gets truly inspired to finish the Inter-Prop Channel software.

    So ... don't hold your breath.

    Sounds like an interesting project. What sort of problems did you run into that made you put it aside?
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 18:34
    Bean wrote: »
    BASIC Interpreter (written in LMM) - Floating point, structured no line #s.
    Can your Embedded Basic be extended to support floating point and structured statements? I assume that is your plan. I have a simple structured basic (xbasic) that doesn't use line numbers for anything other than the simple editor but it doesn't currently support floating point. Also, it is a bytecode compiler that, like Spin, needs a VM at runtime. I'm currently working on a VM written in PASM that should make it fairly fast. I assume you'd like to have the on-board Basic generate LMM code though, right?
  • jazzedjazzed Posts: 11,803
    edited 2011-04-19 18:38
    David Betz wrote: »
    Sounds like an interesting project. What sort of problems did you run into that made you put it aside?
    No problems really. The highest reliable inter-prop data rate was 2.5MB/s at 80MHz. Using one oscillator for both propellers made 5MB/s possible, but that caused other issues which could have been fixed if I had "just one more pin" available for reset. While things worked fine with lowered inter-prop performance expectations, I lost enthusiasm.

    Video on propeller is fine for low res graphics or hires text, but even with all HUB dedicated to video buffers, it still lacks "umph" more easily available other ways ....

    ... That's why I'm working on the Propeller Platform Handheld - its LCD is 320x480 with 262K colors, offers up to 2MB of fast byte-wide Flash for code, video doesn't need any Propeller HUB memory, and a keyboard/mouse is not required for the touch screen.

    Now if PropBasic was open to external memory implementations, that would be a blast. Alas, I can't find the keys.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 18:42
    It seems like this limited bandwidth communication between the Propeller chips could be a problem with the system Bean is proposing as well. Maybe Bill can say how he manages communications between the Propeller chips on Morpheus to solve this problem.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-04-19 18:52
    For experiements, I've used Beau's 10mbps and 20mbps code, which worked OK... basically, you have to packetize all transactions, and check the checksums, and retry if you have any problems.

    10mbps is a lot more immune to noise.

    For "production" code... 115kbps full duplex serial is your friend

    Actually Morpheus is set up to have a 4 bit bus between the processors, I just have not taken advantage of it yet because I could not see how to get a significant improvement over the 20mbps code without using two cogs, and even then, it was difficult to do better.

    I will still attempt to build 10mbps and 20mbps production quality IPC channels, but as Beau's driver notes, once hub access is accounted for, you can at best only get about 14mbps from a "20mbit" links.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 19:03
    Is this 10/20 mbps using a UART serial connection?
  • Heater.Heater. Posts: 21,230
    edited 2011-04-19 19:07
    mindrobots

    Have a look here:

    http://forums.parallax.com/showthread.php?101495-PropAltair-CP-M-operating-system-for-Propeller-anyone

    All the old BASICs have been run on the Prop.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-04-19 19:08
    Like Bill and others, the more designs the better exposure for the prop. We all benefit from this.

    This is my concept...
    Prop 1: Standard prop with VGA/TV, Keyboard, Stereo, I2C (for Wii compatible controllers), USB option
    Prop 2: Overclocked prop with 512KB SRAM, uSD. Comms via 2 pin high speed serial to prop 1

    I don't wish to hijack the thread, but here is where I am at...
    I discontinued the TriBlade pcb because the pcb cost was too expensive. If there was enough demand I would relay the pcb to a smaller size to reduce the pcb cost to a reasonable cost. The RamBlade was (still available) designed to fill that hole as it plugged into almost any other prop. A few already know I have a RamBlade II coming. I have been designing a set of pcbs for a long time (not enough hours in the day) to do the retro thing better, plus the normal things too. They are close and I have most parts in stock for the project. I will be announcing shortly.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-19 19:14
    Cluso99 wrote: »
    A few already know I have a RamBlade II coming.
    Sounds intriquing. Care to say any more about RamBlade II?
  • TinkersALotTinkersALot Posts: 535
    edited 2011-04-19 21:59
    I would suggest adding a third propeller to a system like this to create a 'smart', buffered, programmable I/O bus controller. It would be easy to conceive an I/O controller with more than 20 pins available to be mixed between address and data bus duties.
  • ColeyColey Posts: 1,110
    edited 2011-04-20 00:08
    I already have a design for this (HybridX3) and will happily provide all of the resources in eagle format if you want them.
    I have also been badgering Baggers for the last couple of months to release PropGFX Lite as open source.
    The problem is motivation, we both honestly feel that there is no market for this bar a few hardened users on this forum so maybe all we need is a bit of encouragement.
    I am visiting Baggers next week so maybe all he needs is a gentle shove from you guys and he can get it released :smile:

    @Bean, you need to check out what Baggers did with PropGFX and FemtoBASIC :tongue:

    HybridX3
    attachment.php?attachmentid=59588

    attachment.php?attachmentid=59589

    attachment.php?attachmentid=59590

    Regards,

    Coley
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2011-04-20 01:30
    I always thought these were retro. Both are Dracblades so can do BASICs but by emulation, the Embedded BASIC would trundle along so much faster.

    PS Coley,

    24 cores for retro ! WOW
    1024 x 768 - 118K
  • Heater.Heater. Posts: 21,230
    edited 2011-04-20 01:34
    Toby,

    They are very neat.
    What is that upper mini keyboard?
  • ColeyColey Posts: 1,110
    edited 2011-04-20 01:42
    @Toby, those keyboards are great, I've been toying with a similar idea for ages now, your boards look brilliant and much tidier than what I had planned :cool:
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2011-04-20 01:48
    That's "Clunky". The name comes from the fact that it's ...

    The KBD was an early "mini" KBD from CPC about 6 years ago. Originally it was on the sloping bit of a case made from old PC cases, that could suffer a 12" x 8" PCB which was to be the Nascom rebuild. It looked like a till, so it was to be "Tilley". When the Dracblade came along and your Z80 stuff, later finished off by Pullmoll, I evicted the ChipBasic2 (AVR) board out of it and cut it doun on size. It has the advantage over the "Compaq" KBD in that it has about 8 hours of batteries in it. After the 'phone batteries failed in the "Compaq" Vesion1, I used that space to add the third memory latch and gave it a real serial port, so now it has all of the 512KB of SRAM.

    Keeps me off of the streets ....(along with all those injunctions).
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2011-04-20 02:03
    The "Compaq" was chosen as it fortunately had a void that was big enough to sneek in a PCB using through-hole components. With SM then a lot more possibilities are out there, but my ironing isn't up to that. I have problems with double sided PCBs using the toner method, not only does the paper change its dimensions under the iron but my printer cannot be guarenteed to print exactly the same dimensions twice. Over 8" it tells. on this one there was about a 20 thou lateral error, it was good enough, just, but didn't generate any glowing pride.
    1024 x 768 - 100K
  • Heater.Heater. Posts: 21,230
    edited 2011-04-20 02:40
    Toby,
    Keeps me off of the streets ....(along with all those injunctions).

    I find the injections help:)

    I'm typing this on an old clunky Keytronic keyboard. It's been asking me to open it up for weeks now and see what we can fit inside. It would still have to function as a normal keyboard though as I hate all these silent a squidgy keyboards around now a days. Not to mention half the machines I have to work on (embedded boxes) won't let you into the BIOS with a USB keyboard.
  • BeanBean Posts: 8,129
    edited 2011-04-20 05:42
    Coley,
    The HybridX3 looks like an ideal platform. Not sure we would NEED 3 propellers, but it couldn't hurt.

    My next step is to modify embedded Basic (now called PE-Basic for Propeller Embedded BASIC) to use floating point variables.

    Bean
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-20 06:32
    Bean wrote: »
    Coley,
    The HybridX3 looks like an ideal platform. Not sure we would NEED 3 propellers, but it couldn't hurt.

    My next step is to modify embedded Basic (now called PE-Basic for Propeller Embedded BASIC) to use floating point variables.

    Bean
    Will you support floating point variables in addition to integer variables or instead of them? Also, I guess to be a real retro Basic you'll need to add dynamic string support as well or is that already there.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-04-20 06:34
    The Hybrid X3 looks really interesting. Is it available for sale or just as a PCB design that would have to be fabricated? You obviously at least have prototypes.
Sign In or Register to comment.