View Full Version : Is the Prop the new ZX80?

11-03-2006, 03:56 AM
I discovered that I read through the forum old and new posts with almost the excitement I used to have in the mid 70's when I read Byte magazine, hoping to find an article on how to make a drum memory from a Coors can or such.

Then I wondered what the minimum requirement would be today if you went cash-in-hand to a computer store and only wanted to print "Hello World" to a monitor.

The Prop chip may have brought us back to a point in time where AVERAGE people could build and program for fun like the ZX80 did, if only they were given the opportunity.

A basic machine might be a GPL design with little more than BASIC, PS/2 keyboard and TV output much as the early machines of 25 years ago did, but with incredible potential for expansion.

I am getting a bit old to start a major project but would love to help if someone wanted to try it.


11-03-2006, 04:34 AM
I've had this dream for years, frankly. Something like the C64 gamestick that's being sold, but with a
PS/2 port for a mouse and keyboard and flash for program/data storage. My original intent was to figure
out how to make them cheap enough where I could self-finance a run of a few hundred and give them
away. My target audience is mostly children, the same sort of children that hacked micros during the
70's and early 80's.

This is what initiated my interest in the propeller, frankly, and it is *very* close to doable.

I'm sort of stymied at the moment on software issues though. Is BASIC the right language to use in
this day and age?

Also, memory is an issue; 32K is probably enough for the host software, but I would hate to constrain
the end-user to 32K programming space.

I really would like a one-chip solution, but even with the propeller we are talking about a propeller,
a crystal, an EEPROM for boot, perhaps a small SD card for storage, and we still don't have memory.

A flash-based microcomputer (using some Disk Operating System to manage the flash) would be really
cool, though. We are so close.

Mike Green
11-03-2006, 06:07 AM
You could include a 128K EEPROM in place of the standard 32K for pretty much the same cost with an option for a second 128K. The host software could then be booted from the first 32K and use the remaining 96K (or 224K) for user program storage or data backup (not variable storage because of limited write capability).

Still, an SD card provides easily for multiple users and more extensive storage. MMC/SD cards are getting cheaper, particularly in the smaller sizes.

11-03-2006, 07:16 AM
Dear Mike:

Do you mean, ifI want to store data, I could use a EEPROM > 32k, using the same original destinated I2C pins, instead to use other two differents ?. Of course, taking care, to not write the first 32k.

What about the I2C driver?? that is important ?, orI could take any from the library object ??

Thanks !!


PD: Very difficult to extract your high speed I2C version, from the OS.....http://forums.parallax.com/images/smilies/smhair.gif

Mike Green
11-03-2006, 08:27 AM
Yes, it's fairly inexpensive to use a larger EEPROM than the 32K x 8 one usually provided with the Propeller. For example, the 128K x 8 EEPROMs are $5-6 in small quantities while the 64K x 8 EEPROMs are about 1/2 that. Admittedly, the two EEPROMs would cost as much as the Propeller itself, but that's still a fraction of the total cost of the device. An SD/MMC socket is pretty cheap and may be a better solution. If you don't attempt to do general PC compatibility, but have a PC-based formatting program that sets up a directory with specific predefined names and fixed preallocated space, the support on the Propeller end might be very simple. With an SD card, you could just use the 32K x 8 boot EEPROM and forget I2C routines, just use SPI.

There is a SPIN I2C driver in the object library that already has calls specifically for reading and writing to EEPROMs. The high speed I2C driver in the OS is easily extractable. Just use the OS_loaderInit.spin file by itself. It's designed for that purpose. It has a start and stop routine and routines for reading and writing blocks of data. Look at the comments in that object specifically.

11-03-2006, 02:56 PM
Instead of BASIC, why not use FORTH?
(There's a thread about a FORTH implementation, too)
I think the creator was mentioning adding a FLASH filesystem and PS/2 + VGA drivers to it, too.

Don't visit my new website...

11-03-2006, 08:13 PM
Thanks a lot !!! for your suggestions.
But could I have a reasonable speed using SD cards (without implement a FAT system) ?.
Generally...I've that problem... if I've a lot of memory=>I've no enough speed....then if I've a good speed => I've not enough memory space.

ie: To drive a big led display..I need large amount of memory..but with a high speed too !!.

ie: To get work some kind of machines...I need to charge their "data" in memory, and send it quickly !!.

The same happens in this thread if you want to allocate the "language interpreter" in the SD card.


Envio editado por (BTX) : 11/3/2006 8:02:09 PM GMT

11-03-2006, 10:59 PM
Thanks Mike.

I ordered 3 R/W USB modules from Ebay for $.99 each... Two to carve up for the sockets (we will have to see how that goes) and one for my PC.

Plus 2 128Meg SD cards For $1.99 each to be shipped directly from China. Eliminates the middle man I guess. :(

Shipping for little items on Ebay is a killer though.



11-04-2006, 01:42 AM
I didn't see an 128x8 EEproms on Parallax. Does Parallax sell them? If so whats the link? When I searched under EEProm nothing came up, the search for memory only brought up microcontrollers and I couldn't find anything under 128K x 8 EEPROMs or 128K x 8 EEPROM.

Mike Green
11-04-2006, 01:48 AM
Parallax doesn't sell them currently. Both Atmel and Microchip make them although they're not strictly compatible (the second 64K address space is accessed differently and the Microchip device requires address select line A2 to be wired to Vcc while the Atmel chip considers that a "don't care"). Look at Atmel's and Microchip's websites for details, datasheets, etc.

Cliff L. Biffle
11-04-2006, 01:50 AM
Gadgetman said...
Instead of BASIC, why not use FORTH?

Off the top of my head,
- BASIC has a flatter learning curve for people accustomed to imperative/procedural languages.
- BASIC does a much better job of protecting the programmer from herself. (I reboot the Forth quite a bit after accidentally stomping on sections of RAM. Granted, this will be less common once all the bugs are out.)
- PropellerForth isn't finished yet. http://forums.parallax.com/images/smilies/smile.gif

GadgetMan said...
I think the creator was mentioning adding a FLASH filesystem and PS/2 + VGA drivers to it, too.

Really, I'm targetting SD, TV, and PS/2 support. But it may be a couple months -- I have a day job. http://forums.parallax.com/images/smilies/smile.gif

BASIC makes a pretty good dabbling language for people new to programming. It also tends to teach them really bad habits; I would hope that any BASIC released encouraged structured programming and didn't require line numbers. (Or really, I'd rather it didn't even allow them.)

11-04-2006, 01:56 AM
> Instead of BASIC, why not use FORTH?

I love Forth, and for me personally, Forth would be excellent.

But BASIC is more accessible than Forth and more bulletproof. It's not hard to crash a Forth.
Crashing a BASIC (without using poke) is much more difficult. My target audience is young
children; giving them a cheap (free) computer that had much (or more) of the power of the
micros of the 70s that they can learn the excitement of programming on (and without exposing
them to the horrors of the internet, etc.)

> But could I have a reasonable speed using SD cards (without implement a FAT system) ?.

I'm not sure if you're talking about file I/O speed or using it as a RAM. If you're talking
file I/O it should be straightforward to get great speed (search the forums), and FAT is not
that hard to implement. As a RAM, however, it could be slow. I'm tempted to experiment
with a BASIC implementation that stores all data and code in SD, and uses a small cache
in the Propeller itself to offload the read/write demands that would incur. This is definitely
"abuse" of SD in some sense, because flash does have a limited lifetime (even if it is in
the hundreds of thousands or millions of cycles).

In the end I may end up just using the cache idea, but using a serial SRAM as the backing
store. (Yet another chip.) I wonder how fast I could make things.

> I ordered 3 R/W USB modules from Ebay for $.99 each... Two to carve up for the sockets (we will have to see how that goes) and one for my PC.

I tried going this way. It's painful. Much better to just buy the sparkfun SD socket.

11-04-2006, 09:03 AM
I found some mini SD sockets here: http://search.stores.ebay.com/Experimenters-Discount-Warehouse_mmc_W0QQfciZ10QQfclZ4QQfsnZExperimenterQ 27sQ20DiscountQ20WarehouseQQfsooZ2QQfsopZ2QQftsZ2Q QsaselZ32592326QQsofpZ0

Three for 99 cents.
I bought 2 of his miniature (8 1/2") keyboards because they seem more Prop size.


Dennis Ferron
11-04-2006, 01:37 PM
DosOnAChip, at this website: chipdos.com/ (http://chipdos.com/) allows you to use serial text commands to interface to the files and directories on an SD card and they make a module that has their DosChip and an SD socket both already mounted. I haven't had a chance to use it yet but I plan to put this on the next Propeller laptop I build. (My first, which I am still working on, was built in a suitcase; the next one I plan to build onto the bottom of an ultrasmall palm pilot keyboard.)

11-04-2006, 11:11 PM
Well I don't know if it's the next ZX80, but it's sure a great computing toy. Lots of core tech in a small package. Just fast enough to really do some fun stuff, but not so fast as to just make everything easy.

What really interests me is the multiprocessor aspect of things. This perfectly recreates that 70's 80's era where people were figuring out how to do things on the chips of the day. Some of the same kinds of learning and discovery will be happening on the prop.

It's a really fun chip and it's cheap!

Like everyone else, I think it could use a bit more RAM. However, I've not yet discounted the utility of external storage. Really, if this is extended and some discovery is done, it's gonna end up being a new sort of computer. Large chunks of code and data move through the chip from external storage. Kind of a throwback to the days when this was the norm, rather than the exception. Given the power requirements, high external storage in silicon memory density availiable and overall speed possible, this could end up being a really great means of computing in general.

One could lay out an OS, data and machine state onto external storage, then run it on the prop. A coupla batteries and some decent display and you have a really great portable computer that's bare to the metal capable of a lot of things. I see it more as the next Tandy 100 than I do the ZX. That particular form factor would seem to make a whole lot of sense for the prop.

Imagine the prop in a similar case with LCD display, a set of rechargable batteries with included keyboard and the usual IO ports. Some clever design for removable media storage and some expansion of the budding OS we see here could easily make for a damn cool workbench / portable workstation. Make carts of some sort and one could package lots of applications in an easy to manupulate form factor for use in the field. It's not gonna browse the web (well maybe it would), but it's gonna handle signals, I/O, graphical display, etc... without all the shortcomings of your run of the mill laptop.

Dedicate a coupla COGs to running an OS and performing memory fill on demand and large applications would be possible and practical, IMHO.