Shop OBEX P1 Docs P2 Docs Learn Events
Stand-alone femtobasic board ? — Parallax Forums

Stand-alone femtobasic board ?

BeanBean Posts: 8,129
edited 2007-11-19 18:42 in Propeller 1
I have been playing with femtobasic that Mike Green has modifed for my HC-OSD.
I was impressed with·the speed (compared to my old Timex Sinclair 1000 tongue.gif ).

Has anyone thought about making a stand-alone femtobasic board ?

I'm thinking something like this:

Inputs:
· PS/2 Keyboard
· Power

Outputs:
· Video RCA (spectrum style text only 32x24 lines color attribute background/foreground for each character)
· Audio RCA

Input/Output:
· USB to upgrade firmware or input/output to PC)
· SD Card for storing programs and data
· 16 I/O Pins

Maybe like a reconfigured demo board ? Add SD card, remove VGA, mouse, etc.

I think if something like this could be sold for less than $100 it would be a good deal for low income people (students, etc) to program in a language they are familiar with, and be able to interface to some electronics too.

What do you all think ? I'm I just trying to re-live the glory days of my TS1000 ? Or is it a good idea ?

Bean


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
www.iElectronicDesigns.com

·

Comments

  • rjo_rjo_ Posts: 1,825
    edited 2007-11-18 14:50
    I'll be heading in that direction after the New Year. I'd like to take a sample.

    Rich
  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-18 16:35
    Bean,
    1) I'd suggest using the 40 character width if possible. The extra 8 characters on a line make a lot of difference.
    The 24 lines could also be very helpful, but do some experimenting with different TVs and monitors.
    2) Put low value series resistors in all the general purpose I/O pin leads like the Homework Board for the same reason.
    3) Put a switch in the reset lead from the USB to serial adapter. Particularly if it's mostly going to be used for general
    serial I/O with a PC and only occasionally for reprogramming, you don't want to bother with the DTR reset.
    4) Be sure to use a 64K byte or 128K byte EEPROM. The SD card I/O routines only provide for one file to be open at
    a time and the EEPROM is an easy place to put tables or data that might be needed like between overlays.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-11-18 17:47
    Someone else who sees the vision!! (And I thought I was the only nut here!)

    I'm been working on a copy of FemtoBASIC that has the AiGeneric driver for video. (40x24/16color)
    I've added the simple Synth command from Simon game and the ability to read the NES controller.
    (Some other additional typical BASIC commands in the works)

    My own configuration will be placed in a C64 or +4 case with a PICAXE (can I say that word here?)
    interface making the keyboard act as an RS232 device to FemtoBASIC. (Naturally, I only
    needed to replace the comboKeyboard driver to do this.)

    Currently I boot to PropDOS, then spin up BASIC on demand.
    The Prop makes an awesome microcomputer!

    @Mike: When I have this ready, should I fork this with a different name or keep it the same?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-18 17:57
    Oldbitcollector,
    I'm curious why you would need the PICAXE. If you need to scan a keyboard matrix, an I2C I/O Expander or
    74HC595 / 74HC165 matrix would be cheaper and would be easy for the Propeller to do.

    I see FemtoBasic as an enabling tool for just the sort of thing both of you are doing. It's an easy way for people
    to do testing and prototyping at a high level using just the Propeller and it's easily expandable in Spin and assembly
    for people to use for high level logic and control (as a scripting language) for more complex control (like with a
    BoeBot). It would be easy enough to change all the arithmetic to floating point or to add some simple arrays or
    string support although the Propeller's memory constraints would begin to crimp things if you wanted to use VGA
    or even TV output. This is where using two Propellers would be useful ... one for I/O interfacing (display, keyboard,
    SD card) and one for control and computation. The connection between the two could be high speed SPI.

    Post Edited (Mike Green) : 11/18/2007 6:10:39 PM GMT
  • RaymanRayman Posts: 14,162
    edited 2007-11-18 19:23
    I think the one thing needed to make something like a better Sinclair is an onboard SPIN compiler or Assembly assembler... I guess SPIN compiler is too complex, but an assembler seems possible... I think I did Sinclair stuff in machine code? I don't remember...
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-11-18 19:46
    @Mike: I guess you use what you know... I haven't been exposed to those, but you've given me good
    reason to look them over.

    One of the items I struggling to add is limited string$ support. (You know that's been on my wish list)
    so far I've added the following items.

    40x24 Text
    SYNTH <Freq>
    NES (Variable)
    INKEY (Variable)
    REBOOT
    COLOR <expr> (Change Text Color)
    LOCATE X,Y
    [noparse][[/noparse]A CURSOR]

    I've sacrificed all of the EEPROM routines to open space to work without loosing too much programming space.
    I figure that a standard SD option isn't far away for the HYDRA. (It's on Andre's drawing board)

    If I can find a way to redefine characters from BASIC, that would suffice for some sprite-type gaming.

    @Bean: You are right, even with this so far up, this BASIC is faster than most of the systems we've
    experienced in the 80s.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • BeanBean Posts: 8,129
    edited 2007-11-18 20:07
    Mike, yes I think a 40x24 would be great as long as it was readable.

    OBC, I'm not interested in gaming at all with this. I wouldn't even put a mouse connector on it.

    I'm thinking more like as BS2 with a TV and Keyboard interface. Everyone has a PC or MAC, but it's very difficult to connect things to it (and who wants to damage their $1000 computer).

    I'd make it kinda like the demo board, only with a DIP Propeller chip (in case of damage). Maybe even has a through-hole kit (SMT stuffed already).

    I'll have to sit down and think about exactly what I would want, I'll try to make some drawings and specs.

    Thanks for the inspiration guys...

    Bean

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • AleAle Posts: 2,363
    edited 2007-11-18 20:26
    An assembler is quite simple to do (just look at mine *ad* pPropellerSim). Definitely doable in spin.
  • potatoheadpotatohead Posts: 10,260
    edited 2007-11-18 20:38
    The 40x24 is readable. If you have the adjustment, it helps to cut the color saturation down. Another great alternative is to just use the intensity input on an S-video capable set. Send the composite video in, the color gets ignored and up to 64 chars works on many displays. Just choose the intensity only color values and it's all good.

    On many older systems, the 32 chars is the same dot pitch as the 40, leaving only the border size different. Pixels are one half of a full NTSC pixel, making the red / green artifacting possible.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
  • BeanBean Posts: 8,129
    edited 2007-11-19 01:54
    Does anyone have the link to the 40x24 color text NTSC driver ? I'd like to check it out.

    Bean

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-11-19 01:58
    Check the lower section of this thread...
    http://forums.parallax.com/showthread.php?p=689727

    It's called AiGeneric_Driver

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • simonlsimonl Posts: 866
    edited 2007-11-19 10:27
    @Bean - Apart from the USB, I'd say the Hybrid board probably fits the bill - not sure of cost tho'?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,

    Simon
    www.norfolkhelicopterclub.co.uk
    You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
    BTW: I type as I'm thinking, so please don't take any offense at my writing style smile.gif
  • BeanBean Posts: 8,129
    edited 2007-11-19 15:19
    Simon,
    Yeah the Hybrid is really close. Except I would want a prototype area on the board, and USB.
    But it is an interesting offering.

    Bean

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • rjo_rjo_ Posts: 1,825
    edited 2007-11-19 15:21
    AND I think Oldbitcollector was right again when he pointed everyone to a system that has at least two Props.
  • PerryPerry Posts: 253
    edited 2007-11-19 18:03
    I have been using Bob Belleville's infrared remote control in many of my projects to adjust parameters in the code instead of recompiling. You only need one pin for input and 115 longs for the driver, would like to see that in FemtoBasic

    Perry
  • ColeyColey Posts: 1,110
    edited 2007-11-19 18:42
    Hi Bean!

    simonl is right it's very close to the Hybrid and it just so happens we are in the process of putting together an interpreted basic for it.
    (In fact it may be very similar to Spectrum BASIC lol)

    Baggers is proposing a Spin based editor and then compiling this into tokenised bytecodes (a la SPIN) and running the saved compiled tokenised basic to SD where it can then run from a separate ASM layer.

    We share your's and Jeff's enthusiasm in bringing programming to the uninitiated, I have already donated a couple of Hybrids to a local school and we are trying to get them interested in basic programming.

    The school was hesitant to load the Prop IDE onto their own PC's but the idea that they can hook the Hybrid up to a TV mouse and keyboard really appealled.

    We have breakout connector for the I2C and shift register expansion, plus we also have RS232 and SD of course! ..... more than enough for most projects....

    I'm thinking this could be a good way to get people interested in microcontrollers at a young age and the alure of being able to do things as simples as printing 'hello world' on a tv screen ranks very high.....

    Regards,

    Coley
Sign In or Register to comment.