jesseb07 64 Junior Poster

function declarations must be declared before main(), not inside.

int main()
{//begin main
double hypot(double,double);
....

should be

double hypot(double, double);

int main()
{
...

give that a try

~J

jesseb07 64 Junior Poster

I hadn't thought of the stringstream, that's a good idea. It works quite nicely, thanks.

jesseb07 64 Junior Poster

I would do that, except I won't know how many decimals there are. I used "123.45" for my example, but it could be something on the order of "1.201923402". I guess I neglected to mention that it wouldn't be a constant as it is portrayed in the example, it is actually modified user input.

~J

jesseb07 64 Junior Poster

hello, for one of my programs I need to acquire the decimal off of a number, for example, if a double has value of "123.45" I need an int to have the value "45".

to do this, I have the following code

double value, tempValue;
int decimalValue;

value = 123.45
tempValue = value - floor(value);

while(tempValue != floor(tempValue)
{
          tempValue *= 10;
}

decimalValue = tempValue;

it does what it's supposed to, but for some reason doesn't get out of the loop when it should, here's the output of this loop:

"
tempValue: .45
floor(tempValue): 0

tempValue: 4.5
floor(tempValue): 4

tempValue: 45
floor(tempValue): 45

tempValue: 450
floor(tempValue): 450

etc..
"

it does this until tempValue = 4.5 x 10^15, then it breaks the loop. The only thing I can think of that would cause this is the fact that tempValue is a double, for example, it may say "45" on cout, but actually may hold the value of "45.00000000001"? any suggestions?

~J

jesseb07 64 Junior Poster

I missed that in my proofreading of my post, yes I intended to say that initially. Here is an example of my script running (input & output):

I type in "./shell-script 'ssh user@sever.com' 'password'" and hit enter

it outputs "spawn ssh user@server.com"
then it outputs ssh's output "user@server.com's password:"
and it stays there for a few seconds til ssh times out on the password and it exits.

~J

jesseb07 64 Junior Poster

hello, I wrote an expect script to automate ssh commands, and it was working, but for some reason it's not anymore. Just to make sure I didn't do any weird changes that I didn't notice, I tried several of the dozens of such scripts that are online, and for some reason, none of them work. Here's the script I wrote, that did work at one time, but maybe there are some suggestions, I'm not the best at shell scripting.

I wrote this to work with ssh as well as rsync, so $1 is the command you want it to run, with $2 being the password, example of calling this would be: "./shell-script 'user@server.com ls' 'password'"

I am using ubuntu linux.

#!/bin/bash
#!/usr/bin/expect

expect -c "
spawn $1
expect {
password: { send $2; exp_continue }
}
exit
"

exit 0

I should add, that this script will call the command ($1), but it will hang when it comes to entering the password. I've tried several different strings for it to expect, none of them work. The format ssh outputs for asking the password is 'user@server.com's password:' so I've tried 'password:', 'word:' and ':'

thanks
~J

jesseb07 64 Junior Poster

It instantiates two arrays, d with 5,000 elements and f with 5,000 elements.

I think it's important to note that the 2 arrays are of type "data".

struct data
{
int x,y;
double s,w,e,d;
}d[5000],f[5000];

is equivalent to

struct data
{
int x,y;
double s,w,e,d;
};

data d[5000], f[5000];
jesseb07 64 Junior Poster

everyone gets heckled a bit from time to time, don't let it bother you.

Now, per your request regarding the program.

I will try to convince you that it is a bad idea for a beginner.

1st. 6month old babies don't learn to drive on the autobahn (take the analogy)
2nd. Notice EVERY tutorial on "Your very first [insert language here] script" is a "Hello World" and not Halo 3, there is a definite reason for that

You've gotta start somewhere, it's true, but try crawling (Hello World) before flying. Should you embark on this project anyway, you will find that you will not learn much (if anything) because without a good foundation in the basics and even intermediate concepts, it will be baffling.

Take the advice of someone who's been coding for 7 years that this is too much for you.

I can make an awful lot of very nice things on paper (like an anti-gravity machine for example), but that's essentially saying the same thing as "Hey I drew a picture!" the implementation is always the tricky part.

~J

Salem commented: Well said +20
jesseb07 64 Junior Poster

please post the relevant section of code

jesseb07 64 Junior Poster

edit: my fault for not noticing this was addressed in the above post, but I suppose a little more explanation why wouldn't hurt :)


this line of code:

while (a != 'Q' || a != 'q' || a != 'R' || a != 'r')

is essentially a

while(true)

change the or's to and's and that part will work as intended

while (a != 'Q' && a != 'q' && a != 'R' && a != 'r')

reasoning behind that change:

in order for that to return false, the key you enter would have to be a 'Q', 'q', 'R', and an 'r'. for an or statement to return false, all elements in the statement must be false.

if you switch them to and's, if you enter a 'Q', 'q', R', or an 'r', it will break the loop since only 1 element has to be false in an and statement to exit out of it.

Hope that was helpful.

~J

jesseb07 64 Junior Poster

hello again,

I found this: http://www.unix.com/high-level-programming/12028-popening-read-write.html

according to that site, pipes cannot be used for reading and writing, at least in the linux environment maybe others as well.

That being said, if I want to automate this task, I will have to resort to threads I believe. I've also heard of fork() but isn't that just a second instance of the same program? ie. prog.exe calling fork and it starts and runs another instance of prog.exe and runs them simultaneously? that would not be useful for my application unless I am mistaken in it's definition. So, looks like I'll have to go to threads. I have done some research on them, but I'm still trying to fill in the blanks, so if anyone has any good sites on threads I'd be grateful, or if you know a better way of doing this.

thanks

~J

jesseb07 64 Junior Poster

thanks for the reply.

While I was unaware that an fflush() or fseek() is required, it still doesn't solve the segmentation fault. It faults upon opening the pipe, all else held constant, adding a "+" causes a fault.

I'm going away for the weekend so I won't be able to respond til late sunday.

~J

jesseb07 64 Junior Poster

anybody got an idea?

to boil it down, like I suppose I should have done in my original post, is how can I, using pipes (or threads) get output and also be able to provide input?

jesseb07 64 Junior Poster

hello, been googling this for a while and can't come up with anything good, so hopefully this won't be so easy to answer that it makes me look lazy.

I'm writing an application for linux (gcc compiler) that calls various system and custom commands from inside my own program, nothing special. I'm using NCurses to make it look a little nicer but the output of the system commands (even with noecho(), odd) becomes unruly and ugly. So I put the commands into pipes, and, using fgets, capture the input line by line and put it where I want, makes it neater. The issue I'm facing is that user-input is required for some of the commands I'm calling, the actual user input is not a problem as the person can just enter their data (passwords usually) and somehow it automatically goes to the pipe's stdin and works, I want to automate the data input. As in, store their information, and, when necessary, put it in automatically, mainly so that it can be run overnight or unsupervised.

Here's the sample scripts I'm using so I can debug my idea before I implement it in my real program:

file 1:

int main()
{
	cout << "Press enter to test drive the automated script ";
	cin.get();

    FILE *file;
    char text[255];
    std::string temp;

    file = popen("[path]/test2", "r");
    while(fgets(text, sizeof(text), file)) //gets each line
    {
        cout << text << endl; //writes each line gotten from the pipe

        temp = text; //converts to …
jesseb07 64 Junior Poster

yes, I apologize, I wasn't aware that wxwidgets had their own set of forums (I do now). Oddly enough, google didn't feel like telling me about them earlier to save me this trouble, oh well.

For sake of completeness and to save anyone else the trouble of asking, their set of forums is here:
http://wxforum.shadonet.com/index.php

With nice wiki's here:
http://wiki.wxwidgets.org/Main_Page

Thanks for the nudge :)

~J

jesseb07 64 Junior Poster

Hey, I've been trying to work with wxwidgets so I can start learning GUI's, problem is, it seems like all their libraries are full of errors. I have a hard time believing that a self-respecting group of people would release, as stable, something that would take hours, if not days, to just get it syntaxically correct. With that mindset, I'm wondering what I've done wrong in setting it up. Btw, I am using linux (ubuntu) w/ gcc.

Here's the steps I've done, there must be something I'm missing
1. Downloaded the zipped version of their libraries (v. 2.8 I think it is) from their website
2. Unzipped it to my desktop
3. ran the configure script included in the files

I've downloaded one of their sample scripts (since I figured it would work without tweaking since it's a sample) and try to compile it using this command: "g++ `wx-config --cxxflags` main.cpp `wx-config --libs`'. The amount of errors exceed my terminal's cache, an unbelievable amount of errors. Any idea on what I've done wrong? Any help would be appreciated.

~J

P.S. I know ubuntu has the wx files downloadable from the package manager, but that seemed to work less than what I've done once they were installed.

jesseb07 64 Junior Poster

That was a hugely unhelpful reply, I apologize knewc.

now, as for your question. to make things lowercase I recommend looking into the function "tolower"

As for the removing punctuation, replace() should do the trick. Here's the links to the functions:

http://www.cplusplus.com/reference/clibrary/cctype/tolower.html

http://www.cplusplus.com/reference/string/string/replace.html

Also, line 12 should give you an error as you are passing an argument into a function that doesn't take arguments. But your function should take that argument as otherwise it wouldn't know what string to reverse
(and if it did work, wouldn't it change it back to it's original state? reversing it twice)

jesseb07 64 Junior Poster

I had forgotten that that is how I had done it for a previous version but had to change it when I added more features, but it seems as though those features have matured enough that I can change it back.

For the sake of completeness however, should that not be possible (placing it in a different directory), is encryption the only other way that you can mask a file's contents?

jesseb07 64 Junior Poster

ok, I was kindof thinking encryption but wasn't sure which one to use (is there an md5 function available for c++?) . But I wasn't sure if there was any other way besides encryption because like I said in my original post, encryption doesn't really solve the problem, just makes it more annoying to break.

jesseb07 64 Junior Poster

hello, I'm working on a personal project and I was looking for some help. I am writing a program that needs to store user profiles in an external file (.user_data.dat). Problem is that anyone with half a brain can find the file and with any text editor look at the file and see everyone's profile information (login names, passwords, etc.). Since I still need to be able to read/write to this file with my program, I can't just restrict read/write permissions to it since I don't want the user to keep entering their sudo password (btw. I'm using gcc on linux) anytime they save their profile.

I don't know what code to provide since I don't know where to start, but if you need more information I'll happily provide.

I suppose I could always just convert the data inside the file to something like their ASCII equivalent or something that would just make it more annoying to decypher for the spying individual, but I feel as though there is a better way (probably very obvious). I also should mention that I need to maintain formatting inside the file (at least in this version) in order for it to be properly read, but I'm thinking that eventually that'll need to/will change.

Thanks!
~J

jesseb07 64 Junior Poster

thank you, your a genius.

I would be able to do things so much easier if I knew certain functions existed.

jesseb07 64 Junior Poster

is this correct usage?

#include<iostream>
using namespace std;

int main()
{
	FILE *name;
	name = popen("whoami", "r");
	cout << "Name is : " << name;
	pclose(name);
	cout << endl;
	return 0;
}

that still yields this:

user@user-desktop:~$ /home/user/Desktop/test
user
Name is :
user@user-desktop:~$

jesseb07 64 Junior Poster

hey, had a question that I couldn't figure out. I'm writing a program for linux and I need to save things to a person's Desktop. Because of that, I need to know their username. I am aware of the linux commands whoami, id, etc, but they only print the current user's name, not return it so I can use it in the program. Is there any way to put in a variable what is put on the screen (and hopefully prevent it from being printed to the screen in the first place).

#include<iostream>
using namespace std;

int main()
{
	std::string name;
	name = system("whoami");
	cout << "Name is : " << name;
	cout << endl;
	return 0;
}

output:
user@user-desktop:~$ /home/user/Desktop/test
user
Name is :
user@user-desktop:~$

Thanks!
~J

jesseb07 64 Junior Poster

I got it to read backspaces, keypad() does that trick. I still wish there was another way to do it while still inside the terminal. That just confirms the things I heard that the terminal intercepts the backspace before it can get to the program (not sure why, but it seems that way). Anywho, thanks for the nudge Ancient Dragon, I think I can still make it look/do the things I would like. For sake of completeness on anyone following this thread, here's the finished code:

#include <cstring>
#include <iostream>
#include <ncurses.h>
using namespace std;

int main()
{
	initscr();
	noecho();
	keypad(stdscr, TRUE);
	string pass="";
	int c=0;
	cout << "Testing password stuff, enter a string to passwordize1\n" << flush;
	
	while(c != '\n')
	{
		c = getch();
		if(c != '\n')
		{
			if(c == KEY_BACKSPACE)
			{
				pass=pass.substr(0,pass.size()-1);
				cout << "\010 \010" << flush;
			}
			else
			{
				pass.push_back(c);
				cout << "*" << flush;
			}
		}
	}

	endwin();
	cout << "\nYou entered: \"" << pass << "\"" << endl;
		
	return 0;
}
jesseb07 64 Junior Poster

ok, I have a hard time believing that this is the first program required of you, but whatever. Starting with the first one, you'll need to research classes and member functions. The basics of which would be the following in your case:

class Calculator
{
  //class attributes and such things
}

int Calculator::Display_sum(int Number1, int Number2)
{
 //addition and return code
}

See what you can get from there. Seems like many of those questions use the same principles based on this.

We are better able (and more willing) to give help when specific questions are asked as well as posting what was attempted prior to asking. We will not do your homework for you.

~J

jesseb07 64 Junior Poster

hmmm... yes that does the job (and may look a little neater), but it clears the screen and only outputs things from the function until the program ends, that is not something I want to happen when I actually implement the function in the real program, unless there is an option for it not to do that. It also seems to again not register '\b', so I still have my original problem. code follows.

#include <cstring>
#include <iostream>
#include <ncurses.h>
using namespace std;

int main()
{
	initscr();
	noecho();
	string pass="";
	char c=' ';
	cout << "Testing password stuff, enter a string to passwordize1\n" << flush;
	
	while(c != '\n')
	{
		c = getch();
		if(c != '\n')
		{
			if(c == '\b')
			{
				pass=pass.substr(0,pass.size()-1);
				cout << "\010 \010" << flush;
			}
			else
			{
				pass.push_back(c);
				cout << "*" << flush;
			}
		}
	}

	endwin();
	cout << "\nYou entered: \"" << pass << "\"" << endl;
		
	return 0;
}
jesseb07 64 Junior Poster

hey, been working on a program and I had a need for a password line (btw I am using linux w/ gcc compiler). while I was making it I checked the net and found there's no getch() for linux, so I frankensteined one from several sources and got it to work. Only problem is, it doesn't register backspace ('\b'), so people can't correct mistakes. I tried using a different key instead of backspace, like \t for example, it worked as it should, getchar() registered it, it just doesn't seem to like \b. here's the code:

#include <cstring>
#include <iostream>
#include <unistd.h>
using namespace std;

#ifndef KBHITh
#define KBHITh

#include <termios.h>

class keyboard
{
public:

	keyboard();
	~keyboard();

private:

	struct termios initial_settings, new_settings;
};

#endif 

keyboard::keyboard()
{
	tcgetattr(0,&initial_settings);
	new_settings = initial_settings;
	new_settings.c_lflag &= ~ICANON;
	new_settings.c_lflag &= ~ECHO;
	new_settings.c_lflag &= ~ISIG;
	new_settings.c_cc[VMIN] = 1;
	new_settings.c_cc[VTIME] = 0;
	tcsetattr(0, TCSANOW, &new_settings);
}

keyboard::~keyboard()
{
	tcsetattr(0, TCSANOW, &initial_settings);
}

int main()
{
	keyboard my_board; //essentially removes line buffer
	string pass="";
	char c=' ';
	cout << "Testing passwords, enter a string to passwordize\n";
	
	while(c != '\n')
	{
		c = getchar();
		if(c != '\n')
		{
			if(c == '\b') //doesn't like this line
			{
				pass=pass.substr(0,pass.size()-1);
				cout << "\010 \010" << flush;
			}
			else
			{
				pass.push_back(c);
				cout << "*" << flush;
			}
		}
	}

        my_board.~keyboard(); //reverts to normal line buffering
	cout << "\nYou entered: \"" << pass << "\"" << endl;
		
	return 0;
}

I've heard rumors of getchar not being able to read backspaces, but I wasn't …

jesseb07 64 Junior Poster

ah, I've never dealt with vectors before either (this is turning into quite the learning experience), and you were correct, they work wonderfully. If you remember what my code looked like before (I think I only posted about half of it) here's the whole thing:

vector<string> data_to_array()
{
       vector<string> data;
       string temp="";
       ifstream file("user_data.txt");
       if(file.is_open() && (file_check() == true)) //checks to see if file is open and not empty
       {
                while(file >> temp) //gets words seperated by whitespace
                {
                        data.push_back(temp);
                }
       }
       return data;
}

That's the finished version and works like a charm (but I also thought the other things worked ;) ) Thank you for all your help!

~J

Dave Sinkula commented: Thank you. This was a diamond in the rough for me. +13
jesseb07 64 Junior Poster

ah, I apologize for missing that question. No, I suppose I'm not restricted to doing it this way, but since I'm new to C++, it was the only way I thought of to tackle this. If there are better methods I'd glady implement them, all I need is a nudge in the right direction.

~J

jesseb07 64 Junior Poster

ah, I understand, now. Thank you for explaining things, it was a big help.

~J

jesseb07 64 Junior Poster

ok, so file.eof() would only work (correctly) if the file is opened in binary mode? With that in mind, then file.clear() and file.seekg(...) shouldn't work correctly either? If that's the case, is there any way I can return to the beginning of the file without opening it in binary?

I appreciate the help!

~J

jesseb07 64 Junior Poster

hmm... I got it to work properly with the clear() function, thanks vijayan, I was unaware of good and bad file state flags (first time dabbling in file manipulation). But krnekgelesh's addition confuses me. my file is not being opened in binary mode:

ifstream file("user_data.txt");

yet it works? I also found an example at cplusplus.com that uses the file pointers on a .txt file (in addition to a binary file), here's their example:

// obtaining file size
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  long begin,end;
  ifstream myfile ("example.txt");
  begin = myfile.tellg();
  myfile.seekg (0, ios::end);
  end = myfile.tellg();
  myfile.close();
  cout << "size is: " << (end-begin) << " bytes.\n";
  return 0;
}

complete page here: http://www.cplusplus.com/doc/tutorial/files.html

jesseb07 64 Junior Poster

hi, this should be a fairly simple question to answer. I have a function in my program that takes the content of a text file and populates an array with all the information. First it has to see how many lines the file has (as it can change) so it can create a dynamic array based on the number of lines.

if(file.is_open() && (get_file_size() > 0)) //get_file_size checks file size
        {
                while(!file.eof() )
                {
                        getline(file,temp);
                        x++; //number of lines
                }
        }

That part works fine, it's this next part that gives me the trouble.

while(!file.eof() )
        {
                end = 0;
                getline(file,temp);
                for(int z=0;z<2;z++) //hardcoded for number of fields to get
                {
                        end = temp.find(" ");
                        data[y][z] = temp.substr(0,end);
                        temp = temp.substr(end+1);
                }
                y++;
        }

I realize that once it ran through the file getting the number of lines that it ran to the end of the file, so I tried placing this just before the second part to remedy that:

file.seekg (0, ios::beg);

however, it doesn't seem to work, and I'm confused as to why.

I should mention that when I do file.tellg() right before the second part, it says -1 whether I have the seekg there or not.

to make sure seekg was the problem, I tried closing the file just before the second part and reopening the same file under file2, worked great. So I have a working solution, but I know there must be a better, cleaner way. Thanks!

~J

jesseb07 64 Junior Poster

Thanks for the response, that looks like it will accomplish my purpose nicely, and, oddly enough I also found what I was looking for in the first place, http://rsync.samba.org (why couldn't I find it before??...). Once again I thank you for the nudge in the right direction.

~J

jesseb07 64 Junior Poster

Thank you both! Both work. The "fixed" is simpler to use. For the second way, is that it applies to all the cout statements after the statement?

That is my understanding as well, however if I recall you can make exceptions but I may be wrong there.

~J

jesseb07 64 Junior Poster

(seeing as I can't delete a post, to prevent redundancy, I'll give an alternate solution)

Hi, in the case of setprecision() not working, try the following:

cout.setf(ios::fixed); // prevents e-notation
cout.setf(ios::showpoint); //always shows decimal point
cout.precision(2); // with 2 being the number of decimals

using that, here's what happened in my test program:

4 inputs
1.234
1.23
123.456
1234

and then just used cout to put them on the screen
1.23
1.23
123.46 // rounded
1234.00

See if that works for you

~J

jesseb07 64 Junior Poster

Hey, looking at your program looks like you have a few simple errors, logic and otherwise.

#include "stdafx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;



int main()
{
int n;


cout << "Please enter a integer  ";
cin >> n;


for (int i = n; i <= 25; n++)
{
cout << "*" ;
}


cout << endl;


return 0;
}

#include "stdafx.h"

should be

#include <stdafx.h>

except when I ran it through my compiler it had no idea what that was, so when I removed it, it didn't affect functionality, so I'm not familiar with that one.

in your for loop, try this:

for (int i = 1; i <= n; i++)
{
cout << "*" ;
}

the reason for this is that the way you had it set up is that it would always display 25-n "*"'s which as I gather is not what you want. you also had n incrementing instead of the looping variable which it should have been. Chances are your program just kept on spitting out "*"'s indefinitely since the for loop would never be satisfied.

With that code modified it compiled and ran fine for me, let me know if it works for you.

Hope it helps!

~J

jesseb07 64 Junior Poster

hello, I'm relatively new to C++ (but not to programming) so I wasn't sure how to do this in C++. My brother wrote a bash script which is used primarily to transfer files between computers using rsync which he asked me to convert to C++ so that it can be integrated into the other aspects of the program, which were written in c++. I wasn't sure how I'd go about connecting to a server, establishing a link, and transferring the file. I've googled various aspects of it, but those just took me to programs I can buy (why buy when you can make it yourself, right?). Any help would be appreciated.

J

jesseb07 64 Junior Poster

however the E4600 overclocks to 3.0Ghz solely with a FSB increase (which I would probably end up doing, with enhanced cooling of course :) )so on paper, they then have the same Ghz, and then since the 4600 has 45nm architecture as opposed to the 90nm that the AMD has, it seems it's more efficient.

Here's a site I found in my research that outlines the features of the E4600, proved useful for my personal choice.

http://www.legionhardware.com/document.php?id=700&p=0

(I saw reports of people getting these up to 4.0Ghz, but the average max for OC is 3.3-3.4)

jesseb07 64 Junior Poster

yeah I see that the E4600 can overclock substantially, looks like a good choice. Well it seems that the intel has won this round, but I'll continue researching until I actually purchase, thanks for all the help.

J

jesseb07 64 Junior Poster

is there any way to calculate/estimate efficiency with just the general information given? or is it safe to assume that 45nm is more efficient than a 90nm architecture? But looking at the heat output and the voltage consumption, it looks as though the AMD has more than it's proportion of those.

jesseb07 64 Junior Poster

thanks for the reply. I was actually looking at a core 2 duo but since it's been so long since I last shopped for processors, I've lost touch with what's important and what's not. Here's the two processors I'm looking at (for the moment)

(Core 2 Duo E4600 Allendale)
http://www.newegg.com/Product/Product.aspx?Item=N82E16819115032
and
(Athlon 64 X2 6000+ Windsor)
http://www.newegg.com/Product/Product.aspx?Item=N82E16819103773

just looking at it, the athlon appears significantly faster, however it employs 90nm technology as opposed to the 45nm by the core 2 duo. It also requires twice as much thermal power but has hyper transport as well as virtualization technology. I suppose the question that comes out of this is where is the best place to compromise? Thanks!

J

EDIT:

I found some benchmarks for the x2 6000 and it was consistently beaten by an core 2 duo E6700 which is (as far as I can tell) only slightly better than the E4600, I may be wrong there.

jesseb07 64 Junior Poster

hey, I've been thinking of building a new computer for myself for a while and I figure I might as well get started on researching what's new. I've been looking around the web and any site I find that compares amd vs intel is always (understandably) just testing their new quad-core powerhouses. But I fail to find anywhere that truly compares mid-range processors that I would be interested in. If anyone has any suggestions for good reviews or anything else it'd be appreciated.

J

jesseb07 64 Junior Poster

ahhhh, thank you! I never actually knew what the chipset did, I didn't know it had anything to do with the bus speed. That makes a lot of things make sense. Ok, yes that is my chipset, so I guess I'll have to live with 400 Mhz until I build my own machine. Thanks for all the help! oh, btw, the chip works fine albeit it's limited. It was a bugger to change so I'm just gonna keep it in. Thanks again!

jesseb07 64 Junior Poster

hmmm... perhaps I'm being slightly ambigious. I have no problem accepting the fact that my motherboard may not be fully compatible with the CPU. However, I find it strange that my motherboard (not my chipset) specs from intel claim to have 400/533 FSB but once gateway got a hold of it, it can only handle 400. I'm simply asking if it's wise to try the bios from intel for my board, as opposed to the bios provided by gateway, in the hopes that it unlocks what the board can actually do, instead of it being annoyingly restricted.

jesseb07 64 Junior Poster

the fsb is not adjustable in the bios. I'm assuming gateway locked it down with the bios somehow or something like that. That's why I was wondering if it's safe to go with the intel bios for my mobo instead of the gateway.

jesseb07 64 Junior Poster

I get how some boards can't handle 533, but according to intel mine does! That's what bothers me. But as far as Bios goes, the bios update enabled 1G of ram (the boards max), before it wouldn't like above 700Mb or somethin. Do you think the bios can change the bus speed? I currently have the gateway version of the bios, do you think it's better to have the intel version of it? They're slightly different.

jesseb07 64 Junior Poster

also, looking at the bios versions, the one from the intel site and the one provided by gateway are different. Can you change the bus speed based on the bios? I've heard gateway does strange things to the boards to make them not very upgradeable.

jesseb07 64 Junior Poster

I'm back at school and I installed it, when I booted it said my FSB was only 400 and the processor was 533, I knew the processor was, but the intel site for my board said it could handle 533. I can run it, but only at 2.0Ghz, which is only .2Ghz upgrade. My board, according to my bios, is an intel D845GRG. But my bios also says I have a gateway 2000S or something, while I have a 500SE, odd. But the specs for my board on intel.com also had slightly different specs, such as 5 PCI while mine has 3 and 2G of memory while mine can only support 1. I don't quite understand what's up. My bios is new (upgraded recently), so any suggestions?

jesseb07 64 Junior Poster

what do you mean by test? check the bios and make sure it's runnin ok? Was plannin on doing that, but is there anything additional I should do? I have an old version of PC-doctor that came with my computer, I think that has a CPU test in there. Thanks.