Search the Community
Showing results for tags 'Game & Watch'.
Found 4 results
Early this year, I learned that MAME, which has recently been combined with MESS into one single emulator, also emulates some handhelds now... among those are some I have or had myself, Coleco's Donkey Kong tabletop game, MB's Bigtrak and Nintendo's Mickey & Donald (Game & Watch). I decided to take a deeper look at Mickey & Donald (after nearly competing the Bigtrak code, but that's off topic here) because I was always curious how such games have been programmed... I started on it in February 2016, about 33 years after I got the actual game. Obviously, this is a low-power device powered by two button cells and having an LCD screen. It's using a Sharp SM510 mictrocontroller with a fixed ROM. There is a nice write-up on that CPU here: http://watchdev.blogspot.co.at/2013/06/sharp-sm510-innards.html This chip has got a built-in LCD driver, and the display is memory-mapped, that is, all memory locations from $60 on are visible (at least if they've got segments connected to it). Since the disassembler in MAME didn't work quite correctly (don't know if it has been fixed by now), I wrote my own disassembler for the code in VB.net, which is actually not so hard considering the CPU doesn't have that many commands. There are some quirks like 1-byte subroutine calls which are routed through an address table in the first page, though this still only enables certain jump destinations because those addresses still only have 8 bits, but the address range of the CPU is 12 bits. Well, as I said I was curious how such a game is programmed. Actually it's quite different to what you're used to on video based systems. Normally you would have sprites, which are objects with an X and an Y coordinate, and they move and interact in some fashion. Well, for the most part, it doesn't work this way here. How it actually works is closer to a shift register, actually several of them. As you may know, a shift register is a stack of bits which get shifted left or right in sync to each other. In this game, there are several lines of bits which work like a shift register. But they're not hardwired, all of this is done in software. There is a subroutine for each possible bit which swaps that bit in a memory location with the carry flag. The actual bits in a line often don't have a real logical position in memory, rather they were seemingly positioned so the lines in the LCD screen are best used. For instance, for an object that has 3 possible positions, one position might be displayed when bit 2 of memory location $62 is on, the second one is on bit 1 of memory location $6D and the third one on bit 2 of memory location $6B. The line is now shifted by starting at the first position, fetching its status to the carry flag. Then you set the memory location for the next bit (by one instruction) and call the respective subroutine to swap the bit you want to access. Now you've got that bit in the carry bit and go on to the next location... and so on until the line is through. For instance, Mickey on the left has three possible positions, on bottom, in the middle or on top. If the player presses the "up" button, the Mickey line gets shifted upwards, on pressing "down" it gets shifted downwards, only that the last bit in the line gets re-set if it's found to be on after the shifting. The game code generally doesn't "know" the coordinates of any object visible on screen, it's all done by checking if a certain bit in memory is set. And there are more shift "lines"... two for the hose (one for small and one for big blobs), six for drops and fires and one for Donald on top. The fire shifting routine checks for each position if the corresponding drop bit is set, if so, both are cleared, a point is scored and the routine terminates. The routine shifting down the drops does the same. As for game variables, there are only a few controlling if there's one of the possible leaks, which game or demo mode is on, if the alarm is set, and as far as I can tell two counters for keeping the correct speed. But maybe there are some more which I missed because I didn't examine the complete code. Since the objects don't have coordinates in memory, all checks that depend on a certain location to be set or clear, such as collision detections, check the actual bit in memory... for instance, the routine that creates new drops checks all three possible locations of Donald to find out where he is and place a drop there. That way, they also go around the limitation of the CPU that indexed writes are very hard to do... with this game architecture, none are required, the closest thing to it is actually the routine that converts score digits to the 7 segments that are displayed for each number. This one uses an indirect jump instruction which loads the data byte to the PC. Keep in mind that the PC is not linear, but a pseudo-random shift register, which means that the numbers 0-9 get converted to addresses which are actually all over the place in that page. Oh, the total ROM in that chip is 2772 bytes (44 pages with 63 bytes each). I guess it's similar for other Game & Watch games, though much later models like Pinball and Super Mario Bros. might use a different chip, as may much earlier models like the Silver Series Ball, Vermin, Fire and Judge... there are more advanced models SM-511 and SM-512 supporting independent sound generation, more segments and more ROM up to 4K while the SM-510 has to generate sound writing 0's and 1's for each wave "by hand". On the other hand, there's a simpler chip with only 2016 bytes of ROM that may have been used on the first games. But still I suppose most Game & Watch games will have been programmed in a similar way, because you see some kinds of shifted strings of segments in all of them, with some of them going only one way and others going both ways.
In case anyone who in interested isn't tracking... The 3DS, (specifically the New 3DS) has recently gotten ports of Stella, Prosystem, Handy, O2EM, Virtual Jaguar, 4DO, and more via RetroArch/LibRetro. Emulation of these systems run full speed: 2600 7800 Lynx Vectrex Odyssey2 Game & Watch Near full speed: CPS3 Interesting, but not fast enough to be considered playable: 3DO Jaguar These are not yet part of the official build, but can be found in posts by MrHuu in the thread at gbatemp. He plans to make a separate thread at some point, but as of the time of this posting, the builds are posted at page 270 (Stella, Vectrex, & Prosystem), page 273 (Handy, O2EM, VirtualJaguar, & 4DO), page 275 (Game & Watch), and page 279 (CPS3). MrHuu also posted a playlist generator here. Also interesting is that on a New 3DS (not XL), the screen size when set to "integer" is exactly the same as the screen size on a real Lynx.
$90 (U.S. shipped) - classic NINTENDO GAME AND WATCH - DONKEY KONG - FRENCH version I acquired this FRENCH version of this classic NINTENDO GAME AND WATCH unit when I was in Switzerland as a kid. It's DONKEY KONG as you know it, but some of the button labels are in French (Start button, Controls, etc.)! Overall, it is in "Good" condition - - no stains, issues with battery acid, or anything like that. I was a good collector of electronics, even as a kid! There are a few minor scratches on the metal, but hinges and latches are in perfect condition, and the screen is UNBLEMISHED and has no scratches! The LCD is in nice condition, with all of the characters visible. I just popped some fresh batteries in, and it works as well as it ever did! I will include the fresh batteries to the buyer, as well as the other battery that was in the three pack - - $13.00 of value there! Wonder why small batteries are always SO expensive . . . ? The excellent NintendoAge user and hand-held gaming unit collector "retrogamesuk" has provided me with some GREAT information on this particular hand-held DONKEY KONG piece, as well as a recommended price. Here's what he said - - "The Game & Watch you have would have been distributed by Jeux et Images du 21e siècle, which roughly translate as "Games and Pictures from the 21st century." On the boxes they have Ji 21 on them, they were a French company that imported them from Japan then were distributed under their own brand, though still retaining the Nintendo logos, trademarks and copyright info." Below, I'm showing the LCD in "test mode" that happens when you first insert the batteries, and all the LCD parts light up - - The unit returns to normal play mode once you press a button, and would only show again the next time that you change the batteries. (Sorry for the flash flare in this image, better pictures down below) Again, showing "batteries first-in test mode" with all characters illuminated PM me with any questions, comments or offers! Thanks for looking! -a2a
As a social note, if you have comments, suggestions, or issues on the prices or items on offer below, please PM me, and do not make your OPINIONS a public issue - - thread-crapping is just plain rude. Thanks! Welcome, and thank you for stopping by! Boy, it's been along summer! This basement remodel project has eaten my brain, as well as my free time. It's fall, though, and it's time to start listing some NEW goodies! Many exciting things on offer below - - CHECK all three posts - - I just keep flowing the goodies into additional posts! For those that don't know me, and are considering doing some business, here's my feedback thread on AtariAge - - atari2atari's Feedback Thread [link] FAQs Everything is from my personal collection, and has been in a smoke, pet, mildew, and moisture-free home! I discern no strange smells from anything I own, or I wouldn't sell it! If it's advertised as a set, it's sold as a set - - I won't "just sell the box" or split out instructions or guides - - sorry! PayPal standard "Goods" payments preferred, and I'll cover the fees! It's just more professional that way! Checks, Money Orders, and even CASH, accepted, too! "I'll offer you $2 for that . . ." "How about if I buy this and that, plus those, will you cut me a deal, or agree to . . . ?" Sure thing! If you buy $100 of goods at once (not in multiple orders, and no holding shipments!), I'll do a 7% discount! $200 of goods gets you a 12% discount! Please don't nickel and dime me for a dollar here and there, though . . . ALL prices, negotiations, offers, and suggestion should are always without shipping. Shipping is separate, and dealt with afterwards. And, YES, I'll send it anywhere in the world, if you'll pay for the cost of shipping! I prefer the U.S. Postal Service - - I've found that it gives us both the best deal! You're a great person! I recommend a healthy amount of fruit every day! ### $40 Pokemon RUBY for GAME BOY ADVANCE With instructions, box, AND cardboard cartridge holder! Nice condition label Battery has expired, so no timer-based events, but save games still work. One small line present across top of box where it was opened? Comes with protective case for cartridge! Everything is cleanly flattened and ready for transport to YOU! $5 Fire Emblem: The Sacred Stones - - Box and inner cardboard tray ONLY No game! Good condition! Cleanly flattened and ready to ship! $13 Baldur's Gate Dark Alliance for GAME BOY ADVANCE With instructions. Comes with protective case for cartridge! $9 The Hobbit for GAME BOY ADVANCE With instructions. Comes with protective case for cartridge! $5 Battle Arena Toshinden for GAME BOY Comes with case. $10 Spy VS SPY for GAME BOY COLOR Comes with case. $4 Perfect Dark for GAME BOY COLOR with rumble feature Interesting game to play on a GAME BOY Integrates some stealth and searching gameplay features using the rumble! Uses an extra AA battery for the rumble $8 Mega Memory Card for GAME BOY and GAME BOY COLOR Cool accessory, lets you make backups of save games from cartridges. Here's a (somewhat silent and strange) review of it on YouTube, showing how it works The case is cracked, but doesn't affect its funtionality, and the unit works fine I have saved and transferred games many a time with it. I use a lot of save states and flash cartridges now, so I don't use it any more! LISTINGS CONTINUED IN NEXT POSTING BELOW - -