Thursday, August 1, 2013

Propeller Cosmac Elf Update


by Humanoido
It's time to update the Propeller COSMAC ELF project. This has led to more than one ELF clone (a base unit and the expanded version) and some new ideas to implement to make both more accurate to the originals. Finishing touches are being added to both units.

The first is a bare bones machine with minimal support components. The project is physically constructed and wired, and a new front panel print needs some adjustments to create a better size fit. This ELF clone is amazing!

The second is more like the expanded Netronics ELF machine which supports the ASCII keyboard, TV and runs Tiny BASIC. This unit won't need IDE software support from a PC computer as we'll load it up with self booting Tiny BASIC.

While some emulation projects try to go for extreme operating speed, we've kept the Elf closer to real life. For example, the chip is slowed using RCSLOW bringing it closer to the original 1802's crystal clock.

The internal slow oscillator runs at approximately 20KHz, which is a lot slower than the chip's RCFAST oscillator at approximately 12MHz. This is also a lot slower than using a 5MHz crystal which can take the chip up to 80MHz. The original Elf was between 1 and 2 MHz. We're still looking at matching a closer speed value. We are currently using a 10MHz crystal and the software can switch to PLL1X at possible 10MHz operation. The crystal can be replaced with a different value. Of course this effects the TV driver so we need to explore this in more detail. It's likely we'll reserve the TV driver only for the expanded version and drop the crystal requirement in the first version.

We now have two Tiny BASIC versions - one is more basic than the other (has minimal statements) and one is more capable (can load and save programs).

Another very interesting approach is one of the TV. In the original Elf, a video modulator was used to send/transmit the signal to the TV. The Propeller chip is also capable of sending/transmitting a TV signal from a single pin which emulates the video modulator quite well. The Propeller can also do PAL and VGA standards but we're going to use the TV and RF usage like the original Elf. You could still use VGA and other standards by tweaking the software.

One approach is to just expand it and keep the additional features but not necessarily use the newer expansions. For example, we have a color BASIC in one Elf version and gaming ports. A color Elf with gaming ports is something we might have seen if Netronics had stayed in business longer. So we may extrapolate on this new Elf clone.

Other aspects are being worked out in more detail, in particular, we decided to emulate the original storage cassette by using EEPROMs and one SD-CARD. We can boot to Tiny BASIC from the eeprom and load/save programs with the card. What we put in eeprom and the card is still being worked out. This gives virtually unlimited storage for programs. There's still some messy details to work out in the system.

A nice larger cabinet is bought for the expanded ELF version (It's not a hand-held device!) and it will have a nice designed boiler face plate.

You can build one too. The expanded ELF will be much like the original elf in cost. The new expanded version has suppliers with current pricing of $150 or $200 (that will include a working board with a power supply, 128K memory, with ASCII keyboard, expansion port, USB port, video and audio ports, gaming port, game controller, programming and A/V cables, and even a mouse (plus other extras included). The 1-MB SD-Card unit will cost about $50 however the ELF will run just fine on the 128K memory card. Details will be provided later on where you buy a completed board with all the mentioned goodies.

Another tip: you can find lots of free support software in the OBEX. However, be aware the real gold mines are posted programs in the Forum. This is because they are often small versions that fit into smaller memory and fit the Elf project much better.

To put everything together: you will need to add the free development software from Parallax, free Tiny BASIC versions, a cabinet, create the front panel, drill and install a few switches, and overall it's a nice clean simple project that will run all the developed COSMAC ELF emulated software. I'm still deciding what to emulate but have a good idea. Plus, Stay tuned for more details on this!

Alas, I must apologize for my limited off and on time working on this really cool project and surely I will continue to move forward and develop it, improve and refine it, and some surprises are upcoming! Stay tuned!

Propeller Elf II (Page One)

COSMAC Propeller ELF II (Page Two) 

More Cosmac Elf Postings
COSMAC Elf Clone Built with PICs