Stand-alone femtobasic board ?
Bean
Posts: 8,129
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 ).
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
·
I was impressed with·the speed (compared to my old Timex Sinclair 1000 ).
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
Rich
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.
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.
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
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.
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
·
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!
Bean
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
www.iElectronicDesigns.com
·
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.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
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
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
·
Perry
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