Jump to content


+AtariAge Subscriber
  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts 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. I remember this game and typing it in from analog. Thanks for converting it over. It was a lot of fun.


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

    • Like 1

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




    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!


    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.



    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.



    • Like 6

  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? :?



    • Like 1

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


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






    • Like 6

  9. Deluxe Invaders




    START = start

    PAUSE = pause/resume

    RESET = reset

    * = difficulty level

    # = number of players


    Thorn EMI Pool




    START = start

    RESET = reset

    * = SELECT

    # = OPTION

    0 = N

    1 = Y



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






    • Like 4

  10. Is Mr. Do! a game that can be converted tot he 5200? Thanks for Laser Hawk!


    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.


    i wonder if there is some way to set up a fund for paul lay i would send him a couple bucks toward the promise of another conversion of just about anything


    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.

  11. Pardon my questions but I'm confused as to which one to download. What's a splash screen? I have an Atarimax 128 in 1 cart. Thanks for any help!



    Update: Downloaded both and tried to load on cart and the 32k loaded and plays fine. Great conversion and great game! Thank you Paul Lay for a fantastic job on this! You are the man, can't say thanks enuff! Keep up the great work! ;)


    The splash screen (is like a loading screen and) looks like this:



    • Like 2


    Woah, awesome! Must have been Spielberg requiring the copy protection. Ha ha ha. Strange since it only came out on cartridge.


    Spielberg... :) The copy protection is there to stop it being run off disk.


    Paul if you get a moment would you mind explaining what the copy protection was for this game? Not like this was going to be a huge seller.


    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:

           eor (L0086),Y
           sta L0A36,Y
           sta WSYNC
           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.

    • Like 1

  13. 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:







    • Like 5

  14. Tried Atari Blast. Wow. The visuals were amazing. Excited to see how this pans out. Any thoughts of doing a "bomb" or other button function? I also like the style of the transition between levels. Great work.


    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.

  15. Came out in 1984, so it's probably convertible. Have to defer to Aking or Paul Lay on whether they can do it easily.


    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.

    • Like 4

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




    Paul-here is my data:


    L 01, R 90, U 01, D 9A, Center 51 47


    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.

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

  19. awesome work how do you decide which ones to convert?


    i suppose ducks ahoy is near the bottom of the list


    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.



    • Like 1

  20. Another of my old magazine games converted for the 5200.






    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:





    Page 6 Magazine Issue 33 May/June 1988



    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!

    • Like 1

  21. Thank you. This and all of these other amazing conversions are making the SD Cart the best investment ever. Thank you. Thank you. Thank you.


    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.



    Paul, Thank you so much. This game is great. I've been wanting a good shooter on the 5200 and this is excellent.

    I really like the auto-fire for this conversion. Also the stock controller works perfectly. Well done! :thumbsup:


    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.


    Good to know. I have one of grips' NeoGeo arcade stick conversions to the 5200 but alas, I do not have the Ultimate SD...yet.


    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.

  • Create New...