Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Games Entertainment

Spacewar! Lives Again 143

hws writes "A DEC PDP1 emulator running the original version of Spacewar! is online here. A group at MIT created a PDP1 emulator in Java. The original Spacewar! sources were assembled with a PDP1 Assembler written in Pearl. The emulator, assembler and game sources are available at this site. For those of you too young to remember, Spacewar! is probably the first video game and was done back in 1962. It and the scene that spawned it were extensively covered in Steven Levy's book - Hackers."
This discussion has been archived. No new comments can be posted.

Spacewar! Lives Again

Comments Filter:
  • Hackers is a GREAT book .... a close second is "Soul of a New Machine".
  • by Anonymous Coward
    No Wonder the PDP never took off as a gaming machine.
  • When I had an Atari VCS many years ago, I had a copy of the Spacewar cartridge (which at the time was only available in Europe, as it was PAL only). There were around 10 different versions of the game, with features such as elastic or warping galaxy boundaries, and the central body was either a sun or a space station. Hitter the former caused a loss of life, and the latter replenished fuel and weapons.

    This version was more playable than this, but then again so is anything not written in Java. The only issue here is that the graphics are more accurate.

    Is it me, or is Java the most overhyped, unstable, resource hungy idea to enter this industry in 10 years. Not everyone has an up-to-date processor.
  • ...or is this game like filled with bugs? Like the inablity to actually thrust away from the black hole/singularity in the middle? Or the fact that when the squidgy ricket dies it gets put in all four corners at once.
    Strange.
  • Now hold on a sec, what happened to Pong? Truly a classic...
  • Pong was much later, done in the early 70s IIRC. This is much older, although what I really wonder about is the display device used in the origional.
  • I wasn't around then so perhaps somebody could help with the background of avaliable computing power in 1962.

    I would think that 1962 is very early to have display capabilities beyond text. When was the first computer where you actually could control pixels like that?
  • by Kukuman ( 37494 ) on Sunday November 14, 1999 @08:29AM (#1534573) Homepage
    Pong was the first VIDEO game, not computer game. Two completely different things. BTW, if you want to play REAL Pong, ask me for Poing. It's an open-source pong clone I made for DOS. Not the greatest, as it is my first C game...
  • Dude, Robin- you *have* to start proofing your posts; you have cool stuff sometimes, just please look them over- that is of course unless there really is a new programming language spelled "Pearl"


    NP
  • You're right. I should *never* trust a Slashdot reader to spell anything right, should I? :)

    - Robin

  • The version I had for my XT was many, many
    times better as well. The ships could (optionally)
    have teleport and shield capabilities and had
    two different modes of fire and there was AI,
    so it was possible to have a 1-player game.
    Much more fun than hitting the thrust a bit so
    the 2nd player goes crashing into the planet
    first.

    This was just... disappointing.

    And yes, java IS the most overhyped, unstable
    resource hungry idea to enter the industry in
    the last 10 years. Even when you DO have an
    up to date processor (the java spacewar runs like
    crap on the 700MHz dual PIII I'm sitting in
    front of now, which is running that other
    overhyped unstable, resource hungry idea that,
    well, any /.-er can fill in the rest).
  • Try looking at the Atari Historical Society [atari-history.com] and you'll see that Pong wasn't really Atari's first video game. A variant of Spacewars was. This site also gives you alot of history and old plans of Atari's. It's a real pity that they didn't make it to the year 2k... sigh, what could of been. -BlacKat
  • by catseye ( 96076 ) on Sunday November 14, 1999 @08:43AM (#1534581)
    The long-neglected (but recently renewed!) MESS emulator, little sister to MAME, also emulates a PDP-1 and Spacewar.

    Executables and source are available for Mac, DOS, Windows and some Unix flavors, I believe.

    Check it out: http://mess.emuverse.com

    -A.

    ---
  • now THAT'S funny.

    ...but Spacewar is the next big thing. It will become the Game Of Choice for a new generation in a new Millennium...


    'There is nothing more frightening than ignorance in action.'
    Goethe
  • by mjg ( 21046 )

    Are you serious? PEARL is a real language, and is certainly not new. I wish I knew a little more about it myself, but here's something from FOLDOC:

    PEARL

    Process and Experiment Automation Real-Time Language. A real-time language for programming process control systems, widely used in Europe. Size and complexity exceeds Ada. One of five pedagogical languages based on Markov algorithms, used in "Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics".

    I suppose you thought he meant PERL, which didn't turn up until much later (1985 or so?). Give the guy some credit, people do make spelling mistakes, but it's the facts which are important. Maybe you should check yours before criticising next time.

  • I remember playing a version of this for DOS
    quite some time ago... it had a lot more
    commands, including I think 3 weapons, the
    ability to warp, and both ships looked very
    different from each other.. one looked sort of
    like
    /--\
    | /
    |O-
    | \
    \--/

  • Well, obviously someone left their complaint generator settings to "Political Action Committee" instead of changing it to "Dangerous video game that will turn our children into killers".
  • Good work with the automatic insult generator there.
  • Uh, I'm afraid you missed the point. This is a port of the _original_ Spacewar. Of course the Atari knock-off that came more than 13 years later is going to have more options. But who cares? There are a billion Spacewars clones. I used to play an online version back in the BBS days. The point is that the original is history. It literally jumpstarted the video game industry. Look here [emuunlim.com] if you want to read about Spacewar's legacy.

    You missed the point with java, too. Yes, it's bloated. But so is everything Windows and at least Java is secure.
  • Use that gravitational pull like a slingshot when you first play, because its impossible to thrust away... Kinda like what astronauts really have to do...
  • by Jonas Öberg ( 19456 ) <jonas@gnu.org> on Sunday November 14, 1999 @08:55AM (#1534592) Homepage
    The PDP1 had a display.. sort of.. It was one of the most interesting things about it compared to the TX-0 that the MIT hackers had used before. It was actually more like a older oscilloscope and I can't imagine that it was very easy to do anything useful with it. Steve Russell apparently apparently spent close to a month getting a tiny dot on the screen that you could move with the controls.
  • There were no pixels to control. At the time there existed CRT (cathode ray tube) monitors. But these did not work pixel but vector oriented. That means it can draw lines and shapes. The emulator translates this vector into a pixel display. That's why the ships edges seem to morph a little when it moves. To play this game actually cost a few hundred bucks in processing time back when the PDP-1 was a hot machine. And for the record those guys invented the joystick for the game.
  • The display was the first computer-based CRT; they took an oscilloscope and hooked up outputs from the PDP11 to, IIRC, a ramp generator which made the oscilloscope act as a vector display. The first joystick was created for this game, as well, to stop the hackers' fingers from getting chewed up on the front panel switches. Read Hackers by Stephen Levy, as others have mentioned.
    ---
    "'Is not a quine' is not a quine" is a quine.
  • by Yebyen ( 59663 )
    Does it really have the ! in it??? That really reminds me of terrible games like Skydive! and eXtreme Paintball lol... sorry for the offtopicness

  • by Pascal Q. Porcupine ( 4467 ) on Sunday November 14, 1999 @09:11AM (#1534598) Homepage
    Actually, they didn't have text yet. Text was a very advanced display capability yet to be seen. Spacewar's display involved an oscilloscope and a ramp generator. :) (Remember the Vectrex, or the original Star Wars arcade game?)
    ---
    "'Is not a quine' is not a quine" is a quine.
  • No, silly, it's a Pearl script, not PERL! ;)
    ---
    "'Is not a quine' is not a quine" is a quine.
  • Finally SpaceWar gains the respect it deserves. I found this version a while back, and I was pleased to see it. I've always been interested in SpaceWar and its roots ever since I read Hackers. I even wrote a clone for the TI-85 :).
  • Oh yes. ;-)

    The version with:

    * thrust/turn L/turn R/reverse-thrust
    for steering, plus hyperspace
    * torps/phasers for firepower, ea. costing
    energy
    * separate, transferrable weapon/energy power?

    and a star w/ a planet orbitting it, perhaps w/
    gravity?

    Mmmmmmm. That was GOOD stuff.

    Hmmm. Wonder if the source for that version is available... the AI opponents were both a little silly to the point that you could beat them firing just once in the game, or sometimes exactly zero times (with the sun/planet on)...
  • yep. its just you. you can thrust away..thrust towards it and use it like a gravitational slingshot...it will most certainly allow you to thrust away...remember the keys are : A S - left right rotation, D = thrust, F = Fire.
  • Looking for the DOS version? Head to the OAK Software Repository, and check out their "PC/Blue Disk Library" at: http://oak.oakland.edu/pub/pc-blue/pcblue/ It's volume 271 that contains both the CGA and Hercules Graphics Card versions of Spacewar. I just tried the CGA version on my PII-400 ... ummm ... I think I'm going to have to drag out that old 486SX-25...
  • If you like SpaceWar, then you'll probably love xpilot. Not only is it a multi-player network game, but it comes with most Linux distros. I'm almost always up for a game. :)
  • You can run the game using

    appletviewer http://lcs.www.media.mit.edu/groups/el/projects/sp acewar/

  • The version you had for your XT wasent the origional version. The purpose of this was to recreate the origional SPACEWAR as accuratly as possible.

    The other week I saw on TV a experement to see if it was possible (with the aviable technology of the day) for the stones for stonehedeg to be moved from the quary site to there destination. (and two separate groups, doing it differently did it)

    Of course we wouldnt move big rocks the same way now, and the purpose of this was not to make a new and cool spacewar - it was to do it exactly as it had been done back then. And the did, and its cool.

    As for java, the language is cool. The VM stuff is equaly cool, though less refined. It will, in time, prove to be one of the most significant computer things of all time.

  • Yes, they could have, but then they would have to go through the effort of porting it to every other system they wanted it to run on whereas now it works just fine on anything with a bytecode interpreter.

    I'll admit, its slow on my machine, but then again, so is anything written in Scheme. You can't have everything.
  • When I was in college, my roommate and I wasted many hours playing this game. I only remember two weapons though: torps and phasers. Our typical strategy involved random plinking with torps until one person accidentally ate a string. Then the stronger ship would try to close in and phaser the weaker one to death. Our main goal was to finish the other guy off with a long range phaser. This would result in a "spectacular finish", with the victor's final phaser line connected to the exploding debris from the loser. Of course, chasing after a weakened ship made you vulnerable to playing pacman with a reciprocal string of torps...
  • Well, I'm currently in the midst of reading Levy's book Hackers, and from what I recall, Pong was really the first game. Of course it was a very primitive pong. I can't remember whether it ran on the PDP-1 or Tixo, but if effectively consisted
    of causing the lights of the computer to light up sequentially based on the position of the ball. Using switches, you could send the ball back on its journey. SpaceWars was definitely the first worthwhile computer game.
  • It'd be really neat if we could find the original
    author and see if we could get the source.. we
    could port it to X and make it support network
    play :)
  • It looks like the original author is a
    Bill Seiler, who lived (lives?) at
    317 Lockweood Lane, Scotts Valley, CA 95066
    He also, according to the notes, handed out
    source for $30 in 1986. So.... we need to
    track him down...
  • More info at xpilot.org [xpilot.org].

    rw-rw-rw-
  • Spacewar on the TI-85? If you could post the code for that program somewhere, i would kill to get my hands on it.

    --or is it for zShell?

    • I suppose you thought he meant PERL, which didn't turn up until much later (1985 or so?). Give the guy some credit, people do make spelling mistakes, but it's the facts which are important. Maybe you should check yours before criticising next time.

    Hate to tell you but you should check out some facts too. The site even states that it was written in perl (as if there were any doubt).
  • As for java, the language is cool. The VM stuff is equaly cool, though less refined. It will, in time, prove to be one of the most significant computer things of all time.

    I didn't used to think this, but I have to admit that the language IS cool. It does lack a lot, but oh well -- so does everything except Lisp.

    The VM, on the other hand, is ridiculous. Why did they go and use bytecodes, the single most inefficient and insecure technology out there? Wordcodes would have been faster, smaller, and more secure; abstract syntax trees would have been faster and more secure (smaller in transit, too, but they take more memory to compile than the basic bytecode interpreter).

    An example of AST technology is Juice and ANDF.
  • Seems to consistantly hang Netscape 4.61 (Linux 2.2.10, SuSE 6.2) on hitting the 'run' button.
  • The basics of Spacewar was featured in Scientific American's GREAT* column "Computer Recreations" years ago.

    While in high school in Germany, I wrote my own version of it that I called "Grav" - using Turbo Pascal 3.0 on old 4.77 MHz Dos PCs, using CGA graphics and "incredible" (eek) sound effects.

    It was quite a hit with school mates and we spent a lot of school breaks competing with each other on it. I also distributed it as freeware, including its (horrible) pascal source code. In those days, you had to order free- and shareware disks through mail order, if anyone cares to remember that...

    Anyway, only later when I had my game finished I found "Spacewar", which (I think) was written in C and had a much better keyboard control code.

    Nevertheless, I liked my own version and still think that Grav did not have to hide from Dos' Spacewar in any way.


    (* I think that this series of wonderful articles actually made me consider studying computer science in the first place.)

    ------------------
  • Well, Lycos [lycos.com] lists only one Bill Seiler in California, in Newport Beach. I called him, and he's not it :)

    There are quite a few William Seilers, though, and some bills in other states.

    I'm now looking for a homepage...
  • > Java is a pain. Not only is it a pain to write in

    Am I the only one who is getting sick and tired of the constant Java bashing that goes on here? "A pain to write in"? Good fucking grief! Compared to what I had to write in before (C, C++) it's a godsend! God damn if I ever go back to dealing with a language that easily lets you corrupt the heap, horrible (and easy to create) memory leaks, crappy window toolkits (MFC? X/Motif? YUCK!).

    Just get over it already! If you don't like it, don't use it, but your incessant bitching about it just clutters up otherwise interesting discussions. If anyone says either the word "Sun" or "Java" in a sentence, it turns into a bitch session. Slashdot is looking less and less like a good forum to have good technical discussions. More and more like an asylum of whiney losers.

  • The Powerhouse Museum [phm.gov.au] in Sydney, Australia had an arcade version of Spacewar at a recent exhibition. Vector graphics monitor, PDP-1 inside it (apparently). Had a great time playing against a 12-year-old who had absolutely no idea of the historical significance but thrashed me anyway :-)

    It was quite an interesting exhibition, if you made allowances for the drool factor. An Apple I (with a label stating it had an Intel processor...), a piece of Charles Babbage's Difference Engine, and a few other interesting bits and pieces. It was just so depressing that nobody was looking at the difference engine, and there were hundreds of people crowded around a ho-hum industrial robot that had be programmed to "dance" in time to some crappy 70's disco music.

  • "Pearl?" hmmmm... Is that *P*ractical *E*xtraction *A*nd *R*eporting *L*anguage? hhehe. nevermind.
  • Kinda like what astronauts really have to do...
    Which real astronauts did that?
  • The "sun" in the center has gravity, so you'll be unable to escape it if you've used up all your fuel. And the sides overlap (think globe), so the rocket's only in one place when it reappears. Each corner of the screen is showing one quarter of the needle ship.
  • The display was the first computer-based CRT;
    The PDP-1 did NOT have the first "computer-based CRT". Computers had CRT displays in the early 1950s.
  • Pong wasn't really Atari's first video game. A variant of Spacewars was.
    If you're referring to Computer Space, that was NOT an Atari product. But it was the first coin-operated video game.
  • I couldn't agree more. Frankly, I don't believe most of the Java bashers here ever sat down and wrote any application of substance in Java.
  • What are wordcodes? And why are they faster, smaller, and more secure than bytecodes? Secure in what sense?
  • Talking of old systems and games, I remember playing VTtrek (I'm sure that's what it was called) oooh, 12 years ago, or there abouts on what was at the time a huge TOPS 10 or TOPS 20 system. That was the first multi-user game I ever came across.

    I wonder if anyone ever ported that or did a TOPS emulator.

    Macka
  • by Kaz Kylheku ( 1484 ) on Sunday November 14, 1999 @11:25AM (#1534635) Homepage
    I played with this a couple of years ago. There was (probably still is) a PDP-11 emulator you could download from ftp.dec.com. With the provided disk images, you could run V7 UNIX. I played with it for a while; I was able to log in, wrote a little C program using ed, and then compile and run it. Here, I think I found the link [digital.com]! (ftp://ftp.digital.com/pub/DEC/sim/).
  • tip: I heard the best (stablest) netscape to run in linux is 4.08.

    try it.
  • The java version is a little different than the version I remember playing.
    Anyhow here [gamesdomain.co.uk] is a link to an even different version.

  • I didn't find Bill Seiler, but I did find someone
    else talking about certain aspects of the
    source, and it seems to be x86 assembly :(
    So maybe a complete rewrite is in order...
  • Slashdot is looking less and less
    like a good forum to have good technical discussions. More and more like an asylum of whiney losers.


    Is there a word yet for this phenomenon, this
    odd little "obligatory" slashdot-bashing that has become commonplace whenever anyone even slightly disagrees with a post?

    Seriously, how many of you are expecting me to finish my saying "Slashdot used to have great, respectful, logical discussion but has no degnerated to..."

    What the hell? We need a word for this.

    Marc







  • Yeah it's for zshell... Why don't you send me an email at aselle@ticalc.org, and we can talk further.
  • Pearl is a programming language that existed long before perl did. This was spelled correctly. Go read why Larry Wall named his language perl. He says that he didn't want it confused with the previous language called pearl. Perl didn't exist in the time of the PDP machines.
  • Point taken...
    ...it wasn't an 'offical' Atari product.
    But, Nolan Bushnell did create it! :)
  • Apollo 13 for a start - they had to do a slingshot around the moon to be able to return to earth.
  • Actually Java can be fast. There are a few tricks and in general you have to keep things simple... At the place where I work we actually prototyped a Java version of something we already had for Windows in C++/ATL/COM and the Java version was faster (well, some functionality was lacking, but it was still quite fast).
  • by Anonymous Coward
    Actually, it's not spelled correctly.

    Yes, there is a Pearl, but the 'Spacewar' site
    says the assembler was written in PERL, not Pearl.
    (This is in the 'readme' file)


  • I will say this: one, this is a Java emulator of the PDP-1 and not just a game written in Java. It's like a Java version of MAME only for Spacewar.
    I'll also say this: I'm trying it in netscape 4.08, and I know that the Netscape jvm bites. Makes me sorry I stopped using iCab ;)
    That said: ack! I'm running a 300Mhz G3 processor here. I can run Unreal Tournament without it being too much of a slideshow. To have _spacewar_ being unplayably slow and totally unresponsive is just disgusting. Blech! And yet I am delighted to have seen it- I read 'Hackers' too but I'd never seen the actual game. It was worth the hassle to actually see those little shapes and know that this was the game that started it all :)
    I downloaded the class file in hopes of running it on a better JVM sometime. I freaked out when it was only 4,615 bytes, sure that I'd got the wrong file. Then did a doubletake... _wait_ a minute... *grin* *hehehehe* funny what this industry does to your sense of proportion, isn't it?
  • I played this game on an Evans and Sutherland LDS-1 (Line Drawing System) connected to a PDP-10 around 1972. I imagine there were similar displays back through the sixties, but without the hardware matrix multiplier. Its not a progressive scan display, the computer controls the vertical and horizontal deflection coils and drives the dot to exactly where it wants, thus drawing lines.
  • Frankly, I don't believe most of the Java bashers here ever sat down and wrote any application of substance in Java.

    I agree, especially as no one has ever written an application of substance in Java.

    Implementations of the language are limited, restricting the language to be used for simple applets, and backoffice and servlet development. Sun still can't get the GUI framework right, by all accounts Swing has serious scalability problems apparently partly due to the limitations of the inflexible (if elegant on paper, and great for small apps) threading model of Java.

    The only sizeable shrinkwrapped apps written in Java that I know of are the ones I've help do and Java IDEs, Java isn't used to implement any windows apps I use and isn't relied on in the upcoming *nix desktop environments. Implementations simply aren't competitive, (and I'm not interested in benchmarks I'm interested in substantial apps that are in wide spread use)

    Also the language itself can be horribly obtuse at times even for extremely common tasks:

    myVector.elementAt( ((Integer)myVector.elementAt( i )).intValue() )

    instead of:
    mVector[mVector[i]]

    And don't tell me you can't corrupt the stack and leak resources in Java, because after a few thousand lines of code it's hard not too (and in different ways on different VMs)!

    Java does have it uses, I think it's a better language for teaching than Pascal and a better language for developing business logic apps than visual basic.

    If you want to develop a large app C is the proven choice, C++ is the Johnny come lately that is proving itself and ADA is used by those with no choice in the matter.

    Java is nothing more than a dumbed down, simplified C++, it doesn't advance the state of the art for that I suggest looking at Haskell which is pushing the boundaries of Comp Sci.

    Anyway that's a few off the cuff remarks from someone who actually managed to ship a shrink wrapped Java app and who has lived to tell the tale. I really haven't given a proper critique of the language and its implementations but if you search previous posts on Slashdot you should come across some by a clued up Dylan advocate who has given some very nice summaries on the shortcomings of Java.
  • What the hell?

    Hmm.. someone complained about the java bashing, you bitch about the slashdot bashing. I bitch about your meta-bash-bitching. Where will it end! (Hmm.. maybe there's your term? Meta-bashing?)

  • by Anonymous Coward
    Pong was first implemented in 1958 on an oscilloscope, an analogue computer, and some resisters, capacitors, vaccum tubes and potentiometers by William Higinbotham. I was searching for pong stuff the other day for no apparent reason. Here are some articles about it: http://www.fas.org/cp/pong_fas.htm http://www.digitpress.com/faq/pong.txt
  • Well, it seems you might after all be in a bit of a mess to start spell-correcting posts form other people, but I think that acronyms are quite important. I read that at first and thought it was the original, and called my parents because of it (mom= CS major at UC Berkeley in 69-or something like CS). We were disappointed after reading it an finding out it as PERL. Anyways, I din't mean to start a war over it, but that's kind of unavoidable here in /. land sometimes.

    NP
    service_accountnospam,please@yahoo.com
  • I agree, especially as no one has ever written an application of substance in Java.

    I hate to be the one to tell you this, but the new version of JDEdwards OneWorld accounting software, a large package by any count, comes in multiple flavors (same source code - cross compilers), including everything running in Java.


    ...phil

  • Hm, perhaps this is one of those places where Steven Levy's pontification in Hackers was somewhat inaccurate then. :) I seem to recall it stating that no actual CRT-based display was ever used on a system before, this particular CRT being an oscilloscope hacked as a vector display.
    ---
    "'Is not a quine' is not a quine" is a quine.
  • Kinda hard to emulate something without a dedicated CPU to emulate. Pong was purely transistor-based, hard-coded logic.
    ---
    "'Is not a quine' is not a quine" is a quine.
  • If memory serves, the PDP-1 was transisterized. But we're talking about discrete components--no integrated circuits. So it was the size of a large fridge. One of the neat things about it from the "Hackers" book is that DEC used Spacewar as a kind of test program. They'd load the game into the its magnetic core memory (which didn't lose its contents when the computer was powered off) from paper tape. If it ran, the computer worked. Then they turned it off. When the customer received their computer and turned it on, what they first saw was two space ships facing off to do combat.
  • I hate to be the one to tell you this,
    Just because I'm being obnoxious and arrogant doesn't mean I don't want to be corrected if I'm mistaken.

    the new version of JDEdwards OneWorld accounting software
    Never heard of it, will keep a look out for it. "new version" you say, has it been released?

    What products does it compete with?

    multiple flavors (same source code - cross compilers), including everything running in Java.
    Cross compiling normally refers to using a compiler on machine A to generate machine code for another type of machine, machine B, but I think I know what you mean.

    Well done to them, it can be a fair bit of work getting Java source to compile and run right under different java compilers and VMs. (Different OSs too? Do they have a Mac version? I hear VMs suck especially hard on the Mac).
  • Actually, xmess is part of xmame [retrogames.com] now! Just thought you'd want to know :)
  • Actually for games which wrap around on all four sides of the screen the topology is that of a torus (donut), not a sphere as you might think - imagine rolling up the screen into a cylinder (gluing together top/bottom), and then joining up the two circular ends.
  • Any of the ones that went to the moon....
  • Komplex [komplex.org] is a group of programmers who seem to have gotten some computrons out of Java.

    Admittedly, they aren't making office suites or anything here, but I still think it shows that there may be some untapped use in Java.

    The beautiful thing about Java and the point that everybody seems to be missing is that you compile it once and it works anywhere on any machine that has the power to run the app and a VM installed. I don't think anybody can shoot that down with a comparison to C.

  • by William Tanksley ( 1752 ) on Sunday November 14, 1999 @03:00PM (#1534664)
    Wordcodes are technically just an extension of bytecodes; instead of being 8 bits long, they're longer. A common length is 16 bits.

    They're faster and smaller because there are so many more possible ones -- the VM can have many more primitives which are more tailored to the job at hand. They're more secure for the same reason; it's possible to design an instruction set which does not have as many illegal combinations of primitives.

    You still need a security manager, of course, but the verifier can be much smaller and quicker.

    Secure in what sense?

    Secure in the sense that a verifier has to watch for much fewer conditions, and is thus simpler to build. Once you've built the verifier, of course, both systems have the same security.

    An example of a wordcoded system is threaded Forth. I don't know whether anyone has made a portable executable format out of wordcodes.

    -Billy
  • I'm not out to bash Java here just picking a nit; I am a bit tired of hearing the 'The beautiful thing ... everyone seems to be missing...' type comments from various Java advocates. I don't know how many times I've heard/read 'and it works on *any* machine, **wow** what a breakthrough' statements. This is *not* a new idea. Java didn't invent it. For that matter, Sun didn't invent it. It is just cheesy hype from Sun on the same order as the common 'we invented the dll' type statements from MS.

    Come on guys, Java (like just about any other language) has some good points and some bad points. It isn't really a general purpose language in the sense that C/C++ is so the trade offs are different. If you're on the right side of those trade-offs it can make you life a lot easier (wrt C/whatever); on the wrong side it can make your life miserable.

    Please lets not have yet another discussion degenerate into a stupid language war full of pointless statements by people who either don't know what they are talking about or should know better than to get into it once the temperature is up, ok?

    peace,
    S.
  • I love xpilot, but I can only really play against the robots, because whenever I try the servers in the metaserver, they're too slow and/or have nobody else there. Are all these things really in Europe, like the names seem to say? Or is it just that I'm an idiot for trying to play it on a 56K dialup?
  • I have played it on our T1 and it was great, tried at home and it was a dog.
  • Netscape 4.07 Kernel 2.0.36 RH5.2

  • Just think, 50 years from now, chances are that there won't even be a copy of these old software versions available. Even current bleeding edge technology will probably be difficult to come across. We are so priveledged to be at the innovation of such things as linux, and PC's in general.

    Who knows, several hundred years from now, the history books may portray Commander Robert Malda as an industry inspiration, great innovator, and even political leader. History is sometimes confused to fit political agendas.

    -------
    CAIMLAS

  • You're right! And I'm an idiot for relying on my memory to recall what platforms MESS supports. My other mistake was to say there's a WIN32 version. There's none (yet).

    Not that it matters. :-)

    -A.

    ---
  • JDEdwards software runs on AS/400s and other mid-size and large machines. The OneWorld product line is true client-server, fat or thin clients, or can run in a centralized environment if you desire. Be prepared to spend $2-3 million for a complete package (and that's just the software).

    Yes, 'cross compiler' was not entirely appropriate, but I couldn't think of a better term. The source code, from a single compile, results in binaries that can run on x86, Java, or AS/400.


    ...phil


  • The Linux community is held hostage by Netscape and their implementation (until Mozilla and OJI
    frees them) It's not very scientific to have a single datapoint, Netscape's Java implementation, and therefore conclude, Java sucks.

    Netscape 4 sucks speedwise, and stability wise. It has resource leaks, segfaults, and its Java VM doesn't even have a JIT. Java on Windows, Solaris, HP-UX, OS/2, and AIX runs very nicely. Only Swing is still a little slow, and even that is wholly dependendant on how you use it. (evidence: jEdit vs JEditorPane)

    Try running the applet under IBM JDK1.1.8 appletviewer on Linux, it's about 30-50 times faster than the VM in Netscape and much more resource efficient.

    Now try writing a PDP-1 emulator in pure PERL and let's see how fast it runs.

    I've been coding Perl since 1991 and Java since 1993, and have mucho experiencing optimizing both Perl and Java code. All the anti-Java bashing that goes on here is pure FUD. You have clueless idiots bashing bytecode interpretation, and then cheerfully boost Perl, Python, PHP, TCL, etc,
    claiming that parse tree evaluation will be faster than optimized bytecode/JIT, and bashing Java's thread model (when in fact, the fault lies in Linux's poor threading model compared to Solaris, OS/2, BeOS, or NT)

    There are plenty of benchmarks out there now showing Java JIT's being within a fact of 50-80% of C on execution speed. Volano Report shows that some VMs/OSes can scale to thousands of simultanaeous threads (4000+). I personally ported a mini-raytracer to Java from C and only lost about 20% execution speed.

    No doubt, Java GUI components still need more optimization. But on the other hand, the lack of a Microsoft Office competitor written in Java is not evidence. The desktop app markup is pretty locked up right now, most companies are developing Web/HTML versions of tradition apps like email/address book/form processing/hr/billing/info mgmt/etc, so the fact of the matter is, the number of "desktop apps" being written in C/C++ is also on the way down.
    (why waste time doing C++ Forms Database, when you can develop much quicker by using HTML and a scripting language?)

    Why wasn't Slashdot written in C++? Hmm..

  • I remember playing a version of this for DOS quite some time ago...

    Yeah, I remember that =) One of the few games I had for my old IBM XT. Great little computer... I think it had DOS version 2.something... I even had a version of Microsoft Works for it. I think it was the best version of MS works I've ever used, too ;)

  • No text; just three D to A converters controlling the horizontal, vertical and intensity of an oscilloscope. Quite elegant, really.

    I once dismantled an Atari Asteroids machine to see how it worked (I wish I kept it, damn it!), and it did more or less the same thing. The only thing it had that I suspect the Digital PDP didn't was specialized circuitry which controlled the horizontal and vertical using a simple "stepping" state machine. That is, you would program the start point of the electron gun as (x,y) in two registers, and a counter "stepper" in two registers. A counter would increment, and as it hit the values in the stepper registers, it would either increment or decrement the (x,y) value, changing the value of the electron gun. It was a fairly primitive mechanism for doing line drawings on the display, offloading that task from the 6502 processor that powered the machine. Quite clever, really.

    Of course this is all from memory; I've long lost the schematics and the video game motherboard. Makes me long for the days when I used to do embedded code...
  • Hackers is a GREAT book .... a close second is "Soul of a New Machine".

    John Harris, one of those profiled in Hackers, has begged to differ on numerous occasions.

    Apparently, whenever there were conflicting versions of what happened, Levy told the more sensational tale.

    John still lurks from time to time in comp.sys.atari.8bit, and a few years ago released a new 6502/65816 assembler for the Atari 8-bit line.

    ---

  • Dude, don't you know Robin is some 60's tree hugging, nature loving, trail mix eating, LCD taking,VW van driving, Gloria Steinem reading, Abbie Hoffman wannabe, draft card burning-cum-internet freak. That guy's brain cells are long gone. One too many hits of acid, I would suspect. If you don't believe me, read some of his posts. The man is clearly gone.

  • As another point of reference, Pong was actually a ripoff of the Magnavox Odyssey, although Pong beat it to market. (Magnavox was demonstrating the game at various tradeshows, and apparently Bushnell saw it. The Odyssey was actually an analog system, tho.)
    --

  • "can't corrupt stack and leak resources"

    Please tell me how you can corrupt the stack in Java. Meaning, expose it to a buffer overflow attack ala Java. Or is it possible you don't
    know what you're talking about?

    In Java, you can only "leak resources" by holding onto them. However, these leaks don't build up and usually amount to a waste of memory that is constant. Until long running C servers which can chew up all the ram in a machine.

    The only "true memory leaks" in Java are related to JNI implementation bugs in classes like java.awt.Image, and java.awt.Dialog, which have been fixed.

    I wouldn't call Java "dumbed down", I would call it "a more coherent, organized version of C++". And since you mention Haskell, care to point us to any code you've written, or are you simply blowing smoke out your ass.

    And if you want to talk about blowing C++ out of the water, let's look at Eiffel, shall we?




  • "can't corrupt stack and leak resources"

    Please tell me how you can corrupt the stack in Java. Meaning, expose it to a buffer overflow attack ala Java.

    Hmm meant to say heap, makes no difference. All JVMs I've worked with (Sun,Netscape and MS implementations) are buggy and I haven't found it hard to write code that (unintentionally) crashes them, probably due 'exploiting' stack/heap corruption or dangling pointer references in JVM code. I'm not talking about the language here but the VM implementations.

    In Java, you can only "leak resources" by holding onto them.
    You can get garbage collectors for C/C++ too (Great Circle), which leaves you in the same position of only leaking resources when you hold onto them.

    Personally I prefer predictable runtime performance (can we say no garbage collection) and still do it manually (using a malloc debugger to find memory leaks). I admit having to do this is pretty sad, but at least in C++ I have the option.


    However, these leaks don't build up and usually amount to a waste of memory that is constant.
    Rubbish.

    Until long running C servers which can chew up all the ram in a machine.
    Huh?

    The only "true memory leaks" in Java are related to JNI implementation bugs in classes like java.awt.Image, and java.awt.Dialog, which have been fixed.
    Never mind the memory leaks in the VMs.

    And since you mention Haskell, care to point us to any code you've written, or are you simply blowing smoke out your ass.
    I haven't written any commercial Haskell code, there aren't any good Haskell compilers, a good optimizing Haskell compiler is quite possibly decades away. My point was that as a language the beauty (simplicity, readability) of Haskell is first rate, far superior to Java and C++.

    (Haskell isn't perfect though I suspect many problems will always be best solved with an imperative language).

    And if you want to talk about blowing C++ out of the water, let's look at Eiffel, shall we?
    Haven't really had a serious look at it. I'm not aware of any good compiler implementations, or any significant apps. Post and pre conditions seem like good ideas though.

    Java does have its place, servlets, business logic and e-commerce programming come to mind.

    However for developing shrinkwrap style apps in a competitive environment (my area of interest) it is a proven failure.
  • I -love- old-time classics, and would love it if someone could point me to sites that have the sources (or ports or clones) for any. I'm mostly interested in PET games, but Apple I & Apple II games are of interest, too, and I wouldn't say no to any pointers to games for yet older machines.
  • I don't buy it. I'm familiar with the internals of FORTH, Java, and the old UCSD P-System. I haven't seen any compelling size advantage to Forth code, which, by the way, does NOT normally use wordcodes, but uses thread pointers which these days are typically 32 bits.

    Just having the code be 16-bits wide neither allows you to have more primitives (which you can do with multi-byte sequences of bytecode), nor does it "not have as many illegal combinations of primitives". Certainly FORTH allows (even in 16-bit implementations) for a huge number of "illegal combinations".

    Furthermore, there is every reason to expect that wordcodes would be larger than bytecodes, since even the most common primitives are forced to use twice as many bits.

    If x-codes were fundamentally better for larger x, don't you think people would have noticed that by now?

    For equivalent security to that provided by Java, wordcodes would still require a wordcode verifier. The verifier does a whole lot more than check for illegal codes. It has to analyze the code and make sure every possible path results in the same stack depth. Wordcodes don't help with this sort of problem.

  • I haven't seen any compelling size advantage to Forth code, which, by the way, does NOT normally use wordcodes, but uses thread pointers which these days are typically 32 bits.

    I have. It's one of the things that just about every Forth programmer touts as the Great Thing about Forth. And yes, I know that most modern Forths use 32-bit cells; in fact, many modern Forths are switching to call threading rather than token threading, because it allows for inlined optimization. This is often an easy choice, because a call for many processors takes up 32 bits anyhow.

    Just having the code be 16-bits wide neither allows you to have more primitives (which you can do with multi-byte sequences of bytecode),

    At a serious cost in speed.

    nor does it "not have as many illegal combinations of primitives". Certainly FORTH allows (even in 16-bit implementations) for a huge number of "illegal combinations".

    You're ignoring what I said -- I said that it's possible to design an instruction set which does not have as many illegal combinations of primitives. I didn't say that Forth was it -- of course not. Forth was designed for totally different purposes -- security doesn't even show up on the list.

    Furthermore, there is every reason to expect that wordcodes would be larger than bytecodes, since even the most common primitives are forced to use twice as many bits.

    That's obvious. What's not obvious is that since there are many more wordcodes, the most common sequences of bytecodes can be encoded in a single, preoptimised, wordcode. This is also how a certain amount of increased security is possible.

    If x-codes were fundamentally better for larger x, don't you think people would have noticed that by now?

    Why do you think they haven't? I'm not sharing qabbalistic secrets here. Optimising wordcodes is a new science; using them is old.

    For equivalent security to that provided by Java, wordcodes would still require a wordcode verifier. The verifier does a whole lot more than check for illegal codes. It has to analyze the code and make sure every possible path results in the same stack depth. Wordcodes don't help with this sort of problem.

    Of course. You're absolutely right. All I claimed is that the analysis was less complex. I admit that not only did I not give numbers, though, I don't even HAVE any. To the best of my knowledge, nobody's ever written a security-critical system using wordcodes -- but then Java's the only bytecode-based system I know of.

    My preference is to use neither -- I like abstract syntax trees.

    -Billy

To be is to program.

Working...