-
Content Count
524 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by playsoft
-
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
-
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
-
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
-
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
-
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.
-
The splash screen (is like a loading screen and) looks like this:
-
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.
-
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
-
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.
-
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.
-
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.
-
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.
-
In the Cavern's 3 thread I posted a calibration program. What values do you get from that when you move your joysticks down?
-
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.
-
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
-
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!
-
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.
-
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).
-
I think it would be more like a re-write than a port, since the screen buffer alone requires 17K. For me the ports need to be quick as the long term project is still ATARI BLAST!
-
This is a conversion of Laser Hawk by Andrew Bradfield with graphics by Harvey, first published by Red Rat in 1986. You may recognise the design on the splash screen if you played through the last ATARI BLAST! demo. This is the first conversion I have done of an 8-bit game which needs more than 16K to run (so I had to do a full disassembly, no being lazy this time). Excluding the splash screen, Laser Hawk has 37K of code/data and requires 10K RAM for the screen buffer, player/missiles, character sets and variables. As such I have created a 64K ROM image which uses the same 32K bank switching scheme as M.U.L.E. This is supported by the Atarimax Ultimate SD cart and Altirra. I have mapped the controls: START = start PAUSE = pause/resume RESET = reset # = select level * = select number of players 1 = toggle beginner mode (on the title screen, you get a "B") 3 = toggle engine noise You can see the original Red Rat packaging here: http://www.atarimania.com/game-atari-400-800-xl-xe-laser-hawk_2903.html And other re-releases here: http://www.atarimania.com/game-atari-400-800-xl-xe-laser-hawk_7028.html http://www.atarimania.com/game-atari-400-800-xl-xe-laser-hawk_25151.html http://www.atarimania.com/game-atari-400-800-xl-xe-4-star-compilation-volume-1_6831.html It was played in the 8-bit High Score Club where there are links to Harvey's web pages with some discussion about the program and graphics design: http://atariage.com/forums/topic/123246-hsc5-contest-7-laser-hawk/?p=1496950 lh.bin lh_source.zip
-
Tested on my 4 port using an Ultimate SD with standard controller. Instructions: http://www.atarimania.com/game-atari-400-800-xl-xe-protector-ii_4155.html Key mappings: Start = start Pause = pause (press trigger to resume) Reset = select number of ships * = select level p2.bin p2_source.zip
-
Thank you, nice to hear you'd used almost identical thresholds so I'll continue using these. I did notice when porting Savage Pond that it takes the 5200 a little longer to get to your dli routine so there is a little less time available before you need to do the WSYNC.
-
Perfect! Not seen one that good with the full range.
-
As well as the controllers the other main differences are that GTIA and POKEY are at different locations and there is no operating system. Most of the effort goes into getting the disassembly correct.
-
Recently I was having trouble moving down - with both of my joysticks - on games which were previously ok. I calibrated the 5200 and that did the trick. In my recent conversions I check for the pot values being less than $42 for left/up and greater than $A2 for right/down. In future conversions (and possibly ATARI BLAST! although that may end up with proper analogue control eventually) I am thinking of either: (1) Keeping to this method --- it's the simplest! (2) An automatic calibration based on the lowest and highest pot values read during the game. (3) An optional manual calibration which can be run at start up Regarding (3) I have put together a quick test program which is attached. The status line at the top shows the joystick values, averaged over 8 frames which is why you can see them ramp up and down quickly. To calibrate your joystick you should follow the on-screen instructions - push the joystick in the direction indicated and press the fire button to record the appropriate pot value. Once you have done this for all four directions and a centred stick, it will calculate the thresholds for digital joystick emulation. You are then able to move a square around to check that it works ok. By default I calculate the thresholds with 50% dead space - i.e. so that you need to move the joystick 50% in order to register a change in direction. By pressing * (after the calibration is complete) you can switch to 33% dead space - i.e. you don't need to move the joystick so far. You can switch back to 50% by pressing #. At any time you can restart the alignment process by pressing reset. I'd be interested in knowing what pot values other people are seeing. Below are the readings from my two controllers. left = 04 right = CC up = 02 down = B7 centre = 63 60 left = 26 right = C5 up = 01 down = B6 centre = 7E 62 cal.bin
