looking for the perfect machine

Started by
47 comments, last by Sneftel 15 years, 9 months ago
after months of learning programming, ive decided that today's modern computers arent for me. the inability to interface directly with vista hardware (like drawing directly to the screen), the many layers of abstraction, and the insane amount of uneeded complexities have completely turned me off toward programming and computers in general. therefore, im looknig to buy or build my own computer. what im looking for is somthing reminiscent of the old commodore 64's. it will have a single core processor, of modern calculation rates (at least 2 ghtz), about one gig of ram, capabilities to interface with a hard drive, keyboard, sound output, and VGA output. maybe a mouse as well. the most important part though, will be that it has only the bare minimum in terms of OS. even less than DOS. it must have a build in compilier however, somthing like BASIC. how would i go about getting or making such a computer? i recently bought a HYDRA pwoered by propeller, thinking that would be what i want, but i found its lack of memory and processor power made it impossible to use for what i wanted.
Advertisement
I feel your pain, but there's some sad news.

You can get rock-solid, dead-simple systems, so long as you don't mind picking no less than two from the following: embedded; fairly slow in terms of raw processing power; or very domain-focused (ie analog I/O processing).

Those layers of abstraction are actually there to help you; they make higher-level programming possible on platforms where memory timing can be variable; one of thousands of video devices might be connected between you and the monitor; hard drives can use any combination of the dozen most popular filesystem types, never mind the partitioning system and the variety of I/O controllers, and the task of figuring out what permanent storage media are even available; and network controllers might not only communicate with the OS in ten different ways, but you need to walk down through communications protocol stack eight layers deep just to send a simple GET / HTTP/1.0 to google from inside a plain-jane ethernet connection.

If you are really hardcore about what you want to do, then you can start buying individual chips and soldering them together and making your own little wire-strewn monstrosity, before you can even start assembling a compiler that will run on it. Once you go low-level, you stay there until you've made your own high-level, and that takes years of work. If you think modern operating systems and programming environments have unneeded complexities, you have not yet begun to see the big picture.

On the other hand. If you are serious about going as close as possible to bare-bones, but not getting completely overwhelmed... take a look at minix, a minimal linux-like kernel and build system. That is approximately as low-level as you can start without having to write your own compiler, or buy a soldering iron.
RIP GameDev.net: launched 2 unusably-broken forum engines in as many years, and now has ceased operating as a forum at all, happy to remain naught but an advertising platform with an attached social media presense, headed by a staff who by their own admission have no idea what their userbase wants or expects.Here's to the good times; shame they exist in the past.
Quote:Original post by DescentPro
but i found its lack of memory and processor power made it impossible to use for what i wanted.

So, what do you want your computer to do? What are your goals? Why are you learning how to program?
Create-ivity - a game development blog Mouseover for more information.
Quote:Original post by DescentProthe inability to interface directly with vista hardware (like drawing directly to the screen)

Why not simply draw to a texture and display that? Besides, there ARE API's that do allow you to perform pixel operations in Vista.

But to fix this issue is simple: just install DOS.
Quote:the many layers of abstraction, and the insane amount of uneeded complexities

Trust me when I say that those complexities are not unneeded. I have done microprogramming and assembly programming, as well as FPGA programming. It's very simple, and very, very hard to do anything nontrivial.

The more abstractions you remove, the closer to the physical limitations of electromagnetic theory you come. And trust me when I say that it can be a nightmare.
Quote: have completely turned me off toward programming and computers in general. therefore, im looknig to buy or build my own computer. what im looking for is somthing reminiscent of the old commodore 64's.

Atmel produces embedded processors that can be used for computers similar to the C64 era. Combined with a decent FPGA and an USB controller, you can build quite nifty things - I've built a robot as part of a college course with three such processors. Fun times. Don't expect any high performance, though.
Quote:it will have a single core processor, of modern calculation rates (at least 2 ghtz), about one gig of ram, capabilities to interface with a hard drive, keyboard, sound output, and VGA output. maybe a mouse as well.

That combination of features is not available without a significant amount of what you call "unneeded complexities". A PC104 board is probably the closest you'll get. It has all the features you describe, but it's still an x86 architecture.
Quote:the most important part though, will be that it has only the bare minimum in terms of OS. even less than DOS.

That's easy. Just buy a computer - any computer - and format the hard drive.
Quote:it must have a build in compilier however, somthing like BASIC.

BASIC is a very high level language, significantly higher level than C++, for example. If you want to get away from abstractions and "unneeded complexities", choosing BASIC is going in the opposite direction of where you want to go.

Also, you seem to have some misconceptions of what constitutes "bare minimum" software. The OS is actually bare minimum if you plan to run more than one process. If you don't have an operating system, you won't have a compiler.
Quote:how would i go about getting or making such a computer? i recently bought a HYDRA pwoered by propeller, thinking that would be what i want, but i found its lack of memory and processor power made it impossible to use for what i wanted.

What, exactly, is it that you want to do?
-------------Please rate this post if it was useful.
Use Linux?

Quote:and the insane amount of uneeded complexities have completely turned me off toward programming and computers in general


Oh, yes, the good ol' DOS. Where just setting up a pointer was an adventure in land of segment and offset, where anything above 64k big required overlays, where vendor specific addresses were reserved, where poking interrupts manually was required for every different piece of hardware...

... you've made me nostalgic...

But just that - good thing those days have passed, where even allocating a 1 meg array was a week-long project.

Quote:will be that it has only the bare minimum in terms of OS. even less than DOS


In that case, just use Linux boot-loader. BTW - how will you compile the applications for that platform? Do you plan on writing your own kernel, compiler and the rest of "complexity"?

Quote:what im looking for is somthing reminiscent of the old commodore 64's


This may be surprising, but C64/Spectrum had more services at OS level than any of today's OSes - it was much closer to today's VMs. This is why EPROMs appeared, that allowed one to bypass all that bloated nonsense.
after reading some of the replies im kind of getting an idea of how difficult this would be. building the hardware part i could manage, but creating a custom OS and high level compilier would be far too time consuming and difficult. on my xp i used to use QBASIC 4.5, a nice self contained compilier that could create .exe files. my vista, however, wont run it. how difficult would it be to create a virtual machine to run ontop of vista? something that only follows basic file manipulation commands like 'delete', 'run', 'move archive', 'file info'? im not very knowledgable about this. i know it would be another layer of abstraction, but it would make programming a great deal easier for me as it would remove dependancies. perhaps i should have elaborated on what bothers me about vista. i have spend over a thousand dollars on compilier equipment for c++, and due to dependancies, what i view as ridiculous complications, and a whole host of other problems, i have been unable to use it to my satisfaction. im basically just looking for a way to write a program that will be independant of any part of vista, and still be able to graph to the screen. from what i know, this is impossible in c++.
Quote:how difficult would it be to create a virtual machine to run ontop of vista? something that only follows basic file manipulation commands like 'delete', 'run', 'move archive', 'file info'?


Like command line?

Start/Run/cmd.exe

delete: 'delete /?'
run: 'path/name-of-application.exe'
move archive: 'move /?'
file info: 'dir /?'

Or did you mean something else.

Quote:im basically just looking for a way to write a program that will be independant of any part of vista, and still be able to graph to the screen. from what i know, this is impossible in c++.


No, just way too cumbersome.

Aside from the fact that C++ compilers are free, there's tools that are much better suited for graphs.

Excel (or OpenOffice) equivalent offers scripting capabilities, as well as ability to produce graphs.

Under Linux, there's the good old gnuplot.

And then there's Python, and many more - all free.


Main question: What are you trying to do?
You can run Dosbox if you would like to use qb in something like it's natural habitat.

I get the feeling from your posts that that problem is that you're using C++, rather than a modern language like Java or C# (or VB.NET since you know basic).

NetBeans is free, Eclipse is free. (Java)
Visual Studio Express is free. (C#/VB.NET)

Using your own or a rare hardware and OS platform will render all your work useless. Why would you want that?
Hi :-) Fun little project for you, and probably more or less exactly what you want: http://www.xgamestation.com/. Now you can *make* your computer, and program it in basic or C, whichever you prefer, and the whole project is under $100. This project even comes with a PCB, a running video of how to construct the project from start to finish, and if you buy an SX-Key then programmer the microcontroller isn't too tough either. Btw, take my advice and be certain to have a little portable NTSC compatible TV to work with - generating a PAL signal is a fair bit more difficult :-(

Once you've exhausted yourself with that, and found the limitations of your kit all but too much to bear, I suggest you learn something like Allegro which is a project that has been running since as long as I can remember. It will essentially let you work in the exact way you described, with simple function calls to perform simple tasks.

If you really want to go back to the DOS days of doing stuff, there is a DOS emulator called DosBox which should work on any windows os.

Then, if you're still thirsty, you could get yourself a GP2X, which is extremely simple to program for (and Allegro should still work on it..), and then you can share the fun with your friends! :-)

Good luck, and have fun!
i meant graPHICS, sorry. im trying to make a 3d video game.

This topic is closed to new replies.

Advertisement