Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Andre Lamothe Launches XGameStation

Posted by michael on Sat Aug 21, 2004 12:50 PM
from the everything-old-is-new-again dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by erick99 (743982) <homerun@gmail.com> on Saturday August 21 2004, @12:54PM (#10032833) Homepage
    ...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

    • 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..

  • Pretty cool (Score:4, Insightful)

    by Grant29 (701796) * on Saturday August 21 2004, @12:55PM (#10032837) Homepage
    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. [retailretreat.com]
    • Re:Pretty cool (Score:4, Insightful)

      by Trizor (797662) <trizor@gmail.com> on Saturday August 21 2004, @01:29PM (#10033031)
      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.
      • Re:Pretty cool (Score:5, Informative)

        by SQL Error (16383) on Saturday August 21 2004, @03:05PM (#10033544)
        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.
        • by kcbrown (7426)

          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>

      • Re:Pretty cool (Score:3, Interesting)

        by huchida (764848)
        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.
    • 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 o
    • Re:Pretty cool (Score:3, 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 mu
  • Point? (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
    • Re:Point? (Score:4, Interesting)

      by canavan (14778) on Saturday August 21 2004, @01:18PM (#10032977)
      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.
      • Re:Point? (Score:5, Interesting)

        by leabre (304234) on Saturday August 21 2004, @03:38PM (#10033672)
        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
  • by Anonymous Coward on Saturday August 21 2004, @12:59PM (#10032868)
    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.
    • 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 [massmind.org] available to play with, many cheaper than this. Personally, for hardware hobbyi

    • 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?
    • by oskillator (670034) on Saturday August 21 2004, @01:43PM (#10033104)
      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.
    • 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.
        • Erm, Yes it is... (Score:2, Informative)

          by sjf (3790)
          "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
  • by wantedman (577548) on Saturday August 21 2004, @01:01PM (#10032873) Homepage Journal
    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.
  • ...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?

    • Yeah, that's where I'm heading too. Even the $80 Linksys WRT54GS [tomsnetworking.com] 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?
    • 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.

  • They changed it (Score:2, Informative)

    by tepples (727027)

    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.

  • Good for pros too... (Score:5, Interesting)

    by sm.arson (559130) on Saturday August 21 2004, @01:13PM (#10032950) Homepage
    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.
  • by Trizor (797662) <trizor@gmail.com> on Saturday August 21 2004, @01:19PM (#10032982)
    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.
  • by Anonymous Coward on Saturday August 21 2004, @01:21PM (#10032990)
    The article says "built in programmer".
    I knew the Japanese people were small, but this is ridiculous.
  • by poptones (653660) on Saturday August 21 2004, @01:24PM (#10033003) Journal
    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.
    • 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
    • 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.
  • by ecliptik (160746) on Saturday August 21 2004, @01:32PM (#10033051) Homepage
    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 [mc.pp.se]
    Dreamcast Homebrew [dcemu.co.uk]
    Dreamcast Emulation [dcemulation.com]
    • 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

  • ...three...two...one...
  • by ravingidiot (798346) on Saturday August 21 2004, @01:51PM (#10033161) Homepage
    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.

  • by TheLittleJetson (669035) on Saturday August 21 2004, @03:24PM (#10033610)
    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.
  • 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.
  • by boutell (5367) on Saturday August 21 2004, @06:19PM (#10034512) Homepage
    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..."
  • by ragingmime (636249) <ragingmime@[ ]oo.com ['yah' in gap]> on Saturday August 21 2004, @08:19PM (#10035017) Homepage
    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 [ticalc.org] myself a little while ago). More advanced assembly programmers have achieved some amazing stuff (such as greyscale [ticalc.org] on a black-and-white screen and a very accurate port [ticalc.org] of Bubble Bobble. The specs [ti.com] 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.
  • by Abcd1234 (188840) on Sunday August 22 2004, @04:17AM (#10036604) Homepage
    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?
    • Re:interesting (Score:5, Informative)

      by duckpoopy (585203) on Saturday August 21 2004, @01:05PM (#10032899) Journal
      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.

      • I'm calling b.s. (Score:3, Interesting)

        by Anonymous Coward
        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
    • When you've got 4K of code space, like this chip has, you have to get creative. Plenty of people are still hacking [google.com] with these tiny devices, often in assembly.
    • Re:interesting (Score:2, Informative)

      by FLAGGR (800770)
      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)
      • Re:interesting (Score:3, Insightful)

        by shamilton (619422)
        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.
        • Re:interesting (Score:3, Insightful)

          by Fjornir (516960)
          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 ma

    • Re:interesting (Score:4, Insightful)

      by sm.arson (559130) on Saturday August 21 2004, @01:46PM (#10033120) Homepage
      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.
    • Re:News Flash (Score:5, Insightful)

      by RTPMatt (468649) on Saturday August 21 2004, @01:30PM (#10033040)
      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.

      • Re:News Flash (Score:3, Insightful)

        by AltaMannen (568693)
        "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 ha
        • Re:News Flash (Score:3, Insightful)

          by leabre (304234)
          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
    • Re:Its great to (Score:5, Interesting)

      by vsync64 (155958) <vsync@quadium.net> on Saturday August 21 2004, @07:18PM (#10034770) Homepage

      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 [amazon.com], 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.