PDA

View Full Version : Looking for those interested in Machine Code


Protocol
05-11-2004, 01:14 PM
I'm looking for people who are interested in Machine Code.

I've been going back and forth with different engineers about a concept computing system that has all of the features we'd all die for. Here's the rundown. Keep in mind that I am aware this is not only problematic, but expensive and a bit dreamy at times, but all inventions and innovations can be...

I was wondering...what would we all do if the world suddenly woke up after an asteroid-hit (hypothetical), and all of technology was wiped out. What would we do if we had to do it all over again. What if we, as technicians, were given the task of designing and building the ultimate in cheap, yet extremely powerful and efficient home computing, but were given all of the knowledge we had before the wipe-out of old (or current) technology.

In a nutshell...everyone's responses to me involve Machine Code in many ways. Since Windows, Mac and even Linux OS all run on higher-order commands written in languages similar to "C" (not going for technical awards here folks, if I get the wording wrong just look the other way), their usage of the processor CAN be pretty redundant at times.

Here is a concept computer that I've been toying with while in the breakroom while on break from coding:

A computer that that looks like a flat-screen monitor with a keyboard and optical, wireless mouse. The DVD-RW drive is build into the keyboard. The computer is made of PIC-like chips that each have their own modular function in life. One of thse chips is the OS.

It is hardware-driven and thus is impervious (to most any degree) from virus attacks on the OS. It also eans that the computer could be turned on and off without any boot up, or boot down time (like a TV).

The cooling system would be insane and work with aerodynamic flow (using almost German-like engineering), treating airflow inside the computer like a sensitive environment (overheating being one of the mjor causes of crashes today). Almost like how Bose built their accoustic amplifier.

Here's the fun and controversial part:

The entire computer runs Machine code. Every program is completely re-written by large groups in Machine Code. Start with the basics like, mouse movement, graphics (such as panels), writing tools, drawing tools, internet browsers, e-mail tools, etc. Even include (standard), a VERY straight-forward WYSIWYG program that helps users build their own simple or complex programs for this OS/Hardware computer.

The advantage is (as long as this thing were COMPLETELY tested before being signed off), there would be no blue screen of death. There would also be no "clicking Print and waiting for 50 seconds before anything happens".

Using a Reduced Instruction Set Processor alongside Harvard Architecture, even a 25MHz computer would run like a 5GHz computer, just without any similar crashes.

I could go on and on, but I want to keep this short. For the most part, it is all possible. The biggest set-back is not cost, or imagination...rather TIME! This would be a beast and would only be possible as an open-source project similar to the efforts made by the Linux and SETI comunity.

It would be the People's Computer. Open source code, and open design hardware. PIC chips are a bit out of date nowadays, I think ARM chips have replaced them, but to put cost into perspective, the PIC chip that could run the entire mainframe costs $4.00. Even if the graphics engine had a dedicated processor...only another $4.00.

It would be amazing to see people cluster together in an organized network and modularly work on a computer that looks like a PC or Mac, is completely modifiable like a Linux system, but runs, costs and interfaces like NOTHING we've ever seen.

The Mac was made in a garage. I can't recall the Windows story completely, but let's just say it's a tainted little thing. Linux is the underdog in higher-level OS's, but this would be starting from scratch with all our knowledge.

For instance, most of Microsoft's issues stem from being sooooo compatible. They need/want to be compatible with everything ever made (taking under consideration that they are also the block-bully most of the time). 3rd party issues are also a MAJOR factor, but this OS is locked in hardware and could be developed so that when a 3rd party program locks up, the OS tells you IN ENGLISH what happened, how it happened and what you can do to prevent it from happening again. It then either shuts the 3rd party program down and displays the main OS workspace, or restarts the application. The OS could even be made to detect when it is losing balance and cotrol of the program and is about to become unstable. Thus any crash (due to 3rd party software), would be displayed as a "Hurry up and Save" or even auto "Save As" function before it ever happened.

I have been delving into RISC Machine Code for a few weeks for a current project and I'm just AMAZED as to what can be done! All these other OS's are amazing (don't get me wrong), it's just with Harvard Architecture and RISC processing, 1 single cycle out of 500,000,000 (5 Hundred Million or "500MHz") could be any command you want. The similar command (even in efficient languages such as "C"), would take a few more cycles. Thus Machine Code can be up to 20 times faster than current coding schemes and your 25MHz computer would/could act something like a 5GHz computer.

I am going to be wrong on some points here (I am no god), but the idea is to promote the very idea and get your feedback with such an interesting adventure. EVERYTHING can be solved, the idea would be to solve it efficiently in the long-run (stabilty for the user), not just the short-run (ease for the coding team).

What are your thoughts?

Protocol

Corey
05-11-2004, 01:16 PM
Wow. Sounds cool... :yes

Corey Milner
Creative Director, Indigo Rose Software (http://www.indigorose.com)

Protocol
05-11-2004, 01:27 PM
I know...it just blows my mind!

The only talk-down I ever get about the subject is how big of a project it would be. Other than that, all the "old-school" and "new-school" engineers alike say they wish someone would just do it.

It's beyond me, but I would volunteer to be apart of a team doing it anyday. I just haven't found one anywhere...doh!

Protocol

Bruce
05-11-2004, 07:30 PM
Wow that would be sweet!....Lets do it! :wow

Protocol
05-12-2004, 07:39 AM
In talking with the guys over here, it would probably be best to design the "networking hub" so-to-speak. In other words, how this computer would process and move data.

That would be one of the few things that everyone would share while designing their designated function such as word processing, etc.

Once there was agreement on how the ultimate computer would process data, such as deciding on "reduced instruction set" commands, then the fun would begin.

This is kind of like the ultimate Sim City...starting with the ultimate city's subway's and water system, then getting to the surface-level to design the ultimate functional and architectually stunning city that ever existed...designed by the people.

Interestingly, I found RISC machine code actually EASIER than traditional programming. I love it all, don't get me wrong...but RISC machine code only has 35 instructions! That's it. One of those instructions is the "GOTO" command...

Anyways, I would be totally willing to offer up anything to help get something like this going. I may post a site that pings the web looking for others world-wide who might be interested.

I think the first program I'd love to build (with a given small crew) was a WYSIWYG program used by the end user to build their own programs.

I would love to see the day that Indigo Rose develops AutoPlay (or more) for this future hardware device.

Anyways, IM me if you're interested. Remember, if you're familiar with programming in any language, then it will likely come very easy to you. If you're not familiar with machine code...it might be easier than you think...


Protocol

Protocol
05-12-2004, 07:48 AM
Sorry, there was a miscalculation in the original post. Machine Code can be roughly 20+ x faster than higher-level languages such as the "C" family. This would mean that a 250MHz computer would act like a 5GHz processor on most tasks.

Why is it faster? Because up to 20 lines of code in higher-level languages can be written in 1 or 2 lines of machine code (usually about 2-3 words on each line). Plus the RISC instruction set has only 35 commands...so the processor compares your command to a very small set of available commands...rather than the larger (somewhere around 450) set of commands the standard computer compares the instructions to. Not to mention Harvard data piping.

That means that for every second on a 250 MHz computer, 125-250 million commands could be sent out that would normally be weighed down by translation.

Just had to correct that...

Brett
05-12-2004, 09:12 AM
Protocol,

Sounds intersting. It reminds me a lot of the ole' Commodore 64. Hardware-based OS, the whole thing self-contained in the keyboard (except a floppy drive). Colin and I used to write games for the C64 in assembler code. It was easy because you were able to know the entire memory architechure and everything stayed static. For example, video memory was always at the same address so you could just "Poke" a number to the right memory location and make it effect the display.

I would be interested to hear more about it. I can even donate some Web space and a seperate discussion forum if you want to start a small site for the project. PM or email me if you want.

Adam
05-12-2004, 09:37 AM
Protocol,

I like the idea, it is ambitious.

Just a side note: Solaris machines run a RISC processor as well as the Playstation 2. The Playstation 2 runs a ~255Mhz RISC processor while the X-Box runs a 733Mhz x86 chip and their end speed is similar. I am sure someone will correct me if I am wrong here but I do remember reading that the PS2 uses a RISC processor.

Programming in assembler allows the developer to actually control the data that is moved into and out of the registers on the CPU as well as full heap and stack control. This gives the ultimate amount of control but makes high level programming quite tedious. I remember for an assignment once we had to do recursion in assembler. It wasn't bad until you got an error.

I like the idea. Let me know if it takes off.

Adam Kapilik

Protocol
05-12-2004, 12:25 PM
Yup, it's well beyond any one person. It's going to need a meeting ground. I was wondering about Playstation components (having heard that they were recently used to make the world's cheapest and fastest built Super Computer)!

I think a seperate forum is in order, if not for anything than out of respect for Indigo Rose's forums. I think the most important single program for any such computer would be the one that enables the end user to write their own programs for the hardware OS. I would love to see Indigo Rose fill that gap later in life.

First off though, there would need to be a network built for introducing programmers together from around the world. A place where they could communicate and give their own input.

Once that is in place (since there isn't one out there now...I've genuinely searched alllll over), the mere presence of one might spark enough support to give this thing life.

I'm certainly not the first person to imagine this...I'd just hate to not at very least put it out there that something can be done, then offer my help to the cause.

Glad to see others agree to at least that. I'll PM those interested and see what can be done...

Protocol

Intrigued
05-12-2004, 10:23 PM
If 'the one' puts his/her 'heart' full blown into an idea first... others will see this and that is powerful stuff when it comes to motivating them to join 'the one' in his/her endeavors. Or so it would seem from watching other successfully implemented projects, business plans, programs, etc. etc.

Protocol
05-13-2004, 01:24 AM
Good call...

If a human hasn't done it before, it can be done. If a human has done it before, it can be done better.

Protocol
05-14-2004, 09:52 AM
OK,

Nothing will change unless one stpes forward...so I'll do that for now...more will step up with me later, but for now, I volunteer anything I can.

The following domain is now locked in and I invite anyone with advanced web skills to help set it up:

http://www.RISMachine.net

For those of you who might not be familiar RIS means "Reduced Instruction Set". Since the idea is to contribute to a completely new open-source integrated hardware/software device, I thought "Machine" rather than "Computer" was more accurate. Home computing has changed since computers first came about...user's use the computer to automate their life's tasks.

This could be everything the computer is now, plus so, so much more. It's really up to people world-wide. So please IM or email me at:

contact@keokitrask.com

if you can/want to help out in this project. I would be honored to see the IR crew help in any small way they could. You guys are revolutionary in your own way and have very much inspired this...

Thanks...

Protocol
05-17-2004, 08:58 AM
Well...

I've got the site all worked out. If you can help, Adam, Brett and anyone else, please stop on by and repeat what you've said on the community Bullitine board...

Thanks again!

Protocol

Intrigued
05-17-2004, 06:56 PM
I signed up and posted a couple comments under Guest;however, I did sign up with your web site. I am just waiting for the 'ok'.

I am looking forward to being able to donate to the cause in some way, shape, or form. Even if it is just to share ideas on the different components, GUI interface, etc. etc.

Sincerely,