Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming OS X Operating Systems Technology

x86 Assembly on Mac OS X 156

Quicksilver31337 asks: "I am currently taking an Assembly course which requires that I be able to compile ASM for the intel x86; however, I am stubbornly a Mac user. Having no desire to switch from my Powerbook, what can I do to work with, compile, and run x86 ASM short of running VirtualPC?" While Mac OS X does use gcc and its associated tool-chain, an old Slashdot discussion seems to imply that cross-compiling is better under OpenDarwin than Mac OS X. Has anyone tried cross-compiling under both operating systems? If so, what suggestions on setting up a working tool-chain do you have?
This discussion has been archived. No new comments can be posted.

x86 Assembly on Mac OS X

Comments Filter:
  • DOSBox + NASM (Score:5, Informative)

    by Anonymous Coward on Friday February 11, 2005 @04:54PM (#11646206)
    Get NASM (Netwide Assembler) and DOSBox or Bochs (x86 emulators).
    • Re:DOSBox + NASM (Score:5, Informative)

      by fm6 ( 162816 ) on Friday February 11, 2005 @05:41PM (#11646767) Homepage Journal
      The Mac version of DOSBox is available here [softpedia.com]. Also handy for running old DOS games under 32-bit Windows, Linux, and of course Mac.

    • Re:DOSBox + NASM (Score:2, Informative)

      by Anonymous Coward
      Are you kidding? Check out Qemu at http://www.freeoszoo.org/download.php. It's like 700% faster than Bochs. I successfully installed WinXP on my mac with qemu--something I'm not sure is possible with Bochs. I also find qemu easier to configure and use.
  • by Paladin128 ( 203968 ) <aaron.traas@org> on Friday February 11, 2005 @04:55PM (#11646215) Homepage
    Your two choices are emulation (like VirtualPC) or new hardware.

    My advice is go to a computer show, buy an old, fully-functional 386, 486, or Pentium based machine, and install either DOS or Linux or *BSD. You could probably get one for less than $50.
    • Choice... (Score:5, Insightful)

      by Sparr0 ( 451780 ) <sparr0@gmail.com> on Friday February 11, 2005 @04:56PM (#11646219) Homepage Journal
      #3: get a shell account on an x86 machine.
      • Re:Choice... (Score:5, Informative)

        by Atzanteol ( 99067 ) on Friday February 11, 2005 @04:59PM (#11646249) Homepage
        Like these people:

        http://www.testdrive.hp.com/ [hp.com]
      • Good suggestion. And although you can find plenty of shell account providers [google.com], it might make sense to open a web hosting account on a geek-friendly provider. Such a provider would almost certainly be using Linux servers and offer shell access. Probably cost not much more than a simple shell account, and give you a web presence in the bargain.

        Sourceforge [sourceforge.net] sort of falls into this last category -- and their toolset is unsurpassed. Unfortunately, you can't just pay a fee and an account. You have to come up with

      • ummm yeah .. (Score:2, Interesting)

        by torpor ( 458 )
        coz assembly on a shell account, for a student, is going to be stable as hell.

        not the best suggestion so far, i think. you know how easy it is to crash x86 with assembly?

        what i do: use VirtualPC. like the article submitter, i am 100% devoted to my powerbook .. but there are definitely times when i need to run PC software. i have a WinXP image i regularly boot into to do compiles, and it works fine .. it may not be the fastest system around, but it sure gets the job done, and leaves me to my powerbook i
        • Re:ummm yeah .. (Score:2, Informative)

          by boneshintai ( 112283 )
          Exactly as easy as it is to crash an x86 with C. A real operating system (implied in "shell account", I think) prevents user programs from crashing the whole computer, regardless of the language the program was written in -- in fact, it doesn't care about languages, because all it sees is the resulting executables and libraries anyways, which might as well be assembler.

          It's true enough that it's easy to write a program that crashes in assembler, but that's true of any other language, too.

          If the OP is wri
          • As part of my CS degree we also have some introductory asm programming, and under winXP these things could certainly freeze and entire box in very strange ways.
          • Exactly as easy as it is to crash an x86 with C

            So basically, trivial. Fork bombs used to capture as much imagination as beowulf clusters today and only faded with dominance of Windows, which is too easily crashed to be a challenge. They may yet bring down Linux/*BSD if maximum allowed processes really work on consuming system resources, such as disk bandwidth.

            Anyway, assembly will come in handy in selecting uninterruptible instructions that take the most clock cycles or generate faults which take a whil
    • Aw heck, you can probably find more than a few /.'s that will give you a PC for this. There's certainly enough of them floating around!
    • Since he is learning ASM, would a 486 or early pentium be "fast enough"?

      If so, why not try hitting a local thrift store and looking what they have -- keep the receipt as well for your taxes.

      When you are done with it, throw on a lightweight linux distro and donate it back to them. :)

    • Ask around...I used to have 7 or 8 old 486s and PIs that I got from people who were throwing them away. They were worthless to those people, but I could install *nix on one and SSH in fast enough. They weren't even fast enough to run X Windows...but for compiling (particularly a comp sci course and not commercial production) they should be fast enough...

      And if like me you were a poor student whose landlord would not turn the heat above 50, you can set up a beowolf cluster of old 386s and 486s to make c
    • by tverbeek ( 457094 ) on Sunday February 13, 2005 @10:38AM (#11658959) Homepage
      For the love of Turing, get yourself an IA32 box.

      Going to school is supposed to broaden your horizons (or in more mercenary terms: build up your resume), and that's not going to happen if you cling to your PowerBook like a life preserver. In my college years in the neolithic period I got exposed to TRS-80s (Z80 assembly), IBM PCs, DEC VAXen, a *nix box of some kind, and the C64 in my dorm room, and that diversity of experience made me a better geek... the kind who today is comfortable with OS X, MacOS, Windows, Linux, BSD, BeOS, EPOC, PalmOS, and just about anything else I might find in front of me.

      Look, eventually your architecture of choice is going to die off or fade into irrelevancy. (And I'm not saying that because it's an Apple; they'll probably be around in 20 years, but they won't still be using OS X on PPC). You'll have to adapt. So you might as well start making yourself cross-platform now, before you end up as just a one-trick pony.

  • Well... (Score:3, Informative)

    by and by ( 598383 ) on Friday February 11, 2005 @04:55PM (#11646217)
    Why not use bochs [slashdot.org]? It's open, free, and if you're using assembly, you won't need to worry about speed issues.
    • Re:Well... (Score:2, Interesting)

      by marmoset ( 3738 )
      I've actually had better luck with QEMU [bellard.free.fr] than with Bochs. It seems a little easier to set up, at least.
  • Don't (Score:5, Insightful)

    by kalidasa ( 577403 ) * on Friday February 11, 2005 @04:56PM (#11646220) Journal
    I would think that if you want to take an assembly class for a particular architecture, you'd want to know how that architecture REALLY responds: no kind of emulation is going to guarantee you that knowledge. You're being too stubborn; get (or borrow) a cheap beige box to do the assembly work on and just rdc or vnc into it. Then turn around and sell it when you no longer need to do assembly.
    • He's probably taking a required asm course, and they chose x86 (not the poster). And WTF; RDC or VNC? Is ssh broken or something?
    • Emulation and ASM (Score:2, Insightful)

      by Lycestra ( 16353 )
      Back in my day, we had to learn MIPS assembly, and this was long after the era of MIPS processors being available on campus. Instead, we had to use the SPIM emulator to test our MAL code. It seemed to fit the professors needs, but I think the professor may have had a hand in writing it. (wisc.edu)

      I'd say ask the professor what he/she thinks of using Bochs first. If they aren't totally against it, it should be fine. Freshman year, it felt like I was the only one in my CS course with linux at home, but
    • Depending one what he's supposed to do, there is always free shell accounts [ductape.net] under unix/linux which may work.

    • Horse nuggets. (Score:5, Informative)

      by kma ( 2898 ) on Friday February 11, 2005 @09:19PM (#11648783) Homepage Journal
      What do you mean, "how that architecture REALLY" responds?" The whole point of an "architecture" is that there can be more than one implementation of said architecture. AMD and Intel provide hardware implementations of the x86; VirtualPC, bochs, et al. provide software implementations of it. Differences amongst those different implementations come down to either unspecified parts of the architecture, or bugs, be those bugs in hardware or software.

      Bochs is every bit as real an implementation of the x86 as a Pentium 4. In the outrageously unlikely event that bochs doesn't run this guy's assembly code correctly, he should report a bug, just as he would do in the even more outrageously unlikely event that an Intel processor runs his code wrong.
  • Wine HQ [winehq.com]
    and
    NASM [sourceforge.net]
    • Re:Try this (Score:3, Informative)

      by noselasd ( 594905 )
      Nope.
      Wine - Wine Is Not an Emulator.
      (it doesn't interpret the x86 instructions , i.e. it works on x86 only)

      --
      My stuff [homelinux.org]
    • 2.5. When will Wine integrate an x86 CPU emulator so we can run Windows applications on non-x86 machines?

      The short answer is 'probably never'. Remember, Wine Is Not a (CPU) Emulator. The long answer is that we probably don't want or need to integrate one in the traditional sense.

      Integrating a CPU emulator in Wine would be extremely hard, due to the large number of Windows APIs and the complex data types they exchange. It is not uncommon for a Windows API to take three or more pointers to structures compos
  • bochs (Score:2, Interesting)

    by Erik Greenwald ( 745 )
    I've had good luck usings bochs http://bochs.sourceforge.net/ [sourceforge.net] for x86 on my powerbook. It's a little work getting the bochsrc set up just right, and installing an os on the disk image if you need one to support the code... (I've been dorking with os-less stuff...)

    -Erik
  • Your only option (Score:3, Informative)

    by wolf31o2 ( 778801 ) on Friday February 11, 2005 @04:59PM (#11646246)
    Your only real option is to get access to real x86 hardware, either by purchasing a junker Pentium box for $50 on eBay, or by getting a shell on a non-Mac-loving friend's machine. You will probably do better off having your own box, however, as it will give you direct access to video and other such things.
  • You're planning on testing your assembly programs in Virtual PC right? Why not simply run the assembler and debugger in Virtual PC? Am I missing something?

    • You're planning on testing your assembly programs in Virtual PC right? Why not simply run the assembler and debugger in Virtual PC? Am I missing something?

      No, he doesn't want to cave in and spend the $ on Virtual PC license. Let me paraphrase what he is saying.

      I love Mac's!! I ain't gonna spend $$$ on Virtual PC, and I sure as hell ain't letting a standard beige box invade my kingdom. What are my options for compiling and testing my assembly code for the x86?
  • It Isn't Worth It (Score:4, Insightful)

    by American AC in Paris ( 230456 ) * on Friday February 11, 2005 @05:11PM (#11646398) Homepage
    Use the appropriate tool for the task at hand. Either suffer through the course on lab computers or get your hands on an old x86 box for cheep/free/loansies. I'd bet my left shoe that trying to code ASM via emulated x86 on OS X will be ten times more painful than the ignominy of biting the bullet and working on something other than your architecture of choice.

    I hate using anything other than my PowerBook these days, but I honestly can't see any good arguments for not just sucking it up and working with the most appropriate hardware for the task.

    • I Completely Agree!! You're going to spend more time dealing with emulation issues than actually doing your work. It's all well and good to want to try code x86 ASM on a PPC. Dealing with the cross-platform and architecture issues is quite noble, but when it's crunch time and they want you to turn in work on a short timeframe... Your prof won't care if you wrote it on a PPC or an alpha or did the whole damn thing on punchcards. What he will care about is can you produce what he asked you to produce, an
  • ...taking an Assembly course...

    Talk to your professor, that's what they're there for! I'm sure they've had other students who either didn't have computers or had Macs like yourself.
  • by ciroknight ( 601098 ) on Friday February 11, 2005 @05:15PM (#11646450)
    You've got the option of either Emulation or new hardware, as quoted by everyone on here. But there is probably a better way than both. Ask your teacher at your school if there's a box available in the IT department that's the correct archetecture. Like, for example, I am also a vehement mac user, and I had a project that required me to use assembly (mainly SSE-related things). Since I didn't know assembly for the PPC yet, I asked my professor and he said to get an account with the school's super computer. So I did, I wrote the software, and got an A on the project. Simple as that. VNC is your friend.
  • QEMU (Score:2, Insightful)

    by Nagus ( 146351 )
    Get the experimental OS X installer [freeoszoo.org] for QEMU [bellard.free.fr]. This will emulate an x86 processor plenty fast enough to do some assembly coding. Then you can install some GNU/Linux distribution with the tools you need. Or if you want to keep this lightweight, install FreeDOS [freedos.org] and the NASM assembler.
  • If you want to save yourself a lot of effort, do it on x86 hardware. You don't have to own it, just connect to somebody elses box. BUT if you absolutely have to do it the hard way, then there are two things you need to address. 1. Assembling the code. Assemblers are much more lightweight than compilers. And there are probably hundreds of x86 assemblers of various qualities out there. You probably don't have to mess around with building a GCC toolchain. You can probably find the source code for an x86 asse
  • Qemu. (Score:5, Interesting)

    by drdink ( 77 ) * <smkelly+slashdot@zombie.org> on Friday February 11, 2005 @05:25PM (#11646591) Homepage
    First, a note to Cliff. Assembly has nothing to do with cross-compiling. When you write assembly for the PowerPC 970, it stays on the PowerPC 970. You can't cross-compile assembly because it is designed for the target platform from the start.

    Now, what I would suggest you do is get a copy of QEMU [bellard.free.fr]. I assume you are familiar enough with Terminal and the shell prompt to get it working since you're stepping into the world of assembly, but if all else fails you can get QemuX or some other QEMU GUI off of VersionTracker [versiontracker.com].

    Depending on what mode you're writing your assembly in, you'll need to install some sort of OS into QEMU. Some candidates are FreeDOS, MS-DOS, or even Linux. Use whatever your class is using. Emulators are very handy for writing assembly because you can debug the program at the "CPU" level, so when your program pukes you can get a better glimpse at what is going on. This is why many developers design inside of VMWare.

    I hope this helps!

    • Re:Qemu. (Score:3, Informative)

      by torpor ( 458 )
      You can't cross-compile assembly because it is designed for the target platform from the start.

      what? of course you can cross-compile assembly. assembly is just another language - you can teach any computer that language.

      as86/bin86 can be compiled under OSX. write your code on your powerbook, compile, send it to a real PC for testing/running ..
      • You're right in that using tools designed purely for x86 output, you could generate x86 code on a Mac. However, one can not write PPC assembly and expect to just use a cross-compiler to generate x86 machine code. Assembly itself is definitely not-portable across platforms.
        • by drdink ( 77 ) *
          Though, in some cases, you can dynamically translate the binaries with tools such as this [tuwien.ac.at] or the Linux ABI support in FreeBSD.
        • Cross-compilation is completely separate from portability. Cross compilation is about taking sources for system A and producing binaries for system A using system B. The goal of portability is to have sources that compile to a binary for system A, using a system A compiler, to properly compile for system B, using system B's compiler.
    • You can't cross-compile assembly because it is designed for the target platform from the start.

      Nonsense. Cross-compiling is when the host machine - i.e. the one running the compiler - is of a different architecture than the target. That's all. Whether or not the source language is portable to a different target is completely irrelevant.
  • Use Virtual PC (Score:3, Informative)

    by douthat ( 568842 ) on Friday February 11, 2005 @05:31PM (#11646638)
    I took a required X86 ASM course, and I used Mac OS X to do it. I wouldn't, however, run XP while coding ASM... it's just too slow on my G4 powerbook. Try DOS instead. Running MASM (ASM linker/compiler) under DOS is pretty speedy. Since Microsoft bought Virtual PC, it's hard to find a copy of VPC that doesn't include Windows (for way more money than Connectix sold it for), but you can get it at academicsuperstore.com for $119 without an OS. It worked well for me, and I didn't have any inconsistencies between running it on my Mac and running it on native x86 hardware.
  • I tried to use virtual PC with a86 and d86 (an 8086 assembler and debbuger) and the program crashed. I'm not sure the emulation runs quite that deep. Whatever the reason, it didn't work.
  • You want QEMU! (Score:5, Informative)

    by Per Wigren ( 5315 ) on Friday February 11, 2005 @05:35PM (#11646691) Homepage
    First, install QEmu [bellard.free.fr]. (I prefer to install it through DarwinPorts [opendarwin.org])

    Then download a x86 Linux Live CD ISO, for example Knoppix [knoppix.org].

    Then:
    $ qemu -cdrom knoppix.iso -boot d

    Simple as that. Networking will work out of the box.

    You can also install Debian on a virtual harddrive using:
    $ dd if=/dev/zero of=sarge.hdimage bs=1000000 count=2000
    $ qemu -hda sarge.hdimage -cdrom debian-netinst.iso -boot d

    When installed, start QEmu with:
    $ qemu -hda sarge.hdimage

    Even better, after installation, copy the kernel and the initrd to your Mac (using sftp) and start qemu with:

    $ qemu -hda sarge.hdimage -kernel kernel-file -initrd initrd-file -append "root=/dev/hda1 console=ttyS0,38600" -nographics

    Then you will get the console on a virtual serial port (which is your current terminal window) and it doesn't have to emulate any graphics at all.
    • Agreed. QEMU is a fantastic piece of software.
    • One more thing, you'll also need to edit /etc/inittab and add a getty on ttyS0 or you won't get a login prompt. Debian has it there by default, but commented so you'll need to uncomment it.
      If you install another dist you'll have to copy the line that says 1:blabla/bin/gettyblabla and replace the 1: by S0:
      Also verify that /dev/ttyS0 is in your /etc/securetty file or you won't be able to login as root.
  • Has anyone tried cross-compiling under both operating systems?
    OK, this has me scratching my head. Presumably you need to run your code after you've compiled it. (I'll resist the temptation to nitpick "compile" in connection with assembly language.) A cross-compiler can give you object code for a machine you don't have, but if you don't have the machine, where do you run it?
  • QEMU does well... (Score:1, Informative)

    by Anonymous Coward
    ...and performs a bit better than Bochs. Install a smallish distro like Crux [crux.nu]. QEMU [qemu.org] also is supposed to support Windows 95/98/ME/2K but Bochs [sf.net] will probably prove to be more compatible. Don't expect speed demon performance and you'll be OK.

    AC
  • by biglig2 ( 89374 ) on Friday February 11, 2005 @05:40PM (#11646758) Homepage Journal
    Sweet Baby Jesus and the Orphans, if you don't want to use anything except a Mac, then go on a PowerPC assembler course!

    Dear Auntie Slashdot,

    I'm going on a course to learn how to stab people. But I don't like knives, nasty sharp things, I much prefer my sock full of spagetti. Can you suggest a way I can stab people with a sock full of pasta?

    Also, I don't want to ride a bicycle, any way I can learn how to ride one while on a train?

    etc. etc.
  • You might consider bochs (http://bochs.sourceforge.net) if you can figure out how to set it up. It's slow as crap, but how complicated are your apps going to be in an intro asm course. Install a basic Linux or freebsd distro on it and go to town.

    I've personally done ARM cross compiling with GCC on an x86, and I found the experience to be torture. cross compiling sucks when you have to set up the compiler and environment yourself. Maybe it works the first time, but as soon as you have a problem, it's just h
  • qemu (Score:4, Informative)

    by caseih ( 160668 ) on Friday February 11, 2005 @05:55PM (#11646971)
    qemu now compiles and runs under OS X and you can install MS operating systems (DOS, Windows) inside it. This is certainly cheaper than virtual PC, and the speed is not too bad. For small programs that you are writing, emulated slowdown should not pose a significant problem.
  • by snorklewacker ( 836663 ) on Friday February 11, 2005 @06:04PM (#11647077)
    This is almost certainly an intro course. He's not writing device drivers, he's going to be writing an implementation of dijkstra's algorithm or binsort or matrix arithmetic or something. I doubt he's going to have to analyze pipeline and branch prediction behavior either. So just throw it into an emulator, it'll be fine.

    Your prof sincerely will NOT CARE that you used virtualPC or whatever, as long as you did the assignment. He WILL care if you're some whiny fanboy who can't stop moaning about how kludgy and crocky the x86 architecture is and how you sing love songs to your powerpc mac every night and how you had to condescend to use an emulator only IF this dinosaur of a professor who stoops so low to use this architecture might deign to look up to your lofty height and permit you to use an emulator blah blah. Just use the damn emulator and hand in the assignment. Chances are he won't notice, and if he does, then go buy a cheap old PC and get on with life.
  • GCC? (Score:2, Informative)

    by prockcore ( 543967 )
    While Mac OS X does use gcc and its associated tool-chain, an old Slashdot discussion seems to imply that cross-compiling is better under OpenDarwin than Mac OS X.

    And what does that have to do with the price of tea in china?

    We're talking about Assembly here...you wouldn't use gcc.. you'd use GAS (which is awful).

    NASM will compile on OSX, but it uses AT&T syntax, rather than intel syntax.

    Odds are good that you're going to be learning Intel syntax.

    AT&T syntax: movl %eax, %ebx
    Intel syntax:
  • ... but my university [uah.edu] has a collection of Linux machines that you can SSH into for various uses, including development tasks. Any "decent" university (no offense intended), I think, would have a similar configuration.
  • Then you almost certainly have access to an x86 server of some sort. Put in X11 for OSX, and just SSH in to whatever you've got access to. If you don't know, ask the instructor. The benefit here is that you have the tools to build and run on the same machine the instructor. I'm not sure if Emacs has a x86 ASM highlight mode, though the feature is hardly nessecary.
  • by Lead Butthead ( 321013 ) on Friday February 11, 2005 @06:52PM (#11647529) Journal
    Code the assignment in PPC assembly and hand that in. And insist PPC is a superior architecture to code for...
  • Cross compiling won't help unless you can run it too, and you're not going to be able to run it without hardware or emulation.

    I'd be shocked if your uni didn't have an x86 machine that you can SSH to. Easiest to just use that.
  • by Anonymous Coward
    You'll always be a user, and never an engineer, if you marry a platform.

    I know quite a few engineers who used to work at Apple, and decided OS X wasn't a "Macintosh." Apple had other ideas. They're now writing Windows code.

    I think the native platform for x86 is the best choice for x86 development. If you can't figure out how to use it, you have no reason to be studying software.
  • remote connection (Score:1, Insightful)

    by wasabifan ( 675792 )
    Somebody had already mentioned SSH into a remote PC, but since the original post mentioned MASM (Microsoft ASM), what about the free version of Remote Desktop from Microsoft to log into a Windows Server that has MASM loaded on it? This takes care of testing on the actual hardware, and the user still doesn't have to touch a non-Apple keyboard.
  • As has been said, get a junky PC. IA32 PC does not mean Windows; get an old one and run Unix on it, or some flavor of DOS. If you're using Linux and it's a recent computer at all, use VNC and some sort of filesharing to make it feel like part of your Mac.
    • VNC? Eugh!
      Don't use vnc, use ssh and X11, both of which are supported by default by OSX and will integrate much better with the local os. An ssh session to a remote unix box will behave just like a local session with the OSX console app, and X11 apps will get managed by the OSX window manager, but diehard mac users may find it strange that the menu is at the top of the window.. Other than that, it works well. VNC on the other hand will give you one large monolithic window containing a whole window manager a
  • by NewOrleansNed ( 836441 ) on Saturday February 12, 2005 @05:57AM (#11650600)
    Deer Mason's Guild,

    I need to build a brick fireplace but I am a fervent hammer user. I realize that a hammer might not be the right tool to lay down the mortar, but I believe very strongly in the hammer and believe that ultimately, the trowel is an inferior tool designed only for trogladytes and people who actually know the definition of "trogladytes." What is the best way to use my hammer to accomplish my goal?

    Signed,

    Go Hammer, Go Hammer Go

  • That would be an inexpensive start..
  • by ezavada ( 91752 ) on Saturday February 12, 2005 @10:54AM (#11651483)
    I do C/C++ cross compilation from Mac OS X to Win32 all the time, but haven't done it with assembly code.

    I use both gcc and CodeWarrior, and generally haven't had any problems with either.

    I have OS X binaries for Win32 gcc 3.3.2 compilation (using mingw32) available here as a torrent [annodominari.com]
  • My assembly course (Score:5, Interesting)

    by generationxyu ( 630468 ) on Sunday February 13, 2005 @04:41AM (#11657907) Homepage
    ...was in MIPS. I don't own a MIPS box, nor would it be easy for me to find one. It wasn't expected that we had one. We were expected to use spim/xspim/PCSpim. I ran xspim on my Mac and it was fine. The programs probably ran like a snail crawling through molasses in January in comparison to a real box, but I never noticed -- none of my programs took long enough to execute anyway.
  • Do you have access to a computer lab on campus? Could you do the work there?
  • Emulators are not a bad choice. I'd much rather install an emulator for the target platform in a light-weight laptop than lug around a huge beige box all day...

    An interesting piece of information for all the raving zealots on both sides of the argument to note: the first AMD64 (Opteron/Athlon 64) port of Linux was done on a software simulator, before any hardware was available.

    Software isn't a bad choice, especially nowadays with good free emulators such as bochs. The kind of things you'll be doing for a cl

  • to me the obvious answer is to ssh into a CS department computer. i have to assume there are some; my CS dept had several dozen and you could ssh into any of them, or go and sit in front of them yourself.

    what am i missing? the answer is so obvious.
  • I went back to college about ten years ago and got myself a somewhat belated CS degree. I used a Mac (Quadra 800) at the time, and three of my classes (in the first two semesters) required PC software. (After a while they all ended up requiring a Sun workstation, a MIPS workstation, or the IBM System 3/70 (yuch!).

    I used SoftPC (remember that?) and it all went just fine. Using emulation software to complete these sorts of courses was often better than doing it natively: I could run the DOS applications i

Real Programmers don't eat quiche. They eat Twinkies and Szechwan food.

Working...