eea Posted April 23 Share Posted April 23 Missile Command Arcade is another new game utilizing VBXE! Missile Command Arcade uses disassembled code from the arcade version of Missile Command. Combined with VBXE, this allows for a (near) arcade perfect experience on your Atari 8bit computer. Since the internal timing for the arcade version of Missile Command is 60Hz, this runs best for NTSC systems, as it will run slower on PAL, including sound effects and trackball response. I do not have a VBXE for my Atari 800XL, so I have only tested this with Altirra. If somebody with a VBXE, NTSC Atari, and trackball would like to help with testing, please DM me. You can change default settings in the menu screen using the Select button (F3 in Altirra) to choose which option to change and use the Option button (F4 in Altirra) to choose which option you would like to use. Note that if you choose trackball, you will need to use a trackball or else movements will be unpredictable. You can use the fire button (on a joystick or trackball) to fire from the base closest to the cursor. You can also use keyboard keys Z X C for firing from the 3 bases individually. In order to run with Altirra, you will have to configure a few things: 1) Go to System->Configure System. Set your system to NTSC by going to Computer->System->Video Standard. Next, go to Peripherals->Devices. Then click Add and scroll down to "Internal Devices" and select VideoBoard XE (VBXE) then OK. Keep the default settings (Core version FX 1.26 and Base Address of $D600-$D6FF) and click OK (Missile Command Arcade also works at $D700). Then click OK one more time to exit the setup for devices. 2) Missile Command has a resolution of 256x231 and Altirra normally cuts off the display at 224 lines (or so), so you will have to extend the display to see the bottom scrolling text and the "LOW" and "OUT" messages for the bases. Click View->Overscan Mode and set it to Extended (or Full with Blanking if the bottom scrolling line is cut off). 3) You have the option of using a trackball, so you will optionally need to also configure a trackball in Altirra. Under Input->Input Mappings, click Add. Then rename the default name for the mapping (it should default to something like Input Map XX) to Trackball. Then double click on the Trackball mapping that you just added and you will get a pop up for Edit Input Map. Click Add Controller. Under the Controller pulldown, choose Trak-Ball (CX80) - it's the last choice. Leave the defaults for Port 1 and click OK. You will then be at the Edit Input Map popup. Double click on Axis 1. For Source, select "Mouse Move Horiz". For Mode, change to Relative. Next move the Speed slider to 10 and leave Acceleration at 0. Click OK. Next double click on Axis 2. Change the source to "Mouse Move Vert" and the Mode to Relative and once again change the Speed slider to 10. Click OK. Now change the Button 1 assignment to a key for the trackball fire button. Double click on Button 1. For source click "Key: Left Ctrl" (or whatever key you want). Click OK twice. Now unselect any input devices that may have already been selected and check the box next to your next Trackball Input mapping. Then click close. Attached are .XEX, .ROM, and 16K .CAR versions of the game. Enjoy! Eric Anschuetz, Robert Anschuetz, John Weisgerber Missile Command Arcade.car Missile Command Arcade.rom Missile Command Arcade.xex 25 8 Quote Link to comment Share on other sites More sharing options...
eea Posted April 23 Author Share Posted April 23 After following the amazing VBXE Popeye port by @woj, I was inspired to try to port the actual arcade disassembly of my favorite game growing up: Missile Command. Missile Command came out in the arcades in 1980 just before my brother and I received our first Atari 400 computer while we were in high school. Most days after school, we would walk home to stop by the local arcade. Missile Command is a difficult game, but two 30-something players were by far better than everybody else. While most people were struggling to get 100,000 points, Larry and Bob would play doubles and regularly score between 300-500,000 points. One day, Larry had an amazing game going and had everybody in the arcade watching. He was nursing a single city until he reached 810,000 and all of a sudden he had seemingly unlimited cities. None of us had heard of this bug before then, but eventually it became known that if you reached 810,000 you could effectively play forever. While Robert was becoming great at Galaxian and John concentrated on Battle Zone, I practiced Missile Command every day and soon I also achieved 810,000. I could do this regularly, and once I played long enough to score 6,000,000 points and then walked away while it was still playing. Of course, Missile Command was one of the first Atari cartridges that my brother and I bought with our paper route earnings. The original developers did a good job, but definitely the graphics were lacking. Paul (@plee) did an amazing job modifying the original code in Missile Command+ to add three bases, a title screen, a demo attract mode, and "THE END". I used his disassembly for help with the trackball code. When the Missile Command arcade source code appeared on the internet a few years ago, I looked into seeing if I could get it running on the Atari 8bit. The fact that the resolution was 256x231 in 8 colors was one stumbling block. The other was that the code used some PDP-10 assembler with a lot of Macros, so I didn't even bother trying to get started. I looked at it again after seeing the Popeye port done in VBXE. I knew that at least I could get the graphics running in VBXE. Then I stumbled on Andy McFadden's amazing disassembly and detailed description of how the actual arcade hardware worked at this site: https://6502disassembly.com/va-missile-command/ The assembly language that was used was very similar to the MADS assembler that I use in the perfect WUDSN development environment from @JAC!, so I first got the code to compile binary perfect to the arcade ROMs. From there, I took a quick crash course in VBXE programming. I found a great introduction by @Yaron Nir here: Of course, none of this would be possible without @phaeron's amazing Altirra emulator and debugging environment. I don't even have a VBXE, but Altirra provided a perfect test environment. Finally, special shout out to VBXE's developers Tomasz Piórek and Candle`o`Sin and distributor Lotharek. I probably am using only 10% of the capabilities of this amazing daughterboard. I hope that Missile Command Arcade will inspire more developers to program for the VBXE. I can only imagine telling 16-year-old me playing Missile Command at the arcade and then going home to play it on my Atari 400 that one day I would be porting the actual arcade source code to run on an Atari 8bit computer - I wouldn't have believed it. I'm glad that it all worked out! 12 Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted April 23 Share Posted April 23 I just played and wow!!! It's fantastic. I don't have a real trackball, just the old Wico one, but I played with a stick and it worked great. One note based on my NTSC/VBXE 800XL - per your list, the display is cut off on real hardware - at least on my JVC Broadcast CRT. Amazing game. Always one of my favourites. 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 23 Share Posted April 23 (edited) Just tried both the .car and the .xex in Altirra, both say VBXE NOT INSTALLED I have VBXE set to FX 1.26 and tried both base addresses, doesn't seem to detect VBXE am I missing something ? EDIT: Got it working, forgot U1M need to activate VBXE Very nice, thanks, pity you can't configure the mouse to simulate a trackball (maybe you can, but I can't find it ) Edited April 23 by TGB1718 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted April 23 Share Posted April 23 2 hours ago, eea said: Missile Command Arcade is another new game utilizing VBXE! Thanks, nice game! 2 hours ago, eea said: 3) You have the option of using a trackball, so you will optionally need to also configure a trackball in Altirra. You can also just select the Atari ST Mouse as your controller, as this can be used in place of the trackball in Atari's 8-bit computer version of Missile Command too. 4 Quote Link to comment Share on other sites More sharing options...
woj Posted April 23 Share Posted April 23 Absolutely sweet! On my NTSC 800XL (viewed on RetroTink5) the last line of the picture is cut, see the photo. This is due to this VBXE hardware bug that we discussed with @phaeron a while back: and also in the Popeye thread. Bottom line: compared to Altirra that does this by the book / official spec, the real VBXE displays everything one scanline too late. In Popeye, I implemented a key to add/remove this extra line to be able to make it work correct both in the emulator and on the hardware. I think Avery even implemented the fix in Altirra, but it is yet to be activated (he needs more confirmation / confidence that the bug is consistent). Unless you are taking the whole 240 scanlines of the VBXE overlay, you can simply start one line early, first detecting that you in fact deal with an NTSC installation. 4 Quote Link to comment Share on other sites More sharing options...
eea Posted April 23 Author Share Posted April 23 It's great seeing this on actual hardware @woj! Thanks for the explanation of the vbxe hardware bug. I was following that discussion on the Popeye thread but at the time didn't realize that it would impact anything that I ever developed. Thanks also for providing the inspiration to go through with my own VBXE homage to my all time favorite arcade game. 3 Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted April 23 Share Posted April 23 If I use underscan the whole picture shows... Very nice!!! (Ignore the chubby guy holding the phone) 5 Quote Link to comment Share on other sites More sharing options...
eea Posted April 23 Author Share Posted April 23 Thanks for the testing and feedback on real hardware. 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted April 23 Share Posted April 23 Sadly, my VBXE is installed in a PAL machine. But this looks amazing and I'm glad to see it exists. 1 Quote Link to comment Share on other sites More sharing options...
Mark loves Stella Posted April 23 Share Posted April 23 I have VBXL installed in an 800XL NTSC machine with a PAL GTIA installed. Works great! 1 Quote Link to comment Share on other sites More sharing options...
rra Posted April 23 Share Posted April 23 1 hour ago, DrVenkman said: Sadly, my VBXE is installed in a PAL machine. But this looks amazing and I'm glad to see it exists. It should still work - just a little slower. 1 Quote Link to comment Share on other sites More sharing options...
scotty Posted April 24 Share Posted April 24 AMAZING JOB!!! Thank you so much for this!! 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted April 24 Share Posted April 24 1 hour ago, DrVenkman said: Sadly, my VBXE is installed in a PAL machine. But this looks amazing and I'm glad to see it exists. Same here, although given how bad I suck at gaming, the slower gameplay would probably be good for me! I will try it at least, to see how it looks. I love all things VBXE. 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 24 Share Posted April 24 Cool. I've looked at some of the code and documentation for this game some years back also with a view to converting it. The graphics mapping has a hardware addon that allows byte based addressing using the (ind,X) instructions - external hardware monitors the Sync pin on the 6502 and detects when certain instructions execute then modify the subsequent memory access. That alone was just about enough to turn me off attempting to do much with it. I just gave it a quick run - nice how you've set up ZXC to shoot from each base. Of course the aspect ratio isn't right but not much we can do about that other than adjust H-width on monitors that allow it. Though in fact a lot of LCDs will allow stretching a 4:3 image to fit in 16:9 which would probably make it about correct. Another thing I noticed - the sounds are practically identical. The arcade version runs 6502 at 1 MHz and supposedly it's Pokey at 1.25 which would mean that any AUDF values would need to be adjusted (and entirely possibly some poly sound esp type C would turn out very differently) 3 Quote Link to comment Share on other sites More sharing options...
chevymad Posted April 24 Share Posted April 24 Mine is pal as well. Though I've got a slightly beat up vbxe I could install in my xld.. This might be the incentive to get that done. 1 Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted April 24 Share Posted April 24 [April joke] When all your computers are turned into PAL, maybe you should change your TV norm to PAL also ? [April joke] 1 2 Quote Link to comment Share on other sites More sharing options...
adam242 Posted April 24 Share Posted April 24 Outstanding! Stuff like this is what really sells me on the VBXE. I'm not interested in getting Amiga- or VGA-level graphics from my Atari 8 bit, but pixel-perfect early 80s arcade ports? Sign me up! 3 Quote Link to comment Share on other sites More sharing options...
eea Posted April 24 Author Share Posted April 24 Thanks for the positive feedback. One thing I added at the end was the ability to change difficulty levels. There are several tables that control things like maximum smart bombs and missiles per level, how frequently the planes and satellites come out, and the speed of the incoming missiles. This made it easy to tweak them to provide different difficulty levels. Of you ever wanted to try to flip through all of the colors (20 levels) and get back to black, change the difficulty from arcade to Private, Captain, or Colonel for an easier time playing. 3 Quote Link to comment Share on other sites More sharing options...
Atari8man2004 Posted April 24 Share Posted April 24 Excellent! I just played this in emulation and now I have a reason to upgrade one of my XL's with a VBXL A perfect arcade conversion !! 1 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted April 24 Share Posted April 24 25 minutes ago, Atari8man2004 said: Excellent! I just played this in emulation and now I have a reason to upgrade one of my XL's with a VBXL A perfect arcade conversion !! Plus VBXE Popeye, Gacek, Heartlight, Commando, Quadrillion, etc 3 Quote Link to comment Share on other sites More sharing options...
Yautja Posted April 24 Share Posted April 24 1 hour ago, Beeblebrox said: Plus VBXE Popeye, Gacek, Heartlight, Commando, Quadrillion, etc Could someone please share VBXE versions of: Mr. Proper, Heartlight, Quadrillion and Robbo? Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted April 24 Share Posted April 24 https://madteam.atari8.info/index.php?prod=vbxe 1 Quote Link to comment Share on other sites More sharing options...
Yautja Posted April 25 Share Posted April 25 2 hours ago, Atari8guy said: https://madteam.atari8.info/index.php?prod=vbxe This website was out of my radar! Thank you very much, sir. 1 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted April 25 Share Posted April 25 Mr Proper is only a Demo btw. Impressive visuals though. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.