En esta ocasion no se trata de un crack (que tambien lo es) sino de un juego mejorado. Y menudo juego: Impossible Mission Revised
https://csdb.dk/release/?id=242553CHANGES:
- X ABC algorithm Random Number Generator from codebase64 inserted into the game
- at the start of the game you need to interact with the joystick 2 for added entropy in RNG start.
- the player needs to push the joy2 button and upon releasing it, the RNG seed is set with the user interaction information.
- The dummy loop wait routine changed to D012-based waiting instead of burning CPU cycles for time.
- this fixes timings with possible CPU speeders.
- The Game clock is now set with PAL/NTSC info, 1 second is 60 frames in NTSC and 50 in PAL
- The original game ran slower on PAL systems as one second was 60 frames on all versions.
- The game has PAL/NTSC detection, I used that for setting the clock tick value.
- After the game over laughter, the screen shakes and blanks to white, the screen isn't centered and black color peeked from the edges.
- Restored default screen values after shaking.
- Added code to play samples more loudly on 8580.
- the Vice seems to distort but plays ok on real hw.
- TNT helped with proposing packing Elvin Atombender gfx
- TNT supplied packed data and unpack-routine
- 1k color info now takes only 157bytes
- File saving simplified
- The original file save was overcomplicated.
- first, it saved "HI2", then deleted "HI" and renamed HI2 to HI
- new one uses overwrite
- IRQ and File-saving routines moved lower in memory
- saving works now with action replay active
- FC3 corrupts the screen after saving, but save works and you can restart the game using RUN/STOP, RESTORE or both.
- the time-out game over scene, bugs and features.
- the last byte of the bank is visible
- elevator sprites make the scene look broken
- the last byte of the bank is now cleared during the screen shake and restored afterward.
- the elevator wall sprite is turned off and the ceiling sprite is moving with the screen
- the scene looks now much better
- Rooms 15 and 20 were incorrectly assigned hires color to MC tiles
- Changed the color code showing tiles as MC
- This can be argued if it is a bug or an intentional choice.
- My take on this is that it was a bug, which is now fixed.
- If a room has been emptied by searching, it is hollow on the player map.
- This makes the game a little bit more comfortable to play
- this was surprisingly difficult to add
- If the player falling accelerates above a certain threshold shake the screen
- 5 frames random $d011 shake implemented
- Avoiding the last byte of the bank is needed again, I should look into skipping that byte for code.
- no sound fx for the falling thud
- there was also a bug in the original game, the falling byte wasn't set on the death event which caused a lot of unnecessary processing of the hero.
- The game clock is now in a 24-hour format
- I don't believe agents/military/whatever officials use am/pm time to avoid confusion.
- Note puzzle rooms are also marked on the map with a checker pattern
- Screen shake after the player falls from a high place now also moves the sprites along the screen shake. looks much cleaner now.
- Sound effect added for the floor hit.
- Also the door to Elvin's lair is marked on the map, but you need to collect the items first.
- Sprite clock code is done, it shows hours and minutes.
- displaying the clock on the playfield is another pain in the butt
- WIP
- I ran out of memory again.
- now more of Elvin's end screen is packed
- large code blocks moved under IO which are mainly responsible for randomizing the game on init.
- The game now has 32 different passwords
- One gets chosen randomly on the game start
- The game clock is now rendered in characters in normal rooms
- the clock is at the upper right corner of the screen
- it cannot be shown when a player is searching for items as it uses the same characters.
- it cannot be shown in note puzzle rooms, as the GFX uses the same characters.
- it doesn't show up in the elevator room, as you can activate the clock by pressing the fire button.
- New bot animation frame sprites by Trurl
- you can now see the backside of the bot if the game randomly chooses so.
- it was a true pain to add these, the game had its own logic tuned pretty hard into just 6 frames of robot animation, peeking etc..
- we have now a total of 12 frames of robot sprites, and still have some memory left!
- a lot of problems caused here, I hope I fixed them all which I caused myself.
- Fixed a color bug in the phone user interface from the "orientation corrected" message.
- 32 passwords were a little too much, back to only 24 which will fit in one page of memory.
- Excellent suggestion from a test user the wolf from the lemon64 forums
- make the clock run from 12:00 -> 18:00 so the semicolon can be fitted cleanly.
- There are 2 characters of space, 16 pixels in total.
- Number font is 3x5 pixels and when you want to show 4 digits, it takes 3+1 pix (we want to have some space between digits)
- 4*4 digits is 16 pix, so no room for a semicolon.
- We can LSR the last 2 digits to get 2 pixels of space between hours and minutes.
- Number 1 is special because it's just 1 pixel wide, so if we ASL hour digits also we can have a 3 pixel wide gap for the semicolon.
- Usually, the simple solution is the best, too bad it's often hard to come by yourself when you are fixated on thinking about something else.
- Preparing to change in-game Commodore ROM font to something else
- a to z and 0 to 9 needed
- The font called 7-up from
https://home-2002.code-cop.org/c64/ is selected into the game.
- Extra robot sprites moved to even Sprite Pointer number
- The game uses the first bit of the pointer when peeking behind its back
- An uneven pointer number caused me some days of pain because I wanted to save 64 bytes.
- Modified puzzle stencils to change the challenge with the puzzles
- done, more challenge added
- Fixed score calculation to calculate seconds on 0-6 hours instead of 12-18.
- A small cosmetic change to the char clock shown in the rooms.