Slashdot Mirror


Interactive Raycaster For the Commodore 64 Under 256 Bytes

New submitter Wisdom writes "1bir (1 Block Interactive Raycaster) is a simple ray casting engine implemented only in 254 bytes to run on a stock, unexpanded Commodore 64. The name comes from the fact that on a C64 floppy disk, 1 block is equivalent to 254 bytes stored on a disk sector. In 254 bytes, 1bir sets up the screen for drawing, creates sine and cosine tables for 256 brads based on a simple approximation, casts rays into a 2D map that lives inside the C64 KERNAL ROM, renders the screen in coordination with KERNAL, evaluates 8-way joystick input and detects collision against walls. The ray casting core employs a brute force algorithm to determine visible walls, while the mapping portion supports both open-ended (infinitely looped) and traditional, closed maps. The source code in 6502 assembly is available, with extensive comments. A YouTube video showcases 1bir in a detailed manner with both kind of maps and more information, while a Vimeo video presents a shorter demonstration."

143 comments

  1. OMFG !! by Anonymous Coward · · Score: 0

    The c=64 ain't dead yet ??

    1. Re:OMFG !! by Anonymous Coward · · Score: 1

      NEVAR!!!!

    2. Re:OMFG !! by Anonymous Coward · · Score: 1

      Page 0. 'Nuf said.

      4 KB expansion card (for 1540/1). 'Nuf said.

      MC reset switch. 'Nuf said.

      Phonome-based, wire-wrapped, GP256 speech-synth for the IO port. 'Nuf said.

      But an Amiga was so far beyond, just a few short years later, that it is stupid to even consider the C64 worthy of anything at all. 'Nuf said.

    3. Re:OMFG !! by LocalH · · Score: 4, Insightful

      The C64 is worthy of fun.

      --
      FC Closer
    4. Re:OMFG !! by Anonymous Coward · · Score: 0

      You go on a lot for someone who said there was no more required to be said after your first sentence....

    5. Re:OMFG !! by TangoMargarine · · Score: 1

      For those of us under 40 years old, there is quite a lot more to be said. I have no idea what half of what you said even stands for.

      Page 0
      1540/1
      MC reset = Master Control?
      Phonome-based

      --
      Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
    6. Re:OMFG !! by Anonymous Coward · · Score: 0

      I'm 33 and from memory

      Page 0:
      ?? Ram? I never got too deep in to C64 programming. Only BASIC :-(

      1540/1:
      C64 floppy disk drive, I was also able to use mine with a C16.

      MC reset switch.
      Sounds like they installed their own reset button for the CPU so they wouldn't wear out the power switch. Though IMBW

      Phoneme chips are for computer speech.
      Though I've heard speech from the C64 without any additional hardware. Try Space Taxi and Impossible Mission II.

  2. Re:Real-work problem? by Deltaspectre · · Score: 5, Insightful

    Don't underestimate the productivity of being able to work on a hobby project you enjoy

    --
    My UID is prime... is yours?
  3. (oblig) Better late than never by jeffmeden · · Score: 3, Funny

    Good thing it only took him 30 years of development to come up with this. Had the software been around when I used a C64 (when they were the state of the art) I would probably still be looping around inside those maps.

    1. Re:(oblig) Better late than never by cold+fjord · · Score: 4, Interesting

      Had the software been around when I used a C64 (when they were the state of the art) . .

      What do you mean? C64 still is state of the art . . . for 1982.

      On the other hand, a clever hack borders on being timeless - for example and inspiration if nothing else.

      Certainly in a time of ever greater bloatware it can border on mind-blowing to consider what people used to do, and some still do, in handfuls or hundreds of bytes: The Puzzle

      Visual Transistor-level Simulation of the 6502 CPU

      --
      much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    2. Re:(oblig) Better late than never by lcllam · · Score: 1

      That's some sh!tty frame rates you got there bro...

  4. Re:Real-work problem? by gl4ss · · Score: 5, Insightful

    I work with a health IT company that's trying to give doctors better tools to solve and treat disease. Our project could improve the lives of lots of folks, and its quite difficult to find talented technical folks to join the team.

    I appreciate this is a cool hobby project, I just wish the guy would use his not inconsiderable talents to work on something that has a more obvious real-world payoff (unless this is all a hologram running on 4x10^16 Commadore 64s).

    I got an idea.Pay him to do it. Your company works for money.

    You wouldn't be working for one of the two dozen firms doing mobile apps for connecting doctors to patients, looking for funding, explaining how you work "with" and not "for"?

    --
    world was created 5 seconds before this post as it is.
  5. Mod parent BUTTSEX! by Anonymous Coward · · Score: 0

    Yew hearte me! Mods, yes!

  6. Zip? by ZahrGnosis · · Score: 5, Funny

    The source code is zipped. For a 254 byte program. This just tickles me for some reason.

    1. Re:Zip? by jeffmeden · · Score: 4, Funny

      The source code is zipped. For a 254 byte program. This just tickles me for some reason.

      When you have a 300 baud modem on your C64 and Delphi Online charges by the minute, every last byte adds up!

    2. Re:Zip? by tgd · · Score: 4, Interesting

      The source code is zipped. For a 254 byte program. This just tickles me for some reason.

      When you have a 300 baud modem on your C64 and Delphi Online charges by the minute, every last byte adds up!

      The funny thing is, back then the handy thing about 300 baud was there was no need to pipe things to more -- you could just cat a file and read it as it downloaded ...

      Stupid 1200 baud modems messed that all up ...

    3. Re:Zip? by jandrese · · Score: 2

      The worst part is that zip actually increased the size of the programs by a few bytes. It was counterproductive here, although it did help shrink that relatively gigantic disk image.

      --

      I read the internet for the articles.
    4. Re:Zip? by bill_mcgonigle · · Score: 2

      And the lameness filter prevents it from being posted here. Aptly named.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    5. Re:Zip? by Anonymous Coward · · Score: 0

      I could still keep up with a 9600 bps modem, after that I had to start pausing.

    6. Re:Zip? by greg1104 · · Score: 2

      The worst part is that zip actually increased the size of the programs by a few bytes.

      Of course it did. If it was possible to compress the program usefully and distribute a smaller version, he would have done that too!

    7. Re:Zip? by Trax3001BBS · · Score: 2

      The worst part is that zip actually increased the size of the programs by a few bytes. It was counterproductive here, although it did help shrink that relatively gigantic disk image.

      I thought no way, I had to see for myself. The zipped file crescent-1bir-src.zip is 8K, the three file files
      the zip contains add up to 25K so 1/3 it's original size. Your thinking of graphics files.

      If a file is already compressed (ie: graphics, zip) they can't get any smaller, another compression program
      will only increase it's size. Source code is text only and very compressible; all of your modem compression
      schemes to increase speeds are based on text only.

      The JSTOR files Aaron Swartz uploaded were 36 Gigs, uncompressed it was huge > 100 gig, as they were mostly in the text format.

      There are graphic formats that aren't compressed like .BMP files that will zip down to almost half it's size.
      You find graphics compressed with zip, arc, zoo what have you are to create a single file (while increasing it's size).
      To use a compression scheme on the hard drive you store your pr0n collection on, now that is counterproductive.

    8. Re:Zip? by Sloppy · · Score: 1

      But doesn't Punter protocol upload in 256 byte blocks anyway?

      On no: the horror. I don't remember for sure! When did that happen? In 1985 I so would have schooled you. Look at me now; how sad.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    9. Re:Zip? by Anonymous Coward · · Score: 0

      No shit. I used to have $80+ per month charges on Delphi for downloading shareware. Then, years later, I complained about the much smaller cost of much more productive software when dial-up was a flat fee. Weird.

      I started out with a Volksmodem 6420 by Anchor Automation. Then, I moved to a Transcom TC1200H. Man, did that save a lot of money! Still, a lot of BBS's would let you bump 300 up to 450 or even 600 (depending on line quality) without dropping the call. It was weird being able to read faster than the text would come across at 300. Going to 1200 seemed unreal. Some of the early terminals couldn't keep up because the smooth-scrolling was too slow and the receive buffer would fill up. LOL, man, so many memories. I wish I could delete them and defrag my brain.

    10. Re:Zip? by jandrese · · Score: 1

      I was talking about the binaries, not the source. The binaries are 256 bytes, as was mentioned in the writeup, but "compressed" they ended up around 260 bytes or so.

      --

      I read the internet for the articles.
  7. Article about Computers on /. ? by Anonymous Coward · · Score: 0

    It's not news but it's a story about technology!

  8. Bad link in summary by DrGamez · · Score: 1

    The vimeo link leads to this article.

    1. Re:Bad link in summary by Solandri · · Score: 4, Funny

      Recursion is the key to generating small op code.

  9. kudos by excelsior_gr · · Score: 5, Informative

    It is nice to see that in this world of plenty (at least as far as system memory and CPU speed goes) some people find joy in efficiency; and they go so far as to pull something like that off, just for the fun of it. Needless to say, the dude that did this is a real programmer.

    1. Re:kudos by Intrepid+imaginaut · · Score: 1

      Heh, the more things change...

    2. Re:kudos by narcc · · Score: 2

      I was hoping for the story of Mel, a real programmer.

      On the article, it's fantastic. It puts me in mind of First & Third almost FORTH and the recent Fixing E.T. hack.

  10. Vimeo, Vimeo, wherefore art though, Vimeo? by Anonymous Coward · · Score: 4, Informative

    Dunno if the link was bad for anyone else, but here's the actual vimeo link.

    1. Re:Vimeo, Vimeo, wherefore art though, Vimeo? by Intrepid+imaginaut · · Score: 1

      What is that font the C64 uses and where can I get it?

    2. Re:Vimeo, Vimeo, wherefore art though, Vimeo? by innocent_white_lamb · · Score: 2
      --
      If you're a zombie and you know it, bite your friend!
    3. Re:Vimeo, Vimeo, wherefore art though, Vimeo? by Intrepid+imaginaut · · Score: 1

      Thanking you!

    4. Re:Vimeo, Vimeo, wherefore art though, Vimeo? by Anonymous Coward · · Score: 1

      You might want to (re-)read the license for that file...

      You MAY NOT: sell this font; include/redistribute this font in any font collection regardless of pricing; provide the font for direct download from any web site.

      You MAY: link to "http://style64.org/c64-truetype" in order for others to download and install the font;...

    5. Re:Vimeo, Vimeo, wherefore art though, Vimeo? by Sloppy · · Score: 1

      where can I get it?

      Dude, it's right there in your ROM.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  11. HP Printer Driver Developers Take Note by parlancex · · Score: 5, Insightful

    The next time you churn your next 500MB printer driver think about programs like this. Think long and hard.

    1. Re:HP Printer Driver Developers Take Note by Anonymous Coward · · Score: 1

      i would personally love to cause hours of greif and anguish to those who create hp printer drivers.

      for they have costed me days in troulbe shooting and reinstalling their bloated drivers and software.

    2. Re:HP Printer Driver Developers Take Note by Solandri · · Score: 4, Informative

      The printer driver itself wasn't 500 MB. What happened was that some manager at HP decided tech support was wasting too much time (money) instructing people on how to navigate their byzantine support website to find and download the correct drivers for their printer. So they glommed the drivers for all of their printers into one big binary and told people to just download that.

      IMHO the real lesson from the HP printer drive fiasco is that if it's quicker and easier to find something on your website by doing a Google search for it, you need to redesign your website. HP eventually did that, and their site now lets you just type the printer's name and it'll take you directly to its download page.

    3. Re:HP Printer Driver Developers Take Note by cold+fjord · · Score: 1

      If you are complaining about HP printer drivers, I think I can just about assure you that you haven't seen the bottom of the barrel - not by a long shot.

      --
      much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    4. Re:HP Printer Driver Developers Take Note by tgd · · Score: 0

      The next time you churn your next 500MB printer driver think about programs like this. Think long and hard.

      God, I hope you're not a programmer.

    5. Re:HP Printer Driver Developers Take Note by jandrese · · Score: 1

      I will never buy a non-Postscript printer ever again. Postscript printers mean you never have to mess with drivers, especially network Postscript printers.

      --

      I read the internet for the articles.
    6. Re:HP Printer Driver Developers Take Note by parlancex · · Score: 1

      Why, yes I am! I've written home-brew Xbox games that included graphics and animations, sounds and music(<10MB), and reasonably complicated network software that runs as a service on many of my servers at work (<100KB). I've dabbled in writing demo code as well writing a complex synthesizer with DSP effects and tons of music content in 64kb.

      If you're actually defending the need to ship printer drivers literally over 500MB I would really love to hear your logic.

    7. Re:HP Printer Driver Developers Take Note by Anonymous Coward · · Score: 0

      I will never buy a non-Postscript printer ever again. Postscript printers mean you never have to mess with drivers, especially network Postscript printers.

      Really? The Postscript printers I've used, network and local, have all required drivers. Maybe this is a stupid question, but how do you control duplex or not, color or B/W, which paper source, etc if you don't have a driver for the printer?

    8. Re:HP Printer Driver Developers Take Note by drinkypoo · · Score: 1, Troll

      The printer driver itself wasn't 500 MB. [...] IMHO the real lesson from the HP printer drive fiasco is that if it's quicker and easier to find something on your website by doing a Google search for it, you need to redesign your website. HP eventually did that, and their site now lets you just type the printer's name and it'll take you directly to its download page.

      ...where you can download a 150MB printer driver. Progress!

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    9. Re:HP Printer Driver Developers Take Note by Dahan · · Score: 1

      Really? The Postscript printers I've used, network and local, have all required drivers. Maybe this is a stupid question, but how do you control duplex or not, color or B/W, which paper source, etc if you don't have a driver for the printer?

      A PPD, a text file which describes the printer's capabilities, and the commands to send to change various options.

    10. Re:HP Printer Driver Developers Take Note by cheater512 · · Score: 1

      Their Linux drivers are quite slim on the other hand, install easily and work beautifully.
      Every feature on every device works through the standard mechanisms too.

    11. Re:HP Printer Driver Developers Take Note by avandesande · · Score: 1

      After thinking a long time I decided that I would be impressed if he could implement the print driver to run on a commodore 64!

      --
      love is just extroverted narcissism
    12. Re:HP Printer Driver Developers Take Note by NemoinSpace · · Score: 1

      a rose by another name

    13. Re:HP Printer Driver Developers Take Note by parlancex · · Score: 2

      Then you should be impressed. If you seriously are a developer who writes printer software for HP you are bad and you should feel bad.

    14. Re:HP Printer Driver Developers Take Note by alannon · · Score: 1

      PPD files are platform-independent which always smelled sweet to me when I was using a mac or linux. Other printers I've had to throw in the trash because the driver didn't make the jump from XP to Win7. I maintain a VMWare VM with XP just to print on a not-so-old commercial-quality thermal CD printer.

    15. Re:HP Printer Driver Developers Take Note by TangoMargarine · · Score: 1

      Why?

      --
      Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
    16. Re:HP Printer Driver Developers Take Note by Sloppy · · Score: 1

      By misspelling "grief" you defied the adaptive Huffman table's expected distribution, thereby wasting memory. You're lucky this is a C64 story where memory is abundant, because if you had posted this in a VIC-20 story (where every single byte truly counts) I would have called you Not Worthy.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    17. Re:HP Printer Driver Developers Take Note by Anonymous Coward · · Score: 0

      Drivers? What drivers?

      I select my printers for PostScript[tm] support. No drivers needed. Ok, just the one, on redmondware. On Unix[tm], none.

      Yes, HP's driver pack is stupid, just as redmond's driver model doesn't scale to even two computers on a network. I don't know who's the stupidest of the bunch, but the Obvious and Right[tm] solution tends to get overlooked: Use the lingua franca for printers, which happens to be PostScript, still.

      (Before you mention PDF: That's a cut-down (as in, loops and such removed) PostScript with compression added. It really makes no sense for a printer to support PDF but not PostScript.)

    18. Re:HP Printer Driver Developers Take Note by Anonymous Coward · · Score: 0

      except the installer is only configured to use one of them! So while all drivers may be inside it, the installer only will install the one you downloaded it as which is freaking horrible.

    19. Re:HP Printer Driver Developers Take Note by tgd · · Score: 0

      Why, yes I am! I've written home-brew Xbox games that included graphics and animations, sounds and music(<10MB), and reasonably complicated network software that runs as a service on many of my servers at work (<100KB). I've dabbled in writing demo code as well writing a complex synthesizer with DSP effects and tons of music content in 64kb.

      If you're actually defending the need to ship printer drivers literally over 500MB I would really love to hear your logic.

      No, I'm attacking your suggestion that a simple raycaster projecting a map of data that already exists in ROM being simple (it is -- it'd be a couple hundred lines of any code, no matter now little effort you put into making it compact) equates in any form with any software that actually has to meet external requirements. The suggestion is just ignorant, and karma-whoring.

      Its as stupid as looking at a cleverly made multicolor building a 5 year old throws together with legos and suggesting that the next time someone pays a quarter billion dollars for a skyscraper, they should think about those legos. Think long and hard.

      Anyone who has any real experience shipping software (and, I'd bet most "programmers" who wrote that software aren't in that category, either) would know, bloat comes from market requirements. A 500MB printer driver is almost certainly less than a megabyte for the driver itself. The configuration system is probably a few more meg. You don't know what shared libraries may or may not be on the target system, so you're going to have those just-in-case. You'll also have the installer and application likely in a hundred different languages. You'll have documentation in a hundred languages. You'll likely have tutorial and help videos or animations because the fact is, your users are too stupid to use the printer nine out of ten times. You also need to build all of that and ship it on a printer that costs $50, which means you're not going to pay QA to test every possible combination of bits and pieces being installed -- so your installer is going to lay down all 500MB, because disks are cheap, and people won't pay $10 more for your printer for you to validate a 20MB install.

      It'd take 100x longer to craft a super-tiny ray caster than it would take to just bang out one quickly without caring about the size. If you were paying for that raycaster, would you pay 100x as much for it, to save a few K?

    20. Re:HP Printer Driver Developers Take Note by tgd · · Score: 1

      Why?

      Because I'd fire pretty damn quickly any programmer that doesn't understand product requirements. In fact, I have on a number of occasions.

    21. Re:HP Printer Driver Developers Take Note by Anonymous Coward · · Score: 0

      You can understand product requirements without producing software or drivers that are bloated pieces of shit.

    22. Re:HP Printer Driver Developers Take Note by parlancex · · Score: 1

      Here I go feeding the trolls...

      So just so I can get this right, a printer driver is so complex a feat of engineering it is analogous to a skyscraper? A printer driver takes input data in the form of text, fonts, and images, formatting, and translates it into a format compatible with the printer in question. Entire operating systems have been written in less than 1/10th the size of some of HP's modern shipping print drivers. I never said it has to be 254 bytes, but the current level of bloat is absolutely insane and I have no idea how they even reach it. Do you know how many lines of C++ code 500MB compiled and compressed is actually equivalent to? Billions. Literally billions. I just want to understand; Do you actually believe it takes a billion lines of code to transform input document data into a format readable by a laser printer?

    23. Re:HP Printer Driver Developers Take Note by tgd · · Score: 1

      Here I go feeding the trolls...

      No, here you go being a troll.

      If you reread my post, I even said the print driver is small. Most don't take any code, in modern systems.

      The stuff that turns a printer driver into a product that a company can ship adds the rest. Its okay, go back and read my post. I gave some examples.

      If you're still confused after re-reading it, I doubt anyone is going to be able to make you understand.

    24. Re:HP Printer Driver Developers Take Note by parlancex · · Score: 1

      I'm afraid you're still an idiot, because "the stuff that turns the driver into a product" should still also be no greater than a few MB tops, even with stupid sounds, images and animations included for the printer status.

    25. Re:HP Printer Driver Developers Take Note by jandrese · · Score: 1

      That's like complaining that oh no, you need to use Postscript, that's a DRIVER!!!

      The point is that the OS comes with the Postscript driver, as well as PPD support. They'll never become obsolete and will always be supported by new versions of the OS.

      --

      I read the internet for the articles.
  12. Re:Real-work problem? by Anonymous Coward · · Score: 0

    He's not done with it yet - not until it can fit in a tweet, so he's got 114 bytes to go.

  13. Uses two undocumented / illegal instructions by Myria · · Score: 5, Interesting

    It's interesting to note that the code uses two "undocumented" 6510 instructions:

    lax $91
    anc #$00 ; clears carry for sinadd below

    These instructions are undefined; they work by taking advantage of the internal CPU architecture to execute a hybrid of other legal opcodes. A lot of other older processors have such behavior, such as the Z80. Even the 8086 had a bit of this: "pop cs" and the second encoding of "sar" come to mind. (The 8086's "pop cs" was stolen by the 286 to mean an escape to a second opcode page.)

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    1. Re:Uses two undocumented / illegal instructions by Wisdom · · Score: 2

      The alternative version (1bir-alt.prg/s) uses no illegal opcodes at all. :-)

    2. Re:Uses two undocumented / illegal instructions by ProzacPatient · · Score: 1

      It is not uncommon to find programs utilizing the MOS 6052 instruction set doing the same thing.
      This is why if you write a Nintendo NES emulator exactly to spec some games might not work because they use undocumented instructions that work on the real hardware but need to be specifically implemented in software.

    3. Re:Uses two undocumented / illegal instructions by tlhIngan · · Score: 1

      These instructions are undefined; they work by taking advantage of the internal CPU architecture to execute a hybrid of other legal opcodes. A lot of other older processors have such behavior, such as the Z80. Even the 8086 had a bit of this: "pop cs" and the second encoding of "sar" come to mind. (The 8086's "pop cs" was stolen by the 286 to mean an escape to a second opcode page.)

      The reason for this is simple - the instruction decoder is using a bunch of logic gates to figure out how to drive the various processing bits around, referencing a microcode ROM if necessary. The deal was that most of the opcode space was not completely used up so there are holes where no instruction is officially implemented. Using those encodings will not generate an error (most processors didn't have an illegal instruction error, nor did most microprocessors expect anything more than to crash on error). So these illegal instruction encodings merely tickled the instruction decoder in strange and wonderful ways.

      A more modern processor like the Motorola 68K, however, implemented illegal instruction exceptions and thus they have no such features.

      And modern processor architectures today often have plenty of gaps in the instruction space - for future instructions or whatnot, and they too generate illegal instruction exceptions. ARM actually defines an ILLEGAL opcode to cause that very exception.

      Heck, Microsoft found illegal instructions were fastest for system call handling, much to Intel's bemusement

    4. Re:Uses two undocumented / illegal instructions by Anonymous Coward · · Score: 0

      POP CS wasn't undocumented and the 80186 was the processor that did away with it.

      Real x86 examples
      SALC (Set AL (the lowest 8 bit of the AX register) to the value in the carry flag. The same function as SBB AL, AL (=Subtract with borrow))
      AAD imm8 (ASCII Adjust before Division - used for BCD calculation) which can be used to multiply with a 8 bit constant. It was documented but only as doing a multiplication with 10 and encoded as 0xD5 0x0A.

    5. Re:Uses two undocumented / illegal instructions by Anonymous Coward · · Score: 0

      It's even worse than that. Some NES games does a full byte compare instead of a bit test for reading the joypad data. The rest of the bits aren't driven by the joypad interface and are left floating by the hardware. Because of this the value compared against is a hybrid between the compare opcode and the desired bit value.

  14. Correct link for Vimeo video by Wisdom · · Score: 2

    The Vimeo link in the story somehow became broken, the correct link is as follows:

    http://vimeo.com/66004524

  15. Re:Real-work problem? by Anonymous Coward · · Score: 5, Funny

    I work with an advanced robotics research firm that's trying to take humans out of fragile, disease-ridden bodies and put them in immortal robot bodies. Our project would allow humanity to transcend mortal existence, and it's quite difficult to find talented technical folks to join the team.

    I appreciate your cool hobby project, I just wish you would use your not inconsiderable talents to work on something that has a more obvious long-term payoff.

  16. Re:Real-work problem? by Samantha+Wright · · Score: 4, Interesting

    As a bioinformatician who's trying to give researchers better tools to identify disease, whose projects could also improve the lives of lots of folks: this is not that kind of programming. Demoscene programmers are generally hired by graphics companies and embedded systems development, where their formidable optimization abilities actually get put to use; those skills are not transferable to general high-performance computing. You'll have to keep hiring out of the general CS grad pool.

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  17. Re:Vimeo, Vimeo, wherefore art thou, Vimeo? by Anonymous Coward · · Score: 0

    Shit. I meant "thou" not "though"... damn muscle memory.

  18. Re:Real-work problem? by Anonymous Coward · · Score: 1

    Send him a job offer. He obviously is quite driven. That's a quality that can be hard to find.

  19. Re:Real-work problem? by Tridus · · Score: 5, Insightful

    Can't find talented technical folks to join the team, or can't find talented technical folks to join the team for well below market wages?

    Usually when people say one, they really mean the other.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  20. Good Training for embedded systems by localman57 · · Score: 3, Insightful

    Projects like this are a great way to train new engineers for small embedded systems. There is a lot of work out there on 8-bit systems with a couple k of program space and a few hundred bytes of ram. At my place we actively collect books that targeted advanced computer programming techniques in the early 80's, because they line up good with the resources we typically have on a microcontroller that costs $1.27 now .

    For example, given a 128x96 black and white LCD, create an algorithm that will draw a line between any two points. Oh, and you can only use integer math, and we'd prefer it if you kept division operations to a minimum, because we have to do division through a software library call...

    The old-timers did that stuff in their spare time 30 years ago.

    1. Re:Good Training for embedded systems by Citizen+of+Earth · · Score: 2

      No need to create one.

    2. Re:Good Training for embedded systems by Anonymous Coward · · Score: 0

      Bresenham to the rescue. Want me to draw circles too? Anyway, the 8-bit uCs will soon become as obscure if not obsolete as the 8-bit home computers have been for two decades. The specialized skills for programming these systems are just too rare, the development time is too long for too little benefit and you have to compromise on functionality way too often. 32-bit processors aren't more expensive, so unless you're locked into an 8-bit architecture, there's no reason not to use faster and more featureful hardware.

      While I believe that 8-bit uCs are good teaching tools, because they have all the important aspect in a system that's not so big that it has a very steep learning curve, I think it's a shame that Arduinos have been established as a platform that people design actual projects around. People really shouldn't need to write programs without an underlying operating system anymore. The 32 bit hardware which allows for portable and maintainable code is as cheap as those 80s-machines-on-a-chip.

    3. Re:Good Training for embedded systems by Anonymous Coward · · Score: 0

      While 32-bit CPU's are cheap I have yet to see one that is viable for low energy usage.
      There are plenty of embedded devices like smoke detectors, remote controls and similar where an average current above 1uA is unacceptable.
      The 32-bit microcontrollers also tend to have a pipeline and a lot of overhead on the interrupts so there are a lot of time critical applications where many 32-bit controllers just can't react fast enough.
      For the CS dude who wants to start playing a bit closer to the hardware there is not really any reason to use the 8-bit controllers anymore but the 8-bit controllers will not be completely phased out this decade and probably not next either.

    4. Re:Good Training for embedded systems by tibit · · Score: 1

      Division operations for line drawing? Ever heard of Bresenham's algorithm? It can be further tweaked based on the organization of the frame buffer.

      There are many state-of-the-art designs that are memory constrained. Parallax's Propeller has 512 32-bit words for high-speed cog memory. Their new Propeller II adds a third memory space (besides cog and hub memories), but the basic 512 word limit remains unchanged. XMOS XS1 architecture has 64 kbytes of RAM shared between code and data for a multi-core CPU tile. Each tile has at least 4 cores running at 125Mips, from that shared memory. All are quite capable chips, each in its own way (Prop II only exists as an FPGA testbed at the moment).

      --
      A successful API design takes a mixture of software design and pedagogy.
    5. Re:Good Training for embedded systems by greg1104 · · Score: 2

      Line drawing can have a lot of complexity to it beyond just picking the best of the usual approaches. A simple implemtnation of Bresenham's line algorithm may or may not be optimal given the system's other constraints. One common change is to recognize that horizontal and vertical lines are both common enough that they should get their own optimized code paths. If it's possible the code might run on a grey scale display one day, you might code in a way that later allows anti-aliasing. On a computer like the Apple ][, the odd mapping of video memory to the display can favor lookup table driven approaches. And on systems where the code has to run at a consistent speed on each loop to maintain vertical sync like the Atari 2600, you'll have to carefully modify the Bresenham approach, since the d>0 path has more computations than the other side. Those are just a few of the possibilities I remember from my 6502 coding days.

  21. Re:Real-work problem? by gr8_phk · · Score: 5, Insightful

    As a bioinformatician who's trying to give researchers better tools to identify disease, whose projects could also improve the lives of lots of folks: this is not that kind of programming. Demoscene programmers are generally hired by graphics companies and embedded systems development, where their formidable optimization abilities actually get put to use; those skills are not transferable to general high-performance computing.

    Actually the skills do transfer. The techniques of code optimization are many and universal. Which ones constitute acceptable use depends on the application (i.e. mathematical approximations are not always OK). From what I keep reading, HPC focuses a lot on matrix math - an area where some tricks can help a lot without affecting the results. I was manipulating 1GB 3d data sets interactively on a machine with 128M of RAM back in the day, and I suspect the technique has not gone mainstream yet.

  22. Re:Real-work problem? by Anonymous Coward · · Score: 0

    you will be upgraded
    you will be DELTETED. deeeeeleeet

  23. Re:Real-work problem? by localman57 · · Score: 2

    I work with a health IT company that's trying to give doctors better tools to solve and treat disease.

    That's cool. I'm between jobs right now, so I have a lot of time on my hands. But the bright side is that just a few dollars from my unemployment check will buy a whole bunch of eggs, so I'm cool.

    Say, why don't you tell me where you live, and I'll come over and we'll talk about that disease treating thingie you're interested in.

  24. Re:Real-work problem? by Anonymous Coward · · Score: 0

    I work with habitat for humanity that's trying to build homes for the needy. Our project could improve the lives of lots of folks, and its quite difficult to find talented folks to join the team. I appreciate this woodworking, crafting, handyman related, etc hobby project, I just with these guys would use their not inconsiderable talens and personal free time to work on something that has a more obvious real-world payoff.

    Most people do a LOT of things a hobbies that are not "productive". Here's the key- it's a hobby. For fun. That isn't stressful. This guy probably either works as a programmer or is going to school for such a degree. Doing so probably includes a lot of stressful work, stuff that is important. This project, on the other hand, is something that is not at all stressful. There's no timetables involved, no pressure getting it to work asap, no need to take forced shortcuts, based things on other people's code, worry about code maintanability, and if things don't work there isn't any impact on anyone else's life. It's fun and zero stress. Working on a project like you suggest is, on the other hand, going to be very very stressful. There are going to be things that need to be done right, there will be deadlines and budgets to meet, there's going to be a lot of very unfun tasks that need to be done that a hobby project doesn't need to worry about, and it's going to have a very important real world effect on real people. In other words, lots of stress. Not something people are going to want to do "for fun" in their free time (and if they did, they'd likely burn themselves out pretty quick due to not having any downtime between "real" work and this).

  25. Re:Real-work problem? by Anonymous Coward · · Score: 0

    I work with a health IT company that's trying to give doctors better tools to solve and treat disease. Our project could improve the lives of lots of folks, and its quite difficult to find talented technical folks to join the team.

    I appreciate this is a cool hobby project, I just wish the guy would use his not inconsiderable talents to work on something that has a more obvious real-world payoff (unless this is all a hologram running on 4x10^16 Commadore 64s).

    Listen, if health were an app away, there would be a zillion of them in every platform's app store already. The bottom line is that even compared to this very brilliant feat, making sick people better at the touch of a button is *pretty fucking hard*.

    Hell, making sick people better, for a large portion of the western world, involves just taking a fucking *jog* now and then and you see how far that approach gets. Some sick people just don't _want_ to get better.

  26. Nintendoes this also by Anonymous Coward · · Score: 0

    This reminds me of a raycaster for the NES. http://www.youtube.com/watch?v=po69zgqyFWM

    It works on real hardware too. Sadly, not under 256 bytes though.

  27. Only 254 bytes? by rivercityrandom · · Score: 1

    Wow... perhaps there is some hope for Doom 2600 after all...

    1. Re:Only 254 bytes? by Hamsterdan · · Score: 1
      --
      I've got better things to do tonight than die.
  28. Re:Real-work problem? by shreak · · Score: 2

    Hang on there. Why are you using your talents on a project that may save 1000s when you could be working in vaccination projects that could save 10s of 1000s? Wait! Forget that. You and those time wasting vaccination workers should be focused on biotechnology that could create crops to feed millions world wide!

    Hold it! Scratch that. Global warming will end up destroying the entire planet. Get those lay-about biotech-crop workers on that!

    Wait! Heat death of the universe. Only billions of years away and effects EVERYTHING. Stop wasting time on trivial projects and solve the most important problem in the universe! /thread

  29. Re:Real-work problem? by Anonymous Coward · · Score: 0

    Do you ever stop working with that health IT company? Why are you wasting your time sleeping when you could be helping them further their goals to solve and treat diseases?! You're selfish for wasting time not working for them!

  30. Correcting myself by Myria · · Score: 3, Insightful

    and the second encoding of "sar" come to mind

    Sorry, but it's "SHL" that has a duplicate encoding on x86. There are four slots for non-rotating shift instructions in "group 2": 4=SHL, 5=SHR, 6=???, 7=SAR. The /6 variant looks like it ought to be "SAL", and it is. However, unsigned left shifting is equivalent to signed left shifting, and thus the two opcodes end up doing the same thing. The original 8086 happy processed this instruction as a signed left shift because of how it interpreted the opcode bits, but that's the same as an unsigned left shift.

    This was retained in modern processors, whereas "pop cs" was not.

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
  31. The world is mine. by Anonymous Coward · · Score: 0

    I knew it would happen. My C64 just became immensely valuable, right?

    right?

  32. Re:Real-work problem? by Beorytis · · Score: 5, Insightful

    Do you visit model railroad clubs and chastise them for playing with toys when there's so much real freight to be moved?

  33. Re:Real-work problem? by Anonymous Coward · · Score: 0

    Well woo-hoo for you. Maybe it's hard to find people to join your team because: 1) you're a bunch of self-important assholes 2) your work is boring as hell 3) the talented, smart people are out solving more important problems like curing cancer and not run-of-the-mill IT stuff 4) all of the above

    If everything people did in the world had to be a "real-work problem" (sic), quality of life wouldn't be very high at all.

  34. Will this run . . . by hduff · · Score: 3, Funny

    Will this run on my VIC-20?

    Otherwise, meh.

    --
    "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
    1. Re:Will this run . . . by Wisdom · · Score: 5, Interesting

      It is quite possible that it will run on VIC20, but it will probably need some modification to the actual render code (I do not have a VIC20, so I am not sure). Other than that, it should work, as RAM usage is minimal (just needs 320 bytes for sine/cosine tables, ZeroPage and the 1K video RAM).

      Nevertheless, I will include it in the next release. Thanks for the idea.

    2. Re:Will this run . . . by StarWreck · · Score: 1

      I would bet it would run on the VIC-20. Maybe not the .C64 disk image but the source code. VIC-20 had only 5K RAM but it had a full 6502 CPU. Although they have entirely different video chips.

      --
      ... and in the DRM, bind them.
    3. Re:Will this run . . . by greg1104 · · Score: 1

      The VIC20 doesn't have a bitmapped display mode. To show graphics you have to redefine the character set. The usual solution to that limitation was to throw RAM at the problem of holding the character definitions. I suspect it will be a lot more complicated than the C64 for the sort of code you're running.

    4. Re:Will this run . . . by greg1104 · · Score: 1

      The VIC-20 was named for its VIC display chip. It uses character definitions instead of bits, which means code for it is unique to running on VIC-based systems. There's a completely different video chip in the C64, they're not at all alike.

    5. Re:Will this run . . . by Wisdom · · Score: 1

      And that is exactly what 1bir does on C64, i.e. redefining a char in set and filling the screen with that char. Then all it does is to change color RAM nybbles to "render" the scene. In that regard, what I reffered to as "video RAM" mistakenly above was actually supposed to be color RAM.

      I think, porting to VIC20 should not take more than changing some addresses and making the rendering code to work with VIC20 KERNAL, if there are differences with C64 KERNAL. Also it would be a 22x22 screen matrix, instead of 40x24 as it is for C64 now.

  35. Re:Real-work problem? by Wycliffe · · Score: 2

    How do you even know what he is using his talents for at his day job? This type of project is
    fun, allows a programmers to relax, reduce stress, and unwind but also allows them to hone
    their skills so that there actually are "talented technical folks" for you to hire. I have yet to
    meet a great programmer that doesn't do this sort of thing in their spare time and therefore
    I honestly believe that eliminating this sort of behavior would actually reduce your ability to
    hire qualified candidates.

  36. Optimization by eulernet · · Score: 4, Interesting

    My 6502 is not completely lost.
    Here is how to optimize the code a little bit:

    Replace:

    loop_stepadd
                            lda stepx,x ; & y
                            ora #$7f ; sign extend 8 bit step value to 16 bit
                            bmi *+4
                            lda #$00
                            pha ;clc
                            lda stepx,x ; & y
                            adc rayposx,x ; & y
                            sta rayposx,x ; & y
                            pla

    with:

    loop_stepadd ;clc
                            lda stepx,x ; & y
                            adc rayposx,x ; & y
                            sta rayposx,x ; & y
                            lda stepx,x ; & y
                            ora #$7f ; sign extend 8 bit step value to 16 bit
                            bmi *+4
                            lda #$00

    This saves 2 bytes and a few cycles.

    1. Re:Optimization by Wisdom · · Score: 4, Funny

      Well spotted, I missed that one out. :-) Usual problem of looking at the same thing for so long, now it perplexes me how I missed such an easy one. :-)

    2. Re:Optimization by eulernet · · Score: 4, Interesting

      Well, it was not obvious.

      I originally wanted to optimize the sign extend using some carry tricks, like asl/lda #0/sbc #0, but realized that it was unnecessary.
      In fact, you can improve it even more, as follows:

      lda stepx,x ; & y
                              bpl *+4
                              dec rayposxh,x
                              adc rayposx,x
                              sta rayposx,x
                              bcc *+4
                              inc rayposxh,x

      Saving 6 bytes !

      This trick is mentioned here:
      http://forum.6502.org/viewtopic.php?p=5262

      BTW, your tsx/txs trick is really horrible, it forces the stack at the bottom of $100.

    3. Re:Optimization by BlackPignouf · · Score: 1

      Holy shit.
      I just lost my geek card!

  37. Lamers by Anonymous Coward · · Score: 0

    Amazing how a bunch of internet lamers can turn such an awesome small piece of code, and accompanying story... into a tl;dr thread about postscript printer drivers and complain about how old the 64 is. As for the vic20... source is there, port it.

    I don't want to live on this planet anymore.

  38. Or, 2MHz 6809 with full 3d Game by Anonymous Coward · · Score: 2, Interesting

    This was done a decade ago for the Color Computer (6809). A self-modifying 3d engine in ~256 bytes was turned into a full "doom" style 3d game.

    http://members.optusnet.com.au/nickma/ProjectArchive/crasher.html

    With video!

    https://www.youtube.com/watch?v=jVFn_djQ6EY

  39. Other creative uses of ROM data? by geo255 · · Score: 1

    I got a kick out of the use of bytes already in ROM as the map. I did something similar for an old DOS game of mine, Tunneler, where I used bytes taken from IBM PC ROM to replace the player's usual game view with a TV static/snow effect (simulated loss of signal). I grabbed bytes from an address in ROM that resulted in random-looking values interspersed with a few horizontal streaks. Know of any other games that made unusual use of ROM data?

    1. Re:Other creative uses of ROM data? by Anonymous Coward · · Score: 0

      Know of any other games that made unusual use of ROM data?

      It's a bad way to do things, compatability wise. Manufacturers could use different ROM data, even for identical models and revisions of computer.
      On the other hand, a modern approach to security uses hardware fingerprints. That's basically the same idea, used for a purpose with fewer caveats.

    2. Re:Other creative uses of ROM data? by Hatta · · Score: 2

      Yars Revenge used its own game code as pseudorandom data to animate the neutral zone.

      --
      Give me Classic Slashdot or give me death!
    3. Re:Other creative uses of ROM data? by Anonymous Coward · · Score: 0

      So that's what that was! Mmmm red shield stuff omnomnom

  40. Re:Real-work problem? by Samantha+Wright · · Score: 2

    Which ones constitute acceptable use [...]

    And that's the trick. These people focus predominantly on mathematical approximations, extreme memory limitations, and knowing the ins-and-outs of the CPU itself, or the API they're using if it's a PC demo. All C64 demos are programmed in assembly. So while optimization is common to both fields, the level of detail is much too tight. In demo programming, effects are chosen because they optimize well. That doesn't fit with matrix programming or stats where accurately capturing an algorithm is the top priority—not just because mathematical approximations are undesirable, but because the complexity of many processes is the major bottleneck, and the operations themselves are simple and cannot be optimized through cheating.

    Even if a demoscener did, for example, rewrite BLAST, the result would be completely unmaintainable, which is no good to anyone. It's much better to leave the optimization of scientific software to the compiler.

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  41. Re:Real-work problem? by Anonymous Coward · · Score: 1

    > I work with a health IT company that's trying to give doctors better tools to solve and treat disease. Our project could improve the lives of lots of folks, and its quite difficult to find talented technical folks to join the team.

    My most beloved word in the dictionary is "freedom". People are, today, still free to write stuff for fun if they want to for the C64.

    My worst nightmare would be a world in which, in the name of morality, everybody was forced to work on something with "Real-World payoff" [TM]. And what would be the point of living in such a world? What's the point in being a slave, although a little bit healthier?

    I choose to be a little less healthy, to live a little less longer and get the opportunity to be amazed by what people are still doing, for fun, on the C64.

  42. wow! by Anonymous Coward · · Score: 0

    254 bytes? that sounds like black magic:)

    r a f t

  43. Re:Real-work problem? by Anonymous Coward · · Score: 0

    You mean like how right now, everyone gets deleted after 120 years or so?

  44. My expectations were too high by Anonymous Coward · · Score: 0

    Having seen so many killer C-64 demo vids on YouTube, my expectations for this demo were much higher. I regard it as a PoC. Let's see what they can do when they throw some sprites in there with raster interrupts to display more than 8. Get the perspective for the sprites in that LUT, throw some SID music on top, and really blow us away!

    No disrespect. Mad respect actually, from somebody who played with the C-64 back in the day and never got that far. If you don't believe me, search YouTube and prepare to have your mind absolutely blown.

    1. Re:My expectations were too high by Wisdom · · Score: 2

      Next version is coming up soon, with more features than you actually mentioned in your post. :-) (It will not be under 256 bytes, though). This was, as you said, made to prove that it can be done under 256 bytes. Therefore, the size limit does not really allow to add many more features than there are now (although it is still possible to add small improvements here and there, of course). Lastly, this does not utilize any LUT, except for the usual sine/cosine tables.

  45. Wonderful Acronym by Anonymous Coward · · Score: 0

    bir means 1 in Turkish. Kudos to the guy who named so this program.

  46. Re: Real-work problem? by briancox2 · · Score: 4, Insightful

    Yeah. I'm also tired of self-righteous people claiming we shouldn't have fun because, somewhere there's a person with a need. Life isn't about sacrificing all your interests to the need of others. Even Jesus let his feet get washed from time to time.

    --
    We should learn what we need to know about issues, before we decide what we need to feel about them.
  47. Awesome! by beaverdownunder · · Score: 0

    Awesome! If only we could teleport today's knowledge back to 1983! =)

    I had been looking for a small demo to include with our Android .TAP-file renderer https://play.google.com/store/apps/details?id=co.kica.tapdancer, and this will be perfect! (Assuming it's free to distribute -- demos usually are but I'm attempting to clarify this...)

    1. Re:Awesome! by Wisdom · · Score: 1

      Yes, as I wrote also on Pouet, you can use/distribute it. I just ask you to kindly mention in your app that this was done by Crescent, as due to size restriction, it is not mentioned anywhere in the actual demo. Thank you!

  48. Re:Real-work problem? by greg1104 · · Score: 1

    Even if a demoscener did, for example, rewrite BLAST, the result would be completely unmaintainable

    So same as it is now?

    Your comments about exact calculations in this context strike me as kind of funny. The whole reason BLAST exists is because it replaces an expensive search for an optimal match with a heuristic method. It is at its core cheating to optimize a process that wasn't running fast enough. And if you take a look at how the original Smith–Waterman algorithm has been sped up, you'll see that clever ways to cut the code down so it will run on specialized hardware are exactly what people in the industry do. There are a lot of problems in the medical space that the classic demo scene skills wouldn't apply to, but improving BLAST is exactly the sort of thing I would hire one of those guys to do.

  49. Re:Real-work problem? by Samantha+Wright · · Score: 2

    Up to a point, I agree with you—I've even implemented some optimizations of Smith-Waterman myself, so I know how bad it can get. The thing is, to fully maximize the kinds of cheating that you typically see in demos, you usually have to sacrifice the flexibility of the algorithm itself. A lot of the genius in low-power C64 and Amiga demos comes from precalculating data and constraining the perspectives from which the image on screen is shown; they're illusions. While a demoscene programmer may be excellent at core optimization tasks, these abilities in particular would be go unused. (Metaphors about cutting raw meat with a bread knife come to mind.) It would be better to look for someone more dedicated to the job, especially if they have experience with parallel processing and high-performance computing.

    Of course, that's not to say there aren't individuals interested in all three categories—graphics tricks, code optimization, and high-performance computing—but the aptitudes aren't correlated. Demosceners are motivated by a strong sense of community, the audacity of their medium, and the gratification of seeing their work in action (see documentary), which doesn't jive well with what computational biology offers.

    ...that being said, I'm a computational biologist, I'm pretty fond of the demoscene, and I hate BLAST; where do I sign? :)

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  50. Re:Real-work problem? by LesFerg · · Score: 1

    I got an idea.Pay him to do it. Your company works for money.

    Heh. Money well spent on Health IT innovations.
      -
    sorry, spilt my coffee.

    --
    If I had a DeLorean... I would probably only drive it from time to time.
  51. Mini-text logo version by Anonymous Coward · · Score: 0
  52. Re:Real-work problem? by Anonymous Coward · · Score: 0

    Can't find talented technical folks to join the team, or can't find talented technical folks to join the team for well below market wages?

    Usually when people say one, they really mean the other.

    That's funny, when I said I couldn't find talented technical folk for well below market wages, I'm pretty sure I didn't mean I couldn't find talented folks at all.

  53. Re: Real-work problem? by BlackPignouf · · Score: 1

    I think it's a necessity to have fun.
    Yes, life can be hard, cruel and short, but those are all reasons to enjoy it anytime you have the possibility.

  54. Re:Real-work problem? by chrismcb · · Score: 1

    I appreciate this is a cool hobby project, I just wish the guy would use his not inconsiderable talents to work on something that has a more obvious real-world payoff

    So people need to work on productive stuff that will save lives and treat disease, 24/7. They can't go to the movies, they can't go to the park, they can't take a break. The MUST always be doing something productive? You know, stuff like this is the way some people take a break from their other work. Maybe they enjoy solving problems, or doing something different sometimes. Maybe this person learned something from this?
    Everyone can't be solving hard problems all the time.

  55. Damn, I miss my C64 :/ by C0dey · · Score: 0

    I wish I had kept all of that old stuff through moves and... life :)

    --
    My karma is bad because I'm a bad person.
  56. Troll? by drinkypoo · · Score: 1

    I own HP printers and scanners, I know what I am saying is a fact. HP printer drivers are still stupidly oversized. If you're using a real printer that speaks a real language you don't even need a driver, just the PPD, and that is actually provided for some models. But for their more primitive printers (like personal laserwriters, which for the most part don't even speak PCL) you need to download a massive driver that probably won't work on the next version of Windows. I've owned several HP printers specifically because the prior owners could no longer use them due to an OS upgrade.

    Nice to see there's an HP shill here, though. I wouldn't have thought they could afford them any longer.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  57. if this guy worked for microsoft... by Anonymous Coward · · Score: 0

    640k would still be enough for everyone.

  58. Re:Real-work problem? by Anonymous Coward · · Score: 0

    Meh. For someone who is fond of demoscene you make pretty lazy generalizations about demo coding :/

  59. Re:Real-work problem? by Samantha+Wright · · Score: 1

    By all means, feel free to point out anything specific; I apologise if I've misconstrued anything.

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  60. Re:Real-work problem? by Anonymous Coward · · Score: 0

    The main thing that separates democoders from random coders is that they are more likely to have been doing it since they were, like, ten. Anything else is more an assumption than a fact. What you see at the parties and what gets voted up at pouet/etc is not actually very representative selection of their real skills. People who are really good at something have nowadays done that as their day jobs "since forever" and mostly take a break from it when doing scenestuff.

  61. Obligatory Atari vs. Comodore post by Daniel+Klugh · · Score: 1

    In all fairness, here's the best the Commies have to offer:
    M.O.O.D.
    http://www.youtube.com/watch?v=X3Oqz5WjDPI

    And here's the Atarians best attempt at a Wolfenstein 3D clone:
    Project-M
    http://www.youtube.com/watch?v=Z3-J2-VeoH8

    You be the judge.

    --
    Daniel Klugh
    1. Re:Obligatory Atari vs. Comodore post by Wisdom · · Score: 1

      Starting from your title, this is nowhere near "fair". First of all, it is "Commodore".

      Second, while M.O.O.D. is one of the productions that is closer to being a Wolfenstein 3D clone on C64, it does not represent the best rendering possible. There are at least a few others on C64 that employ better rendering, albeit they are simply demos and would not be considered as playable games (just like mine here). If I am supposed to give some names; One-Der, Living, Brutal Comeback, some Resource demos and a Smash Design demo come to mind at first thought.

      While I appreciate Project-M, the comparison you are trying to do here is like comparing apples and oranges. You take the best effort in Atari world and compare it to some production in C64 world that you think is the best, while it is actually not (technically and aesthetic wise).

      Lastly, one has to wonder why it was obligatory to bring C64 vs. Atari topic under a size limited raycaster feature. Probably, the long time itch of Atarians losing against C64 25+ years ago came alive again. Right.

  62. Re:Real-work problem? by Samantha+Wright · · Score: 1

    I was aware of that, and I feel my point stands: essentially, it would be cruel to hire someone based on a portfolio of work that emphasizes skills the job doesn't require. It's important to recognize how much of a demo is trickery, and that those abilities won't necessarily transfer to a typical real-world job. (Otherwise it wouldn't be a "break" for sceners to work on demos, as you say.)

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  63. Re:Real-work problem? by Anonymous Coward · · Score: 0

    I can just say that you can't tell easily from a prod that there are known cryptographists or medical scanning fft experts working on a demo (or just hanging around and boozing) and it's nonobvious to figure that those folks might be overrepresented compared to the general population.

  64. Re:Real-work problem? by Samantha+Wright · · Score: 1

    Granted, yes.

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  65. Re:Real-work problem? by tolkienfan · · Score: 1

    Actually, a lot of the really talented people go to finance.
    Whether they help humanity on the whole is debatable.

  66. Re:Real-work problem? by sjames · · Score: 1

    Since you said company, I suspect it plans to turn a profit on this. Either convert to a non-profit and ask him to contribute or send him paying job offer.