Go Down

Topic: Making a Functional Computer out of and Arduino Uno (Read 3875 times) previous topic - next topic

Hey, I've been thinking about this and the more I think about it, the more I think I can actually do this. My idea is basically this: Make a functional computer out of an Arduino Uno microcontroller.

My only goal for this computer is the ability to edit and execute BASIC programs. That's all. I only want it for the programming, as that's just about the only thing I'm interested in right now :)

So the way I see it, I'll need three main hardware components: 1) some form of a display (VGA screen or something), 2) some way to register keyboard input, and 3) some way to store data to external memory. Does anyone know of any way to do this? I kind of know of some ways to display to a screen, but I don't know a good API/hardware component to register keyboard input or to store external memory.

I'm going to need a lot of help on this. Can anyone help me out and offer ideas and useful tips and suggestions for good hardware / a good open source library, or two, or three, or ten?

AWOL

Quote
Make a functional computer out of an Arduino Uno microcontroller.

I can't help but point out that the Uno is a functional computer - why would you want to cripple it with BASIC?
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

#2
Sep 21, 2011, 04:15 pm Last Edit: Sep 21, 2011, 04:28 pm by buttsfredkin Reason: 1
Basically what I want is the ability to program without having to write code on a computer first, compile it, and then send it to the Arduino Uno. What I want is the ability to type in programs in my room, where's there's no "real" computer. Pretty much I want to build my own computer based on the Arduino Uno but being able to program directly onto the Arduino. Does that make sense?

Also, I didn't necessarily mean a direct port of BASIC. I would write my own version, and make it as powerful and as fast as possible.


I don't want to program on a PC. I want to program in a simple language for a simple machine. My reason? check out the following link, "Why Johnny Can't Code" : http://www.salon.com/technology/feature/2006/09/14/basic/index.html

eddiea6987

you could probably make something where you could write code and store it on to some extranal mem but do you want the arduino to serve as a compiler? because that i am assuming would be difficult
I could print the Arduino logo on a box of cereal and sell it as "Arduin-O's"

AWOL

I assumed it was just an interpreter - the PDP-8 managed to run the FOCAL interpreter (and store the program) in 4k 12-bit words.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Yeah, compiling would be too challenging for me, so I was going to go with an interpreted language.

How would I go about modifying a PS/2 keyboard serial input thingy to go into an Arduino Uno?

floresta

I think he wants something like a Timex/Sinclair ZX80.

Don

liudr

OP, why not using a mega with external 128KB RAM for a starter?

https://shop.ruggedcircuits.com/index.php?main_page=product_info&cPath=4&products_id=41

For displays, use a character display or dot matrix display. I've designed a serial LCD keypad panel. You can directly serial.print on it and it understands \n and \t plus a lot more. It runs multi-tap so needs no external keyboard ^_^ Would be nice terminal for a basic computer.

billroy

#9
Sep 22, 2011, 01:50 am Last Edit: Sep 22, 2011, 01:53 am by billroy Reason: 1
The Bitlash interpreter has been used in such standalone computer projects.  See http://bitlash.net for downloads and doc.  PS-2 in and TellyMate out and you're basically done.

I cut my teeth on BASIC at Dartmouth back in the day.  While Bitlash is not BASIC, it is a simple language that is intended to be a stepping stone to procedural C/C++ as supported by the IDE.

There's a page on the playground about Bitlash here: http://arduino.cc/playground/Code/Bitlash

Try it, you may like it.

-br
http://bitlash.net

Vanyamba

#10
Sep 22, 2011, 01:51 am Last Edit: Sep 22, 2011, 01:53 am by Vanyamba Reason: 1
2K of RAM is too few for BASIC. Typical 8-bit BASIC-computer of 80's was a 16K ROM + 16-48K RAM machine. We are waiting for Arduino Due =)
Even maybe some floppy drive =)))

billroy

You can get a surprising amount done in 2k of Bitlash.

And then there is the run-script-from-sd-card support.  8)

-br
http://bitlash.net

bill2009

You'll have to find keyboard/display arrangements but here's a Basic http://hackaday.com/2011/08/28/basic-programming-on-an-arduino/

Vanyamba


You can get a surprising amount done in 2k of Bitlash.


Impressive syntax but I've made calculation for BASIC - 10-15 lines of code, it's too few. "Make your duino to BASIC-blinker" =)

Thanks to everyone here except for KE7GKP. Come on KE7GKP, if you don't have anything nice to say, you shouldn't say anything at all. And no offense KE7GKP, but your post was pretty much useless. I also don't really like how much you're discouraging programming and hardware projects, what's up with that? </rant>

Anyways, billroy, thanks for your info, it was really good. Bitlash looks like something I'm probably going to use and I think I might take your other suggestions as well, after some investigation.

Go Up