Jump to content

playsoft

+AtariAge Subscriber
  • Posts

    656
  • Joined

  • Days Won

    3

Everything posted by playsoft

  1. My guess is it's an uninitialized variable, i.e. PP has a variable which it sets when it's detected a track ball - but it's not initialising it. It gets away with it on the real cart, where RAM will contain whatever it's power up value is, plus whatever the BIOS writes. Running via Atarimax RAM will contain data that was used for the menu, the loader etc...
  2. You're most welcome. I never imagined I'd be coding on the 8-bit again and to my regret I had not kept anything from back then, so it was nice to find the source code on the issue disk.
  3. Well, this is just a 20-odd year old magazine game, but it was interesting to be able to position the crosshair directly from the controller pots which I was expecting to be too sensitive. When you get your Atarimax SD please try out the ATARI BLAST! demo as this is the on-going project and more exciting (to me) than the old magazine stuff (although I still have one of those left to convert).
  4. playsoft

    Rampage 64k+

    I think by default Altirra uses the left shift key as the upper fire button - and there was a bug in the initial Rampage conversion where that was configured to cause a break key interrupt without the vector being set. I think that is what you are seeing here. In the initial conversion there was also an issue with you getting stuck if you jump off left or right and end up at the edge of the screen. I've just tried this version and that bug is present too. So it looks like this version was based off the initial Rampage conversion and not the final one Wrathchild released here: http://atariage.com/forums/topic/223049-rampage-conversion/?p=2945929
  5. This is another of my old magazine games, STAR RIDER, from Page 6 issue #36. Unbeknown to me until about 6 months ago, was that it was also published in A.N.A.L.O.G. issue #69 which I assume must have been an exchange deal between the two magazines. I can't say this filled me with joy since A.N.A.L.O.G. never paid out the prize money for the 1986 ST programming competition. However they did publish the source code on an issue disk which means I've been able to do this conversion using the original source instead of a disassembly (although my younger self didn't comment the code very well, it might as well have been a disassembly). This is a single chip 16K ROM image and uses analog controls by default. If you want to play it with a digital controller (or the standard controller in digital mode) you can press * to toggle between analog and digital mode. Below is what it looked like in the magazine but with the controls altered for the 5200. STAR RIDER Admit it! Paul Lay's latest space shoot out is just too fast for you - you are doomed! Your planet is being attacked by hordes of alien space craft and it seems you are the last hope of survival. You sit behind the controls of a Surface Runner vehicle which glides over the surface of the planet at an incredible speed. You are protected by a force field and armed with a limitless supply of photon missiles. You are the STAR RIDER. The object is to blast as many of the alien spacecraft as you can, without letting them get past you. Every time you hit an alien your score is increased and your shields are boosted, however when an alien gets past you it zaps your shields making your Surface Runner vehicle shudder. The game is over when your shields have gone. You will find STAR RIDER fast and furious especially at the higher levels, if you ever get that far! STAR RIDER CONTROLS START begins a game at wave 1 1, 2, 3, 4, 5 begin a game at levels 10, 20, 30, 40, 50 respectively # begins a game continuing from the previous level * toggles between analog and digital joystick control RESET aborts the game PAUSE pauses/resumes a game Use a joystick in port 1 to manoeuvre the crosshair sights and press the trigger to fire a photon missile. HIGH SCORES If you manage to survive that far, you will be able to enter your name on the high score screen. Moving the joystick left and right will move the cursor in the appropriate direction and moving the joystick up and down moves forwards and backwards through the characters. When your name is complete, press the trigger and your name will be entered. On subsequent high scores, the name entered appears as a default to save you entering your name each time. starrider.bin star_source.zip
  6. Thetris does not work under emulation with the 2-port bios that Mitch posted because it copies the bios vectors from the wrong location. In that 2-port bios the vectors are stored at $FEAB and copied to $200. In my 4-port bios the vectors are stored at $FE95 and copied to $200. Thetris bypasses the bios initialisation and copies the vectors itself, but always from $FE95 to $200 even when using that 2-port bios. If I hack thetris.bin to change that location, it works with that 2-port bios. However, that it works on the two 2-port systems you have tested makes me think that either (a) they both have a 4-port bios fitted or (b) there is more than one version of the 2-port bios. Attached is a hybrid cart image for the Atarimax Ultimate SD which saves a copy of your bios to the SD card - it writes it to file bios.dat (unless you have cartridge services disabled in which case it will timeout and report an error). Also attached is my 4-port bios. If you save the bios from one of those 2-port systems, do they match the 2-port bios Mitch posted or my 4-port bios? Or neither? bios.zip biossave.zip
  7. I use a 75W one: http://www.amazon.co.uk/gp/product/B004ZWHB56/ref=oh_details_o08_s00_i00?ie=UTF8&psc=1
  8. playsoft

    Frisky Tom

    I had a quick look at the game when you originally posted, but I couldn't figure out how to play it as there were no instructions on atarimania. Had another look tonight and located the instructions the elsewhere. Not a simple change as it is using a combination of scan line and character row for driving its sprite multiplexer. A falling mouse was incrementing the character row and adding 4 to the scan line in one frame, then adding another 4 to the scan line in the next frame. In my hack it basically adds 1 to the scan line each frame, with some new variables added so that it only updates the character row every 8th frame. It seems to work ok as far as I have been able to play it. ft_hack.bin
  9. playsoft

    Sea Dragon

    http://www.atarimania.com/game-atari-400-800-xl-xe-sea-dragon_4559.html START = start PAUSE = pause/resume RESET = reset * = number of players/stick selection # = difficulty selection There are two cart images: sea16.bin is a single chip 16K image, sea64.bin is a 64K image using the M.U.L.E. bank switching scheme - the game is the same in both, the bigger one contains an Aking splash screen. Thanks to Aking and Official Ninja for testing. I have kept the cheats the same as the original... hint: 2-port owners will be kept honest. sea16.bin sea64.bin sea16_source.zip sea64_source.zip
  10. Is this one any better? I don't see the issue on my 4-port/Ultimate SD but I've added some protection around where it changes display list interrupts and I've also disabled the reset key. di.bin
  11. Deluxe Invaders http://www.atarimania.com/game-atari-400-800-xl-xe-deluxe-invaders_1573.html START = start PAUSE = pause/resume RESET = reset * = difficulty level # = number of players Thorn EMI Pool http://www.atarimania.com/game-atari-400-800-xl-xe-pool_4060.html START = start RESET = reset * = SELECT # = OPTION 0 = N 1 = Y 2 = CURSOR UP, 4 = CURSOR LEFT, 6 = CURSOR RIGHT, 8 = CURSOR DOWN Additionally, if you hold the upper fire button while moving the joystick it slows the movement of your cursor. Note that the 128-in-1 cart incorrectly identifies pool.bin as a 16K two chip image - it is a 16K one chip image (thanks ON). di.bin pool.bin di_source.zip pool_source.zip
  12. Other than games which run on a 16K machine, you can't say for sure whether something would run on a 5200 without working out how much RAM it needs. From a quick look at the game I'd guess it was possible though. That is most kind but no, if anyone gets anything for these it should be the original authors as they remain 99% their original code. I think calling them "ports" or "conversions" makes it sound like there is more to it than there really is. Perhaps saying they are "adapted" is more accurate. While ATARI BLAST! is in development I wouldn't want to tackle any complicated ones, but the occasional simple one is a satisfying break from the main development project.
  13. The splash screen (is like a loading screen and) looks like this:
  14. Spielberg... The copy protection is there to stop it being run off disk. I guess they'd spent a lot of money on the rights and thought it was going to sell well on the back of the movie... I've not looked in full at the protection, just the bits which were affecting the 5200 port. In general is checking that it is currently booting a cart. If you look at the disassembly towards the end of et.012 you can see various routines which are writing code to RAM at $Axx. Look at this one for example: LBEBC: lda VCOUNT eor (L0086),Y sta L0A36,Y sta WSYNC dey bne LBEBC The code has been encoded such that you use the screen's vertical line counter to decode it. Because the 5200 port is still in cart form most of the copy protection did not affect it. However in one of these $Axx routines it made an operating system call - jsr SIOV - which I needed to remove. I was able to modify the encoded data turning it into lda SIOV which should have done the trick. However when the routine returned it was going off into oblivion. This was the point at which I originally gave up. When I came back to it I recorded the history leading up to this routine on both the original 8-bit cart and the 5200 port. Comparing them I'd missed that there wasn't a jsr to this routine - it was a direct jump with the return address manually pushed onto the stack. And that return address was encoded such that you decode it with a checksum calculated over routine's code. So where I'd changed jsr SIOV to lda SIOV I had changed the resulting checksum and hence was getting the wrong return address pushed on the stack. So I changed the low byte of the address in that instruction too, so that it resulted in the same checksum. As Aking pointed out to me, I should have gone to atarionline.pl where they have 4 different versions of ET available in XEX/ATR format which presumably have the copy protection already removed. All the copy protection is still in the 5200 port since I was able to work around it.
  15. I ended up doing two versions as Aking sent me a nice splash screen. They are identical except for that splash screen which the 32K image doesn't have. The 64K image uses M.U.L.E. bank switching which is supported by the Atarimax Ultimate SD and Altirra. The controls are mapped: START = start PAUSE = pause/resume RESET = reset * = difficulty select And at the splash screen press the fire button to launch the game. There are instructions here: http://www.atarimania.com/game-atari-400-800-xl-xe-et-phone-home_1881.html et32.bin et64.bin et32_source.zip et64_source.zip
  16. It is not going to have Xevious style bombs as I want to keep the fast pace going but there will probably be smart bombs. Currently it is about getting all the basic features in place and then work will start on making it playable.
  17. I tried to port this about 6 weeks ago but gave up after struggling with some insane copy protection code. However I had one last go tonight and managed to crack it. I have a rough port running on my 5200 which I need to tidy up before releasing.
  18. Thank you, I have added them to my stock controllers list: L R U D CX CY 04 CB 15 B3 67 6F 2B D7 02 C6 76 5D 0F CA 31 E1 79 71 04 E2 02 CA 6D 62 03 8E 02 7A 2C C7 26 AA 06 94 01 95 35 C4 35 C1 01 90 01 9A 51 47 01 C7 04 D3 60 60 05 D6 0B E4 6B 6B It's a small sample but there are 3 sticks there which do not work with the 40/A4 thresholds.
  19. The full range is 01 to E4 with a centre around 70 - like ON gets with his Wico. Standard sticks tend not to be as good but have more range than yours. I used Kenfused's joystick code in Laser Hawk (it was better than mine) - you need a value of A4 or greater for right/down but you are only getting 90/9A. I guess you could try calibrating the 5200 pot or I can send you versions of C3 and LH adjusted for your sticks.
  20. In the Cavern's 3 thread I posted a calibration program. What values do you get from that when you move your joysticks down?
  21. How long it takes to port depends on the game - those that run on a 16K machine are the simplest and if you are lucky, like I was with Ducks Ahoy, can be ported in a few hours. Laser Hawk where I had to do a full disassembly and shuffle everything around probably took 3 or 4 times as long. Some games won't port because they require too much RAM. I have some other stuff to be getting on with now but I will try and do one port a month. I do have Pool running on the 5200 but I want to try and make use of the analogue joystick before releasing it.
  22. It's been either ones that I have fond memories of, or ones where I have some connection (I'm working on ATARI BLAST! with Harvey - he did the graphics for Laser Hawk). Ducks Ahoy wasn't even on my list as I'd never heard of it. I've given it a quick port and it seems to be working, let me know if you find any problems with it. da.bin da_source.zip
  23. Another of my old magazine games converted for the 5200. hm.bin hm_source.zip I had to create a bigger dead-zone than normal on the analogue stick to make it easier to stop moving. I suspect this will play better with a digital stick. Amazingly Scalak and therealbountybob were able to complete the 8-bit version of this when they played it as a bonus game in the HSC. Scalak has a good level map available here: http://atariage.com/forums/topic/199594-hsc9-round-10-crystal-castles/?p=2555405 Page 6 Magazine Issue 33 May/June 1988 HEAVY METAL Thirty five screens, evil ball bearings, slime and much more in this machine code extravanganza by Paul Lay Your mission is to recover the seven lost jewels which have been scattered throughout the deadly mazeworld of rooms that you inhabit. You control a spinning ball-bearing with a joystick in port 1. Move the joystick in the appropriate direction you wish to move. You may climb walls that are low enough and you may also fall off walls, although you'll die if you fall too far! Hold the trigger to put the brakes on and stop your ball-bearing from moving. In each room there may be a number of teleports which will transport you to another location. These are marked by a diamond floor pattern. Simply stop on the transporter then press and release the trigger to energize! In your quest you will encounter a stomping boot, an evil black ball-bearing and a nasty piece of slime. Contact with any of these is fatal. To collect a jewel simply move over it. You have a certain amount of time and your game is over when you run out of time. Getting killed simply costs you time and you'll start that room again. Use START to begin a game at the first location. Use * to begin a game from the last location visited, however you lose any jewels previously collected and so you'll have to go back for them. Use PAUSE to pause, then any key to resume. Use RESET to abort a game in case you get stuck somewhere!
  24. Thanks! If you haven't already may I suggest you try the current ATARI BLAST! demo http://atariage.com/forums/topic/217200-something-new-gtiablast-5200-wip-for-ultimate-sd-cart/?p=2900181. This uses the 512K format supported by the SD cart. I am hoping to get details of the cart's programming API which could open up all sorts of possibilities. It's great when the little things are noticed. I ported without auto-fire first but I find having to repeatedly press and release the fire button is not good on the standard controller. All the ports I've done so far work in this manner. Grip's arcade stick looks fantastic! I have converted Thorn/EMI Pool but want to see if I can take advantage of the analog stick, since I find it hard to finely position the cross-hair on the original. I'll mention on any future conversions when analog control has been added.
  25. The analog stick is made to look like a digital one, so I would think it will play best with a digital (I only have analog).
×
×
  • Create New...