Slashdot Mirror


Andre Lamothe Launches XGameStation

TheAdventurer writes "Andre Lamothe, author of many popular video game programming books, has released his XGameStation. The initial offering, the XGameStation Micro Edition, is a retro level hardware platform, similar to the old Atari and NES systems, designed to teach enthusiasts and students the elements of console hardware design and effective low level programming skills. The unit comes with an e-book written by Andre on how to develop on the platform using its assembly language IDE (included) and how to make your own extensions to the device. It is priced at $199."

173 comments

  1. Very cool by WarMonkey · · Score: 0, Redundant

    Very cool -- even if we don't build a Beowulf cluster of them.

    --
    -- I could tell right away that she was impressed with my HUGE Slashdot Karma.
    1. Re:Very cool by Anonymous Coward · · Score: 0

      > Very cool -- even if we don't build a Beowulf cluster of them.

      Kudos for preempting them awful jokes!

  2. It's an interesting idea.... by erick99 · · Score: 3, Interesting
    ...and he's posted some games that have been developed by folks using the hardware. I guess it would be a great teaching/learning device but the games are little too retro for me.

    Cheers,

    Erick

    --
    http://www.busyweather.com/
    1. Re:It's an interesting idea.... by nkh · · Score: 1

      I don't think you can explain everything from scratch without being very basic, or retro if you prefer. OTOH are the games still usefull considering Andre downgraded his gaming system?

    2. Re:It's an interesting idea.... by gl4ss · · Score: 1

      well it sure would be more intresting platform to learn on than on some hitachi eval boards with crappy debugger that just 'bugs out' for no reason or another every now and then and a serial terminal..

      --
      world was created 5 seconds before this post as it is.
  3. Pretty cool by Grant29 · · Score: 4, Insightful

    This is a good way to get a new generation of engineers going. I know many of us probably got our start with games, computers, etc at an early age. It seems like it was easier back then because the systems weren't as complicated as they are now. Back then we had nice breadboards, through-hole components, eeproms, etc that made hardware hacking and learning easier. Now with all the SMT, it's hard to jump in and learn from scratch.

    A new device such as this with eduction in mind from the start surely sounds like a nice hobby experience.

    Buy your tech gear for much less.

    1. Re:Pretty cool by Trizor · · Score: 4, Insightful

      The best of the new generation of Engineers will not get started on games, but will begin with low level algorithm design and bottom up programming. An 80 MIP RISC doesn't have the power for abstraction layers. When I first began learning to program way back when, processors capable of this had just hit the market. I was taught, instead of writing the program directly in the language, to write tools for writing tools, then take those tools and write tools for solving a problem. You need to do this once, but there are people who are professional tool makers. This teaches you on a processor not powerful enough for that layerd abstraction that APIs bring, instead you must write directly in the language for speed reasons. It will not train the new generations of engineers, it will give good programmers a toy.

    2. Re:Pretty cool by SQL+Error · · Score: 4, Informative

      An 80 MIP RISC doesn't have the power for abstraction layers.

      Blup?

      As someone who started out on 0.25 MIPS CISC processors, I can comfortably say that you don't have the faintest idea what you are talking about. Abstraction layers appeared shortly after the stored-program architecture. 80 MIPS is serious, serious luxury.

    3. Re:Pretty cool by alienw · · Score: 1

      As far as I see, it is now a lot easier to get into game programming and hardware design today than it was 10 or 20 years ago. There is a device, you know, called a PC. If you can write good games for that, who needs mad 6502 hacking skillz?

      Also, the only package that's impossible to solder with a $5 soldering iron is BGA, which are not that popular. I have successfully soldered 0.5mm spacing SMD chips (about the finest they make) with a cheap soldering iron, a homemade PCB, regular solder, and a roll of Radioshack brand solder wick. If you need a complex PCB with lots of tiny plated vias and such, there are companies that will do it for a very reasonable price.

      In short, I really fail to see the point of this. It's not very good for learning to program -- why would you want to learn to hack obsolete hardware? It's not good for learning hardware -- someone already did all the work for you! It's not a usable game console. What's the point?

    4. Re:Pretty cool by huchida · · Score: 2, Interesting

      This may not be a direct path to engineering, but it would be a good toy for an 11 year old with those inclinations. Most kids, even geeks, aren't going to gravitate towards learning code.

      We all start somewhere, y'know. I knew every peek and poke and hack and crack on my beloved C-64. Not a single hour I spent on it could be considered "useful", but I did walk away with the confidence that I could master any machine.

    5. Re:Pretty cool by Trizor · · Score: 1

      True, most geeks won't gravitate toward learning code, but ASM isn't the best starting point either.

      Games are okay, but when I was first starting out I felt more comfortable with simpler code, the tricks involved in detecting colisions and modelling physics fed to me as "you must do this". I didn't like not knowing how it worked and how to edit it, and expiraments lead to compile errors. As long as this specific teaching tool/toy/whatever have you doesn't have that problem it might do some good, but there are some elements of programming that one must learn to be a truely great engineer.

    6. Re:Pretty cool by kcbrown · · Score: 3, Funny
      As someone who started out on 0.25 MIPS CISC processors, I can comfortably say that you don't have the faintest idea what you are talking about. Abstraction layers appeared shortly after the stored-program architecture. 80 MIPS is serious, serious luxury.

      <grumpy old man>
      0.25 MIPS CISC? Luxury! Why, back in my day, we had to do the calculations in our heads and push the bits back and forth manually, uphill both ways too! And we liked it!

      Kids these days....
      </grumpy old man>

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    7. Re:Pretty cool by mattypants · · Score: 1

      If I recall correctly, 80 MIPS is more than a 486 can turn out - and I'm certain abstraction layers have been used on far lesser CPU's. As for RISC, I still maintain an AlphaStation 4/166 from 1993 that does, well, 166 MIPS - but it runs RH7.2 very nicely, is a web proxy for 25 people on a 1Mb pipe, supports at least two simultaneous X clients on some days and still has time left over to run the odd web log analysis. So, if 80 MIPS is not enough for you, I would hate to be the the poor sod who has to live with your software!

    8. Re:Pretty cool by Megane · · Score: 1
      8 bit video game systems are still plentiful (just not new in the box), and relatively easy to hack on. Atari 2600, 5200, 7800, 800, Colecovision, NES, etc. There's no need for SMT. (Except maybe to make development RAM cartridges.) TTL chips are still readily available. GAL chips weren't available back in the day, but are also useful. Sub-4MHz bus speeds avoid the need for tricky layouts.

      This is an interesting device, and looks fine for teaching purposes, but the price tag combined with the uniqueness of the CPU means that it's a curiousity from out of the gate. They originally wanted to make one with an ARM CPU, which might have been better in being a standard architecture, but I understand their decision that the first cut was "good enough" without an ARM.

      As a video game collector and hardware hacker, I'm impressed, but not interested. What this can do that a 2600 or other 8-bit game system can't do due to lack of CPU power might as well be done on a PC or Playstation or Dreamcast anyhow.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    9. Re:Pretty cool by justin_saunders · · Score: 2, Informative

      Yeah it was easier in those days, but "those days" are never going to come back, so this whole idea has missed a fundamental point - games programming has changed. Not that LaMothe would know, he's written more clueless books and pulp articles than games.

      I've been a game programmer (PC/XBOX/NGC/PS2) for around 4 years and I have used assembly language approximately ... *never*.

      Yes for some roles in game programming, there is a need for low-level assembly knowledge. But the biggest challenges nowdays on multi-platform, multi-million dollar projects are not shaving a few cycles off a loop. Solid software engineering skills, working as a team with various disciplines (tool design/art/QA) are far more useful to aspiring games programmers than assembly skills.

      Unfortunantly even the games industry hasn't realised this yet.

      --

      "My cat's breath smells like cat food." - The Tao of Ralph Wiggum.
    10. Re:Pretty cool by Anonymous Coward · · Score: 0

      Four Whole years!?

      We must all bow to your wizened grey beard. So that is how many Titles released that you were lead on?

    11. Re:Pretty cool by cmowire · · Score: 1

      Ahh, but you can do BGAs in a $15 used toaster oven.

      The problem, of course, is that you pretty much are going to have to get your board professionally fabricated because I can't see that being too happy of a situation without mini vias.

    12. Re:Pretty cool by alienw · · Score: 1

      Yeah, I've heard of that. You would probably want a 4 layer board, too -- dang near impossible to route the power pins on even a smallish BGA. Not to mention the damn things are impossible to debug since you can't get at the pins. In short, it's not really suited to DIY use unless you use a PGA adapter. But hopefully, we won't be seeing too many of those things -- most companies still have very few BGA products (mostly DSPs with wide memory buses). But still, IMO the hobbyist has many more possibilities now than they did 20 years ago.

  4. interesting by Quasar1999 · · Score: 1, Interesting

    How many people out there do you think there are that would want to learn assembly? I learned it when I was young and tinkering with a C64... but now a days, you ask any young programmers, 95% of them don't want to bother learning assembly...

    Don't get me wrong, I do embedded development, and use of ASM is frequent, but modern consoles don't need such low level programming, the API's handle almost everything... I doubt that this is so much about learning to program consoles, as it is learning to develop for embedded systems... modern consoles don't qualify in my books...

    --

    ---
    Programming is like sex... Make one mistake and support it the rest of your life.
    1. Re:interesting by duckpoopy · · Score: 4, Informative
      but modern consoles don't need such low level programming

      You haven't done much PS2 programming, have you? I have, and yes they do.

      --
      word.
    2. Re:interesting by interiot · · Score: 1

      When you've got 4K of code space, like this chip has, you have to get creative. Plenty of people are still hacking with these tiny devices, often in assembly.

    3. Re:interesting by FLAGGR · · Score: 2, Informative

      Game code still uses alot of assembly, unless you want it to go at 10 FPS. Letting API's handle stuff isn't always freat, theres overhead and at leasy 99% of the time bulk. (You rarely use 100% of the features of anything) Reinventing the wheel is bad, but I have code I've made myself that I reuse in games, and just play around with it a bit so it so it perfectly fits the games needs. For other stuff though, I agree with you, unless your programming for some special case (Embedded stuff, robots, games etc) then there is no need for ASM, and API's are great.

    4. Re:interesting by sm.arson · · Score: 3, Insightful

      At my job, most of the code I write gets changed around dozens of times before the product is out the door. That's just the nature of the business.

      First they want a space ninja, then they want a caveman lawyer. The game you start programming the first month of the project is almost guaranteed to be an entirely different game from the one that you finish.

      Frustrated with all of the changes, I asked my boss once for the design document, and he pulled out a barely legible scrap of paper.

      That goes for the low-level hardware stuff too. Even the hardware might change mid-project! My sprite code stopped working one day after we got new boards from the hardware people. I called them up, and sure enough, they changed around the hardware! (Thanks for telling me beforehand!)

      Long story short; assembly programming is a skill that every serious game programmer should know, but you never know where you're code is going to end up, so it only makes sense to write well-documented C/C++ instead of the complicated ASM equilavent. (yes, I know you want to prove how clever you are with your 100% ASM programs, but in a professional environment you need to make sure that your code is understandable and modifiable by everyone on the project.)

      Even on the low-level system I described in my previous post, we still use C.

      --
      for great justice, this sig has been moved
    5. Re:interesting by shamilton · · Score: 2, Insightful

      Read the Quake II source (sans obsolete software renderer) and tell me "game code still uses alot of assembly." Even the math library is C. And that was seven years ago.

      --
      "[A] high IQ is like a Jeep; you will still get stuck, just farther from help!" --Just d' FAQs, c.g.a
    6. Re:interesting by Anonymous Coward · · Score: 0

      Theres nothing wrong with that, but I'd still do some profiling after the finished product is done and use assembly to tweek the code thats met the most during runtime.

    7. Re:interesting by Anonymous Coward · · Score: 0

      Dispite reports on the contrary, Assembly programming is not hard.

    8. Re:interesting by Anonymous Coward · · Score: 0

      Maybe your friend is the asshole. Becuase I've done PS2 coding as well and you use a LOT of assembly. VU1 and VU0 code is essential and it's all RISC assembly. Your friend is probably one of those dummies that only writes the interface code in C or something.

    9. Re:interesting by Fjornir · · Score: 2, Insightful
      A good argument, except for one fact: "game code" does not always equate to "games for a PC with all-you-can-eat memory/disk/clock cycles/...."

      Look at titles for portables, the smaller handhelds (e.g. a gameboy), a great many of the uprights in the arcade...

      The fact is that a lot of code is still being written for devices/systems where your app will be seriously starved for resources. This is where "game code still uses alot[sic] of assembly". And you can bet that even though the bulk of the codebase may be in C that someone has taken the time to disassemble it and make sure the compiler is doing the right thing -- and then re-writing portions in assembly or reworking the code to make the compiler perform better on it.

      --
      I want a new world. I think this one is broken.
    10. Re:interesting by vsync64 · · Score: 1, Informative

      C is low level, you nitwit. It's just portable assembly...

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    11. Re:interesting by alienw · · Score: 1

      These days, programmer time is much, much more expensive than hardware. Assembly code tends to perform about as fast as well-written C code, but requires 10x the time to write and debug. C is very close to assembler anyway, and a good programmer will know what the compiler will do. After some profiling and optimizations, it might even be faster than the assembler version would.

      Even C is a bit too low-level for many things. Many types of games (such as MMORPGs) are much easier to write in higher-level languages like C++ or even Java. There, you aren't as concerned about performance as you are about rapid development and controlling bugs.

    12. Re:interesting by Fjornir · · Score: 1
      These days, programmer time is much, much more expensive than hardware.

      Oh. I see! You're going to pay to have the arcade uprights upgraded to your insanely bloated spec out of pocket? You're the man who's going to go out and solder new procs into every gameboy currently in the user's hands? Wait, no, I've got it! You didn't happen to read my post! Yes, that's it!

      Even C is a bit too low-level for many things. Many types of games (such as MMORPGs)

      The fuck?!? The last time you saw a MMORPG running on an arcade cabinet was... When? On the gameboy of your choice? Grab yourself a clue, dude...

      --
      I want a new world. I think this one is broken.
    13. Re:interesting by antime · · Score: 1
      It's not only console/game programmers who would benefit from some low-level knowledge. At work, the majority of people have never touched hardware directly and come asking for advice on bit-level presentation and stuff. If the debugger breaks in a part of code they don't have the sources for, they're hopelessly lost because they don't even have a basic understanding of assembly language.
      It's even worse at university, though. Since Java is now the official teaching language you have classrooms full of people who can't grasp even the concept of pointers.

      I agree with those that say that there is no more room for assembly language development (especially in application software), but having even some knowledge about it is so handy it should be mandatory.

    14. Re:interesting by Anonymous Coward · · Score: 0

      You were the one that brought up Gameboys and arcade machines. Everybody else was talking about consoles and PC's. You might want to grab a clue yourself, first.

    15. Re:interesting by alienw · · Score: 1

      I guess you've never heard of PS2 or Xbox, have you? Seems like that's a much bigger market than arcade machines. It isn't 1984, you know.

      As for my "insanely bloated spec": I'd rather spend an extra $10 per arcade machine on hardware than spend millions fixing bugs and completely rewriting the software when I decide to switch to a different hardware platform. I'll probably end up with a better game, too (since I can concentrate on making a great game instead of writing math libraries in machine code and worrying about who changed some bit in some register).

    16. Re:interesting by Fjornir · · Score: 1
      I guess you've never heard of PS2 or Xbox, have you? Seems like that's a much bigger market than arcade machines. It isn't 1984, you know.

      Sir, please reflect: I was illustrating some cases where assembly is used, quite heavily: uprights and handhelds. Why that should equate to me not knowing about modern consoles is beyond me.

      ...I'd rather spend an extra $10 per arcade machine on hardware...

      Check it out - that pretty much is not an option! Your ROM is going into a cabinet that already exists, you don't get to spec a new cabinet for every title. Later on your ROM will be pulled out of that cabinet, and someone's going to stick a new one in. Same goes when you ship a cart for the portable of your choice.

      Peace out!

      --
      I want a new world. I think this one is broken.
    17. Re:interesting by Junks+Jerzey · · Score: 1

      When you've got 4K of code space, like this chip has, you have to get creative.

      True, but it depends what your goal is: designing a great game or learning to bum cycles and bytes from assembly code. I would humbly suggest that the latter is significantly more valuable than the latter.

    18. Re:interesting by Junks+Jerzey · · Score: 1

      Uh, "the FORMER" is significantly more valuable than the latter."

    19. Re:interesting by PainKilleR-CE · · Score: 1

      Check it out - that pretty much is not an option! Your ROM is going into a cabinet that already exists, you don't get to spec a new cabinet for every title. Later on your ROM will be pulled out of that cabinet, and someone's going to stick a new one in. Same goes when you ship a cart for the portable of your choice.

      Why not simply use one of the many cabinets made in the last ~10 years that is at least somewhat compatible with modern consoles? Stick to portable and embedded devices if you want heavy asm use, the cabinets have been moving away from it for quite some time, especially in the US where the arcade barely exists.

      --
      -PainKilleR-[CE]
    20. Re:interesting by Anonymous Coward · · Score: 0

      I firmly believe that the LADDER is more valuable then the latter. THank you thank you, i'll be here all week!

  5. Point? by caramelcarrot · · Score: 2, Interesting

    If you cannot do that sort of stuff on a modern computer (which you can, to an extent), what's the point in learning about it? Is it just for people who want to learn ASM, with the prospect of being able to use it in embedded devices or something? These days alot of the graphical things are handled by the GPU anyway, meaning much of what you learn is rather useless in terms of modern game programming, plus any of your creations have a rather limited distribution market. Though it is rather cool if you DO want to make things in ASM larger than your normal bits of inlined stuff, I guess.

    1. Re:Point? by canavan · · Score: 3, Interesting

      If you cannot do that sort of stuff on a modern computer (which you can, to an extent)

      You just can't do the stuff the xgamestation does with modern hardware. Modern hardware has a framebuffer, but this thing has a directly controlled raster stream allowing pixel level timing and color control via software loops, so essentially you have to calculate and update the color of each and every pixel you want to display on the fly. With modern Hardware you're hard pressed to even get notified of the vertical retrace. What you learn with this thing is useless for programming modern games on modern hardware, but It may be a fun way to learn assembler (that's just an 8 bit CPU in there - they planned to use an ARM but found it "too complex") and realtime programming similar to what you would have to do on DSPs.

    2. Re:Point? by leabre · · Score: 4, Interesting

      In the near future the ARM version will be released. They wanted to have a "simple" system to start and work their way up to a more complex system.

      Thanks,
      Leabre

    3. Re:Point? by Paleomacus · · Score: 1

      I think the point is that it's just pretty damn cool no matter how pointless it seems. Imagine giving your kid a console like this. Then when they ask for new games let them write their own games or modify the ones they are currently playing. At least they and you will get more bang for your buck.

      I would like to see something like this but on the order of a modern game console.

    4. Re:Point? by Anonymous Coward · · Score: 0

      Coolest slashdot id ever.

    5. Re:Point? by alienw · · Score: 1

      essentially you have to calculate and update the color of each and every pixel you want to display on the fly

      This isn't fun, it's a royal pain in the ass (even if you are programming Pong). That's why everyone uses framebuffers these days. If you want fun, get an 8-bit PIC microcontroller and play around with that. At least what you will learn might come in useful someday. I really fail to see the point in learning to program obsolete video chips. Lots of work, zero payoff.

    6. Re:Point? by Anonymous Coward · · Score: 0

      You sir are a tard. You are probably the type who thinks you must be skilled or trained at a specific skill instead of learning an all around aproach to hardware and software design regardless of platform. If such was the intention, why didn't they just make a PC with modern hardware and a compiler because that would be such tremendous payoff.

    7. Re:Point? by alienw · · Score: 1

      If you want to learn theory, pick up a good EE book. If you want to learn practical things (which is what this is), I would think it's better to start by learning something that's actually useful today. If learning how to program some ancient graphics chip actually taught you something useful, I'd be all for it.

      Unfortunately, acquiring that knowledge takes quite a bit of effort and it's completely irrelevant today. There are many cool things that are being made today (FPGAs, DSPs, all sorts of microcontrollers, and so on). You could make much cooler things by learning how to use them instead of some primitive hardware platform that's completely obsolete.

    8. Re:Point? by pkhuong · · Score: 1

      The SX IS a PIC, only a souped up PIC that goes up to 75 MHz, and thanks to the pipeline, 75 MIPS.

      --
      Try Corewar @ www.koth.org - rec.games.corewar
  6. Very Cool indeed, I may buy one.. by Trizor · · Score: 0, Redundant

    Its like a console, but you can make your own games for it, and its not attached to Microsoft! Yay!

    1. Re:Very Cool indeed, I may buy one.. by rayde · · Score: 1

      there are people developing home-brew software for lots of other consoles... Dreamcast, Gameboy, etc. They're available for a lot less than $199, and not tied to microsoft either.

    2. Re:Very Cool indeed, I may buy one.. by Anonymous Coward · · Score: 0

      Kind of like a computer, what a deal!

    3. Re:Very Cool indeed, I may buy one.. by amling · · Score: 1

      Dreamcast, yes. Gameboy, I don't know. But for XGS, you may want to consider how you define "not tied":

      Date:Thu, 19 Aug 2004 02:58:06 -0700
      From:"support" Add To Address Book
      Subject:Re: XGameStation Mailing List: The XGameStation Micro Edition is Ready to Order!
      To:

      For now -- I assume you use a mac or linux. Developing for the mac would be
      a waste of time, developing for linux would also be a waste of engineering
      time at this point, 99% of the market has windows even if they like linux as
      well, so 1% of the audience ONLY uses linux, that wouldn't justify the
      engineering time to port everything. However, I am sure, and hoping that
      other developers will port stuff, etc. We simply can't do everything
      though --

      Andre'

      ----- Original Message -----
      From:
      To:
      Sent: Thursday, August 19, 2004 1:32 AM
      Subject: Re: XGameStation Mailing List: The XGameStation Micro Edition is
      Ready to Order!

      > Cute. Now, about the "unified" windows IDE... Is the only development
      > mechanism for this system a windows IDE? Have you left those of us
      windowless
      > out in the cold?

      --
      70e808a22cb027cde4a6abddf6435d55
  7. Take this with a grain of salt by Anonymous Coward · · Score: 5, Interesting

    A bit of background on Andre....

    I'm posting this AC because I know this will get modded down as flamebait.

    I've been working in the game industry as a programmer for 15 years, and have never regretting purchasing a single technical book (and I've bought hundreds) until, one day when I was at Barnes & Noble, buying six by Andre Lamothe thinking they might be useful.

    Not only are his books terribly tied to specific platforms (he wouldn't know how to program if sample code wasn't handed to him on a platter by Microsoft--most of his sample code is taken STRAIGHT out of Microsoft's examples), but he can't write a paragraph without factual errors to save his life.

    I remember a whole section where he was talking about 56 Kbps modems having a total of 56 Kbps of bandwidth split between incoming and outgoing data, and if you sent more, you could receive less. And another where he dismissed NAT because IP addresses on the internal network would conflict with those on the Internet and the idea would never catch on (he'd never heard of reserved netblocks, apparently).

    He has become just a name and a marketing tool; do NOT rely on him for actual game programming tips and information.

    1. Re:Take this with a grain of salt by interiot · · Score: 1
      And maybe a bit of commentary on this board in particular...

      The exact specs are:

      • 4K of code space
      • 128K RAM
      • 100MHz processor

      These chips DEFINITELY have their place (eg. are compact enough to build the retro Atari-games-completely-inside-controller things), but aren't to be confused with a $200 X-Box, which you can learn game development on, but which would be much more powerful.

      There are plenty of SX52 development boards available to play with, many cheaper than this. Personally, for hardware hobbyists, the main draw of these boards is something to quickly let me play with the broad range of functionality of the devices, so I can figure out how to build a smaller/cheaper board for specific tasks later. Others may be able to better comment on how good of a deal this is...

    2. Re:Take this with a grain of salt by baywulf · · Score: 1

      As I understand it he is the series editor for most of the books. His name headlines the books but the actual writer's name is in fine print.

      Secondly how many games has this guy actually published?

    3. Re:Take this with a grain of salt by oskillator · · Score: 4, Funny

      My favorite was when he suggested that it might be possible to speed up the putpixel calculation in mode 13h by using a two-dimensional lookup table to figure out what memory location in which to store the value.

    4. Re:Take this with a grain of salt by Anonymous Coward · · Score: 0

      Yes, I made the mistake of buying one of his books once as well. None of the sample code supplied in the book compiled, and that was with the compiler included with the book!

    5. Re:Take this with a grain of salt by pat_trick · · Score: 2, Informative

      I have two of his books on my desk right now, since they're what the public library had available, and I've had nothing but a headache reading them. He assumes way too many concepts that a novice programmer would not be able to pick up--and this is in his "beginning X game programming" series of books, where X = type of api. They go back to the library today.

    6. Re:Take this with a grain of salt by Anonymous Coward · · Score: 0

      You laugh at this but that is NOT such a wacked out idea. If you are using pixels that fall on byte boundries this is probably a waste. But for pixels that may not fall on byte boundries there is an extra set of calculations to do to find out where it falls. You can pre calc it. It may not seem like a lot but instead of an extra shift you already 'know' the value. Or lets say for example its a 640x480x16(color) screen. You have to touch each 'pixel' 60 times a second. For 18432000 extra shifts you would be removing PER second. THAT adds up... Also on some of the older processors left shift vs right shift was faster or slower... Yet XOR maybe be faster than both...

      Precomputation of repeated tasks is a VERY good way to speed things up. For example back in the day sin/cos lookup tables were VERY common. I saw them being used up till about MMX came out. Which at that point it was just as fast or faster to let the processor take care of that thing.

      A lookup table MAY seem like an absurd idea at first. But most of the time they smoke.

      It is a fairly common thing in Comp Sci. Trade memory for speed. The hardware MAY be able to do it but it could be slow doing it. Let the HW calc it once for you store the result somewhere and just look it up from now on. Now if memory is a premium you tend towards whichever is smaller memory array or code space...

      These days MOST of those 'speed' hacks make little or no sense at all as it IS faster to compute it every time. But to know these things can mean the difference between 'what is it doing?' and 'thats fast'.

    7. Re:Take this with a grain of salt by golrien · · Score: 1

      in fairness, you seem to be missing the point. Looking up an address in a two-dimensional array would take exactly as much calculation as the address of a pixel in mode 13h, so there's no possible way it could increase speed.

    8. Re:Take this with a grain of salt by Anonymous Coward · · Score: 1, Informative

      Hmm, unless, perhaps the array was sized 320 rows of 256 elements, and you looked up [width][height] rather than [height][width]:

      unsigned short lookupTable[320 * 256];
      #define offset(x,y) lookupTable[((x) << 8) + (y)]

      Not that it's a GOOD idea (it's not--it's dumb, especially in the days of Mode 13h) but since the Y values range 0-199, that fits in 8 bits. So if you transpose the lookup table like this, you can avoid multiplying by 320 and instead shift left by 8, which will be faster, and look up the pre-multiplied values. (You are wasting 56 elements per row, which will always be unused, and that array won't even fit into a single segment in 16-bit mode.)

      Even though THAT might be faster than calculating the offset directly, it's even FASTER to instead pre-multiply each of the 200 row values by 320 and add the X offset, using a ONE dimensional lookup table:

      unsigned short lookupTable[200];
      void InitLookupTable ( )
      {
      int i;
      for ( i = 0; i < 200; ++i ) { lookupTable[i] = i * 320; }
      }
      #define offset(x,y) (lookupTable[y] + (x))

      That uses way less memory and even avoids the left-shift. And that's why Andre is an idiot.

    9. Re:Take this with a grain of salt by psetzer · · Score: 1

      I remember looking through a how to program in Java book in one of the series, but God, did that have problems. For the love of Jesus, don't make your class containing the main method implement Runnable and then pass an instance of itself to the main method to run in a thread. Just because you can doesn't mean that you should. I mean, hell, you can pour salt in your eyes all damn day long, but should you?

      --
      "Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
    10. Re:Take this with a grain of salt by Anonymous Coward · · Score: 1, Insightful

      I really blame you for buying 6 books by a single author if you're not familiar with his work to know better. That's just pretty freaking stupid.

    11. Re:Take this with a grain of salt by Anonymous Coward · · Score: 0

      Nah, not when it's part of a purchase of around 30+ books (it was at the end of the year, since they are a tax-deductible business expense). It's easier to just buy them all and sort them out at home later than to research and pick and choose at the store.

    12. Re:Take this with a grain of salt by Anonymous Coward · · Score: 0

      I've also seen a lot of good books in 10 years as a game programmer. I made the mistake of buying a Lamothe book in about 1997. His approach to 3d graphics was so ass backwards it took me a long time to unlearn what I had unfortunately learnt from that book.

    13. Re:Take this with a grain of salt by KewlPC · · Score: 1

      In mode 13h all the pixels fall on byte boundaries. In fact, that's what made mode 13h so popular: each pixel was represented by a single byte, and that byte contained an index into a 256 color palette.

  8. A Dreamcast is cheaper. by wantedman · · Score: 3, Insightful

    and more powerful as well.

    Around $25 for the system on ebay, then a quick search for a bootdisk.

    Plus, it can be made bootable, so other people can play your game without any modifications to the DC.

    1. Re:A Dreamcast is cheaper. by antime · · Score: 1

      The documentation is however a bit lacking, which IMO makes it less-than-ideal as a starting platform.

  9. Lamothe gets big points for this by noone42 · · Score: 0

    His Tricks of the Game Programming Gurus books were great intros to game development, but when I saw his name as the editor of the lousy prima tech game development series, I thought he'd given up. It's encouraging to see that he's still interested in sparking new things in homebrew game design and not just sitting on his success to make money.

    1. Re:Lamothe gets big points for this by Anonymous Coward · · Score: 1, Interesting

      I'm glad I'm not the only one who noticed those books were lousy. HOLY CRAP. Those are the only books I've ever thrown away. Ever.

    2. Re:Lamothe gets big points for this by Anonymous Coward · · Score: 0

      Actually, I think this is really no different from him being "editor" of that series of books. They are just using his name to sell their product--like George Foreman and the George Foreman Grill. Who believes George Foreman actually came up with the idea for that, or had anything to do with it beyond endorsing it? (If anyone here is crazy enough to believe he did, he didn't. But it still made him upwards of $150 million.)

  10. Would have made a cool college course by jmcmunn · · Score: 1, Interesting

    I wish we had this when I was in school, it would make a good course, imho

    1. Re:Would have made a cool college course by Anonymous Coward · · Score: 0

      " I wish we had this when I was in school, it would make a good course, imho"

      Single board computers and controller kits have been around since the 1970s. So, something like this **WAS** available when you were in school.

  11. Evidently his server is an XGameStation... by Nova+Express · · Score: 1
    ...seeing as how the link's been Slashdotted after seven comments.

    Maybe he should have gone with something more powerful than an 80 MIP RISC processor. I mean, they give those away in CrackerJacks now, don't they?

    --
    Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)

    http://www.lawrenceperson.com/

    1. Re:Evidently his server is an XGameStation... by interiot · · Score: 2, Informative

      Yeah, that's where I'm heading too. Even the $80 Linksys WRT54GS has a faster processor, right? I don't know how economical these Single-Board-Computers are, but you can get pretty fast CPUs for a reasonable amount of money, and low-power enough to still not require a fan. Are these sort of things in the realm of hobbyists, or does it become to expensive/difficult to engineer single quantities of these?

    2. Re:Evidently his server is an XGameStation... by Zeebs · · Score: 1

      The REAL XGS was slated to have an ARM7 in it with sockets for a 6502, and Z80 on the board. But they thought that the market was to stupid for that so they released this _thing_. Everyone should pressure them to release the real XGS with the ARM7, they claim to have it finished just that we are too stupid for it.

      --

      Happy Noodle Boy says "F###ing doughnut! Mock me? You fried cyclops!!"
    3. Re:Evidently his server is an XGameStation... by Anonymous Coward · · Score: 0

      There was supposed to be a 65816, I was interested when they said that originally.

      What they're showing now kinda.. sucks.

  12. They changed it by tepples · · Score: 2, Informative

    The XGS was changed beyond recognition. Before, it had a Super NES style GPU. Now it has one more similar to that of the Atari 2600, where the CPU has to output each pixel one by one.

    1. Re:They changed it by nkh · · Score: 1

      It was supposed to be 10 times more powerful than a SNES and the controllers were those of the PS2. I don't know what happened. At least, it's not vaporware anymore :)

  13. Good for pros too... by sm.arson · · Score: 4, Interesting

    The design of the xgamestation is almost *exactly* like the arcade hardware that we're using at work.

    This little bit of hardware might seem to be underpowered, but I can tell you from experience that this is the kind of stuff that a lot of professional game developers are using today.

    With the arcade business being what it is today, the challenge is to fit the most amount of game into the smallest (meaning cheapest) hardware. The game I'm working on right now runs on hardware (similar to the xgamestation) that only costs about $40 for each unit. It's basically a 66mhz Z80 cpu, 4mb of texture memory, and an fpga that is really good at moving around memory, and it's a childrens redemption piece (ticket spitter) that's going to sell like hotcakes.

    When I applied for my current job, I was one of the only guys who had any non-pc game development experience (through the sony net yaroze). This little box should open the door for a lot of aspiring game programmers.

    Between Torque and the XGameStation, young programmers have no excuse for not having a kick-ass game for their demo reels.

    --
    for great justice, this sig has been moved
    1. Re:Good for pros too... by Anonymous Coward · · Score: 0
      A 66MHz Z80 with 4MB of texture memory?

      Do you mean a Z8000(add zeroes as applicable), or are you doing some very funky things with water cooling (66MHz) and paging (4MB of texture memory)?

    2. Re:Good for pros too... by sm.arson · · Score: 4, Interesting

      Opps. I did mean a 68000. Dragonball SZ to be exact.

      --
      for great justice, this sig has been moved
    3. Re:Good for pros too... by marcansoft · · Score: 1

      The funniest part of that machine is that it has exactly the same amount of texture RAM as the PS2 has of texture+zbuffer+framebuffer RAM.

      That's actually one of the things I most hate of PS2 programming, plus all textures have to be aligned and need to use sizes that are powers of two, and blah blah. You have to squeeze every little byte of VRAM. Indeed, there is even a mode where you store x-R-G-B pixels and I-x-x-x (I=palette index for indexed textures) together in a single 4 bytes as I-R-G-B (i.e. 2 textures in one)

      The PlayStation2 might seem like a very powerful machine, but you really have to be careful in some places...

      OTOH I've done programming on 1 MIPS PICmicro microcontrollers (assembler) with some 150 bytes of RAM (on the newer models, others had some 80). I haven't done cpu-intensive tasks (except once where I had to do some multiplications and divisons... ARGH no hardware mul/div) but I recommend people to google for a program that played PONG on a TV using one of those chips (clocked at 2.5MIPS this time) doing the raw NTSC/PAL signal with 2 resistors on 2 output pins. It even did text and menus. There is also a tetris. Wow.

  14. Perhaps the point of this device is being missed.. by Trizor · · Score: 3, Insightful

    He may have built this more for people who want to learn for the sake of learning, not for any particular glory or power. True, APIs are great, but you cannot be a truely great programmer unless you know what the API is doing, and could at least theoretically craft it your self. Doing it all your self once for the sake of learning it will make you a better programmer when you retrun to useing the APIs because you will know how the internal algorithm is working, and can make your code intergrate better.

  15. Built in Programmer? by Anonymous Coward · · Score: 4, Funny

    The article says "built in programmer".
    I knew the Japanese people were small, but this is ridiculous.

  16. Want to learn to programs for "retro" systems? by poptones · · Score: 4, Insightful

    You can learn to program on DOZENS of the best "classic" arcade platforms (as well as more modern stuff like Dreamcast) and it won't cost a dime. Download MAME and an assembly language manual for the machine of choice and have at it.

    1. Re:Want to learn to programs for "retro" systems? by ravingidiot · · Score: 3, Interesting
      An emulator isn't always the best solution when you're trying to learn how to program on any system, espescially when its involving a system with very little public documentation about it. There are a few reasons NOT to use an emulator when you're programming in low-level languages like assembly:

      1. The emulator may lack subtle "non-priority" features related to the hardware.
      2. The author's personal additions to the emulator to make it easier to use.
      3. Corners cut in various parts of the "hardware" for readable or easier programs, faster execution, etc.

      An emulator also often means that the performance may be less than expected because of the actual instruction:result ratio. If you're doing programming for actual hardware, an emulator is nice but a physical machine is a good thing to have.

      You're not just paying for the motherboard whenever you buy this package. You're buying an IDE, documentation explaining the hardware, plus an emulator designed by the same people designing the hardware. While it's true that there are free alternatives to almost every mainstream console out there, they're usually not officially by the manufacturer for obvious reasons and alot of them are works in progress.

      Whether it's actually worth its weight in gold or not, the important thing is that you pay extra if you want the official development tools for your gamecube, your PS2, or your dreamcast. If Nintendo, Sony, or Sega did that, then who's gonna garuntee the big-label companies make as much money as they do? Would there be any point in spending millions in R&D for these companies?

  17. Its great to by ninji · · Score: 1, Informative

    Its great to see someone using their skills to educate other people instead of just trying to make money....

    I really consider the main problem with America in whole to be that we stress the point of our exsistance to 'live for whatever we want to' for our own desires etc, instead of living for the better of humanity, society, earth as a whole, or anything... I myself enjoy learning, as most /.'ers probably do, but I used to hate it becuase I was rasied being told it was 'hard' and that i wouldnt want to do it etc....

    The American ideal is that school is work and hard and you shouldnt want to be there, if I wasnt raised with that set of ideals I probably would of gained my love for learning and knowledge when I was alot younger instead of now when im not in an enviornment where I can learn as often/much as I like....

    Wow that turned into a rant... But yeah, great to see something like this, ESPECIALLY when hardware enginering/hard coding just ISNT popular like common applicaiton programming is today(how many kids do you know hardware engineering, and how many that knowsome c++?), things like this will help it to catch on...

    1. Re:Its great to by vsync64 · · Score: 4, Interesting

      Too bad parent is erroneously marked offtopic... I think it's spot on.

      I've actually met André LaMothe. I was 14 or 15 at the time and living in Milpitas. I sent an email to the CompuServe account listed in the back of his book and he not only was kind enough to reply promptly, but explained several of the concepts I was having trouble with to me over the phone in more detail. He gave me a copy of what was at the time his newer book, as well as an older version of Watcom C/C++ that he wasn't using any more.

      I was used to always writing to an API (I wrote, as an exercise, my own mini-OS in assembly, but it still used the BIOS for everything) and coding to bare metal was a new thing to me. I knew of the dangers of C macros (multiple evaluation, etc) and so avoided them entirely, but he gave examples of where they could be used to great effect and how to avoid those dangers. I learned about how to implement preemptive multitasking from his books, about effective use of lookup tables, about how knowledge of higher math can be leveraged to write much more efficient code.

      His newer books ended up focusing on DirectX, and I lost my interest in game programming when I realized that without a full studio and millions of $ it would be near-impossible to compete with the Quakes and other established models that continually raised the bar. I now program in a business context (amusingly enough, using Lisp macros heavily, which put anything C macros can do to shame) but I'm grateful for everything I learned from his books.

      I think this XGameStation is a great idea. I may buy one. Something which can show inexperienced programmers through experience the difference between an effecient algorithm and an inefficient one is an idea I fully support, and this looks like it could end up being lots of fun besides.

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    2. Re:Its great to by Anonymous Coward · · Score: 0

      God you're an idiot.

  18. Re:News Flash by RTPMatt · · Score: 4, Insightful

    Spend $199 and hours of time to learn obsolete skills? Games aren't programmed in assembly anymore... things have changed in the last 20 years.

    It would appear you have completly missed the point here. First they do plan on making compilers for C and basic.

    second on of the main ideas here is to learn how to be a GOOD programmer, the limitations of the system will force you to code well. this wont be like a desktop where you can have super sloppy code, but Ghz of power to force it to run.

    Third, one of the things this is designed to teach is the hardware side of things. Its designed to be a completly open system to let you hack, tinker, and create. It comes with a book that teaches you the entire EE side of designing such a system. The idea being that if you dont like this system (or just think it might be fun) you can build your own system, and make it do whatever you want.

  19. Dreamcast Programming by ecliptik · · Score: 5, Informative

    200$ is a bit expensive for a hobby video game programming system. Why not just pick up a dreamcast for cheap and use it?

    There are plenty of resources for it and some good examples of homebrewed games and applications already out there.

    Not to mention it's a lot more modern and you can use some nice rendering hardware.

    Linkage:
    Dreamcast Programming
    Dreamcast Homebrew
    Dreamcast Emulation

    1. Re:Dreamcast Programming by Eric604 · · Score: 1

      Yes, or an amiga 500 or 1200 if you want to focus on 2D. It has a processor with a very nice instruction set and nifty video hardware. But I guess old stuff doesn't sell well. ;)

    2. Re:Dreamcast Programming by Megane · · Score: 2, Interesting
      This does have the one advantage of being a system 1) designed to be programmed by amateurs and 2) available for order in quantity.

      You couldn't base a college class on Dreamcasts because you couldn't order them in reliable quantities, or get them repaired easily, and you have to burn CD-Rs all the time. Well, okay, you could, but you'd eventually come to a point where it was more trouble finding units at non-fixed prices off of ebay than it was worth. And DC serial cables are too hard to find and DC BBAs are too expensive.

      In fact, I think the best system out there right now for teaching game programming might be the Game Boy Advance. ARM processor, easy to load software over a link cable, easy to buy in quantity.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    3. Re:Dreamcast Programming by pommiekiwifruit · · Score: 1

      Because it is not designed to teach people programming? It is intended to teach them circuit design, and how video works. The dreamcast does not come with a book called "how to design a dreamcast".

  20. And, as predicted... by rd_syringe · · Score: 0, Flamebait

    ...you got modded down for speaking against the hivemind.

  21. Could this run doom? by dave2112 · · Score: 1

    Anyone know if this has enough horsepower to run the original Doom?

    1. Re:Could this run doom? by Anonymous Coward · · Score: 0

      No way. Someone, anyone go ahead and prove me wrong, I dare you.

    2. Re:Could this run doom? by Dreamwriter · · Score: 1

      Doom as it was? No - not in 4K. But there is a ray-caster for it already, which is what Doom used for its 3D engine. Check out the video here: http://www.xgamestation.com/view_media.php?path=pr oducts/xgs_me/xgs_me_demo_raycaster.wmv&title=XGam eStation%20Micro%20Edition&timestamp=&caption=Rayc aster+demo+by+Kieren+Johnstone.%0D

      --
      ***"We are the Music Makers, and We are the Dreamers of Dreams",Willy Wonka quoting Arthur O'Shaughnessy
  22. XGS = FPGA? by Vlion · · Score: 1

    That thing looks awful like a FPGA...

    --
    /b
    |f(x)dx = F(b) - F(a)
    /a
    1. Re:XGS = FPGA? by Anonymous Coward · · Score: 0

      /b
      |f(x)dx = F(b) - F(a) /a

      Only for analytic functions, dude.

  23. Re:News Flash by skwirl42 · · Score: 1

    I guess it all depends on what you mean by a "good programmer". Is a good programmer someone who writes efficient code, or one who writes readable, easily understandable code? Usually the two are mutually exclusive, unless you have an excellent programmer.

  24. I'm sticking with my GBA by tepples · · Score: 1

    It was supposed to be 10 times more powerful than a SNES and the controllers were those of the PS2. I don't know what happened.

    They just outsourced it to Nintendo and changed its name to "GameCube with a Game Boy Player accessory, a nYko Play Cube controller adapter, and an MBV2 cable". And that's what I'm sticking with for the foreseeable future.

  25. Cue Sony lawsuit over the name in... by JessLeah · · Score: 1

    ...three...two...one...

    1. Re:Cue Sony lawsuit over the name in... by Dehumanizer · · Score: 1

      I think he'll also be sued by Nintendo and MS... :)

      --
      The Tlog - a technology blog
    2. Re:Cue Sony lawsuit over the name in... by Anonymous Coward · · Score: 0

      I think he'll also be sued by Nintendo and MS... :)
      Heres hoping...

      I think I'll stick with programming on my GBA.

  26. Re:ROCK N' ROLL MCDONALDS by SirPhreak · · Score: 0, Offtopic

    Go Wesley Go

    RIP my man...

    --
    ------------------------------ SirPhreak - "It's Thinking..."
  27. Has definite possiblities by ravingidiot · · Score: 3, Interesting
    Kudos to this man! It's about time we got back to mindnumbingly addictive games. I've been looking for something like this for quite some time and hope it's as awesome as some of our favorite 80s computers. It would kick even more ass if their sound chip is as versatile as the SID.

    The only thing that really gets me on the thing is this price. Would it be cheaper to homebrew your own console? I mean you can still get 65C02s and memory in such small amounts shouldn't be that expensive, right?

    Anyway this thing is off to the right start I think. It even has a demoscene, which to me shows how interested people are in this thing. I might get one of these in the near future and mess around with it.

    1. Re:Has definite possiblities by Megane · · Score: 1

      If you're going to be limited to 4K of memory and a raster-follower graphics chip, you might as well get a real Atari 2600 and a RAM cartridge. And I know for certain that the Atari 5200 has a USB-loadable RAM cart available for it.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  28. Andre LaMothe, 56K, and noisy phone lines by tepples · · Score: 1

    I remember a whole section where he was talking about 56 Kbps modems having a total of 56 Kbps of bandwidth split between incoming and outgoing data, and if you sent more, you could receive less.

    This is true of some of the phone lines I've encountered.

  29. GP32 by 10101001+10101001 · · Score: 1

    Get an Atari/NES like system or..go buy a GP32. I think I'll stick with my GP32. Yes, I'm sure that it's good to learn about "efficient programming" and various platform specific features, but the former you learn to some extent regardless while the latter you only really learn if you actually use the destined platform. I'd rather "waste" my money on a more commonly developed system which I can get joy out of anyways because it's a cool little system.

    --
    Eurohacker European paranoia, gun rights, and h
    1. Re:GP32 by EodLabs · · Score: 1

      Is there an English Site for the GP32 ?

    2. Re:GP32 by 10101001+10101001 · · Score: 1

      There's the European Gamepark site. Given you can register your Gamepark through them (though it's not necessary under the new Blu firmware), I'd assume they're an official site. However, Gamepark's own English site seems to be down. In any case, have fun.

      --
      Eurohacker European paranoia, gun rights, and h
  30. No it is not. by Anonymous Coward · · Score: 0

    You are a complete and total moron. Do not spew such complete and utter bullshit when you have absolutely no idea what you are talking about. Your phone line does not have the capability to know whats going over it, much less care. And phone lines have send/recieve pairs, so its not like it has to send or recieve, it can do both at the same time.

    1. Re:No it is not. by DAldredge · · Score: 1

      A POTS connection only requires 2 wires.

      That how you get 4 pots lines out of CAT3+ cable.

    2. Re:No it is not. by Anonymous Coward · · Score: 0

      >And phone lines have send/recieve pairs

      Yes, I guess Santa Claus told you that.

      There's only one pair....

      A 56K modem has to continuously adapt its transmission speed to the line quality and available bandwith.

    3. Re:No it is not. by Anonymous Coward · · Score: 0

      Yes, but that has nothing to do with simultaneous transfer, now does it?

    4. Re:No it is not. by Anonymous Coward · · Score: 0

      A 56k modem does NOT adapt to 'available bandwidth' that's crap. Yes line quality affects throughput.

    5. Re:No it is not. by Anonymous Coward · · Score: 0

      "line quality affects throughput"
      "modem does NOT adapt to 'available bandwidth' "

      Uh, so what does bandwidth mean on your planet? God what an idiot.

  31. Erm, Yes it is... by sjf · · Score: 2, Informative

    "And phone lines have send/recieve pairs"

    There are "complete and total morons," and then there is you. Phone lines do not have "send and receive pairs". There are just two wires (one pair) in most telephone systems in the world. Some European systems may carrry a high voltage ring signal on an additional wire, bur that's not necessary.

    May I suggest you take a quick google before you "spew" yourself:

    http://electronics.howstuffworks.com/telephone2. ht m

    -S

    1. Re:Erm, Yes it is... by Anonymous Coward · · Score: 0

      Hey -- in the future, spend 5 more bytes to put around that uri. It's pretty convenient that way for the 'complete and total morons': they just have to click, and not worry about taking the extra spaces out. :)

      Just another great feature of Slashdot: http://electronics.howstuffworks.com/telephone2.ht m

    2. Re:Erm, Yes it is... by sjf · · Score: 1

      Fair enough. Dunno where that space came from.
      And, thank you.

      -S

    3. Re:Erm, Yes it is... by Anonymous Coward · · Score: 0

      slashdot inserts spaces so assholes don't write a really long spaceless string of text that causes the page width to expand off the screen and makes the rest of the page unreadable because people will have to use the horizontal scrollbar to read shit (if they're on a GUI browser).

    4. Re:Erm, Yes it is... by rifter · · Score: 0

      Fair enough. Dunno where that space came from.
      And, thank you.

      -S

      It's from the lameness filter. Slashdot deliberately screws up any url you don't encode as a link. It is a feature. :P

  32. Re:News Flash by Anonymous Coward · · Score: 0

    It would appear that you know little about good programming.

    Programming on obsolete equipment doesn't teach you to be good at anything. The only thing it teaches you is to leave out features that you would otherwise implement on a faster platform.

    When I'm looking to buy a program, I don't say "I'm not going to buy this program because it won't run well on a 25MHz cpu". Performance on obsolete hardware is irrelevant. We don't live in a world of 25MHz cpus anymore.

    And how does purchasing a system that someone else designed teach you how to design it?

  33. A nice idea. by Anonymous Coward · · Score: 0

    It's a nice idea, but compared to a mini ITX solution it's expensive and incompatible.

  34. Ditto by Anonymous Coward · · Score: 0

    I've looked through a couple of the many, many books with his name on them.

    When I saw his name on this story, my first thought was "Oh, no!"

  35. Cluster by Anonymous Coward · · Score: 0

    Imagine a Beowulf cluster of XGameStations Micro Edition that would ... suck compared to a Pentium I. Nevermind

  36. Re:News Flash by AltaMannen · · Score: 2, Insightful

    "on of the main ideas here is to learn how to be a GOOD programmer, the limitations of the system will force you to code well."

    To get the best performance out of limited hardware you are going to have to be a very BAD programmer. Out of code ram for that special effect loop? just change a couple of bytes in a similar one and call it. Need to make sure to update the sound DAC every 100 cycles? put in a call to the DAC check between every other call and in long loops.

    The system is great for learning what hardware and APIs do for you, but to be a good programmer you need to work with a complicated system. Different tasks require different skills and game programming have many different tasks. If you program for any of the current consoles you are going to have to learn about writing efficient code, because you will always need to do more with less cycles.

  37. Products Aim ? by EodLabs · · Score: 1
    This may sound stupid, but is this product aimed at EE more or less. I've love to learn about video games, and Have no problems learning ASM and alike bread-boarding/EE but am I going to be blown away with a learning curve ? I only ask this from the site's quote
    Imagine understanding how video game systems are designed and developed at an engineer's level.
  38. Re:News Flash by Anonymous Coward · · Score: 0

    All code is readable with the proper documentation.

    And there is no definate relationship between a person who writes efficient code and someone who writes readable code so don't say that they are mutually exclusive.

    Actually if you find a EE who doesn't know much about CS then you might get efficent unreadable code, a CS major who doesn't know much about the hardware and you will probably get well organized overly engineered yet easy to follow code, but if a CS major knows a lot about the underlying hardware then theres no reason why he can't write efficent yet readable code(and vice versa for the EE).

  39. no thanks by dtandersen · · Score: 1

    no thanks, i'm gonna wait for the phantom game console!

  40. cool, but too expensive by TheLittleJetson · · Score: 4, Insightful

    i've always been interested in homebrew game development.... but $199? for that price, i could buy a gamecube, max-drive-pro, nintendo ethernet card, and datel keyboard. the ideal gc-linux setup, ready for all the low (or high) level programming you want. plus, the hardware's a lot more capable.

    1. Re:cool, but too expensive by goon · · Score: 1

      No I disagree. Sure your hacker come programmer could put together a gamecube solution but first theres the problem of gamecube SDK (if your not an official developer you break license) Here's the gnu toolkit, but that's it. There are enthusiasts that want to try their hand at consoles closer to the metal than gamecube, ps2 or xbox. I can think of a lot of good AUS, NZ and UK programmers who cut their teeth as ankle biters on (expensive) Acorns, Sinclairs, Apple][ etc, hooked up to tv's. This is simply the latest example.

      This is where Lamonthe's idea comes in, sell cheap hardware to code against. It looks like he's giving you known hardware to code with that can spit out to any tv system (seacam, pal) with access to additional hardware like PS2 controllers. The other thing is that the system is embedded. No drives, os .. just you the code. Try that with gamecube.

      for example your code might be something like

      • ...

      • Init Hardware
        Init API
        JMP MAIN
        your_code ...

      i must admit I've spent enough on Lamonthe books to keep him in plenty of pizza and look foward to reading more from his programming ideas. You can read a good interview here.

      --
      peterrenshaw ~ Another Scrappy Startup
  41. Mod this redundant, but... by Zx-man · · Score: 0
    ...don't you think that the best platform for the retro games quest should be a _really_ retro well-documented video game station having almost perfect emulation for debugging with a reprogramable EEPROM game cart? Its there really a point in coding for something with bad hardware specs, yet not wellknown and not considered beyond doubt retro by the wide masses, or, even, yourself?
    >A mysterious feeling flows past you as you take an old russian NES-clone out of the closet...
  42. Shaders are basically assembly language by CFresquet · · Score: 1

    There will ALWAYS be a place for telling a processor exactly what you want it to do, step-by-step. Yeah, we all thought that processors had finally gotten fast enough that we weren't going to need to write in assembly any more. Then the invention of the GPU pushed that idea out of the forseeable future. Writing a vertex or pixel shader is functionally working in assembly language. These skills aren't going away any time soon.

  43. Re:News Flash by leabre · · Score: 2, Insightful

    Because he is shipping ebooks with it that "assume" the reader knows nothing about harware design, and if you go through the book from start to finish, you'll be able to make the unit yourself. Of course, you'll learn how to make that system, and maybe it'll teach you how to make your own system, as well.

    Thanks,
    Leabre

  44. Is it that easy? by Jonathan · · Score: 1

    I've always thought it would be fun to write a homebrewed MAME game, but has anyone really documented it for any driver in particular? It isn't just about knowing Z80 (or whatever CPU) ASM -- you would have to know how to handle sound, graphics, and input for the emulated arcade hardware.

    1. Re:Is it that easy? by Megane · · Score: 1
      MAME emulates coin-op video game systems, in which the company making them could come up with a new variation on the architecture for each game if they wanted.

      You should stick with MESS, which emulates various home video game systems. Many of these have been documented very well. If you choose one of the really significant ones (like 2600, Colecovision or NES), you can even release the game on a cartridge playable in an actual system.

      Step 1, choose a game system
      Step 2, write game
      Step 3, profit!

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:Is it that easy? by tazan · · Score: 1

      It is pretty easy if you can read the mame source at all. I've written several games that run on pacman hardware. There's a couple of them here.

      http://d_widel.tripod.com/downloads.htm

      They'll also run on a Williams Make Trax arcade machine which can be had for less than $200.

      I don't really understand the point of this xgamestation when for half of the cost you could set yourself up to program nearly any of the old 8 bit consoles.

  45. Re:News Flash by Anonymous Coward · · Score: 0

    A few thoughts:
    1. If you want to design games, you are probably more interested in the implementation rather than learning low level programming. Use a high level language/libraries so you can focus on the game.
    2. If you are interested in embedded programming (both high and low level), there are several less expensive eval boards that are immensely more powerful.
    3. Even if they do eventually provide high level language compilers, you will be at their mercy for additional features/libraries. Most current eval boards are supported by GPL compilers, stacks, libraries, etc.
    Just my 2 cents.

  46. Yeah... by Anonymous Coward · · Score: 0

    but will it run Longhorn?

  47. Why not PPC? by xenocide2 · · Score: 1

    If you really want to get a cross section of programming expertise, why not go with a PowerPC board? They're a popular embedded cpu, and they scale upwards quite well-- the cube uses something similar, and the next iteration of Nintendo and Microsoft intend to go that route as well. In terms of employable skills, it certainly beats the x86 and SPARC ASM I was taught in class.

    Its quite funny to read the technical prospectus on this thing. " 4-Deep instruction pipeline (Fetch, Decode, Execute, Write)". Wow. " Multiple interrupt sources." What technical marvel.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  48. xgamestation vs. 2600 by boutell · · Score: 2, Insightful

    Seems at first to be an Atari 2600, little more or less. I was going to ask why, when emulators for the 2600 are exceedingly close to the real thing due to the thousands of games by unconnected programmers that they must successfully run, anyone would take this approach. But on closer inspection there's 128K of "fast 15ns static RAM" in there, and he mentions that it's fast enough to use as a conventional graphics framebuffer. So you don't necessarily have to take the pure Atari 2600 approach.

    Also, the CPU is much faster -- it's probably inaccurate to say 80 times faster because I don't know whether the instruction set is more or less primitive than that of the 6507, but I doubt it could be much more primitive.

    That's probably the reason why there is no sprite hardware (*): you can program your raster-on-the-fly graphics fast enough without it. (Yes, even the 2600 had one-dimensional sprites which you could reposition or alter between scanlines.)

    (*) If something they would have burned into an FPGA should really be called hardware. Firmware, I guess. For programmer purposes it certainly is part of the hardware.

    So this is sort of a super Atari 2600 on steroids, if you ignore the easy way out of simply using the static RAM as a framebuffer or using somebody else's prewritten subroutine for doing so. Apply the same freaky scanline by scanline tricks the 2600 programmers did, but accomplish more with them! In that sense, it's a really neat machine, and I wish him luck with this.

    Still, I think writing new games for the 2600 appeals to me more. Not that I'll never do it. Hell no. When it comes to assembly, I'm strictly a voyeur and a dilettante.

    "Oh look, Geoffrey. The 6507 programmers are sweating as they seek to save a single clock cyle with a cleverly placed jump instruction. Oh my yes, that is quite admirable. I do work up a thirst watching another man work. Another martini? Why thank you..."

    --
    Check out the Apostrophe open-source CMS: http://www.apostrophenow.com/
  49. Intentions by jjhlk · · Score: 1

    Aren't people missing the intentions of the XGameStation? From reading the XGameStation forums a while ago, and looking at the current About page, I got the impression that the point was to learn about both software AND hardware. Buying a $200 XBox isn't going to teach you a lot about its hardware, and about console design in general.

    I wonder though if there are cheaper ways to learn about console design. And once you have any basic console you can learn a tonne about the programming.

  50. Graphing Calculators... by ragingmime · · Score: 2, Insightful

    Graphing Calculators can provide a similar (and much cheaper) tool. Beginners can start off with BASIC programs, and although these require some tweaking to run smoothly, that's part of the fun. (I goofed around with one myself a little while ago). More advanced assembly programmers have achieved some amazing stuff (such as greyscale on a black-and-white screen and a very accurate port of Bubble Bobble. The specs are all there for the asking.

    Sure, calculators aren't as cool or powerful as what Lamothe is putting out there, but they do force you to be creative and do a lot with a little. Besides, making something happen on a little box just seems cooler - you tend to take having complex software for granted with PC's.

    --
    I produce electronic music and write little games. Have a look.
    1. Re:Graphing Calculators... by Dwedit · · Score: 1

      Maybe you should link to the correct Bubble Bobble game, rather than your accidently duplicated link.

      Thanks for the compliment on my game!

    2. Re:Graphing Calculators... by Catcher80 · · Score: 1

      haha, right on dwedit

      --
      I sell out to The Man every day.
  51. I'm calling b.s. by Anonymous Coward · · Score: 3, Interesting

    I work at a game company and the title we're working on is going to be out for PC, xbox, PS2, and GC. The lead guy is doing the PS2 port and we have one dedicated guy doing the GC port. It's all on a single codebase with the makefiles deciding what platform to target. We use C++ with GCC and VectorC for the consoles and Intel's compiler for the PC.

    Very little is actually coded in assembly. The main things coded in asm relate to graphics: VU's on PS2, the shitty microcode for GC, and the shaders for xbox. I'd be hard pressed to find any asm on the PC port, mainly because many of the intrinsics are already included in the compiler already.

    1. Re:I'm calling b.s. by duncanbojangles · · Score: 1

      No, seriously dude. I too have done some PS2 programming, and it's hard as Chinese algebra. Sure, you're PS2 guy may be working in C, but he for damned sure is using an uber advanced library and checking his code to make sure the packets of render data he's sending to the GPU is well formed. The PS2 isn't like a PC, the main object of the CPU in the PS2 is to shuffle data so that calculations, rendering, pretty much everything else gets done in another processor.

    2. Re:I'm calling b.s. by Scorchio · · Score: 1

      Source code wise for PS2, the vector unit asm files are probably only a small proportion of your codebase, but the tiny workspace, mad dual pipelining and arithmetic result delays demand a larger than expected amount of effort and time on behalf of the developer, especially if they are trying to squeeze every last cycle. Of course, it depends on how far you're pushing the console - it's possible to make an ok game without dipping too far - or at all - into asm.

  52. Re:Its great to death fucking die death jihad! by Anonymous Coward · · Score: 0

    iji iji iji iji iji iji jtiji iji iji iji iji iji
    iji iji iji iji iji ijjDMNQtiji iji iji iji iji ij
    iji iji iji iji iji cXMNMNMNQjiji iji iji iji iji
    iji iji iji iji ijcSMNMNMNMNHJiji iji iji ij iji ij
    iji iji iji iji iSWMNMNMNMHJiji iji iji ij iji iji
    iji iji iji iji6WMNMNMNMNYiji iji Jciji iji iji ij
    iji iji iji i5WMNMNMNMN5iji iji JHMNSc iji iji iji
    iji iji iji5NMNMNMNMW5iji iji JHMNMN MWSiji iji iji
    iji iji ijcXMNMNMNMNNYiji ijtKMNMN MNMNMW6iji iji i
    iji iji iji jDMNMNMNMNHJijtQMNMN MNMNMNMNMW5iji iji
    iji itciji iji QMNMNMNMNKDMNMN MNMNQWMNMNMNMN5iji i
    ijitKMWSiji iji jQMNMNMNMNMN MNMNQtijSWMNMNMNMNYiji
    itQMNMNMW6iji iji tKMNMNMN MNMNKtiji icSMNMNMNMNHJi
    iJHMNMNMNMW6iji ijcSMNMN MNMNMNDjiji ijicXMNMNMNN5i
    ijiYNMNMNMNMN5ijiSWMNM MNMNMNMNMNDciji ijicDMNW6iji
    iji i5NMNMNMNMNSWMNM MNMNHNMNMNMNMNXciji iji 5iji i
    iji iji5WMNMNMNMNM MNMNN5ij5NMNMNMNMNSciji iji iji
    iji iji i6WMNMNM MNMNW5iji ij6WMNMNMNMWSiji iji iji
    iji iji ijiSWM MNMNW6iji iji tKMNMNMNMNXciji iji ij
    iji iji iji cSMNWSiji iji tQMNMNMNMNDjiji iji iji
    iji iji ij iji c6ciji iji QMNMNMNMNQjiji iji iji ij
    iji iji iji iji iji ijjDMNMNMNMNQtiji iji iji iji
    iji ij iji iji iji ijcXMNMNMNMNKtiji iji iji iji ij
    iji iji iji iji iji jQMNMNMNHJiji iji iji iji iji
    ij iji iji iji iji iji tKMNHJiji iji iji iji iji ij
    iji iji iji iji iji iji tYiji iji iji iji iji ij ij

  53. Re:News Flash by alienw · · Score: 1

    second on of the main ideas here is to learn how to be a GOOD programmer, the limitations of the system will force you to code well. this wont be like a desktop where you can have super sloppy code, but Ghz of power to force it to run.

    Actually, you got it backwards. On a 2GHz machine, you can write simple, elegant code. On a small microprocessor, you will have to create kludges on top of kludges to get it to run. Your code will be buggy and unmaintainable, with hidden bugs that will take weeks to find and fix.

    Good code means code that is completely free of bugs, and easy to read, modify, extend, and port. This can be done only with very high levels of abstraction, which does tax the hardware more.

  54. The XGS should be a very helpful teaching tool by Dreamwriter · · Score: 1

    It sounds like most of the people responding here are PC programmers. The XGS isn't about teaching people to program for the PC, but for game consoles (of which only the XBox and to a less extend Dreamcast are programmed similarly to a PC). Writing games for consoles is a completely different beast than programming for PC - you have a different mindset, far more limitations. And since the system doesn't get more powerful year after year, your coding has to constantly get more powerful, more optimized, pushing the system's limits beyond what it was designed for. Which means making your own non-API functions which access the hardware directly, often using Assembly. Which is something you can't really do on a PC, because each system is completely different, even with different CPU's. You are pretty much stuck using API's for everything, or forcing your users to have a specific piece of hardware. Now, I program mainly for handheld game systems. And I can tell you, they are *very* similar to the XGameStation. Not as limited, sure, but still plenty of limitations, and a game programmer really needs to learn to program within extreme limitations. Just yesterday I was looking into assembly-coding a function because that function was too slow, and when I traced through it the C compiler was doing a horrid job. I know people in my company who have never programmed in Assembly before, or only very limitedly, and wouldn't even think of that answer. Even in C, if you've only ever programmed for nice hefty PC-like systems before, you know very little about optimizing for space and speed. I can honestly say that I would be a far worse programmer if I hadn't had the experience trying to push the Gameboy Color to its limits (including cramming every little feature we wanted into that small cartridge). And some of the best games come from companies that formed out of demo groups, the kind that show how far they can push a system. The XGS is also about making your own game system, from the initial design phase all the way to having the motherboards manufactured. According to the site, its e-book goes step by step through the process, and if you ever wonder about any step, you can look at the finished product to see how that step ended up, what it's purpose was. And maybe you could hack the system, change part of it or add something to it - like a hard drive interface. This is something I'm really looking forwards to - I know almost nothing about electronics, and there's always seemingly stupid decisions made about game systems that I'd like to either understand better, or make my own system that has no such problems. So to me, the XGS sounds like a bargain. If I hacked an XBox or Dreamcast, that could teach me basic console programming, but I wouldn't learn very good optimization techniques. And it definitely wouldn't even start to prepare me for making my own game system.

    --
    ***"We are the Music Makers, and We are the Dreamers of Dreams",Willy Wonka quoting Arthur O'Shaughnessy
  55. This is pointless, get a GBA by Anonymous Coward · · Score: 0

    Why not just buy a GBA and flash cart instead? You know, something that is usable for more than just learning (play GBA games), a modern architecture (ARM), and can be teamed with C, C++, or ASM. At the very least you'd get more useful skills.

  56. HAS ANYBODY EVER TOLD YOU THAT YOU ARE AN IDIOT? by Anonymous Coward · · Score: 0
  57. they are at cgexpo! by Anonymous Coward · · Score: 0

    they are at cgexpo which is absolutely cool. there it one more day left tomororrow. if you are in the bay area, i would recommend going. there is also a bunch of other cool stuff there like 8 bit weapon and a cool lego thing at the MobyGames booth. So much fun!!!

  58. Why not just get a GBA? by Abcd1234 · · Score: 2, Interesting

    Honestly... you can pick one up for just over a hundred bucks (even cheaper used), plus a flash cart for about the same or less, and you can develop software for a decent, popular console. It's definitely a more old-school style platform (has a nice, traditional sprite-based VDP) and in order to do anything really fancy, you pretty much have to write some code in ARM assembly (which is, BTW, a joy... the ARM has a *really* nice ISA).

    As for documentation, the GBA is only rivaled by the Dreamcast in terms of how well documented it is and how large the homebrew development community is. And much like the DC, you can use the standard GNU toolchain for development. And, of course, you can still run regular ol' games on it, so it doesn't *have* to be just a development platform.

    So, why would anyone bother with this thing?

  59. Wait - you design games for Chuck E. Cheese? by R2.0 · · Score: 1

    Got any good cheats? Not that I would teach my kids to cheat, but that doesn't stop Daddy from "winning" the reels of tickets needed to get anything worthwhile.

    --
    "As God is my witness, I thought turkeys could fly." A. Carlson
  60. You're just not getting it. by ArmpitMan · · Score: 1
    The XGameStation, as far as I can tell, is the first computer in decades which is designed to not be magic.

    So many developers these days, even after graduating with a computer science degree, don't have the faintest idea of what goes on inside the boxes on their desks which they are supposedly so obsessed with. It's black magic. Doesn't anyone else find this a touch distressing? How can you possibly call yourself a computer scientist without understanding how computers actually work?

    People who are saying, "It's so much easier and cheaper to just buy a Dreamcast or a GBA or a modded XBox or an Atari 2600 and it'll perform better too!" are missing the point. The point is that you are taken, step by step, through how this hardware platform works. It's low-tech because it's interesting to learn how to interface with a television. It's *fun* to be a programmer with a soldering iron. You understand every layer of abstraction, you know precisely what is happening as your cube rotates on your TV, and it is *cool*.

    It's important to see through layers of abstraction to what's actually going on, sometimes.

  61. Re:Its great to - can i? by Anonymous Coward · · Score: 0

    Can I have sex with you, now please. Your thinking makes me wet.

  62. Re:Its great to Tsarkon Reports. by Anonymous Coward · · Score: 0

    You analysis about what is wrong with America is so stupid I cant even begin to tell you. You take something as complex as an entire society and characterize it based on your assholically narrow window into the world. You did no research, you never did studies on the various demographics, I certainly dont see you as the type who grew up in a ghetto, yet you can solve all of America's problems in Three fucking paragraphs? What the fuck is wrong with you?

    First off, Star Trek is a TV show. There is no society now or that ever was that has people living for the "greater good."

    If people didnt want to go to school they wouldnt fucking PAY to be there, now would they? And now you blame your parents for bad ideals when it comes to liking school? Fool.

    Now, in the world we live in, if one cannot capitalize on whatever is invented, its useless. There are plenty of potential anti-cancer and other drugs that never see the light of day: $1000/per dose means ITS NOT USEFUL. Get it though your fat head, that if technology isnt economically viable, be it MONEY or what money represents, LIMITED RESOURCES, then its fucking useless.

    And if tangible technology isnt the goal of all your armchair thinking, then what's it good for? Making crap movies or TV series about fantastic fluff that doesnt exist, but could in your DRASTICALLY oversimplified view of the universe?