Thread: "interfacing" with a 486

  1. #1
    Registered User
    Join Date
    Jul 2002
    Posts
    913

    "interfacing" with a 486

    kool, new board. nice.

    i tried this at a linux board, myabe programmers would have a better idea about this kind of stuff.

    i want try some embedded-like work. there are some kits that are designed to be played with, so you sold it together and program it (in c or assembly), but finding some of the good ones are hard(some sites need alot of orders or are very pricey).

    the problem with them is that there old, they should be documented better but people cant answer the questions(it hard to find the right person). so i was thinking of talking a old 486 chip in a play-board.

    take a basic stamp(oem complete module), id like to take ones of those and toss a 486 chip in there.

    my question is how insane is this?

    soldering a zillion wires isnt a problem. not knowing lot of whats going on wont bother me, i have time.

    i was told that the 486(sx) has compatibility with the older chips so i wouldnt have to deal with real-mode right away, so im thinking it wont be that bad to work with. might be a good thing to learn with.

    can any one see any problems with this? do you know of a board made for this? any advice?

    yes, i know i can just get a 486, but thats cheating! im attempting to go old school.

  2. #2
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Not sure I understand but Intel does have the old 486 documentation on their website. I have the paperback book for the 486 family of processors. What are you trying to do with the 486 - very hard to discern from your post. Sorry.

  3. #3
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    yeah its kind of long, sorry about that. i was trying to type it up quick to jump in my pool.

    remember the old 70s/80s computers? they were basicly just motherboards, id like to fake on of those.

    there are some kits for it, so it can be done(there very simple and do very little). but some of the kits are pricey or cant be order(in small numbers).

    so id like to fake it with a 486-sx chip. so basicly just a small board that will power on and have some io pins on the side, nothing fancy.

    im wondering if theres plans for this, a kit or anything making it impossible/a bad idea.

    so far the only bad points ive heard is the zillions of pins with the special socket and protected mode. protect mode needs to be turned on so that not a problem(just like im sure 640kb will be more than enough for a while).

    any ideas? advice?


    are they normal answer men on strike in here? i thought the new board will give me a answer in mins......

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    New board just means that old board members must learn new board knowledge to answer new board questions.




    But, in your case, yes there are a lot of pins to connect on the 486. I have the pinout for the 486SX, DX, DX2, and DX4 processsors. They are available from Intel if you like coma-inducing literature.

    I'm not an electronics engineer so I could not begin to tell you how to go about doing this.

  5. #5
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    what about the software?

    since it a 486 i figure ill have no problem with c on it(since it can run linux), but what about assembly? id liek to leanr that one day.

    im not sure, but it sounds like all the advanced features have to be "turned on" on this chip.

  6. #6
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    im not sure, but it sounds like all the advanced features have to be "turned on" on this chip.
    ??

    What do you mean? Protected mode perhaps?

    You can only code in C on the 486 if the following are true:

    • 1. The chip is on a motherboard
    • 2. The chip is wired correctly to the motherboard via socket or some other device.
    • 3. Motherboard has correct bios on it.
    • 4. Motherboard has storage device connected to it.
    • 5. Running an OS kernel that is compatible with C.


    You could write your own kernel to interface with C, but that is a topic better suited for flashdaddee.com - check the assembly board and ask there. As for hardwiring the chip - I'm totally lost and I know nothing about the motherboard circuitry.

  7. #7
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    um...now im not so sure any more.

    as i understand it gcc normally doesnt produce a binary file, so the a.out file does need the os. there is a flag to make (what i have heard called a) a "true binary".

    this would be dumber than a graphing calculator!

    flashdaddee seems kind of dead, but then again this site isnt that alive either.

  8. #8
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I'm just really lost as to what you want to do.

    If its about assembly language or C, I can help, but again I'm not an engineer at Intel.

  9. #9
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    I'm just really lost as to what you want to do.
    lol, atleast im not the only one! thanks for sticking around and trying.

    take a look at a basic stamp

    its basicly a complete computer. it has a procssor and built in ram(both kinds). it can run programs, but it has no os.

    id like to rip off parallax in a way and have something like that but with a 486 chip.

  10. #10
    nmklbjk
    Guest

    what you could do...

    hi
    i think you are just trying to engineer your own mother board?
    and for that, all you really need is a breadboard, (it is used to experiement with circuits, u'll probably need a bigish one) the processor, a 5v/12v/0v/ power supply, and the pinouts of the processor u are using, and the function of each pin. you will end up having a piece of werid and awkward piece, of >>> but it should work, as i did the same thing a while ago, only with a dumber processor.

  11. #11
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Take courses at the local college

    I've done some similar things with the 8088, which is the lite version of the 8086. Now, the 486 has more features, but it essentially is a newer version of the same chip.

    IF it's like the 8088, you need a minimum:

    * RAM, usually at the beginning of the memory space (address 0x0000)
    * ROM in the uppermost memory space.
    * Latches to demultiplex the shared bus

    The 80x86 has its own chip select units, so you can use the enable lines to directly tie into the /CS on the memory. If I recall, the first instruction will execute something like 16 bytes before the end of memory, so you probably just want to use that region to set up your segment registers and jump somewhere else. I believe all x86 chips can only boot up in real mode; if you need protected, you go into it later.

    I've done this with TASM; I've never tried writing programs in C/C++. You need to do other stuff to get the program ROMmable, IIRC the method was compile only to .obj, then use other tools to make it into a .hex and then an ASCII file, and program an EEPROM that way.

    You will also need to carefully study the bus timing cycles. The x86 uses a shared address/data bus, so at some points in time, the bus outputs the address, and at others, it's a shared data bus. You thus need to latch the address in (and some control lines) at the right time, and then you also have to make sure at most one device is driving the bus.

    Pick up a book, there's way too much info to go into it here. The 486 will also need a board made, and I doubt you can fit all the necessary traces onto an ExpressPCB board, so it will be costly. Soldering discrete wires is not even an option for how many you will have.

    You might consider doing what the stamp does, and using the PICMicro MCUs as the core of your system. They're easier to interface, by far.

  12. #12
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    lol, i guess ill go look for one of those kits. i didnt think it would have to be that bad.

    <edit>

    what exacly am i looking for here? i dont know what to call this.

    about college, its 2 years away for me!

  13. #13
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Not really sure; when I took courses we used board the prof. had custom made. It's not that expensive to get ExpressPCB's larger boards; they're I think available in 5 board increments for $250 for each set of 5. Of course, you need to design the board yourself then.

    BTW, the book I have on this topic is "Embedded Microprocessor Systems Design: An Introduction Using the 80C188EB" by Kenneth L. Short. It's designed for the 80188, (with some 80186 info as well) not the 80486, but most of the basics are still there. The 80188 isn't so bad to use, really; it only costs maybe $15 to order one, and the -EB model has extra features for embedded systems (which is basically what you're building).

  14. #14
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I believe all x86 chips can only boot up in real mode; if you need protected, you go into it later.

    Very true. And BIOS's look for the startup code in the first sector of the disk and execution starts at 0x7C00. You should probably be familiar with some assembly language if you intend on doing this. Coding in C is a long way off when you are talking about building from scratch like this.

    If you are seriously considering doing this, it might be possible that myself and some of my pals at flashdaddee could code you a small BIOS for your chip. We would need a significant amount of information regarding your implementation of the chip. For instance, I believe that interrupt gates are a part of the mobo and not CPU specific. Of course if you are going to execute in P-mode then interrupts are nil. But 8086's all boot in real mode - we could write code for you to place the CPU in protected mode and we could write code to interface with whatever device(s) you wish to attach to this CPU.

    Let's say you wanted to activate some servo motor or something for a robot - we would need to know the bit codes and data that the servo motor would need to activate - which would probably require another chip between the CPU and the motor to interpret the codes and act on them.

    It can get very involved, but if you are dedicated and want to try this - we can help.

    We can also write code for you so that you can get a small OS kernel up and running. I'm not sure if we are good enough to get an actual IBM based C compiler running - like MSVC or Borland. There is a lot involved underneath all the C code. But we could code a kernel for you.
    Last edited by VirtualAce; 07-09-2003 at 11:43 AM.

  15. #15
    Registered User
    Join Date
    Jul 2002
    Posts
    913
    assembly is still over my head.

    i figured i could learn some assembly while i was making/assembling th board and doing c. i figure id try some asm, in case i got stuck c could save me.

    mini-os would be kool, thats what id love to do with it in a few years. even that can be put off though. i think you got my point when you mentioned the servos, it just for play/learning so i would attach things like that and attempt to make "drivers"

    does flashdaddee have a hardware guy? one who either has used a good kit or makes them himself(so i can bug him for schematics).

    ill try hanging out there more, last time i was there it seem kind of dead, except for the os part. its kool to look at it....

    thanks

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. can some one please tell me the cause of the error ?
    By broli86 in forum C Programming
    Replies: 8
    Last Post: 06-26-2008, 08:36 PM
  2. a few opengl(or general programming) questions
    By linuxdude in forum Game Programming
    Replies: 20
    Last Post: 06-14-2004, 07:47 AM
  3. Linux on a 486 laptop?
    By gunne in forum A Brief History of Cprogramming.com
    Replies: 13
    Last Post: 03-09-2002, 12:06 PM
  4. 486 drama
    By jinx in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 01-10-2002, 12:09 AM