BIOS Questions
#11
Hum, I better understand why the bios is so big. So it will be very hard to reverse engineering it.

On my side, the story is much more shorter Wink I learnt to use computer on a nice amstrad (8 Mhz). The OS was msdos, very good to understand that programmings is just a list of command.

Much more later, I tryed to learn C++ (based on MS equivalent of QT). I read the book, I did not understand lots of things (to be fair most of them). I just understood the basic concept. I probably got the hardest way. Later I got some CAML lessons (more math than computer).

But what improve a lots my skill was the hardware computer lessons. How work memory management, memory addressing, cpu etc... An interesting project done later in my college school was to write a basic mips 1 simulator which could execute some self cross-compiled code. I thinks it is really good and not difficult to code.

Anyway some additional tips:
- install linux (well not ubuntu) and removes windows Wink There are lots of free tool to develops in whatever language you want. Moreover it is very easy to get source of any program.
- tutorial on basic concept. It is better to begin with the beginnings. Try to code, double link list, a binary tree, or use some special languages feature macro/template...
- bug fix. Take a project, found a bug, fix it. Or at least try to understand why there is a bug. I thinks it is really good for the brains Wink It is really good to decipher others program.
- change & trial. Take a project, try to add a feature or just change some basic things. Compile and see what you changed.
I thinks you can sum up the 2 last by map program command to the cpu action.

I agree with Arcum, the 2 keys are try & small step.
Reply

Sponsored links

#12
Wow, 8mhz? I think my first computer was a 66mhz MSDOS PC which I fiddled around with and tried to understand Smile And you've really intrigued me, I'm going to have to look up some information on building a MIPS 1 sumulator ;3

Oh Linux, of course! I've been using Ubuntu as my 2nd OS for years, like not very... DEEPLY, just having it there and sometimes fiddling, but i've always found it to be too... padded. Too user-friendly, like they've tried to hide the developer side, the coding. I never truly understood how Linux worked either, with all the packages and dependancies. I tried OpenSUSE for a while and truly enjoyed it :] What distribution of Linux would you recommend? Wink

Thank you, Gregory! <3 You've been a massive help too ^__^ Really helped point me in the right direction : )
Reply
#13
Just to mention, the Color Computer 2 I had was less then 1 Mhz. ^_^

Oh, and a simple calculator program is another good one to write, especially since doing working parenthesis will give you an opportunity to work with stacks. I recall seeing that in at least one book for learning C++. That and writing a Markov Chain generator, which can be fun.

I'm personally running Funtoo, which is a variant of Gentoo. That installs everything from source, and is pretty customizable. It also is not exactly the easiest thing in the world to get into. The entire install is done from a command line. Arch Linux is similar, but mostly from binaries instead, so it may be a bit easier to work with.

For distributions that actually have a graphical installer, you could try Lubuntu, which is based on Ubuntu, but uses Lxde as a desktop environment instead of Gnome. That's more lightweight, and less tightly integrated then Gnome. (And I'm personally using Lxde right now, and like it a lot.). Another Ubuntu variant I've heard good things about is CrunchBang, which is very minimalistic.

One thing you can do, too, is install VirtualBox, and use that to test out operating systems to see how you like them. With VirtualBox, you can set up a hard drive image, and use an iso to install operating systems on that image, and run them in a window. Though OpenGL support is minimal; I don't think you'd be able to run pcsx2 in it. (And VirtualBox is cross-platform. Windows & Linux, not sure about Mac.)

Oh, and if you're ever feeling really masochistic, there's a distribution called LFS ("Linux From Scratch"). If you try this, do it in a VirtualBox session, not on your real computer. It's frustrating, and you'll be fiddling with it for a week or two if you try it. What it is is installing Linux on a blank hard drive, piece by piece, compiling, installing, and configuring every single piece of software on it by hand. You do learn a good deal about how Linux works doing it. There's also a very good chance of messing up somewhere and botching it along the way. I've been bored enough to try it a few times. Even succeeded once or twice. Wink

Tools to get: I personally like using Scite as a text editor, and Code::Blocks is a nice ide, if you want to use one. Though if you want to work with Java at some point (or Android), you may want Eclipse.
Reply
#14
Whoa, less than 1 Mhz! I never understood until recently how a console like the PSP can run with such detail and clarity even at 480x272 resolution at only 333mhz @__@ I can only imagine that on that 1 Mhz Color Computer 2 you could calculate a multiplication table (1-12 x 5 say) in a few SECONDS ;D Really shows you how far we've come in computing over the last few years.

Is the command-line installer actually inputting your own commands as if you were installing via a MSDOS prompt? Or just text-only low resolution guide? Also I think I may stay away from Ubuntu for a bit, and give Gentoo a try like you suggested. I know Ubuntu is... good, but it's way too un-fiddly for me. I think I will give them a try in a VM like VirtualBox, save me messing around with and breaking my bootloader >3< Which isn't that hard to fix but frustrates me to no end.

What's the difference between Lxde and KDE/GNOME? I thought that Ubuntu was still using Kubuntu and Ubuntu distros, KDE and GNOME respectively. Yeah I've been looking for a good IDE that isn't Microsoft based >_< I use Dev-C++, which is really accessible, and great for debugging the little programs I make, but I think I'll give Code::Blocks a look in a minute too :] Always looking for something better!

And I may look at LFS when I get the motivation.. ;3
Reply
#15
Well, you could poke a memory address to get the Color computer 2 to overclock to twice the speed, around 1.6 Mhz. ^_^ (And the Color Computer 3, which I had after that, was about twice as fast. Then came a Mac LC II, and later a PPC Mac clone. And I can emulate most of those computers now...)

On Gentoo & Funtoo, you are literally typing all the commands to install it in. The way it works is that you set up the hard drive for the install on the console, then you download a tarball called a stage file and uncompress it where you want the install. You also download a portage tarball and uncompress it. After doing a little setup, you chroot into the directory you uncompressed everything into, then you run some updates, install a few things, modify a few configuration files, and set up a boot loader. After that, you can boot into it, but it will go to a console screen, so you have to install X11 and whatever windows manager and desktop environment you want.

It sounds complicated, but it lets you configure everything the way you want it, and after you've done it a few times, it's not that difficult. (And that's why setting up a 32-bit chroot for pcsx2 wasn't that difficult for me. I already knew the routine from installing my os...)
http://www.gentoo.org
http://www.funtoo.org

Arch, OTOH, actually has a text-mode installer, with text-based graphics you use, though you do configure your configuration files along the way, and it is console-based after the install as well, so you have to set up X11 and your desktop environment. (The wiki on Arch Linux's homepage is really helpful, too, btw.)
http://www.archlinux.org/

As far as LXDE vs. KDE and Gnome, well, KDE and Gnome are the two big names as far as desktop environments, but they aren't exactly the only ones, and because KDE and Gnome are the two most popular, there is a tendency to throw in everything including the kitchen sink, and make all the pieces rely on each other.

With LXDE, it is designed not to use much cpu or ram, and it tends to sort of stay out of your way until you need it. There are some screenshots on their home page if you want to see what it's like:
http://lxde.org/image_galleries/screenshots

And Ubuntu just does Gnome, but various other groups have taken Ubuntu and made their own variants of it, using different desktop environments. Lubuntu & Crunchbang are two of them. You may want to look at the screenshots of CrunchBang...
http://lubuntu.net/
http://crunchbanglinux.org/

And just to mention, Code::Blocks runs on both Linux and Windows, and it can use Visual C++ as a compiler. Though if you want to compile pcsx2 on Windows, you are pretty much limited to Visual Studio 2008 or Express (and maybe 2010). On the Linux side you can use Codeblocks or cmake, though.

And just as a warning, on LFS, the instructions are literally a book. And when you get to the end, it boots to a command prompt. (Though there's another book that will tell you how to get X11 on there.) If you install it, it is really for the learning experience, and just to be able to say that you were able to do it. (And I got it up and running in Virtualbox with X11 once!)
http://www.linuxfromscratch.org/
Reply
#16
In my MIPS project, teachers said to use the "crappy" ddd. I use eclipse for the project it is really easy to use. I thinks you need to play with ddd at least 5 years to really use it.

To debug PCS2, I try various debugger (I does not want to use gdb in command line), I try kdevelop (basic), I retry ddd, Eclipse (too complicated to build all the project). In the end I use gdb Wink It is not so difficult and it does the job (can skip the internal segmentation fault, did not find with the others). The moral is trial&test. Everybody is different and so the tools.

To be honest there is 2 IDE in linux. VIM and Emacs Smile Well VIM is a real IDE, Emacs is actually an OS Tongue2
Reply
#17
Eh, if I need a command line based text editor, I usually go with nano. Then links for web browsing, and wget to download files. Usually if I'm doing that, X11 is either broken or not installed, though I do actually usually use a terminal window instead of a file browser.

When I initially joined the project, I was using the text editor I mentioned, scite, for programming in pcsx2, no ide needed. When the migration to wxWidgets, and the new layout of files broke the automake build system, and we put codeblocks in its place, I got used to using codeblocks as an IDE, though. Of course, these days I could go back to scite, and use the cmake build if I want to...
Reply




Users browsing this thread: 1 Guest(s)